Repository navigation
Languages
Since 1.16.0. The console, the sign-in pages, emails and the web client are translated.
| Language | Code |
|---|---|
| English | en |
| Deutsch | de |
| Español | es |
| Français | fr |
| Italiano | it |
| Magyar | hu |
| Nederlands | nl |
| Polski | pl |
| Português (Brasil) | pt_BR |
| Русский | ru |
| 简体中文 | zh_CN |
Each user picks their own: My Account → Language, or the language menu in the top bar and on the sign-in page. The choice is saved on the account and follows the user to any browser.
Without a saved choice, the console follows the browser's language. When the
browser asks for a language the console does not have, it uses APP_LOCALE
(English unless you set it).
These stay in English in every language, so scripts and tools keep working: the admin API, CSV exports, the console log's stored entries, notifications sent through Apprise, and server logs.
Each translation uses the words the RustDesk client uses in that language, and the same form of address, so the console and the client read alike.
Hungarian and German were contributed by samu112 (#111). The others are new in 1.16.0 and have not been reviewed by native speakers yet. Corrections are welcome as an issue or a pull request.
The strings live in lang/<code>/*.php, one file per screen, with English in
lang/en/ as the source. To add a language:
- Copy
lang/en/tolang/<code>/and translate the values. Keep every:placeholderas it is. - Plural strings separate their forms with
|. Write as many forms as your language needs: one for Chinese, Japanese, Korean and Turkish, three for Russian, Polish, Czech and Slovak, two for most others. - Add the code and the language's own name to
User::LOCALESinapp/Models/User.php. - Run
php artisan lang:check. It reports missing or extra keys, changed placeholders and wrong plural form counts, and must print no problems.
CortenDesk is free and open source. Sponsor it on GitHub to help keep it going.