See www.zabbix.com for the official Zabbix site.

Translating Zabbix

From Zabbix.org
Jump to: navigation, search

Translating Zabbix

It is possible to participate in translation of Zabbix interface and documentation. It is actually very much appreciated - native speakers are in the best position to create quality translations.

Translation status and maintainers

If you want to help with translation, it's best to coordinate the efforts. The following table lists language maintainers. If there is an existing maintainer, feel free to contact them for advice or to report problems with that particular translation. If there's no maintainer for your language, feel free to add it - and yourself as the maintainer, if you would like to participate.

Translation status shows whether a translation is show by default. Translations that are not shown really need help - join in!

If a translation drops below 75% completion, it is hidden from the language selection. Note that it is not removed, just not displayed in the default dropdown. A translation is added to the dropdown when it reaches 100% completion.

User links in the table may go to your Zabbix forum user page, or user page on this wiki.

Links to the forum user page should follow a syntax like this (replace <user_ID> and <User name>):

 [http://www.zabbix.com/forum/member.php?u=<user_ID> <User name>]

Links to the user page on this wiki should follow a syntax like this (replace <login_name> and <User name>):

 [[User:<login_name>|<User name>]]
Language Language code Translation visible Maintainers Valid maintainers (starting from 3.2)
2.2 2.4 3.0 3.2 trunk
Bulgarian bg No No No No No mystical mystical
Chinese (China) zh_CN Yes Yes Yes Yes Yes Yaochiu, pengyao, Xiehai, nexpro (Xiong Wen), Shiyingsheng (Jason Shi), WangYuying (Wayne Wang), Jack.lee, Eric Lin WangYuying (Wayne Wang), Jack.lee
Chinese (Taiwan) zh_TW No No No No No Yaochiu, Lhy719 Lhy719
Czech cz Yes Yes Yes Yes Yes vitamin, JiP, Jan Garaj, SmEjDiL or malyl Jan Garaj, SmEjDiL or malyl
Dutch nl No No No No No Qix, PieterB, kreno, DavidWouda,open-future, acropia open-future, acropia
English (United States) en_US Yes Yes Yes Yes Yes Zalex_UA Zalex_UA
Finnish fi No No No No No User:Jeppe, User:Ekakela Ekakela
French fr Yes Yes Yes Yes Yes Alixen, Antonin, mma, Sébastien Maccagnoni-Munch,Frederic Lauret Antonin, Sébastien Maccagnoni-Munch (tiramiseb)]
Georgian ka No No No No No George Machitidze (giomac) George Machitidze (giomac)
German de No No No No No Volker Fröhlich (volter), Florian Koch (User:flo/f0), Jens Berthold (maxhq), Timo (Sugarman) Volker Fröhlich (volter), Florian Koch (flo), Jens Berthold (maxhq), Timo (Sugarman)
Greek el Yes Yes No No No User:giannis giannis
Hebrew he No No No No No User:Yaron Yaron
Hungarian hu No No No No No szenrobi, halt szenrobi
Indonesian id No No No No No User:busel7 busel7
Italian it Yes Yes Yes Yes Yes unixo, quadrata (Dimitri Bellini) quadrata (Dimitri Bellini)
Japanese jp Yes Yes Yes Yes Yes Kodai, Atsushi Kodai, Atsushi
Korean ko Yes Yes Yes Yes Yes Harper Park JK Kim Harper Park (righ) JK Kim
Latvian lv No No No No No
Lithuanian lt No No No No No Saulute
Persian fa No No No No No Masoud Serpoushani, mohammad shahrokhi Mohammad Sharifi (Starless boi), mohammad shahrokhi
Polish pl Yes Yes Yes Yes Yes User:refaston, Mark4u, Paweł Jarosz, Łukasz "DeeJay1" Jernaś, dlaciebiepanmarcin, daftu, pawelsel refaston, Paweł Jarosz (zaicnupagadi), daftu, pawelsel
Portuguese (Brazil) pt_BR Yes Yes Yes Yes Yes Adail Horst, Edgar Delgado, Janssen Lima, Marcelo Leandro, Rogerio F. Pereira Adail Horst (spaww)
Portuguese (Portugal) pt_PT No No No No No User:mario.rf.santos
Romanian ro Yes Yes No No No User:altmir, User:Link01 User:Link01
Russian ru Yes Yes Yes Yes Yes DotNeft, Neogan DotNeft, Neogan
Slovak sk Yes Yes Yes Yes Yes User:Marki555, Jan Garaj Jan Garaj
Spanish es No No No No No vins, javier, saulortega, emmanux, david.perez, lucho, rampmaster, Óscar García, Jesús Moreno, jmmurillo vins, saulortega, david.perez, lucho, rampmaster, Óscar García, Jesús Moreno, Guillem Martí
Swedish sv No No No No No User:Ngyori
Turkish tr No No No No No muratkoc, mcsaygili muratkoc, mcsaygili
Ukrainian uk Yes Yes Yes Yes Yes Zalex_UA, Heilig Zalex_UA, Heilig
Vietnamese vi Yes Yes No No No Quangnh,daona, tvtrung, nadao Quang Nguyễn Huyền (quangnh), tvtrung, Đào Nguyễn Anh (nadao)

Mailing list

Zabbix translators mailing list is available.

Objects to translate

There are two possible things to translate at this point:

Translating frontend

If you want to translate Zabbix frontend:

  1. register on this wiki
  2. log into Pootle using the same username and password you registered with in the previous step
  3. subscribe to the translator mailing list
  4. add yourself to the maintainer table below
  5. have a look at your language specific translation page
    • it's linked to the language name in the maintainer table below (if there is one)
    • if you start a new page for your language, be sure you don't miss the terminology

You will also need permissions to submit translations. Easiest way to obtain them is to ask in the #zabbix IRC channel on Freenode and provide your Pootle login.

If there are existing translators for your language, make sure to contact them - maybe there is an established workflow already, or some language-specific rules that should be followed.

Syncing translation to SVN

Usually synchronization from Pootle to SVN is performed by zabbix development team before next stable zabbix release. This way it's assured that all translation from Pootle are included. Internal instructions are here.

As for trunk branch - there are no strong rules when such sync is perofmed, probably by translators request but not more often than every 2-3 weeks, because it's a bit time consuming process. Synchronization is performed before alpha/RC releases of trunk too.

Testing translation

If you want to use finished PO file, which is not synced to SVN yet, - you can download it from Pootle, put it in zabbix frontend corresponding folder, run make_mo.sh and you should see all strings translated. Example:

 # yum install -y gettext || apt-get install -y gettext
 # cd /usr/local/src/zabbix/frontends/php || cd /usr/share/zabbix/
 # cd locale/sk/LC_MESSAGES/
 # rm -rf frontend.po && wget https://www.zabbix.org/pootle/download/sk/Zabbix-trunk/LC_MESSAGES/frontend.po
 # cd ../../..
 locale/make_mo.sh
 # restart your web server

Translating manual

If you want to translate the manual, contact Zabbix developers at support@zabbix.com, providing your forum username and language you want to translate manual to.

Note that it is suggested to completely finish frontend translation before considering the manual - translating the manual is a much bigger amount of work.

Creating translation
  • If you create a new Zabbix manual translation, you should immediately create a complete tree structure of the whole manual. This is crucial, as otherwise users are likely to miss parts of manual that have not been yet translated.
  • Create manual pages so that the link name is absolutely identical to the English, except for two letter country code at the start of the link. Check that the selector of language at the top of the page works properly.
  • For all initially created pages, add at the top of page a warning like this, and edit the link for the correct path for each page (source code):

<note important> This page has not yet been translated. See the original page.</note>

Remove this warning only after translation of that page is completed.

Working on the translation
  • Try to translate the entire page and then proceed to the next.
  • Try to commit larger parts of the page, i.e. don't save small changes very often. To save the work done, use the "Preview" button. When you click on "Preview" page is stored on the server as a draft, and you can edit it later. During this period, other users will not see the changes already made. If the page has a draft saved, viewing it instead of "Edit this page", "Edit Draft" button will be displayed. Once you click "Edit Draft", make sure to choose "Recover Draft" to continue editing from the previous point.
  • Use the field "Edit summary" and mark "Minor Changes" if appropriate. Always populate "Edit summary" field. Remember, checking "Minor Changes" will prevent users who had subscribed to the page changes from receiving the notification. In the revision history (accessed by "Old revisions" link on each page) such minor changes are shown in italics. It is recommended to use "Minor Changes" option only when correcting typos.
  • If you update documentation translation and original changes were accompanied by a comment, repeat that comment in your own edit summary.
  • If you translate some changes, translate them fully - for example, do not skip a paragraph that might be difficult to translate. In the worst case scenario, replicate the English version and consult other translators.
  • Try to re-create contents of the English version in the screenshot - including hosts, host groups, items etc. Also try to replicate size, viewport and cropping of original screenshots.
  • When translating the documentation, follow the same concepts as used in the frontend translation. Do not use English if the frontend has that word translated.