User Tools

Site Tools


wiki:development:i18n

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
wiki:development:i18n [2014/04/28 13:06]
sunweaver
wiki:development:i18n [2016/01/29 19:59]
ionic [Translating PyHoca-GUI] Make Pakage-maintainers-only bold.
Line 3: Line 3:
 Some of the X2Go components can be internationalized/localized (translated into many of the globe's languages as possible). Here is a short howto that explains what you need to do, to contribute your language to X2Go. Some of the X2Go components can be internationalized/localized (translated into many of the globe's languages as possible). Here is a short howto that explains what you need to do, to contribute your language to X2Go.
  
-**TL;DR;** All translators please send their translation efforts (''.po'' files, ''.ts'' files or git formatted patches) to the [[http://lists.x2go.org/listinfo/x2go-i18n|X2Go i18n mailing list]]. Please prepare files that have a Unix EOL (line-ending) style. Thank you!+**TL;DR;** All translators please send their translation efforts (''.po'' files, ''.ts'' files or git formatted patches) to the [[http://lists.x2go.org/listinfo/x2go-i18n|X2Go i18n mailing list]]. Please make sure that your files have a Unix EOL (line-ending) style. Thank you!
  
  
 ===== Translatable X2Go components ===== ===== Translatable X2Go components =====
  
-|  **COMPONENT**                                                                        | **da** | **de** | **es** | **et** | **fi** | **fr**         | **nb_no** | **nl** | **ru** | **sv** | **zh_tw**    | +|  **COMPONENT**                                                                        | **da** | **de** | **es** | **et** | **fi** | **fr**         | **nb_no** | **nl** | **ru** | **sv** | **tr** | **zh_tw**    | 
-| [[http://code.x2go.org/gitweb?p=x2goclient.git;a=summary|x2goclient]]                 | x  | x  | x   | x  | incomplete | x      | x  | x  | outdated | +| [[http://code.x2go.org/gitweb?p=x2goclient.git;a=summary|x2goclient]]                 | x  | x  | incomplete incomplete  | x  | very incomplete | x | incomplete | incomplete  | x | x | outdated | 
-| [[http://code.x2go.org/gitweb?p=pinentry-x2go.git;a=summary|pinentry-x2go]]            | x  | x  | -  |  | -          | -      | -  | -  | -        +| [[http://code.x2go.org/gitweb?p=pinentry-x2go.git;a=summary|pinentry-x2go]]            | x  | x  | -  |  | -          | -      | -  | -  | x | - | 
-| [[http://code.x2go.org/gitweb?p=pyhoca-gui.git;a=summary|pyhoca-gui]]                 | x  | x  | x  | -  |  | -          x     | x  | x  | x  | -        +| [[http://code.x2go.org/gitweb?p=pyhoca-gui.git;a=summary|pyhoca-gui]]                 | x  | x  | x  | -  |  | - | incomplete | x | incomplete | x  | x | - |    
-| [[http://code.x2go.org/gitweb?p=x2godesktopsharing.git;a=summary|x2godesktopsharing]] | x  | x  | x  | -  |  | x          | x     | x  | x  | x  | -        +| [[http://code.x2go.org/gitweb?p=x2godesktopsharing.git;a=summary|x2godesktopsharing]] | x  | x  | x  | -  |  | x          | x     | x  | x  | x  | x | - | 
-| [[http://code.x2go.org/gitweb?p=x2gognomebindings.git;a=summary|x2gognomebindings]]    | x  | x  | -  |  | -          | -      | -  | -  | -        +| [[http://code.x2go.org/gitweb?p=x2gognomebindings.git;a=summary|x2gognomebindings]]    | x  | x  | -  |  | -          | -      | -  | -  | x | - | 
-| [[http://code.x2go.org/gitweb?p=x2gomatebindings.git;a=summary|x2gomatebindings]]      | x  | x  | -  |  | -          | -      | -  | -  | -        +| [[http://code.x2go.org/gitweb?p=x2gomatebindings.git;a=summary|x2gomatebindings]]      | x  | x  | -  |  | -          | -      | -  | -  | x | - | 
-| [[http://code.x2go.org/gitweb?p=x2goplasmabindings.git;a=summary|x2goplasmabindings]] | x  | x  | x  | -  |  | x          | x      | x  | x  | -        +| [[http://code.x2go.org/gitweb?p=x2goplasmabindings.git;a=summary|x2goplasmabindings]] | x  | x  | x  | -  |  | x          | x      | x  | x  | x | - | 
-| [[http://code.x2go.org/gitweb?p=x2goadmincenter.git;a=summary|x2goadmincenter]]       | -  | x  | -  | -  | x  | -          | -     | -  | -  | -  | -        |+| [[http://code.x2go.org/gitweb?p=x2goadmincenter.git;a=summary|x2goadmincenter]]       | x  | x  | x  | -  | x  | -          | -     | x  | -  | -  | x | - | 
 +| [[http://code.x2go.org/gitweb?p=x2goserver.git;a=summary|x2goserver]]                 | x  | x  | -  | -  | -  | -          | -     | -  | -  | -  | x | - | 
 +| [[http://code.x2go.org/gitweb?p=x2gothinclient.git;a=summary|x2gothinclient]]         | x  | x  | -  | -  | -  | -          | -     | -  | -  | -  | x | - |
  
 ===== Overview of the process ===== ===== Overview of the process =====
Line 41: Line 43:
   - To be able to translate you need to install Qt Linguist (version 4.x) - for Debian and Ubuntu you can install //qt4-dev-tools//, which also will install //qt4-linguist-tools// that also is needed. The preferred way of sending in translations is as git-patches, so we need git which in Debian and Ubuntu is accomplished by installing the package //git//   - To be able to translate you need to install Qt Linguist (version 4.x) - for Debian and Ubuntu you can install //qt4-dev-tools//, which also will install //qt4-linguist-tools// that also is needed. The preferred way of sending in translations is as git-patches, so we need git which in Debian and Ubuntu is accomplished by installing the package //git//
   - We need a directory to keep the cloned copies of the git repository, I prefer to have mine in // ~/git/ //, but you can choose what suits you best.    - We need a directory to keep the cloned copies of the git repository, I prefer to have mine in // ~/git/ //, but you can choose what suits you best. 
-    - Follow the instructions on cloning a git repository from here: http://wiki.x2go.org/wiki:development:git+    - Follow the instructions on cloning a git repository from here: [[wiki:development:git|wiki:development:git]]
     - Also remember to follow the instructions there on how to set your name and email in Git     - Also remember to follow the instructions there on how to set your name and email in Git
     - When you got your Git working copy of X2Go Client cloned locally, changedir into the cloned directory     - When you got your Git working copy of X2Go Client cloned locally, changedir into the cloned directory
Line 69: Line 71:
  
 For PyHoca-GUI as a translater you have to use a gettext compatible (.po/.mo files) editor like '''poedit'''. The translation process is described in the ''[[http://code.x2go.org/gitweb?p=pyhoca-gui.git;a=blob;f=README.i18n|README.i18n]]'' file within PyHoca-GUI's source tree. For PyHoca-GUI as a translater you have to use a gettext compatible (.po/.mo files) editor like '''poedit'''. The translation process is described in the ''[[http://code.x2go.org/gitweb?p=pyhoca-gui.git;a=blob;f=README.i18n|README.i18n]]'' file within PyHoca-GUI's source tree.
 +
 +<note>**Package-maintainers-only:** to update the translation template, run <code bash>python setup.py build_i18n</code> and to merge the updated template file into the source translation files, use <code bash>python setup.py build_i18n -m</code></note>
  
 Please also note that there is an NSIS installer (for the win32 version of PyHoca-GUI), that also has a few translatable strings. Check the ''nsis_include/'' subfolder in the PyHoca-GUI source tree. Please also note that there is an NSIS installer (for the win32 version of PyHoca-GUI), that also has a few translatable strings. Check the ''nsis_include/'' subfolder in the PyHoca-GUI source tree.
Line 79: Line 83:
  
 For translating the similar projects ''x2gognomebindings'' (GNOMEv2 only) and ''x2gomatebindings'' you need a gettext based editor like ''poedit''. The ''.po'' files are in the po/ subfolder in the source tree. For translating the similar projects ''x2gognomebindings'' (GNOMEv2 only) and ''x2gomatebindings'' you need a gettext based editor like ''poedit''. The ''.po'' files are in the po/ subfolder in the source tree.
 +
 +Additionally, the GNOMEv2 / MATE Bindings package ships a desktop file that needs to be translated:
 +
 +<file>
 +[Desktop Entry]
 +Name=Suspend X2Go session
 +Name[de]=X2Go Sitzung unterbrechen
 +...
 +Name[<your_lang>]=<your_translation>
 +...
 +Icon=exit
 +Exec=x2gosuspend-session-mate
 +Terminal=false
 +Type=Application
 +Categories=GTK;Network
 +OnlyShowIn=MATE;
 +</file>
  
 ==== Translating X2Go Plasma/KDE4 Bindings ==== ==== Translating X2Go Plasma/KDE4 Bindings ====
Line 87: Line 108:
  
 The X2Go Admin Center application uses the same translation mechanism as x2goclient (Qt4, Qt-Linguist, .ts files). Thus, see above. The X2Go Admin Center application uses the same translation mechanism as x2goclient (Qt4, Qt-Linguist, .ts files). Thus, see above.
 +
 +Important: X2Go Admin Center has several .ts files to tackle (e.g. the Dutch translator has to work on all these four files):
 +
 +<file>
 +x2goadmincenter/x2goadmincenter_nl.ts
 +x2goadmincenter/modules/x2gogroupadmingui/x2gogroupadmingui_nl.ts
 +x2goadmincenter/modules/x2gouseradmingui/x2gouseradmingui_nl.ts
 +x2goadmincenter/modules/x2gosessionadmingui/x2gosessionadmingui_nl.ts
 +</file>
  
 Note: X2Go Admin Center is still under development and not at all finished. Note: X2Go Admin Center is still under development and not at all finished.
 +
 +==== Translating X2Go Server ====
 +
 +For X2Go Server as a translater you have to use a gettext compatible (.po/.mo files) editor like '''poedit'''. The translation process is described in the ''[[http://code.x2go.org/gitweb?p=x2goserver.git;a=blob;f=README.i18n|README.i18n]]'' file within X2Go Server's source tree.
 +
 +==== Translating X2Go Thin Client ====
 +
 +For X2Go Thin Client as a translater you have to use a gettext compatible (.po/.mo files) editor like '''poedit'''. The translation process is described in the ''[[http://code.x2go.org/gitweb?p=x2gothinclient.git;a=blob;f=README.i18n|README.i18n]]'' file within X2Go Thin Client's source tree.
  
wiki/development/i18n.txt · Last modified: 2018/06/21 21:50 by ionic