This document describes the current translation status for Fulguris Web Browser.
L10N Tools: The localization tools are maintained in a separate repository as a Git submodule at subs/l10n.
📖 For complete tool documentation, translation workflows, prerequisites, and detailed instructions, see subs/l10n/docs/android/L10N.md
All L10N commands use tools from the subs/l10n/android/ directory:
# Check translation status
python subs\l10n\android\strings.py --check th-rTH
# Get a string in one language
python subs\l10n\android\strings.py --get th-rTH app_name
# Get a string across ALL languages (with language names)
python subs\l10n\android\strings.py --get all app_name
# or
python subs\l10n\android\strings.py --get-all app_name
# Translate ONE string across MULTIPLE languages
python subs\l10n\android\strings.py --set app_name de-rDE 'Fulguris' fr-rFR 'Fulguris' es-rES 'Fulguris'
# Translate MULTIPLE strings in ONE language (efficient bulk translation)
python subs\l10n\android\strings.py --set-batch th-rTH string1 'คำแปล1' string2 'คำแปล2' string3 'คำแปล3'
# Compile changelogs
python subs\l10n\android\changelogs.py 254
# For detailed help
python subs\l10n\android\strings.py --help
python subs\l10n\android\changelogs.py --help| Flag | Language | Resource Code | Google Play Code | Translated | Issues | Completion | Status | Notes |
|---|---|---|---|---|---|---|---|---|
| 🇺🇸 | English (Engineering) | source | en-US | 599 | - | 100% | ✅ | Source strings |
| 🇺🇸 | English (US) | en-rUS | en-US | 599 | 0 | 100% | ✅ | Complete |
| 🇬🇧 | English (UK) | en-rGB | en-GB | 599 | 0 | 100% | ✅ | Complete |
| 🇿🇦 | Afrikaans | af-rZA | ❌ Not supported | 599 | 0 | 100% | ✅ | Complete |
| 🇸🇦 | Arabic | ar-rSA | ar | 599 | 0 | 100% | ✅ | Complete |
| 🇧🇦 | Bosnian | bs-rBA | ❌ Not supported | 599 | 0 | 100% | ✅ | Complete |
| 🇪🇸 | Catalan | ca-rES | ❌ Not supported | 599 | 0 | 100% | ✅ | Complete |
| 🇨🇳 | Chinese (CN) | zh-rCN | zh-CN | 599 | 0 | 100% | ✅ | Complete |
| 🇹🇼 | Chinese (TW) | zh-rTW | zh-TW | 599 | 0 | 100% | ✅ | Complete |
| 🇭🇷 | Croatian | hr-rHR | hr | 599 | 0 | 100% | ✅ | Complete |
| 🇨🇿 | Czech | cs-rCZ | cs-CZ | 599 | 0 | 100% | ✅ | Complete |
| 🇩🇰 | Danish | da-rDK | da-DK | 599 | 0 | 100% | ✅ | Complete |
| 🇳🇱 | Dutch | nl-rNL | nl-NL | 599 | 0 | 100% | ✅ | Complete |
| 🇫🇮 | Finnish | fi-rFI | fi-FI | 599 | 0 | 100% | ✅ | Complete |
| 🇫🇷 | French | fr-rFR | fr-FR | 599 | 0 | 100% | ✅ | Complete |
| 🇩🇪 | German | de-rDE | de-DE | 599 | 0 | 100% | ✅ | Complete |
| 🇬🇷 | Greek | el-rGR | el-GR | 599 | 0 | 100% | ✅ | Complete |
| 🇮🇱 | Hebrew | iw-rIL | ❌ Not supported | 599 | 0 | 100% | ✅ | Complete |
| 🇮🇳 | Hindi | hi-rIN | hi-IN | 599 | 0 | 100% | ✅ | Complete |
| 🇭🇺 | Hungarian | hu-rHU | hu-HU | 599 | 0 | 100% | ✅ | Complete |
| 🇮🇩 | Indonesian | in-rID | id | 599 | 0 | 100% | ✅ | Complete |
| 🇮🇹 | Italian | it-rIT | it-IT | 599 | 0 | 100% | ✅ | Complete |
| 🇯🇵 | Japanese | ja-rJP | ja-JP | 599 | 0 | 100% | ✅ | Complete |
| 🇰🇷 | Korean | ko-rKR | ko-KR | 599 | 0 | 100% | ✅ | Complete |
| 🇱🇹 | Lithuanian | lt-rLT | lt | 599 | 0 | 100% | ✅ | Complete |
| 🇲🇪 | Montenegro | me-rME | ❌ Not supported | 599 | 0 | 100% | ✅ | Complete |
| 🇳🇴 | Norwegian | no-rNO | no-NO | 599 | 0 | 100% | ✅ | Complete |
| 🇵🇱 | Polish | pl-rPL | pl-PL | 599 | 0 | 100% | ✅ | Complete |
| 🇧🇷 | Portuguese (BR) | pt-rBR | pt-BR | 599 | 0 | 100% | ✅ | Complete |
| 🇵🇹 | Portuguese (PT) | pt-rPT | pt-PT | 599 | 0 | 100% | ✅ | Complete |
| 🇷🇴 | Romanian | ro-rRO | ro | 599 | 0 | 100% | ✅ | Complete |
| 🇷🇺 | Russian | ru-rRU | ru-RU | 599 | 0 | 100% | ✅ | Complete |
| 🇮🇳 | Santali | sat-rIN | ❌ Not supported | 599 | 0 | 100% | ✅ | Complete |
| 🇷🇸 | Serbian (Cyrillic) | sr-rCS | sr | 599 | 0 | 100% | ✅ | Complete |
| 🇷🇸 | Serbian (Latin) | sr-rSP | sr | 599 | 0 | 100% | ✅ | Complete |
| 🇪🇸 | Spanish | es-rES | es-ES | 599 | 0 | 100% | ✅ | Complete |
| 🇸🇪 | Swedish | sv-rSE | sv-SE | 599 | 0 | 100% | ✅ | Complete |
| 🇹🇭 | Thai | th-rTH | th | 599 | 0 | 100% | ✅ | Complete |
| 🇹🇷 | Turkish | tr-rTR | tr-TR | 599 | 0 | 100% | ✅ | Complete |
| 🇺🇦 | Ukrainian | uk-rUA | uk | 599 | 0 | 100% | ✅ | Complete |
| 🇻🇳 | Vietnamese | vi-rVN | vi | 599 | 0 | 100% | ✅ | Complete |
Last Updated: December 5, 2025
- ✅ Complete (95-100%) - Production ready
- 🟡 High Quality (85-94%) - Minor work needed
- 🟠 Needs Work (15-84%) - Significant translation required
- 🔴 Minimal (0-14%) - Almost complete retranslation needed
Total Languages: 40 Languages at 100%: 40 (100%) Total Strings: 599 (source) + 3 plurals
- Resource Code: Android resource directory format (e.g.,
ar-rSA,zh-rCN) used inapp/src/main/res/values-*/ - Google Play Code: Language code used by Google Play Console for store listings (see Google Play supported languages)
- Google Play uses mixed formats:
- 2-letter ISO codes:
ar,hr,id,lt,ro,sr,th,uk,vi - Full locale codes:
cs-CZ,da-DK,de-DE,el-GR,en-US,es-ES,fi-FI,fr-FR,hu-HU,it-IT,ja-JP,ko-KR,nl-NL,no-NO,pl-PL,pt-BR,pt-PT,ru-RU,sv-SE,tr-TR,zh-CN,zh-TW
- 2-letter ISO codes:
- Languages marked as "❌ Not supported" are available in the app but cannot have separate Play Store listings
- Serbian has two writing systems (Cyrillic/Latin) but only one Google Play listing (
sr)
Fulguris maintains 33 Google Play language listings with store metadata:
- Languages: en-US, en-GB, ar, cs-CZ, da-DK, de-DE, el-GR, es-ES, fi-FI, fr-FR, hi-IN, hr, hu-HU, id, it-IT, ja-JP, ko-KR, lt, nl-NL, no-NO, pl-PL, pt-BR, pt-PT, ro, ru-RU, sr, sv-SE, th, tr-TR, uk, vi, zh-CN, zh-TW
- Directory:
fastlane/metadata/android/{language}/ - Files:
title.txt,short_description.txt,full_description.txt,changelogs/{version}.txt
python subs\l10n\android\strings.py --check <lang-code># ONE string across MULTIPLE languages (use when translating same string)
python subs\l10n\android\strings.py --set app_name de-rDE 'Fulguris' fr-rFR 'Fulguris' es-rES 'Fulguris'
# MULTIPLE strings in ONE language (use for bulk translation of single language)
python subs\l10n\android\strings.py --set-batch th-rTH string1 'คำแปล1' string2 'คำแปล2' string3 'คำแปล3'python subs\l10n\android\changelogs.py 254For complete documentation including:
- Prerequisites (UTF-8 terminal setup)
- Translation workflows
- Android XML escaping rules
- PowerShell syntax and quoting
- Placeholder validation
- Plural forms handling
- Quality checks
- Best practices
- Technical details
- Troubleshooting