From 5ff29dc57e2877a14e705d09b7042cddf4165d0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Touceda?= Date: Wed, 6 Mar 2013 15:27:23 -0300 Subject: Remove everything to start from scratch --- docs/dev/internationalization.rst | 117 -------------------------------------- 1 file changed, 117 deletions(-) delete mode 100644 docs/dev/internationalization.rst (limited to 'docs/dev/internationalization.rst') diff --git a/docs/dev/internationalization.rst b/docs/dev/internationalization.rst deleted file mode 100644 index 1a9af0be..00000000 --- a/docs/dev/internationalization.rst +++ /dev/null @@ -1,117 +0,0 @@ -.. _i18n: - -Internationalization -==================== - -This part of the documentation covers the localization and translation of LEAP Client. -Because we want to *bring fire to the people*, in as many countries and languages as possible. - -Translating the LEAP Client PyQt Application --------------------------------------------- - -.. raw:: html - -
Top translations: leap-client » leap-client

- - -For translators -^^^^^^^^^^^^^^^ -.. note:: - We should probably move the translators info to a top level section of the docs, and leave this - as internal notes. - - -We are using `transifex `_ to coordinate translation efforts. If you want to contribute, just sign up there and ... - -.. note:: - ... and what?? - -For devs: i18n conventions -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. note:: - should say something about our special cases (provider labels and exceptions) when we get decision about it. - -Refer to `pyqt documentation `_. - -tl;dr;:: - - self.tr('your string') - -for any string that you want to be translated, as long as the instance derives from ``QObject``. - -If you have to translate something that it is not a ``QObject``, use the magic leap ``translate`` method: - - -.. code-block:: python - - from leap.util.translations import translate - - class Foo(object): - bar = translate(, , ) - - -.. Note about this: there seems to be some problems with the .tr method - so the translate method could actually be the preferred thing in all the cases. - Still missing what to do for language labels (json-based). - --kali - -For i18n maintainers -^^^^^^^^^^^^^^^^^^^^ - -You need ``pylupdate4`` and ``lrelease`` for these steps. To get it, in debian:: - - $ apt-get install pyqt4-dev-tools qt4-linguist-tools - -If you do not already have it, install the ``transifex-client`` from the cheese shop:: - - pip install transifex-client - -You can learn more about the transifex-client `here `_. - -**1.** Add any new source files to the project file, ``data/leap_client.pro``. *We should automate this with some templating, it's tedious.* - -**2.** Update the source .ts file ``data/ts/en_US.ts``.:: - - $ make translations - -**3.** Push source .ts file to transifex:: - - $ tx push -s - -**4.** Let the translation fairies do their work... - -**5.** *Et voila!* Get updated .ts files for each language from ``Transifex``. For instance, to pull updated spanish translations:: - - $ tx pull -l es - Pulling new translations for resource leap-client.leap-client (source: data/ts/en_US.ts) - -> es: data/translations/es.ts - Done. - - -Note that there is a configuration option in ``.tx/config`` for setting the minimum completion percentage needed to be able to actually pull a resource. - -**6.** Generate .qm files from the updated .ts files:: - - $ make translations - -and yes, it's the same command than in step 2. One less thing to remember :) - -**7.** Check that the .qm for the language you're working with is listed in ``data/resources/locale.qrc`` file. That should take the translated files from ``data/translations`` - -**8.** Re-generate ``src/leap/gui/locale_qrc``. This is the embedded resource file that we load in the main app entry point; and from where we load the data for the qt translator object:: - - $ make resources - -If you want to try it, just set your LANG environment variable:: - - $ LANG=es_ES leap-client - - -Translating the Documentation ------------------------------- - -.. note:: - ...unfinished - -`translating sphinx docs `_ -- cgit v1.2.3 From 2dae2703fb8c2ae7e721ce83020c0dd10ff9ca33 Mon Sep 17 00:00:00 2001 From: kali Date: Fri, 3 May 2013 02:59:22 +0900 Subject: updated documentation * documentation reviewed after rewrite, ready for 0.2.1 * updated docstrings format to fit sphinx autodoc --- docs/dev/internationalization.rst | 117 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 docs/dev/internationalization.rst (limited to 'docs/dev/internationalization.rst') diff --git a/docs/dev/internationalization.rst b/docs/dev/internationalization.rst new file mode 100644 index 00000000..1a9af0be --- /dev/null +++ b/docs/dev/internationalization.rst @@ -0,0 +1,117 @@ +.. _i18n: + +Internationalization +==================== + +This part of the documentation covers the localization and translation of LEAP Client. +Because we want to *bring fire to the people*, in as many countries and languages as possible. + +Translating the LEAP Client PyQt Application +-------------------------------------------- + +.. raw:: html + + + + +For translators +^^^^^^^^^^^^^^^ +.. note:: + We should probably move the translators info to a top level section of the docs, and leave this + as internal notes. + + +We are using `transifex `_ to coordinate translation efforts. If you want to contribute, just sign up there and ... + +.. note:: + ... and what?? + +For devs: i18n conventions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. note:: + should say something about our special cases (provider labels and exceptions) when we get decision about it. + +Refer to `pyqt documentation `_. + +tl;dr;:: + + self.tr('your string') + +for any string that you want to be translated, as long as the instance derives from ``QObject``. + +If you have to translate something that it is not a ``QObject``, use the magic leap ``translate`` method: + + +.. code-block:: python + + from leap.util.translations import translate + + class Foo(object): + bar = translate(, , ) + + +.. Note about this: there seems to be some problems with the .tr method + so the translate method could actually be the preferred thing in all the cases. + Still missing what to do for language labels (json-based). + --kali + +For i18n maintainers +^^^^^^^^^^^^^^^^^^^^ + +You need ``pylupdate4`` and ``lrelease`` for these steps. To get it, in debian:: + + $ apt-get install pyqt4-dev-tools qt4-linguist-tools + +If you do not already have it, install the ``transifex-client`` from the cheese shop:: + + pip install transifex-client + +You can learn more about the transifex-client `here `_. + +**1.** Add any new source files to the project file, ``data/leap_client.pro``. *We should automate this with some templating, it's tedious.* + +**2.** Update the source .ts file ``data/ts/en_US.ts``.:: + + $ make translations + +**3.** Push source .ts file to transifex:: + + $ tx push -s + +**4.** Let the translation fairies do their work... + +**5.** *Et voila!* Get updated .ts files for each language from ``Transifex``. For instance, to pull updated spanish translations:: + + $ tx pull -l es + Pulling new translations for resource leap-client.leap-client (source: data/ts/en_US.ts) + -> es: data/translations/es.ts + Done. + + +Note that there is a configuration option in ``.tx/config`` for setting the minimum completion percentage needed to be able to actually pull a resource. + +**6.** Generate .qm files from the updated .ts files:: + + $ make translations + +and yes, it's the same command than in step 2. One less thing to remember :) + +**7.** Check that the .qm for the language you're working with is listed in ``data/resources/locale.qrc`` file. That should take the translated files from ``data/translations`` + +**8.** Re-generate ``src/leap/gui/locale_qrc``. This is the embedded resource file that we load in the main app entry point; and from where we load the data for the qt translator object:: + + $ make resources + +If you want to try it, just set your LANG environment variable:: + + $ LANG=es_ES leap-client + + +Translating the Documentation +------------------------------ + +.. note:: + ...unfinished + +`translating sphinx docs `_ -- cgit v1.2.3 From 89805e33ca85616fdea351b8ce0652adf2c99e2c Mon Sep 17 00:00:00 2001 From: kali Date: Tue, 7 May 2013 23:03:24 +0900 Subject: fix pyqt references --- docs/dev/internationalization.rst | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'docs/dev/internationalization.rst') diff --git a/docs/dev/internationalization.rst b/docs/dev/internationalization.rst index 1a9af0be..8c584fdd 100644 --- a/docs/dev/internationalization.rst +++ b/docs/dev/internationalization.rst @@ -6,7 +6,7 @@ Internationalization This part of the documentation covers the localization and translation of LEAP Client. Because we want to *bring fire to the people*, in as many countries and languages as possible. -Translating the LEAP Client PyQt Application +Translating the LEAP Client PySide Application -------------------------------------------- .. raw:: html @@ -32,7 +32,7 @@ For devs: i18n conventions .. note:: should say something about our special cases (provider labels and exceptions) when we get decision about it. -Refer to `pyqt documentation `_. +Refer to `pyside documentation `_. tl;dr;:: @@ -40,15 +40,11 @@ tl;dr;:: for any string that you want to be translated, as long as the instance derives from ``QObject``. -If you have to translate something that it is not a ``QObject``, use the magic leap ``translate`` method: - - -.. code-block:: python - - from leap.util.translations import translate - - class Foo(object): - bar = translate(, , ) +.. If you have to translate something that it is not a ``QObject``, use the magic leap ``translate`` method: +.. .. code-block:: python +.. from leap.util.translations import translate +.. class Foo(object): +.. bar = translate(, , ) .. Note about this: there seems to be some problems with the .tr method @@ -59,9 +55,9 @@ If you have to translate something that it is not a ``QObject``, use the magic l For i18n maintainers ^^^^^^^^^^^^^^^^^^^^ -You need ``pylupdate4`` and ``lrelease`` for these steps. To get it, in debian:: +You need ``pyside-lupdate`` and ``lrelease`` for these steps. To get it, in debian:: - $ apt-get install pyqt4-dev-tools qt4-linguist-tools + $ apt-get install pyside-tools qt4-linguist-tools If you do not already have it, install the ``transifex-client`` from the cheese shop:: -- cgit v1.2.3