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

Popular posts from this blog

Django Server setup with Apache with mod_wsgi in Centos 9

Mysql Installation on CentOS 9

Install mysql8 on centOS 9 and integrating with Django