-
Notifications
You must be signed in to change notification settings - Fork 156
Building PO Databases
To set up automatic PO database building, add the following post-build task to your project, after
adding i18n.PostBuild.exe
as a project reference:
"$(TargetDir)i18n.PostBuild.exe" "$(ProjectDir)\web.config"
Right-click on your project > Properties > Build Events:
Alternatively, you may choose to install the i18n.POTGenerator.vsix
Visual Studio extension (2012/2013). This installs an i18n
button in the Solution Window for manual triggering of PO generation. Note that it is necessary to highlight the project in question within the Solution Window before pressing the button.
The PO generator will rip through your source code (as defined by the i18n.DirectoriesToScan
and i18n.WhiteList
settings in web.config
), finding every nugget, and uses this to build a master .POT template file located at locale/messages.pot
relative to your web application folder.
After the new template is constructed, any locales that exist inside the locale
folder (or as defined by the i18n.AvailableLanguages semi-colon-delimited web.config setting) are automatically merged with the template, so that new strings can be flagged for further translation.
From here, you can use any of the widely available PO editing tools (like POEdit) to provide locale-specific text and place them in your locale
folder relative to the provided language, e.g. locale/fr
.
If you change a PO file on the fly, i18n will update accordingly; you do not need to restart your application. Note that the locale-specific file must be named messages.po
. For example, your locale folder structure will be similar to (three languages, fr, es, and es-MX are defined):
locale/messages.pot
locale/fr/messages.po
locale/es/messages.po
locale/es-MX/messages.po