call SetDllDirectory(L"") more early
[TortoiseGit.git] / Languages / translations.txt
blobbeec4352372d48867cd2532f1a4a2ab5ea469b60
1 Translations
2 ------------
4 TortoiseGIT is still in development so translations of all resources is
5 also a work 'in progress'.
7 General
8 -------
9 The TortoiseGIT project uses gettext PO (portable object) files for its
10 translation. PO files are plain text, so you can even translate using a
11 normal text editor. The only thing you have to take care of is that the
12 editor can handle the UTF-8 charset. There is a wide range of tools out
13 there that can handle and manipulate PO files.
14 We recommend that you use poEdit (http://poedit.sourceforge.net) on Windows
15 or lokalize (http://userbase.kde.org/Lokalize) on Linux.
17 This description assumes that you use poEdit.
19 Getting started
20 ---------------
21 If you want to implement a new language for TortoiseGIT do the following.
23 1) Use TortoiseGIT (or any other GIT client) to clone:
24    git clone http://repo.or.cz/r/TortoiseGit.git
25    (You will get more than one file)
26    or point your browser to:
27    http://repo.or.cz/w/TortoiseGit.git/tree/HEAD:/Languages
28    right-click on Tortoise.pot and save this file to your local harddisk.
29    Tortoise.pot is the portable object template (hence .pot) for the
30    translation.
32 2) Rename Tortoise.pot to Tortoise_xx.po, where xx is your two letter
33    ISO-639-1 language code. Look up your language code here:
34    http://www.loc.gov/standards/iso639-2/langcodes.html
35    If you want to translate into a language that has two different locales
36    and you *really* need the second locale, add the two letter ISO-3166
37    locale code. If you're not sure about your country code, look here:
38    http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html.
39    Please keep in mind that we would like to have as few translations as
40    possible that cover as many languages as possible. We would not be
41    very happy at having to maintain a (de_CH) Swiss German, (de_AT)
42    Austrian German and (de_DE) German German translation. :-)
43    But if it's necessary like in Chinese, sure go ahead. We are happy with
44    simplified (zh_CN) and traditional (zh_TW) Chinese.
46 3) Now translate what you can using poEdit. If you are not sure with one
47    or the other translation, mark it as "fuzzy". You can enter a comment
48    in poEdit to give some information about your thoughts to other trans-
49    lators.
50    If you are not sure about the meaning of the original sentence ask on
51    the list.
53 4) Add a header with '#' comments to the PO file using a normal text edi-
54    tor that explains which language you translated and the terminology
55    you used, like:
56    #
57    # German translations for TortoiseGIT
58    # This file is distributed under the same license as the subversion package.
59    #
60    # Translation dictionary:
61    #
62    # argument     parameter
63    # bogus        ungültig
64    # checkout     auschecken (denglisch, ich weiß, aber akzeptabel)
65    # client       Client, des Client
66    # commit       übertragen
67    # item         Objekt
68    # label        Marke / Markierung
70 5) Make sure your file is saved in UTF-8 encoding and that it does *not*
71    begin with UTF-8 BOMs (Byte Order Marks)
73 6) Send your Tortoise_xx.po to the mailing list (tortoisegit-dev@googlegroups.com
76 Adding to an existing translation
77 ---------------------------------
78 1) Get hold of Tortoise.pot and the Tortoise_xx.po you want to improve
80 2) Start poEdit with Tortoise_xx.po and select "Update from .pot file"
81    from the "Catalog" Menu
83 3) Select Tortoise.pot and wait until poEdit has finished merging the
84    template and the current translation.
86 4) The untranslated strings (and fuzzy translations) are always at the
87    top of the list.
89 5) Translate what you can and send the resulting PO file back to the
90    mailing list (tortoisegit-dev@googlegroups.com).
92 Format your translation
93 --------------------------
94 Please format your translation before send Tortoise_xx.po to the
95 mailing list, or commit to the TortoiseGIT repository. You can do it
96 like this:
97     $ msgmerge --no-wrap -o Tortoise_xx.po.new Tortoise_xx.po Tortoise.pot
98     $ mv -f Tortoise_xx.po.new Tortoise_xx.po
100 This can minimize the svn diff output, review your translation is easy.
102 What now?
103 ---------
104 That's all you have to do. We'll take care of creating the resource dlls
105 and installers for the different language packs.
107 Building your own dlls
108 ----------------------
109 If you want to test the translations you made yourself, before you release
110 them, you need four things:
112 #The Below is tortoiseGIT document. 
114 - The "raw" resource dlls for your version of TortoiseGIT. Other dlls
115   won't work. Take a look at:
116   http://tortoisesvn.tigris.org/servlets/ProjectDocumentList?folderID=1847
117   and pick your language dlls e.g. Languages_1.0.8.zip for TortoiseSVN 1.0.8.
118 - The pot file for your version of TortoiseGIT e.g:
119   http://tortoisesvn.tigris.org/svn/tortoisesvn/tags/version_1.0.8/...
120 - Any po file for your language. Either pick one from tags or the latest
121   po file from trunk
122 - The ResText utility that is used to insert the data from the po file
123   into your resource dlls:
124   http://tortoisesvn.tigris.org/files/documents/406/14560/ResText.zip
126 Once you finished your installation, you run:
128 restext apply TortoiseProcLang.dll ..\bin\TortoiseProcNNNN.dll Tortoise_CC.po
129 restext apply TortoiseMergeLang.dll ..\bin\TortoiseMergeNNNN.dll Tortoise_CC.po
131 where NNNN is your four digit country code (1031 for germany)
132 and CC is your 2 letter country code (de for germany)
134 You can find the four digit country code at
135 http://www.microsoft.com/globaldev/reference/lcid-all.mspx
136 under the column LCID dec.
138 After successfully creating your dlls, copy them into:
139 C:\Program Files\TortoiseGit\Languages
140 Now you should be able to select your language from the combobox on the
141 TortoiseGIT main setting page.