Translating Mizu
Every word Mizu shows comes from a language file. English is built in; every other language is one plain text file that anyone can write.
Adding a language
- Take
lang/en.txtand save it as<code>.txt, where the code is the two-letter ISO 639-1 code of your language:pl.txtfor Polish,de.txtfor German. - Change the header:
name = Polski # the language in its own words, for the picker english_name = Polish timezone = 60 # minutes east of UTC; Setup suggests this zone - Translate the text after each
=. Keep every key as it is. - Run
tools/mklang.py. It lists, for every file, how much is done, keys it does not know, and placeholders that went wrong. - Send the file as a pull request or a patch.
To try it before that, put the file into Z:\MIZU\LANG\ with an upper-case name
(PL.TXT) and choose the language in Control Panel.
Rules
- The file is UTF-8. Mizu draws European Latin, Greek and Cyrillic; right-to-left scripts and Chinese, Japanese and Korean are not supported yet.
\nstarts a new line;\\is one backslash. Lines starting with#are comments.- Keep every
%dand%s, in the same order. A phrase whose placeholders differ from the English is shown in English rather than shown wrong. - A phrase you leave out, or leave empty, is shown in English, so a half-done file already works.
weekday_0toweekday_6are two-letter day names from Sunday;day_name_0today_name_6the whole ones.month_1tomonth_12are months as they stand in a date ("3 March"; in Czech and Russian the genitive), andmonth_name_1tomonth_name_12as they stand alone ("March 2026").
After an update
New phrases appear in en.txt when tools/mklang.py is run.
tools/mklang.py --fill adds the ones your file lacks to its end, as commented English
lines, ready to translate.
Keyboard layouts
Layouts live in the kernel (kernel/layout.c). If your language needs one Mizu does not
have, open an issue with a picture or a description of the keyboard. When its code matches the
language code, it becomes the second layout after English for anyone who installs Mizu in that
language, as Czech QWERTZ does.