Internationalizing a ClassicPress plugin: What is a Text Domain and how is it specified?

ClassicPress PluginsThis post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series.

A text domain is a unique identifier which makes sure ClassicPress can distinguish between all loaded translations and apply the correct one.

The text domain should be a unique string, not used by any other translation (which would include plugins and themes) and so is recommended to match the plugin slug. So if you have a plugin with the slug of my-classicpress-plugin the text domain should be the same.

If the text domain matches the plugin slug, ClassicPress does not require the text domain to be defined in th plugin header (although it is very much recommended that it does i order to avoid collisions with other plugins or themes), but if the text domain is different to the plugin slug, then you need to include the following highlighted line in the header:

/*
 * Plugin Name: My ClassicPress Plugin
 * Author: Ian Grieve
 * Text Domain: my-classicpress-plugin
 */

One important point to remember, is that a text domain cannot include underscores.

Translating a ClassicPress plugin

Internationalizing a ClassicPress plugin
How does internationalization work?
What is a Text Domain and how is it specified?
Localization functions
Which localization functions to use?
Localizing a string
Don't paramaterize your text domain
Localizing a string containing a parameter
Localizing a string including plurals
Localizing a string including notes for the translator
Don't include HTML markup in localization
Don't localize URLs

Microsoft Dynamics GP “October 2019” Release now available for download

Microsoft Dynamics GPThe download for the Microsoft Dynamics GP “October 2019” Release is now available for download from CustomerSource as either a full install or service pack release to upgrade Microsoft Dynamics GP 2018:

This is the first release of Microsoft Dynamics GP on the Modern Lifecycle. There is a series of feature of the day posts being released by the Inside Microsoft Dynamics GP, but I have been on holiday and am behind on posting them.

I will be starting that series tomorrow and will then move onto a series of posts installing the new version. These posts will go-live over the coming days and weeks.

Microsoft Dynamics GP Naming And Modern Lifecycle

Microsoft Dynamics GPWith the release of Microsoft Dynamics GP in October 2019, it is moving to the Modern Lifecycle. This means the new version won’t be called Microsoft Dynamics GP 2019 as thought, but will instead be the Microsoft Dynamics GP “October 2019” Release.

The Modern Policy offers continuous support and servicing, including bug fixes, new features and the latest tax updates. Customers can stay current by taking at least one of the three yearly planned Dynamics GP releases.

Before the October 2019 release, any older release will continue to follow their existing Lifecycle timelines under the Fixed Policy which you can see here.

Microsoft are committing to three updates per year with additional updates as needed (which would include changes like regulatory requirements such as the UK’s Making Tax Digital).

You can see the planned update schedule for Microsoft Dynamics GP, beginning with the October 2019 release, on the Microsoft Docs website.

Microsoft MVP Jen Kuntz shared her thoughts on the change and I largely agree with her. Microsoft Dynamics GP is a mature product which doesn’t undergo the large architectural changes a much less mature product, such as Dynamics 365 Business Central undergoes, as it already has the core functionality and the basic structure doesn’t need to change as much. This means updates and upgrades are much simpler to undertake. A simpler upgrade once per year is a lot less work and a lot less disruptive than a major upgrade every two or three years.