localizations, dark mode touchups

This commit is contained in:
stopflock
2025-08-31 11:16:20 -05:00
parent 8381388ffa
commit fa6b6ffcda
17 changed files with 598 additions and 191 deletions
+49
View File
@@ -0,0 +1,49 @@
# DeFlock Localizations
This directory contains translation files for DeFlock. Each language is a simple JSON file.
## Adding a New Language
Want to add support for your language? It's simple:
1. **Copy the English file**: `cp en.json your_language_code.json`
- Use 2-letter language codes: `es` (Spanish), `fr` (French), `it` (Italian), etc.
2. **Edit your new file**:
```json
{
"language": {
"name": "Your Language Name" ← Change this to your language in your language
},
"app": {
"title": "DeFlock" ← Keep this as-is
},
"actions": {
"tagNode": "Your Translation Here",
"download": "Your Translation Here",
...
}
}
```
3. **Submit a PR** with just that one file. Done!
The new language will automatically appear in Settings → Language.
## Translation Rules
- **Only translate the values** (text after the `:`), never the keys
- **Keep `{}` placeholders** if you see them - they get replaced with numbers/text
- **Don't translate "DeFlock"** - it's the app name
- **Use your language's name for itself** - "Français" not "French", "Español" not "Spanish"
## Current Languages
- `en.json` - English
- `es.json` - Español
- `fr.json` - Français
- `de.json` - Deutsch
## That's It!
No configuration files, no build steps, no complex setup. Just add your JSON file and it works.
+33
View File
@@ -0,0 +1,33 @@
{
"language": {
"name": "Deutsch"
},
"app": {
"title": "DeFlock"
},
"actions": {
"tagNode": "Knoten Markieren",
"download": "Herunterladen",
"settings": "Einstellungen",
"edit": "Bearbeiten",
"cancel": "Abbrechen",
"ok": "OK",
"close": "Schließen"
},
"followMe": {
"off": "Verfolgung aktivieren (Norden oben)",
"northUp": "Verfolgung aktivieren (Rotation)",
"rotating": "Verfolgung deaktivieren"
},
"settings": {
"title": "Einstellungen",
"language": "Sprache",
"systemDefault": "Systemstandard",
"aboutInfo": "Über / Informationen",
"aboutThisApp": "Über Diese App"
},
"node": {
"title": "Knoten #{}",
"tagSheetTitle": "Gerät-Tags"
}
}
+33
View File
@@ -0,0 +1,33 @@
{
"language": {
"name": "English"
},
"app": {
"title": "DeFlock"
},
"actions": {
"tagNode": "Tag Node",
"download": "Download",
"settings": "Settings",
"edit": "Edit",
"cancel": "Cancel",
"ok": "OK",
"close": "Close"
},
"followMe": {
"off": "Enable follow-me (north up)",
"northUp": "Enable follow-me (rotating)",
"rotating": "Disable follow-me"
},
"settings": {
"title": "Settings",
"language": "Language",
"systemDefault": "System Default",
"aboutInfo": "About / Info",
"aboutThisApp": "About This App"
},
"node": {
"title": "Node #{}",
"tagSheetTitle": "Surveillance Device Tags"
}
}
+33
View File
@@ -0,0 +1,33 @@
{
"language": {
"name": "Español"
},
"app": {
"title": "DeFlock"
},
"actions": {
"tagNode": "Etiquetar Nodo",
"download": "Descargar",
"settings": "Configuración",
"edit": "Editar",
"cancel": "Cancelar",
"ok": "Aceptar",
"close": "Cerrar"
},
"followMe": {
"off": "Activar seguimiento (norte arriba)",
"northUp": "Activar seguimiento (rotación)",
"rotating": "Desactivar seguimiento"
},
"settings": {
"title": "Configuración",
"language": "Idioma",
"systemDefault": "Sistema por Defecto",
"aboutInfo": "Acerca de / Información",
"aboutThisApp": "Acerca de Esta App"
},
"node": {
"title": "Nodo #{}",
"tagSheetTitle": "Etiquetas del Dispositivo"
}
}
+33
View File
@@ -0,0 +1,33 @@
{
"language": {
"name": "Français"
},
"app": {
"title": "DeFlock"
},
"actions": {
"tagNode": "Marquer Nœud",
"download": "Télécharger",
"settings": "Paramètres",
"edit": "Modifier",
"cancel": "Annuler",
"ok": "OK",
"close": "Fermer"
},
"followMe": {
"off": "Activer le suivi (nord en haut)",
"northUp": "Activer le suivi (rotation)",
"rotating": "Désactiver le suivi"
},
"settings": {
"title": "Paramètres",
"language": "Langue",
"systemDefault": "Par Défaut du Système",
"aboutInfo": "À Propos / Informations",
"aboutThisApp": "À Propos de Cette App"
},
"node": {
"title": "Nœud #{}",
"tagSheetTitle": "Balises du Dispositif"
}
}