]>
Commit | Line | Data |
---|---|---|
1 | [[translation]] | |
2 | Translating {pve} | |
3 | ----------------- | |
4 | ifdef::wiki[] | |
5 | :pve-toplevel: | |
6 | endif::wiki[] | |
7 | ||
8 | ||
9 | ||
10 | The {pve} user interface is in English by default. However, thanks to the | |
11 | contributions of the community, translations to other languages are also available. | |
12 | We welcome any support in adding new languages, translating the latest features, and | |
13 | improving incomplete or inconsistent translations. | |
14 | ||
15 | We use https://www.gnu.org/software/gettext/[gettext] for the management of the | |
16 | translation files. Tools like https://poedit.net/[Poedit] offer a nice user | |
17 | interface to edit the translation files, but you can use whatever editor you're | |
18 | comfortable with. No programming knowledge is required for translating. | |
19 | ||
20 | [[i18n_with_git]] | |
21 | Translating with git | |
22 | ~~~~~~~~~~~~~~~~~~~~ | |
23 | ||
24 | The language files are available as a | |
25 | https://git.proxmox.com/?p=proxmox-i18n.git[git repository]. If you are familiar | |
26 | with git, please contribute according to our | |
27 | {webwiki-url}Developer_Documentation[Developer Documentation]. | |
28 | ||
29 | You can create a new translation by doing the following (replace <LANG> with the | |
30 | language ID): | |
31 | ||
32 | # git clone git://git.proxmox.com/git/proxmox-i18n.git | |
33 | # cd proxmox-i18n | |
34 | # make init-<LANG>.po | |
35 | ||
36 | Or you can edit an existing translation, using the editor of your choice: | |
37 | ||
38 | # poedit <LANG>.po | |
39 | ||
40 | ||
41 | [[i18n_without_git]] | |
42 | Translating without git | |
43 | ~~~~~~~~~~~~~~~~~~~~~~~ | |
44 | ||
45 | Even if you are not familiar with git, you can help translate {pve}. | |
46 | To start, you can download the language files | |
47 | https://git.proxmox.com/?p=proxmox-i18n.git;a=tree[here]. Find the | |
48 | language you want to improve, then right click on the "raw" link of this language | |
49 | file and select 'Save Link As...'. Make your changes to the file, and then | |
50 | send your final translation directly to office(at)proxmox.com, together with a | |
51 | signed | |
52 | {webwiki-url}Developer_Documentation#Software_License_and_Copyright[contributor license agreement]. | |
53 | ||
54 | ||
55 | Testing the Translation | |
56 | ~~~~~~~~~~~~~~~~~~~~~~~ | |
57 | ||
58 | In order for the translation to be used in {pve}, you must first translate | |
59 | the `.po` file into a `.js` file. You can do this by invoking the following script, | |
60 | which is located in the same repository: | |
61 | ||
62 | # ./po2js.pl -t pve xx.po >pve-lang-xx.js | |
63 | ||
64 | The resulting file `pve-lang-xx.js` can then be copied to the directory | |
65 | `/usr/share/pve-i18n`, on your proxmox server, in order to test it out. | |
66 | ||
67 | Alternatively, you can build a deb package by running the following command from | |
68 | the root of the repository: | |
69 | ||
70 | # make deb | |
71 | ||
72 | IMPORTANT: For either of these methods to work, you need to have the following | |
73 | perl packages installed on your system. For Debian/Ubuntu: | |
74 | ||
75 | # apt-get install perl liblocale-po-perl libjson-perl | |
76 | ||
77 | ||
78 | Sending the Translation | |
79 | ~~~~~~~~~~~~~~~~~~~~~~~ | |
80 | You can send the finished translation (`.po` file) to the Proxmox team at the address | |
81 | office(at)proxmox.com, along with a signed contributor license agreement. | |
82 | Alternatively, if you have some developer experience, you can send it as a | |
83 | patch to the {pve} development mailing list. See | |
84 | {webwiki-url}Developer_Documentation[Developer Documentation]. |