localization in python
mkdir locales
mkdir en
mkdir LC_MESSAGES
$ tree locales/
locales/
├── base.pot
├── en
│ └── LC_MESSAGES
│ └── base.po
└── ta
└── LC_MESSAGES
├── base.mo
└── base.po
$ cat gettextExample.py
import gettext
_ = gettext.gettext
def print_some_strings():
print(_("Hello world"))
print(_("This is a translatable string"))
if __name__ == '__main__':
print_some_strings()
pot file:
$ pygettext3.py -d base -o locales/base.pot gettextExample.py
po file:
$ cp ~/pythonScripts/locales/base.pot base.po
$ cat locales/ta/LC_MESSAGES/base.po
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2022-04-22 08:47-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: gettextExample.py:5
msgid "Hello world"
msgstr "வணக்கம் உலகம்"
#: gettextExample.py:6
msgid "This is a translatable string"
msgstr "இது மொழிபெயர்க்கக்கூடிய சரம்"
Mo file:
$ msgfmt3.py -o base.mo base
$ cat gettextExample.py
import gettext
ta = gettext.translation('base',localedir='locales', languages=['ta'])
ta.install()
_ = ta.gettext
#_ = gettext.gettext
def print_some_strings():
print(_("Hello world"))
print(_("This is a translatable string"))
if __name__ == '__main__':
print_some_strings()
$ python3 gettextExample.py
வணக்கம் உலகம்
இது மொழிபெயர்க்கக்கூடிய சரம்
Comments
Post a Comment