Localization
86+ language translations
CineWindows ships with translations for 86 languages covering the majority of the world’s spoken languages. The interface language can be changed at any time from Preferences > General > Language and takes effect after restarting the application.
Translation Architecture
CineWindows uses the Qt Linguist framework for all user-facing text. This is the standard Qt i18n system, integrated via CMake’s qt_add_translations().
| Component | Function |
|---|---|
| QML | qsTr("string") for inline translatable strings |
| C++ | tr("string") or QCoreApplication::translate() in backend code |
| Context | Translation context derived from the file or class name |
All .ts files are stored in the i18n/ directory at the project root.
- i18n/
- CineWindows_en.ts
- CineWindows_hi.ts
- CineWindows_fr.ts
- CineWindows_de.ts
- CineWindows_es.ts
- CineWindows_ja.ts
- CineWindows_zh_CN.ts
- CineWindows_zh_TW.ts
- CineWindows_ar.ts
- CineWindows_ru.ts
- CineWindows_pt.ts
- … (86 total files)
- README.md
Qt Linguist Workflow
The translation pipeline follows the standard Qt Linguist process:
1. Source Strings
Translatable strings are marked in QML source files with qsTr():
Button {
text: qsTr("Play")
}
In C++ source, tr() is used:
setStatusMessage(tr("Could not start device discovery"));
2. Update Translations (lupdate)
Run the update script to extract all source strings and merge them into the .ts files:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\generate\update_translations.ps1
This runs lupdate over the QML and C++ sources, updating every language’s .ts file with new, obsolete, and unchanged strings.
3. Translate
Open any .ts file in Qt Linguist to provide translations. Each string shows:
- Source text in English
- Context (file and class name)
- Translator comments (if provided in source)
- Status (untranslated / finished / obsolete)
4. Compile Translations (lrelease)
Compile .ts files into binary .qm resources:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\generate\update_translations.ps1 -ReleaseOnly
This runs lrelease, producing .qm files that are embedded into the CineWindows binary via Qt’s resource system.
Changing the Language
Navigate to Preferences > General > Language and select your preferred language from the dropdown. The change requires an application restart to take full effect — CineWindows will prompt you to restart.
Supported Locales
Germanic Languages
| Code | Language |
|---|---|
en |
English |
de |
German |
nl |
Dutch |
sv |
Swedish |
da |
Danish |
nb |
Norwegian Bokmål |
nn |
Norwegian Nynorsk |
is |
Icelandic |
af |
Afrikaans |
Romance Languages
| Code | Language |
|---|---|
fr |
French |
es |
Spanish |
pt |
Portuguese |
it |
Italian |
ro |
Romanian |
ca |
Catalan |
gl |
Galician |
Slavic Languages
| Code | Language |
|---|---|
ru |
Russian |
uk |
Ukrainian |
be |
Belarusian |
pl |
Polish |
cs |
Czech |
sk |
Slovak |
bg |
Bulgarian |
sr |
Serbian |
hr |
Croatian |
sl |
Slovenian |
mk |
Macedonian |
bs |
Bosnian |
Indo-Aryan Languages
| Code | Language |
|---|---|
hi |
Hindi |
bn |
Bengali |
mr |
Marathi |
gu |
Gujarati |
pa |
Punjabi |
ur |
Urdu |
ne |
Nepali |
si |
Sinhala |
ps |
Pashto |
Sino-Tibetan & East Asian Languages
| Code | Language |
|---|---|
zh_CN |
Chinese (Simplified) |
zh_TW |
Chinese (Traditional) |
ja |
Japanese |
ko |
Korean |
my |
Burmese |
Austronesian & Southeast Asian Languages
| Code | Language |
|---|---|
id |
Indonesian |
ms |
Malay |
tl |
Tagalog |
fil |
Filipino |
vi |
Vietnamese |
th |
Thai |
km |
Khmer |
mn |
Mongolian |
Dravidian Languages
| Code | Language |
|---|---|
te |
Telugu |
ta |
Tamil |
kn |
Kannada |
ml |
Malayalam |
Turkic & Central Asian Languages
| Code | Language |
|---|---|
tr |
Turkish |
az |
Azerbaijani |
uz |
Uzbek |
kk |
Kazakh |
ky |
Kyrgyz |
tk |
Turkmen |
ug |
Uyghur |
Semitic & Afroasiatic Languages
| Code | Language |
|---|---|
ar |
Arabic |
he |
Hebrew |
mt |
Maltese |
am |
Amharic (if present) |
Other Languages
| Code | Language |
|---|---|
fi |
Finnish |
et |
Estonian |
hu |
Hungarian |
el |
Greek |
hy |
Armenian |
ka |
Georgian |
eu |
Basque |
cy |
Welsh |
ga |
Irish |
gd |
Scottish Gaelic |
yi |
Yiddish |
wa |
Walloon |
sq |
Albanian |
lv |
Latvian |
lt |
Lithuanian |
mi |
Maori |
xh |
Xhosa |
zu |
Zulu |
sw |
Swahili |
ast |
Asturian |
tg |
Tajik |
te |
Telugu |