]>
Commit | Line | Data |
---|---|---|
8d7b6807 DJ |
1 | [[translation]] |
2 | Translating {pve} | |
3 | ----------------- | |
4 | ifdef::wiki[] | |
5 | :pve-toplevel: | |
6 | endif::wiki[] | |
7 | ||
8 | ||
06fd1d0f DW |
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 | Translating with git | |
21 | ~~~~~~~~~~~~~~~~~~~~ | |
8d7b6807 | 22 | |
e63e47fb AL |
23 | The language files are available as a |
24 | https://git.proxmox.com/?p=proxmox-i18n.git[git repository]. If you are familiar | |
25 | with git, please contribute according to our | |
26 | {webwiki-url}Developer_Documentation[Developer Documentation]. | |
8d7b6807 | 27 | |
06fd1d0f DW |
28 | You can create a new translation by doing the following (replace <LANG> with the |
29 | language ID): | |
30 | ||
31 | # git clone git://git.proxmox.com/git/proxmox-i18n.git | |
32 | # cd proxmox-i18n | |
33 | # make init-<LANG>.po | |
34 | ||
35 | Or you can edit an existing translation, using the editor of your choice: | |
36 | ||
37 | # poedit <LANG>.po | |
38 | ||
39 | ||
40 | Translating without git | |
41 | ~~~~~~~~~~~~~~~~~~~~~~~ | |
42 | ||
43 | Even if you are not familiar with git, you can help translate {pve}. | |
44 | To start, you can download the language files | |
45 | https://git.proxmox.com/?p=proxmox-i18n.git;a=tree[here]. Find the | |
46 | language you want to improve, then right click on the "raw" link of this language | |
47 | file and select 'Save Link As...'. Make your changes to the file, and then | |
48 | send your final translation directly to office(at)proxmox.com, together with a | |
e63e47fb AL |
49 | signed |
50 | {webwiki-url}Developer_Documentation#Software_License_and_Copyright[contributor license agreement]. | |
8d7b6807 | 51 | |
06fd1d0f DW |
52 | |
53 | Testing the Translation | |
54 | ~~~~~~~~~~~~~~~~~~~~~~~ | |
55 | ||
56 | In order for the translation to be used in {pve}, you must first translate | |
57 | the `.po` file into a `.js` file. You can do this by invoking the following script, | |
58 | which is located in the same repository: | |
59 | ||
60 | # ./po2js.pl -t pve xx.po >pve-lang-xx.js | |
61 | ||
62 | The resulting file `pve-lang-xx.js` can then be copied to the directory | |
63 | `/usr/share/pve-i18n`, on your proxmox server, in order to test it out. | |
64 | ||
65 | Alternatively, you can build a deb package by running the following command from | |
66 | the root of the repository: | |
67 | ||
68 | # make deb | |
69 | ||
70 | IMPORTANT: For either of these methods to work, you need to have the following | |
71 | perl packages installed on your system. For Debian/Ubuntu: | |
72 | ||
73 | # apt-get install perl liblocale-po-perl libjson-perl | |
74 | ||
75 | ||
76 | Sending the Translation | |
77 | ~~~~~~~~~~~~~~~~~~~~~~~ | |
78 | You can send the finished translation (`.po` file) to the Proxmox team at the address | |
3a433e9b | 79 | office(at)proxmox.com, along with a signed contributor license agreement. |
06fd1d0f | 80 | Alternatively, if you have some developer experience, you can send it as a |
65eb814d TL |
81 | patch to the {pve} development mailing list. See |
82 | {webwiki-url}Developer_Documentation[Developer Documentation]. |