Guide to Translating www.gnu.org Web Pages
The translation process is being reformed, so some of the information is no longer relevant. To avoid any unnecessary effort, please contact <email@example.com> first.
- Before doing anything, read both
- After reading this page, refer to the Translations Underway list, and check if there is already a team formed for the language you want to translate to. If not, contact <firstname.lastname@example.org>, and ask if you can start a new team for your language.
- ISO 639 gives the two-letter language codes in its 2nd column. If a two-letter language code is not assigned, 3-letter (ISO 639-2) can be used. Later versions of RFC 1766 and ISO 639 may exist.
- If ISO 639 does not have a code, do some research and find out the right one to use. ISO 3166 gives the codes for countries. Language and country codes do not have to be the same. It is a mistake to assume a country code can be substituted for a language code — unless you verify it against a standard.
What to Translate
- Documents should be converted together with their “glue pages”, such as home.html and philosophy/philosophy.html.
- Don't translate anything under these directories:
- We leave that area up to each maintainer. But if you want to help a maintainer do translations, ask hir (him or her).
- Here's how to help translate Brave GNU World.
- When translating “GNU's Not Unix,” please ensure that the translation remains recursive. If a recursive translation cannot be conceived, use the following format: “GNU's Not Unix” (GNU är inte Unix).
Translating the home page
- The translated homepage must include the full list of
translations via SSI.
The required SSI tag looks like this:
<!--#include file="translations.include" -->
- If you provide a new home page translation you must update the
translations.includefile. The file is stored in the GNU webservers root directory.
Linking Other Documents
- All links are relative to the web server root, meaning that they should link to, for example, /software/software.html and not just software.html.
- Link should be made pointing to a translated page if it exists, else made pointing to the English original. You should NOT make links that depend upon content negotiation. One reason is that they will fail on mirror servers that do not do content negotiation.
Translations into Other Languages
- The top and bottom of all translations (including the English original) should contain links to other translations of the document when such exists. See the http://www.gnu.org.ua/boilerplate.html for an example on how to do this.
- Translations should be named
LGis the language code. For example, a German translation of home.html should be named
- There exists a symlink
index.htmlpointing to some other file
other.html. Create a symlink named
index.LG.htmlpointing to the correct translation
Tools to Help Translators
- A file
~www/html/lists all the HTML files translated into language LG. These files allow one to search or query replace all of the HTML files for a language code LG. See these instructions for more information.
Keeping Translations Current
- For all translations to be kept current, you should subscribe to the www-commits mailing list. Then you will get sent one email for each page that is modified in cvs (for the www module). The traffic is around 4-5 mails per day, more on weekends. It's suggested that you save all such email and burst through them about once a week to make sure the translations are current.
The language code is followed by the name of the language, and the name and e-mail address of the translation team leader.
??- This place is reserved for your name, when you form a translation team for another language.
!!- Contact the Translation Managers at <email@example.com> if you would like to form a Translation Team and be listed as the translation team lead for your language.
ar- Arabic (Hossam Hossny, Hatem Hossny)
az- Azerbaijani (Igrar Huseynov)
bg- Bulgarian (Yavor Doganov)
bn- Bengali (Khandakar Mujahidul Islam)
ca- Catalan (Miquel Puigpelat)
cs- Czech (Martin Kysela)
da- Danish (Erik Gravgaard)
de- German (Richard Steuer)
el- Greek (Kasabalis Athanasios)
eo- Esperanto (Ludovic Courtès)
es- Spanish (Xavier Reina, Miguel Vazquez Gocobachi, Franco Iacomella)
fa- Farsi/Persian (A. E. Some‘eh)
fi- Finnish (Ville)
fr- French (Cédric Corazza, Jérôme Dominguez)
he- Hebrew (New coordinator needed, please contact <firstname.lastname@example.org>)
id- Indonesian (Rahmat M. Samik-Ibrahim)
it- Italian (Andrea Pescetti)
ja- Japanese (Masayuki Hatta)
ko- Korean (Song Chang-hun, <email@example.com>)
ku- Kurdish (Abdullah Ulas)
ml- Malayalam (The team is being reformed, please contact <firstname.lastname@example.org>)
nl- Dutch (Tom Uijldert)
nn- Norwegian Nynorsk (Andreas Tolfsen, permanent coordinator needed)
nb- Norwegian Bokmål (Andreas Tolfsen)
pl- Polish (Wojciech Kotwica <email@example.com>, Polish translation team)
pt- Portuguese (New coordinator needed, please contact <firstname.lastname@example.org>)
pt-br- Brazilian Portuguese (New coordinator needed, please contact <email@example.com>)
ro- Romanian (Laurentiu Buzdugan)
ru- Russian (Anatoly A. Kazantsev)
sq- Albanian (Besnik Bleta)
sr- Serbian (Strahinya Radich)
ta- Tamil (Sri Ramadoss)
th- Thai (Chaitat Piriyasatit)
tl- Tagalog (The team is being reformed, please contact <firstname.lastname@example.org>)
tr- Turkish (Ali Servet Dönmez)
uk- Ukrainian (Evgeniy Sudyr)
zh-cn- Simplified Chinese (Bill Xu, Chen Xiaobin, Pan Yongzhi)
zh-tw- Traditional Chinese (Bill Xu, Chen Xiaobin, Pan Yongzhi)
Final NotesIf you translate a page for www.gnu.org, please insert the following tag, in the
<head>for xhtml) section. Where
email@example.com the forwarding address for your translations team:
<link rev="translated" href="mailto:firstname.lastname@example.org" />