Status: | Work in progress |
---|
Table of Contents
Turbogears2 relies on Pylons and Babel for i18n and l18n support. So you want to check their respective documentation:
- Pylons’ Internationalization and Localization doc (which also contains “Using Babel” section)
- Babel’s UserGuide
A quickstarted project comes fully i18n enabled so you should get started quickly.
If you’re lucky enough you’ll even see “Your application is now running” message in your language. ;)
Turbogears2 contains the logic (hardwired in the TurboGearsController class at the moment) to setup request’s language based on browser’s preferences(*).
[*] - Every modern browser sends a special header along with every web request which tells the server which language it would prefer to see in a response.
After quickstart your project, you could go with the following steps:
Create a translation catalog for your language, let’s take ‘zh_tw’ for example:
python setup.py init_catalog -l zh_tw
Edit your language in i18n/[country code]/LC_MESSAGES/[project-name].po
Compile your lang:
python setup.py compile_catalog
Config development.ini:
[app:main]
use = egg: my-project
full_stack = true
lang = zh_tw
Start server:
paster serve --reload development.ini
And see the local message show on the screen.
To fresh start a translation, you could use following command to handle your locales:
You can extract all messages from the project with the following command:
python setup.py init_catalog -l [country code]
The country code could be es(Spanish), fr(France), zh_tw(Taiwan), jp(JAPAN), ru(Russian), or other available country code.
You can extract all messages from the project with the following command:
python setup.py compile_catalog
You can update the catalog with the following command:
python setup.py update_catalog