From 3260ccfd442d4da36dfd266d81d1cfc41529535a Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Thu, 16 Apr 2026 13:20:31 +0200 Subject: [PATCH 1/2] feat(i18n): fix missing translation and add MyDash key - Fix hardcoded aria-label in TileWidget.vue - Add missing MyDash key to both l10n files --- l10n/en.json | 1 + l10n/nl.json | 1 + src/components/TileWidget.vue | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/l10n/en.json b/l10n/en.json index 58f42b2d..11c4cda4 100644 --- a/l10n/en.json +++ b/l10n/en.json @@ -81,6 +81,7 @@ "Mail": "Mail", "Manage Dashboards": "Manage Dashboards", "Map": "Map", + "MyDash": "MyDash", "Megaphone": "Megaphone", "Missing tile ID": "Missing tile ID", "Monitoring": "Monitoring", diff --git a/l10n/nl.json b/l10n/nl.json index b2f96072..11209228 100644 --- a/l10n/nl.json +++ b/l10n/nl.json @@ -81,6 +81,7 @@ "Mail": "E-mail", "Manage Dashboards": "Dashboards beheren", "Map": "Kaart", + "MyDash": "MyDash", "Megaphone": "Megafoon", "Missing tile ID": "Tegel-ID ontbreekt", "Monitoring": "Monitoring", diff --git a/src/components/TileWidget.vue b/src/components/TileWidget.vue index 0b851e28..1920f179 100644 --- a/src/components/TileWidget.vue +++ b/src/components/TileWidget.vue @@ -15,7 +15,7 @@ From e9f290395c32edf8802e72e973d3404e247bb666 Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Thu, 16 Apr 2026 20:12:18 +0200 Subject: [PATCH 2/2] fix(i18n): convert title case to sentence case in translation keys All translation keys now use sentence case per ADR-007. Only first word capitalized, except proper nouns and acronyms. --- l10n/en.json | 280 ++++++++++++------------- l10n/nl.json | 280 ++++++++++++------------- src/components/WidgetPicker.vue | 6 +- src/components/admin/AdminSettings.vue | 4 +- 4 files changed, 285 insertions(+), 285 deletions(-) diff --git a/l10n/en.json b/l10n/en.json index 11c4cda4..2d3ce683 100644 --- a/l10n/en.json +++ b/l10n/en.json @@ -1,140 +1,140 @@ -{"translations": { - "Active": "Active", - "Add": "Add", - "Add only": "Add only", - "Add to dashboard": "Add to dashboard", - "Airplane": "Airplane", - "All users": "All users", - "Allow users to create custom dashboards": "Allow users to create custom dashboards", - "Allow users to have multiple dashboards": "Allow users to have multiple dashboards", - "Already added": "Already added", - "Are you sure you want to delete this dashboard?": "Are you sure you want to delete this dashboard?", - "Are you sure you want to delete this template?": "Are you sure you want to delete this template?", - "Audio": "Audio", - "Access denied": "Access denied", - "Background": "Background", - "Background Color": "Background Color", - "Bell": "Bell", - "Bike": "Bike", - "Building": "Building", - "Bus": "Bus", - "Cake": "Cake", - "Calendar": "Calendar", - "Camera": "Camera", - "Cancel": "Cancel", - "Car": "Car", - "Certificate": "Certificate", - "Checkmark": "Checkmark", - "Clock": "Clock", - "Close": "Close", - "Cogwheel": "Cogwheel", - "Color": "Color", - "Comment": "Comment", - "Configure dashboard permissions and defaults": "Configure dashboard permissions and defaults", - "Contacts": "Contacts", - "Create Dashboard": "Create Dashboard", - "Create Tile": "Create Tile", - "Create dashboard": "Create dashboard", - "Create dashboard templates that will be applied to users based on their groups.": "Create dashboard templates that will be applied to users based on their groups.", - "Create template": "Create template", - "Create your first dashboard to get started": "Create your first dashboard to get started", - "Custom title": "Custom title", - "Customize": "Customize", - "Customize widget": "Customize widget", - "Dashboard creation not allowed": "Dashboard creation not allowed", - "Dashboard name": "Dashboard name", - "Dashboard templates": "Dashboard templates", - "Dashboards": "Dashboards", - "Default": "Default", - "Default grid columns": "Default grid columns", - "Default permission level": "Default permission level", - "Default settings": "Default settings", - "Delete": "Delete", - "Delete dashboard": "Delete dashboard", - "Description": "Description", - "Document": "Document", - "Documentation": "Documentation", - "Download": "Download", - "Earth": "Earth", - "Edit": "Edit", - "Edit Tile": "Edit Tile", - "Edit dashboard": "Edit dashboard", - "Edit template": "Edit template", - "Edit tile": "Edit tile", - "Enter tile title": "Enter tile title", - "Euro": "Euro", - "Favorite": "Favorite", - "Files": "Files", - "Flower": "Flower", - "Folder": "Folder", - "Full customization": "Full customization", - "Group": "Group", - "Heart": "Heart", - "Home": "Home", - "House": "House", - "Icon": "Icon", - "Image": "Image", - "Integration": "Integration", - "Light Bulb": "Light Bulb", - "Lightning": "Lightning", - "Link": "Link", - "Mail": "Mail", - "Manage Dashboards": "Manage Dashboards", - "Map": "Map", - "MyDash": "MyDash", - "Megaphone": "Megaphone", - "Missing tile ID": "Missing tile ID", - "Monitoring": "Monitoring", - "Monument": "Monument", - "Multiple dashboards not allowed": "Multiple dashboards not allowed", - "My Dashboard": "My Dashboard", - "My Template": "My Template", - "MyDash Settings": "MyDash Settings", - "New Tile": "New Tile", - "No dashboard available": "No dashboard available", - "No dashboard yet": "No dashboard yet", - "No dashboards yet": "No dashboards yet", - "No templates yet": "No templates yet", - "No widgets found": "No widgets found", - "Not logged in": "Not logged in", - "Office": "Office", - "Optional description": "Optional description", - "Park": "Park", - "Parking": "Parking", - "Permission level": "Permission level", - "Person": "Person", - "Phone": "Phone", - "Picture": "Picture", - "Reset": "Reset", - "Save": "Save", - "Search": "Search", - "Search widgets...": "Search widgets...", - "Select dashboard": "Select dashboard", - "Select groups (leave empty for all users)": "Select groups (leave empty for all users)", - "Set as default template": "Set as default template", - "Setting as default app": "Setting as default app", - "Settings": "Settings", - "Share": "Share", - "Show title": "Show title", - "Star": "Star", - "Switch to this dashboard": "Switch to this dashboard", - "Tag": "Tag", - "Target groups": "Target groups", - "Template name": "Template name", - "Text Color": "Text Color", - "Title": "Title", - "To make MyDash the default app for users, go to Settings > Administration > Theming and select MyDash as the default app.": "To make MyDash the default app for users, go to Settings > Administration > Theming and select MyDash as the default app.", - "Tree": "Tree", - "URL": "URL", - "Upload": "Upload", - "User": "User", - "Video": "Video", - "View only": "View only", - "Wallet": "Wallet", - "Widget": "Widget", - "Widget not available": "Widget not available", - "Widget style": "Widget style", - "Widget title": "Widget title", - "Widgets": "Widgets", - "https://example.com or /apps/files": "https://example.com or /apps/files" -}} +{ + "translations": { + "Active": "Active", + "Add": "Add", + "Add only": "Add only", + "Add to dashboard": "Add to dashboard", + "Airplane": "Airplane", + "All users": "All users", + "Allow users to create custom dashboards": "Allow users to create custom dashboards", + "Allow users to have multiple dashboards": "Allow users to have multiple dashboards", + "Already added": "Already added", + "Are you sure you want to delete this dashboard?": "Are you sure you want to delete this dashboard?", + "Are you sure you want to delete this template?": "Are you sure you want to delete this template?", + "Audio": "Audio", + "Access denied": "Access denied", + "Background color": "Background color", + "Bell": "Bell", + "Bike": "Bike", + "Building": "Building", + "Bus": "Bus", + "Cake": "Cake", + "Calendar": "Calendar", + "Camera": "Camera", + "Cancel": "Cancel", + "Car": "Car", + "Certificate": "Certificate", + "Clock": "Clock", + "Configure dashboard permissions and defaults": "Configure dashboard permissions and defaults", + "Create dashboard": "Create dashboard", + "Create tile": "Create tile", + "Create dashboard templates that will be applied to users based on their groups.": "Create dashboard templates that will be applied to users based on their groups.", + "Create template": "Create template", + "Create your first dashboard to get started": "Create your first dashboard to get started", + "Custom title": "Custom title", + "Customize widget": "Customize widget", + "Dashboard creation not allowed": "Dashboard creation not allowed", + "Dashboard name": "Dashboard name", + "Dashboard templates": "Dashboard templates", + "Default grid columns": "Default grid columns", + "Default permission level": "Default permission level", + "Default settings": "Default settings", + "Delete dashboard": "Delete dashboard", + "Edit tile": "Edit tile", + "Edit dashboard": "Edit dashboard", + "Edit template": "Edit template", + "Enter tile title": "Enter tile title", + "Full customization": "Full customization", + "Light bulb": "Light bulb", + "Manage dashboards": "Manage dashboards", + "MyDash": "MyDash", + "Missing tile ID": "Missing tile ID", + "Multiple dashboards not allowed": "Multiple dashboards not allowed", + "My dashboard": "My dashboard", + "My template": "My template", + "MyDash settings": "MyDash settings", + "New tile": "New tile", + "No dashboard available": "No dashboard available", + "No dashboard yet": "No dashboard yet", + "No dashboards yet": "No dashboards yet", + "No templates yet": "No templates yet", + "No widgets found": "No widgets found", + "Not logged in": "Not logged in", + "Optional description": "Optional description", + "Permission level": "Permission level", + "Search widgets...": "Search widgets...", + "Select dashboard": "Select dashboard", + "Select groups (leave empty for all users)": "Select groups (leave empty for all users)", + "Set as default template": "Set as default template", + "Setting as default app": "Setting as default app", + "Show title": "Show title", + "Switch to this dashboard": "Switch to this dashboard", + "Target groups": "Target groups", + "Template name": "Template name", + "Text color": "Text color", + "To make MyDash the default app for users, go to Settings > Administration > Theming and select MyDash as the default app.": "To make MyDash the default app for users, go to Settings > Administration > Theming and select MyDash as the default app.", + "View only": "View only", + "Widget not available": "Widget not available", + "Widget style": "Widget style", + "Widget title": "Widget title", + "https://example.com or /apps/files": "https://example.com or /apps/files", + "Background": "Background", + "Checkmark": "Checkmark", + "Close": "Close", + "Cogwheel": "Cogwheel", + "Color": "Color", + "Comment": "Comment", + "Contacts": "Contacts", + "Customize": "Customize", + "Dashboards": "Dashboards", + "Default": "Default", + "Delete": "Delete", + "Description": "Description", + "Document": "Document", + "Documentation": "Documentation", + "Download": "Download", + "Earth": "Earth", + "Edit": "Edit", + "Euro": "Euro", + "Favorite": "Favorite", + "Files": "Files", + "Flower": "Flower", + "Folder": "Folder", + "Group": "Group", + "Heart": "Heart", + "Home": "Home", + "House": "House", + "Icon": "Icon", + "Image": "Image", + "Integration": "Integration", + "Lightning": "Lightning", + "Link": "Link", + "Mail": "Mail", + "Map": "Map", + "Megaphone": "Megaphone", + "Monitoring": "Monitoring", + "Monument": "Monument", + "Office": "Office", + "Park": "Park", + "Parking": "Parking", + "Person": "Person", + "Phone": "Phone", + "Picture": "Picture", + "Reset": "Reset", + "Save": "Save", + "Search": "Search", + "Settings": "Settings", + "Share": "Share", + "Star": "Star", + "Tag": "Tag", + "Title": "Title", + "Tree": "Tree", + "URL": "URL", + "Upload": "Upload", + "User": "User", + "Video": "Video", + "Wallet": "Wallet", + "Widget": "Widget", + "Widgets": "Widgets" + } +} \ No newline at end of file diff --git a/l10n/nl.json b/l10n/nl.json index 11209228..92405e07 100644 --- a/l10n/nl.json +++ b/l10n/nl.json @@ -1,140 +1,140 @@ -{"translations": { - "Active": "Actief", - "Add": "Toevoegen", - "Add only": "Alleen toevoegen", - "Add to dashboard": "Toevoegen aan dashboard", - "Airplane": "Vliegtuig", - "All users": "Alle gebruikers", - "Allow users to create custom dashboards": "Gebruikers toestaan aangepaste dashboards te maken", - "Allow users to have multiple dashboards": "Gebruikers toestaan meerdere dashboards te hebben", - "Already added": "Al toegevoegd", - "Are you sure you want to delete this dashboard?": "Weet je zeker dat je dit dashboard wilt verwijderen?", - "Are you sure you want to delete this template?": "Weet je zeker dat je dit sjabloon wilt verwijderen?", - "Audio": "Audio", - "Access denied": "Toegang geweigerd", - "Background": "Achtergrond", - "Background Color": "Achtergrondkleur", - "Bell": "Bel", - "Bike": "Fiets", - "Building": "Gebouw", - "Bus": "Bus", - "Cake": "Taart", - "Calendar": "Agenda", - "Camera": "Camera", - "Cancel": "Annuleren", - "Car": "Auto", - "Certificate": "Certificaat", - "Checkmark": "Vinkje", - "Clock": "Klok", - "Close": "Sluiten", - "Cogwheel": "Tandwiel", - "Color": "Kleur", - "Comment": "Opmerking", - "Configure dashboard permissions and defaults": "Dashboard-rechten en standaardinstellingen configureren", - "Contacts": "Contacten", - "Create Dashboard": "Dashboard aanmaken", - "Create Tile": "Tegel aanmaken", - "Create dashboard": "Dashboard aanmaken", - "Create dashboard templates that will be applied to users based on their groups.": "Maak dashboardsjablonen die op basis van groepslidmaatschap aan gebruikers worden toegewezen.", - "Create template": "Sjabloon aanmaken", - "Create your first dashboard to get started": "Maak je eerste dashboard aan om te beginnen", - "Custom title": "Aangepaste titel", - "Customize": "Aanpassen", - "Customize widget": "Widget aanpassen", - "Dashboard creation not allowed": "Dashboard aanmaken niet toegestaan", - "Dashboard name": "Dashboardnaam", - "Dashboard templates": "Dashboardsjablonen", - "Dashboards": "Dashboards", - "Default": "Standaard", - "Default grid columns": "Standaard rasterkolommen", - "Default permission level": "Standaard rechteniveau", - "Default settings": "Standaardinstellingen", - "Delete": "Verwijderen", - "Delete dashboard": "Dashboard verwijderen", - "Description": "Beschrijving", - "Document": "Document", - "Documentation": "Documentatie", - "Download": "Downloaden", - "Earth": "Aarde", - "Edit": "Bewerken", - "Edit Tile": "Tegel bewerken", - "Edit dashboard": "Dashboard bewerken", - "Edit template": "Sjabloon bewerken", - "Edit tile": "Tegel bewerken", - "Enter tile title": "Voer tegeltitel in", - "Euro": "Euro", - "Favorite": "Favoriet", - "Files": "Bestanden", - "Flower": "Bloem", - "Folder": "Map", - "Full customization": "Volledige aanpassing", - "Group": "Groep", - "Heart": "Hart", - "Home": "Thuis", - "House": "Huis", - "Icon": "Pictogram", - "Image": "Afbeelding", - "Integration": "Integratie", - "Light Bulb": "Gloeilamp", - "Lightning": "Bliksem", - "Link": "Link", - "Mail": "E-mail", - "Manage Dashboards": "Dashboards beheren", - "Map": "Kaart", - "MyDash": "MyDash", - "Megaphone": "Megafoon", - "Missing tile ID": "Tegel-ID ontbreekt", - "Monitoring": "Monitoring", - "Monument": "Monument", - "Multiple dashboards not allowed": "Meerdere dashboards niet toegestaan", - "My Dashboard": "Mijn dashboard", - "My Template": "Mijn sjabloon", - "MyDash Settings": "MyDash-instellingen", - "New Tile": "Nieuwe tegel", - "No dashboard available": "Geen dashboard beschikbaar", - "No dashboard yet": "Nog geen dashboard", - "No dashboards yet": "Nog geen dashboards", - "No templates yet": "Nog geen sjablonen", - "No widgets found": "Geen widgets gevonden", - "Not logged in": "Niet ingelogd", - "Office": "Kantoor", - "Optional description": "Optionele beschrijving", - "Park": "Park", - "Parking": "Parkeren", - "Permission level": "Rechteniveau", - "Person": "Persoon", - "Phone": "Telefoon", - "Picture": "Afbeelding", - "Reset": "Herstellen", - "Save": "Opslaan", - "Search": "Zoeken", - "Search widgets...": "Widgets zoeken...", - "Select dashboard": "Selecteer dashboard", - "Select groups (leave empty for all users)": "Selecteer groepen (laat leeg voor alle gebruikers)", - "Set as default template": "Instellen als standaardsjabloon", - "Setting as default app": "Instellen als standaardapp", - "Settings": "Instellingen", - "Share": "Delen", - "Show title": "Titel tonen", - "Star": "Ster", - "Switch to this dashboard": "Overschakelen naar dit dashboard", - "Tag": "Label", - "Target groups": "Doelgroepen", - "Template name": "Sjabloonnaam", - "Text Color": "Tekstkleur", - "Title": "Titel", - "To make MyDash the default app for users, go to Settings > Administration > Theming and select MyDash as the default app.": "Om MyDash als standaardapp voor gebruikers in te stellen, ga naar Instellingen > Beheer > Thema en selecteer MyDash als standaardapp.", - "Tree": "Boom", - "URL": "URL", - "Upload": "Uploaden", - "User": "Gebruiker", - "Video": "Video", - "View only": "Alleen bekijken", - "Wallet": "Portemonnee", - "Widget": "Widget", - "Widget not available": "Widget niet beschikbaar", - "Widget style": "Widgetstijl", - "Widget title": "Widgettitel", - "Widgets": "Widgets", - "https://example.com or /apps/files": "https://voorbeeld.nl of /apps/files" -}} +{ + "translations": { + "Active": "Actief", + "Add": "Toevoegen", + "Add only": "Alleen toevoegen", + "Add to dashboard": "Toevoegen aan dashboard", + "Airplane": "Vliegtuig", + "All users": "Alle gebruikers", + "Allow users to create custom dashboards": "Gebruikers toestaan aangepaste dashboards te maken", + "Allow users to have multiple dashboards": "Gebruikers toestaan meerdere dashboards te hebben", + "Already added": "Al toegevoegd", + "Are you sure you want to delete this dashboard?": "Weet je zeker dat je dit dashboard wilt verwijderen?", + "Are you sure you want to delete this template?": "Weet je zeker dat je dit sjabloon wilt verwijderen?", + "Audio": "Audio", + "Access denied": "Toegang geweigerd", + "Background color": "Achtergrondkleur", + "Bell": "Bel", + "Bike": "Fiets", + "Building": "Gebouw", + "Bus": "Bus", + "Cake": "Taart", + "Calendar": "Agenda", + "Camera": "Camera", + "Cancel": "Annuleren", + "Car": "Auto", + "Certificate": "Certificaat", + "Clock": "Klok", + "Configure dashboard permissions and defaults": "Dashboard-rechten en standaardinstellingen configureren", + "Create dashboard": "Dashboard aanmaken", + "Create tile": "Tegel aanmaken", + "Create dashboard templates that will be applied to users based on their groups.": "Maak dashboardsjablonen die op basis van groepslidmaatschap aan gebruikers worden toegewezen.", + "Create template": "Sjabloon aanmaken", + "Create your first dashboard to get started": "Maak je eerste dashboard aan om te beginnen", + "Custom title": "Aangepaste titel", + "Customize widget": "Widget aanpassen", + "Dashboard creation not allowed": "Dashboard aanmaken niet toegestaan", + "Dashboard name": "Dashboardnaam", + "Dashboard templates": "Dashboardsjablonen", + "Default grid columns": "Standaard rasterkolommen", + "Default permission level": "Standaard rechteniveau", + "Default settings": "Standaardinstellingen", + "Delete dashboard": "Dashboard verwijderen", + "Edit tile": "Tegel bewerken", + "Edit dashboard": "Dashboard bewerken", + "Edit template": "Sjabloon bewerken", + "Enter tile title": "Voer tegeltitel in", + "Full customization": "Volledige aanpassing", + "Light bulb": "Gloeilamp", + "Manage dashboards": "Dashboards beheren", + "MyDash": "MyDash", + "Missing tile ID": "Tegel-ID ontbreekt", + "Multiple dashboards not allowed": "Meerdere dashboards niet toegestaan", + "My dashboard": "Mijn dashboard", + "My template": "Mijn sjabloon", + "MyDash settings": "MyDash-instellingen", + "New tile": "Nieuwe tegel", + "No dashboard available": "Geen dashboard beschikbaar", + "No dashboard yet": "Nog geen dashboard", + "No dashboards yet": "Nog geen dashboards", + "No templates yet": "Nog geen sjablonen", + "No widgets found": "Geen widgets gevonden", + "Not logged in": "Niet ingelogd", + "Optional description": "Optionele beschrijving", + "Permission level": "Rechteniveau", + "Search widgets...": "Widgets zoeken...", + "Select dashboard": "Selecteer dashboard", + "Select groups (leave empty for all users)": "Selecteer groepen (laat leeg voor alle gebruikers)", + "Set as default template": "Instellen als standaardsjabloon", + "Setting as default app": "Instellen als standaardapp", + "Show title": "Titel tonen", + "Switch to this dashboard": "Overschakelen naar dit dashboard", + "Target groups": "Doelgroepen", + "Template name": "Sjabloonnaam", + "Text color": "Tekstkleur", + "To make MyDash the default app for users, go to Settings > Administration > Theming and select MyDash as the default app.": "Om MyDash als standaardapp voor gebruikers in te stellen, ga naar Instellingen > Beheer > Thema en selecteer MyDash als standaardapp.", + "View only": "Alleen bekijken", + "Widget not available": "Widget niet beschikbaar", + "Widget style": "Widgetstijl", + "Widget title": "Widgettitel", + "https://example.com or /apps/files": "https://voorbeeld.nl of /apps/files", + "Background": "Achtergrond", + "Checkmark": "Vinkje", + "Close": "Sluiten", + "Cogwheel": "Tandwiel", + "Color": "Kleur", + "Comment": "Opmerking", + "Contacts": "Contacten", + "Customize": "Aanpassen", + "Dashboards": "Dashboards", + "Default": "Standaard", + "Delete": "Verwijderen", + "Description": "Beschrijving", + "Document": "Document", + "Documentation": "Documentatie", + "Download": "Downloaden", + "Earth": "Aarde", + "Edit": "Bewerken", + "Euro": "Euro", + "Favorite": "Favoriet", + "Files": "Bestanden", + "Flower": "Bloem", + "Folder": "Map", + "Group": "Groep", + "Heart": "Hart", + "Home": "Thuis", + "House": "Huis", + "Icon": "Pictogram", + "Image": "Afbeelding", + "Integration": "Integratie", + "Lightning": "Bliksem", + "Link": "Link", + "Mail": "E-mail", + "Map": "Kaart", + "Megaphone": "Megafoon", + "Monitoring": "Monitoring", + "Monument": "Monument", + "Office": "Kantoor", + "Park": "Park", + "Parking": "Parkeren", + "Person": "Persoon", + "Phone": "Telefoon", + "Picture": "Afbeelding", + "Reset": "Herstellen", + "Save": "Opslaan", + "Search": "Zoeken", + "Settings": "Instellingen", + "Share": "Delen", + "Star": "Ster", + "Tag": "Label", + "Title": "Titel", + "Tree": "Boom", + "URL": "URL", + "Upload": "Uploaden", + "User": "Gebruiker", + "Video": "Video", + "Wallet": "Portemonnee", + "Widget": "Widget", + "Widgets": "Widgets" + } +} \ No newline at end of file diff --git a/src/components/WidgetPicker.vue b/src/components/WidgetPicker.vue index ea3d1bcf..f393a4f7 100644 --- a/src/components/WidgetPicker.vue +++ b/src/components/WidgetPicker.vue @@ -7,7 +7,7 @@

- {{ activeTab === 'widgets' ? t('mydash', 'Add to dashboard') : t('mydash', 'Manage Dashboards') }} + {{ activeTab === 'widgets' ? t('mydash', 'Add to dashboard') : t('mydash', 'Manage dashboards') }}