Skip to content

Languages

RustGIS's interface is available in 15 languages:

Language Code Language Code
English en Русский (Russian) ru
Deutsch (German) de Türkçe (Turkish) tr
Español (Spanish) es Azərbaycanca (Azerbaijani) az
Français (French) fr Bahasa Indonesia (Indonesian) id
Italiano (Italian) it Tiếng Việt (Vietnamese) vi
Nederlands (Dutch) nl 简体中文 (Chinese, Simplified) zh
Português (Portuguese) pt 日本語 (Japanese) ja
한국어 (Korean) ko

Choosing a language

By default RustGIS follows your system's language (your browser's on the web) and falls back to English. To choose one yourself, open View › Language. The choice is remembered (in prefs.json beside the app's settings on the desktop, in the browser on the web). For one run, set RUSTGIS_LANGUAGE:

RUSTGIS_LANGUAGE=de cargo run --release -p rustgis

Only the interface is translated. Your data, layer and field names, command ids and the command line stay as they are, so scripts work in every language.

Chinese, Japanese and Korean need a CJK font. The desktop app uses one you have installed (Noto Sans CJK, Microsoft YaHei, Yu Gothic, Malgun Gothic, PingFang, Hiragino or Apple SD Gothic Neo); the web app downloads Noto Sans from assets.rustgis.app the first time you pick one of these languages.

Translating

Each language is a catalog of English<TAB>Translation lines in crates/ui-egui/src/i18n/<code>.tsv. A missing entry shows in English, so translations can grow one line at a time, and corrections from native speakers are very welcome.

Every catalog uses the same keys. To translate a new string, add a line with the exact English text, a tab, and the translation. Keep {placeholders} such as {n} or {name} (they may move), keep the line break (\n) in two-line ribbon labels, and leave product, format and key names (RustGIS, GeoJSON, CSV, Ctrl…) in English. The i18n tests check every catalog's format and placeholders:

cargo test -p rustgis-ui-egui i18n

Languages written right to left (Arabic, Persian, Hebrew) or needing complex shaping (Hindi, Thai, Georgian) will follow once the UI toolkit supports them.