# HG changeset patch # User Damien Correia # Date 1545929172 -3600 # Node ID 4275975a87c8b7698970f394c672d3301e371e20 # Parent 1d052540f8cd71b53732824f42e3d4882abd9d5d Updated diff -r 1d052540f8cd -r 4275975a87c8 src/source/dev_guide/adv-features.rst --- a/src/source/dev_guide/adv-features.rst Thu Dec 27 17:13:08 2018 +0100 +++ b/src/source/dev_guide/adv-features.rst Thu Dec 27 17:46:12 2018 +0100 @@ -79,14 +79,41 @@ Using GIS features ------------------ -Internationalization --------------------- .. _howto-i18n: -pot-create -o ref.pot scr/ -msgmerge -U def.po ref.pot -msgfmt def.po +Internationalization +-------------------- + +Internationalization is the process of developing your plugin so it can easily be translated into other languages +It's called also i18n (because there are 18 letters between the i and the n) + +Introduction to Gettext +^^^^^^^^^^^^^^^^^^^^^^^ + +For i18n **gettext** libraries and tools is widely used in the open-source world. + +Here is how it works in a few sentences: + + Developers wrap translatable strings in special gettext functions + Special tools parse the source code files and extract the translatable strings into POT (Portable Objects Template) files. + Translators translate the strings and the result is a PO file (POT file, but with translations inside) + PO files are compiled to binary MO files, which give faster access to the strings at run-time -#bin/pot-create -o src/onf_website/locales/onf_website.pot src/ -#msgmerge -U --previous --sort-by-file src/onf_website/locales/fr/LC_MESSAGES/onf_website.po src/onf_website/locales/onf_website.pot -#msgfmt src/onf_website/locales/fr/LC_MESSAGES/onf_website.po -o src/onf_website/locales/fr/LC_MESSAGES/onf_website.mo + +In source code the _() function which refers to the native gettext-compliant translation function. + +PyAMS help us to generated this translation file with the tool *pot-create*: + + +.. code-block:: shell + + pot-create -o ref.pot + + +Example to update PyAMS package: + +.. code-block:: shell + + #bin/pot-create -o src//locales/.pot src/ + #msgmerge -U --previous --sort-by-file src//locales/fr/LC_MESSAGES/ref.po src//locales/ref.pot + #msgfmt src//locales/fr/LC_MESSAGES/ref.po -o src//locales/fr/LC_MESSAGES/ref.mo diff -r 1d052540f8cd -r 4275975a87c8 src/source/introduction.rst --- a/src/source/introduction.rst Thu Dec 27 17:13:08 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -.. _introduction: - -Why should i use PyAMS? ------------------------ - -Based on the python langage, **PyAMS** supply powerfull tools like *PyAMS_content*, this package -providing content management features, which can be easily extended to manage your own content types. -But PyAMS can also be used to manage any kind of application. - -In addition **PyAMS** is built on top of **MyAMS** (**My** **\A**\pplication **\M**\anagement **\S**\kin), a small web client framework built on top of JQuery -and Bootstrap, which was developed by the french national forestry office (ONF -- Office national des forĂȘts -- -http://www.onf.fr) to build web applications in several languages (actually java, Python and PHP). The new ONF website -is now completely handled with PyAMS framework. - -PyAMS is a multipurpose set of packages, providing tools including: - - * custom interfaces - * custom registry annotations - * custom security policy - * local registry support - * network protocols utilities (for HTTP and XML-RPC) - * command line scripts - * custom utilities. - - -.. tip:: - Some screenshots of the admin interface are available at :ref:`screenshots`! - - -How to install PyAMS? ---------------------- - -If you want to create a PyAMS application instance easily, just follow the :ref:`quickstart` guide! -If you want learn more about a custom installation follow :ref:`install` procedure. - -