Translations
Contribute translations to make FileBrowser accessible in more languages.
Looking for how to update FileBrowser documentation translations? See Application Translations
Translation Files
Language files are located at frontend/src/i18n/. The master file is en.json - all other languages derive from this.
Setup
- Create free account at DeepL
- Get API token from account dashboard
- Set environment variable:
export DEEPL_API_KEY="your-api-key-here" - Run:
make sync-translations
How to update translations
Finding keys: Search existing text in language files or check corresponding *.vue files in frontend/src/.
Improve Existing Translations for a specific language
- Navigate to the language file (e.g.,
es.jsonfor Spanish) - Find and update the translation key
- Submit a pull request
Delete a translation
- Delete the key from the
en.jsonfile - Run
make sync-translationsto remove from all other files.
Completely change a translation (for all languages)
- First, delete the translation as mentioned above.
- Add the completely new text back to
en.json - Run
make sync-translationsto re-populate all languages - Adjust any specific languages afterwards manually.
Add New Translation Fields
- Add field to
en.json(master file) - Set up DeepL API (free account)
- Run auto-translation:
make sync-translations - Review and adjust generated translations
Best Practices
Consolidate Translation Keys
If keys are simple words, consider adding them to general instead so they can be more generally used across the application.
Write Lint-Friendly Code
The linter automatically checks that all translation keys exist, but can only verify keys that do not use computed logic.
✅ Do this
Choose Translation-Friendly Terms
Keep translations in mind when choosing words and terms. Select terminology that will translate well across different languages. For example, use “URL” or “hyperlink” instead of “link”.
Language File Structure
Supported Languages
supported languages are limited to those supported by DeepL:
- Arabic (
ar.json) - Czech (
cz.json) - German (
de.json) - Greek (
el.json) - English (
en.json) - master file - Spanish (
es.json) - French (
fr.json) - Hebrew (
he.json) - Hungarian (
hu.json) - Icelandic (
is.json) - Italian (
it.json) - Japanese (
ja.json) - Korean (
ko.json) - Dutch (Belgium) (
nl-be.json) - Polish (
pl.json) - Portuguese (Brazil) (
pt-br.json) - Portuguese (
pt.json) - Romanian (
ro.json) - Russian (
ru.json) - Slovak (
sk.json) - Swedish (
sv-se.json) - Turkish (
tr.json) - Ukrainian (
ua.json) - Chinese Simplified (
zh-cn.json) - Chinese Traditional (
zh-tw.json)