[[translation]] Translating {pve} ----------------- ifdef::wiki[] :pve-toplevel: endif::wiki[] The {pve} user interface is in English by default. However, thanks to the contributions of the community, translations to other languages are also available. We welcome any support in adding new languages, translating the latest features, and improving incomplete or inconsistent translations. We use https://www.gnu.org/software/gettext/[gettext] for the management of the translation files. Tools like https://poedit.net/[Poedit] offer a nice user interface to edit the translation files, but you can use whatever editor you're comfortable with. No programming knowledge is required for translating. Translating with git ~~~~~~~~~~~~~~~~~~~~ The language files are available as a https://git.proxmox.com/?p=proxmox-i18n.git[git repository]. If you are familiar with git, please contribute according to our {webwiki-url}Developer_Documentation[Developer Documentation]. You can create a new translation by doing the following (replace with the language ID): # git clone git://git.proxmox.com/git/proxmox-i18n.git # cd proxmox-i18n # make init-.po Or you can edit an existing translation, using the editor of your choice: # poedit .po Translating without git ~~~~~~~~~~~~~~~~~~~~~~~ Even if you are not familiar with git, you can help translate {pve}. To start, you can download the language files https://git.proxmox.com/?p=proxmox-i18n.git;a=tree[here]. Find the language you want to improve, then right click on the "raw" link of this language file and select 'Save Link As...'. Make your changes to the file, and then send your final translation directly to office(at)proxmox.com, together with a signed {webwiki-url}Developer_Documentation#Software_License_and_Copyright[contributor license agreement]. Testing the Translation ~~~~~~~~~~~~~~~~~~~~~~~ In order for the translation to be used in {pve}, you must first translate the `.po` file into a `.js` file. You can do this by invoking the following script, which is located in the same repository: # ./po2js.pl -t pve xx.po >pve-lang-xx.js The resulting file `pve-lang-xx.js` can then be copied to the directory `/usr/share/pve-i18n`, on your proxmox server, in order to test it out. Alternatively, you can build a deb package by running the following command from the root of the repository: # make deb IMPORTANT: For either of these methods to work, you need to have the following perl packages installed on your system. For Debian/Ubuntu: # apt-get install perl liblocale-po-perl libjson-perl Sending the Translation ~~~~~~~~~~~~~~~~~~~~~~~ You can send the finished translation (`.po` file) to the Proxmox team at the address office(at)proxmox.com, along with a signed contributor license agreement. Alternatively, if you have some developer experience, you can send it as a patch to the {pve} development mailing list. See {webwiki-url}Developer_Documentation[Developer Documentation].