added some more remaining translations

This commit is contained in:
Gamosoft 2025-12-16 11:27:54 +01:00
parent 2bbcbe21f0
commit 0957dfc6a4
7 changed files with 71 additions and 47 deletions

View File

@ -180,7 +180,7 @@ NoteDiscovery supports multiple languages through JSON locale files. Adding a ne
- **Be consistent** - Use the same terminology throughout
- **Match the tone** - NoteDiscovery uses friendly, concise language
- **Preserve formatting** - Keep `\n` for newlines in multi-line strings
- **Handle plurals simply** - We use `{{count}}` placeholders (e.g., "hace {{count}}m")
- **Handle plurals simply** - It uses `{{count}}` placeholders (e.g., "hace {{count}}m")
- **Test date formats** - Dates are formatted using the browser's `Intl` API with your locale code
### What Gets Translated
@ -198,26 +198,6 @@ NoteDiscovery supports multiple languages through JSON locale files. Adding a ne
- Keyboard shortcuts in tooltips: "Ctrl+Z", "Esc"
- File extensions: ".md", ".json"
### Locale File Structure
Translations are grouped by functionality:
```
common.* - Generic buttons (Save, Cancel, Delete)
sidebar.* - Sidebar panel labels and hints
editor.* - Editor placeholder, mode buttons, time strings
notes.* - Note-related prompts and errors
folders.* - Folder-related prompts and errors
toolbar.* - Toolbar button tooltips
zen_mode.* - Zen mode labels
tags.* - Tags panel
graph.* - Graph view labels
templates.* - Template modal
images.* - Image upload messages
search.* - Search navigation
settings.* - Settings panel labels (Theme, Language)
```
## 📚 Contributing Documentation
Documentation improvements are always welcome! Please:

View File

@ -1,5 +1,4 @@
# NoteDiscovery Configuration
# Easy to rebrand: just change these values!
app:
name: "NoteDiscovery"

View File

@ -1634,20 +1634,20 @@
></div>
</div>
</label>
<p class="text-xs mt-1" style="color: var(--text-tertiary);">Colorize markdown syntax in editor</p>
<p class="text-xs mt-1" style="color: var(--text-tertiary);" x-text="t('syntax_highlight.description')"></p>
</div>
<!-- Logout (if auth enabled) - uses authEnabled from main app state -->
<div x-show="authEnabled" class="mb-4">
<label class="block text-xs font-medium mb-2" style="color: var(--text-secondary);">Account</label>
<label class="block text-xs font-medium mb-2" style="color: var(--text-secondary);" x-text="t('settings.account')"></label>
<a
href="/logout"
class="flex items-center justify-center gap-2 px-3 py-2 text-sm rounded transition-colors"
style="background-color: var(--bg-primary); color: var(--text-primary); border: 1px solid var(--border-primary);"
onmouseover="this.style.backgroundColor='var(--bg-hover)'"
onmouseout="this.style.backgroundColor='var(--bg-primary)'"
x-text="'🔒 ' + t('settings.logout')"
>
🔒 Logout
</a>
</div>
</div>
@ -1655,7 +1655,7 @@
<!-- Footer Info (inside scroll area) -->
<div class="p-3 mt-4 border-t text-center" style="border-color: var(--border-primary);">
<div class="text-xs" style="color: var(--text-tertiary);">
<span x-text="notes.length"></span> notes
<span x-text="notes.length"></span> <span x-text="notes.length === 1 ? t('homepage.note_singular') : t('homepage.note_plural')"></span>
<span class="mx-1">·</span>
<span x-text="'v' + appVersion"></span>
</div>
@ -1744,8 +1744,8 @@
<svg class="mx-auto h-24 w-24 mb-4" style="color: var(--text-tertiary); opacity: 0.5;" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
</svg>
<h2 class="text-2xl font-bold mb-2" style="color: var(--text-primary);">No notes yet</h2>
<p class="mb-6" style="color: var(--text-secondary);">Create your first note or folder</p>
<h2 class="text-2xl font-bold mb-2" style="color: var(--text-primary);" x-text="t('homepage.no_notes_title')"></h2>
<p class="mb-6" style="color: var(--text-secondary);" x-text="t('homepage.no_notes_desc')"></p>
<button
@click="dropdownTargetFolder = selectedHomepageFolder; toggleNewDropdown($event)"
class="px-6 py-3 text-sm font-medium text-white rounded-lg transition-colors"
@ -2509,19 +2509,18 @@
style="background-color: var(--bg-secondary); color: var(--text-primary);"
@click.stop>
<h2 class="text-xl font-bold mb-4" style="color: var(--text-primary);">Create from Template</h2>
<h2 class="text-xl font-bold mb-4" style="color: var(--text-primary);" x-text="t('templates.create_from_template')"></h2>
<!-- Template Selection -->
<div class="mb-4">
<label class="block text-sm font-medium mb-2" style="color: var(--text-secondary);">
Select Template
<label class="block text-sm font-medium mb-2" style="color: var(--text-secondary);" x-text="t('templates.select_template')">
</label>
<select
x-model="selectedTemplate"
class="w-full px-3 py-2 rounded border"
style="background-color: var(--bg-tertiary); color: var(--text-primary); border-color: var(--border-primary);"
>
<option value="">-- Choose a template --</option>
<option value="" x-text="'-- ' + t('templates.choose_template') + ' --'"></option>
<template x-for="template in availableTemplates" :key="template.name">
<option :value="template.name" x-text="template.name"></option>
</template>
@ -2530,8 +2529,7 @@
<!-- Note Name Input -->
<div class="mb-4">
<label class="block text-sm font-medium mb-2" style="color: var(--text-secondary);">
Note Name
<label class="block text-sm font-medium mb-2" style="color: var(--text-secondary);" x-text="t('templates.note_name')">
</label>
<input
x-model="newTemplateNoteName"
@ -2545,7 +2543,7 @@
<!-- Info about placeholders -->
<div class="mb-4 text-xs p-3 rounded" style="background-color: var(--bg-tertiary); color: var(--text-secondary);">
<strong>Available placeholders:</strong><br>
<strong x-text="t('templates.available_placeholders') + ':'"></strong><br>
<code style="font-family: monospace;">{{date}}</code>,
<code style="font-family: monospace;">{{time}}</code>,
<code style="font-family: monospace;">{{datetime}}</code>,
@ -2554,8 +2552,7 @@
</div>
<!-- Empty state when no templates available -->
<div x-show="availableTemplates.length === 0" class="mb-4 text-sm p-3 rounded" style="background-color: var(--bg-tertiary); color: var(--text-secondary);">
No templates found. Create templates in the <code style="font-family: monospace;">_templates</code> folder.
<div x-show="availableTemplates.length === 0" class="mb-4 text-sm p-3 rounded" style="background-color: var(--bg-tertiary); color: var(--text-secondary);" x-text="t('templates.no_templates')">
</div>
<!-- Actions -->
@ -2568,8 +2565,8 @@
:style="(!selectedTemplate || !newTemplateNoteName.trim() || availableTemplates.length === 0) ? 'opacity: 0.5; cursor: not-allowed;' : ''"
onmouseover="if(!this.disabled) this.style.backgroundColor='var(--accent-hover)'"
onmouseout="if(!this.disabled) this.style.backgroundColor='var(--accent-primary)'"
x-text="t('templates.create_note')"
>
Create Note
</button>
<button
@click="showTemplateModal = false; selectedTemplate = ''; newTemplateNoteName = ''"
@ -2577,8 +2574,8 @@
style="background-color: var(--bg-tertiary); color: var(--text-primary);"
onmouseover="this.style.backgroundColor='var(--bg-hover)'"
onmouseout="this.style.backgroundColor='var(--bg-tertiary)'"
x-text="t('common.cancel')"
>
Cancel
</button>
</div>
</div>

View File

@ -139,8 +139,14 @@
"title": "Vorlagen",
"select": "Vorlage auswählen...",
"prompt_name": "Notizname eingeben:",
"no_templates": "Keine Vorlagen verfügbar",
"create_failed": "Erstellung der Notiz aus Vorlage fehlgeschlagen"
"no_templates": "Keine Vorlagen gefunden. Erstelle Vorlagen im _templates Ordner.",
"create_failed": "Erstellung der Notiz aus Vorlage fehlgeschlagen",
"create_from_template": "Aus Vorlage erstellen",
"select_template": "Vorlage auswählen",
"choose_template": "Vorlage wählen",
"note_name": "Notizname",
"available_placeholders": "Verfügbare Platzhalter",
"create_note": "Notiz erstellen"
},
"export": {
@ -184,10 +190,16 @@
"syntax_highlight": {
"title": "Editor-Syntaxhervorhebung",
"description": "Markdown-Syntax im Editor einfärben",
"enable": "Syntaxhervorhebung aktivieren",
"disable": "Syntaxhervorhebung deaktivieren"
},
"settings": {
"account": "Konto",
"logout": "Abmelden"
},
"homepage": {
"title": "Startseite",
"welcome": "Willkommen bei NoteDiscovery",

View File

@ -139,8 +139,14 @@
"title": "Templates",
"select": "Select a template...",
"prompt_name": "Enter note name:",
"no_templates": "No templates available",
"create_failed": "Failed to create note from template"
"no_templates": "No templates found. Create templates in the _templates folder.",
"create_failed": "Failed to create note from template",
"create_from_template": "Create from Template",
"select_template": "Select Template",
"choose_template": "Choose a template",
"note_name": "Note Name",
"available_placeholders": "Available placeholders",
"create_note": "Create Note"
},
"export": {
@ -184,10 +190,16 @@
"syntax_highlight": {
"title": "Editor Syntax Highlight",
"description": "Colorize markdown syntax in editor",
"enable": "Enable syntax highlighting",
"disable": "Disable syntax highlighting"
},
"settings": {
"account": "Account",
"logout": "Logout"
},
"homepage": {
"title": "Home",
"welcome": "Welcome to NoteDiscovery",

View File

@ -139,8 +139,14 @@
"title": "Plantillas",
"select": "Selecciona una plantilla...",
"prompt_name": "Introduce el nombre de la nota:",
"no_templates": "No hay plantillas disponibles",
"create_failed": "Error al crear nota desde plantilla"
"no_templates": "No se encontraron plantillas. Crea plantillas en la carpeta _templates.",
"create_failed": "Error al crear nota desde plantilla",
"create_from_template": "Crear desde Plantilla",
"select_template": "Seleccionar Plantilla",
"choose_template": "Elige una plantilla",
"note_name": "Nombre de la Nota",
"available_placeholders": "Marcadores disponibles",
"create_note": "Crear Nota"
},
"export": {
@ -184,10 +190,16 @@
"syntax_highlight": {
"title": "Resaltado de Sintaxis del Editor",
"description": "Colorear sintaxis markdown en el editor",
"enable": "Activar resaltado de sintaxis",
"disable": "Desactivar resaltado de sintaxis"
},
"settings": {
"account": "Cuenta",
"logout": "Cerrar sesión"
},
"homepage": {
"title": "Inicio",
"welcome": "Bienvenido a NoteDiscovery",

View File

@ -139,8 +139,14 @@
"title": "Modèles",
"select": "Sélectionner un modèle...",
"prompt_name": "Entrez le nom de la note :",
"no_templates": "Aucun modèle disponible",
"create_failed": "Échec de la création de la note depuis le modèle"
"no_templates": "Aucun modèle trouvé. Créez des modèles dans le dossier _templates.",
"create_failed": "Échec de la création de la note depuis le modèle",
"create_from_template": "Créer depuis un Modèle",
"select_template": "Sélectionner un Modèle",
"choose_template": "Choisir un modèle",
"note_name": "Nom de la Note",
"available_placeholders": "Variables disponibles",
"create_note": "Créer la Note"
},
"export": {
@ -184,10 +190,16 @@
"syntax_highlight": {
"title": "Coloration Syntaxique de l'Éditeur",
"description": "Coloriser la syntaxe markdown dans l'éditeur",
"enable": "Activer la coloration syntaxique",
"disable": "Désactiver la coloration syntaxique"
},
"settings": {
"account": "Compte",
"logout": "Déconnexion"
},
"homepage": {
"title": "Accueil",
"welcome": "Bienvenue sur NoteDiscovery",