From d2fc6b8b0807f30be103e48b85a1a4ce2be522a3 Mon Sep 17 00:00:00 2001 From: Remko Date: Fri, 21 Aug 2026 16:29:29 +0200 Subject: [PATCH 01/14] refactor(menu): declutter the navigation into the old minimal shape MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stage 1 of the original-look restyle. The Vault menu entry becomes \"All secrets\" with a key icon (KeyVariant registered in src/icons.js — unregistered icon names render no icon at all), and the Certificates and Emergency access entries move from the footer to the settings foldout. Documentation, Features & roadmap, My activity and Password health deliberately stay in the footer. Also removes the duplicated \"Personal settings\" opener: CnAppNav auto-prepends its own entry at the top of the settings foldout while the manifest already declares the UserSettings entry (action: user-settings), so the same dialog had two openers. nav.includePersonalSettings:false keeps the explicit manifest entry as the only one — the e2e specs assert it, and the upcoming manifest-driven nav override renders it directly. The manifest schema rejects _note on nav and menu entries, hence this explanation lives here. Placement assertions in page-surfaces.spec.ts follow the relabel and the two moved entries; the local restyle plan file is gitignored. --- .gitignore | 2 ++ src/icons.js | 2 ++ src/manifest.json | 11 +++++++---- tests/e2e/workflows/page-surfaces.spec.ts | 8 ++++++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index fd45ae8b..6ff57d9b 100644 --- a/.gitignore +++ b/.gitignore @@ -121,3 +121,5 @@ openspec/test-site-results/**/*.webp # docs-site build artefacts (regenerated by npm; never track) docs/node_modules/ docs/build/ + +RESTYLE-PLAN.md \ No newline at end of file diff --git a/src/icons.js b/src/icons.js index eeb214c6..46ea8dcb 100644 --- a/src/icons.js +++ b/src/icons.js @@ -21,6 +21,7 @@ import ClipboardList from 'vue-material-design-icons/ClipboardList.vue' import CogOutline from 'vue-material-design-icons/CogOutline.vue' import FileDocumentOutline from 'vue-material-design-icons/FileDocumentOutline.vue' import FolderOutline from 'vue-material-design-icons/FolderOutline.vue' +import KeyVariant from 'vue-material-design-icons/KeyVariant.vue' import LockOutline from 'vue-material-design-icons/LockOutline.vue' import MapMarkerPath from 'vue-material-design-icons/MapMarkerPath.vue' import Plus from 'vue-material-design-icons/Plus.vue' @@ -38,6 +39,7 @@ export default { CogOutline, FileDocumentOutline, FolderOutline, + KeyVariant, LockOutline, MapMarkerPath, Plus, diff --git a/src/manifest.json b/src/manifest.json index 059e2d68..e035c465 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -2,6 +2,9 @@ "$schema": "https://raw.githubusercontent.com/ConductionNL/nextcloud-vue/main/src/schemas/app-manifest-v2.schema.json", "version": "1.0.0", "dependencies": [], + "nav": { + "includePersonalSettings": false + }, "menu": [ { "id": "Dashboard", @@ -12,8 +15,8 @@ }, { "id": "Vault", - "label": "Vault", - "icon": "LockOutline", + "label": "All secrets", + "icon": "KeyVariant", "route": "SecretList", "order": 20 }, @@ -62,7 +65,7 @@ "label": "Certificates", "icon": "CertificateOutline", "route": "Certificates", - "section": "footer", + "section": "settings", "order": 88 }, { @@ -70,7 +73,7 @@ "label": "Emergency access", "icon": "ShieldKeyOutline", "route": "EmergencyAccess", - "section": "footer", + "section": "settings", "order": 89 }, { diff --git a/tests/e2e/workflows/page-surfaces.spec.ts b/tests/e2e/workflows/page-surfaces.spec.ts index 3f9da102..8d7846bc 100644 --- a/tests/e2e/workflows/page-surfaces.spec.ts +++ b/tests/e2e/workflows/page-surfaces.spec.ts @@ -319,13 +319,17 @@ test.describe('Routed page surfaces — authenticated', () => { placement.Dashboard, `the nav did not render its daily-use entries (saw: ${JSON.stringify(placement)})`, ).toBe('main') - expect(placement.Vault).toBe('main') - // …and the relocated entry is in the foldout, not the main list. Both + expect(placement['All secrets']).toBe('main') + // …and the relocated entries are in the foldout, not the main list. Both // halves: "not in main" alone would also pass if it vanished entirely. expect( placement.Applications, `"Applications" should be in the settings foldout (saw: ${JSON.stringify(placement)})`, ).toBe('foldout') + // Restyle Stage 1: Certificates and Emergency access moved from the + // footer to the settings foldout (RESTYLE-PLAN.md). + expect(placement.Certificates).toBe('foldout') + expect(placement['Emergency access']).toBe('foldout') }) test('ApplicationRegisterView lists the caller’s applications at #/applications', async ({ From 3b80a70eb3ceb7845d1e0c3dbc2c8fc4c27d4bbd Mon Sep 17 00:00:00 2001 From: Remko Date: Mon, 24 Aug 2026 16:38:48 +0200 Subject: [PATCH 02/14] feat(settings): show the app version in the user-settings dialog --- l10n/be.js | 3 +- l10n/be.json | 3 +- l10n/bg.js | 3 +- l10n/bg.json | 3 +- l10n/bs.js | 3 +- l10n/bs.json | 3 +- l10n/ca.js | 3 +- l10n/ca.json | 3 +- l10n/cs.js | 3 +- l10n/cs.json | 3 +- l10n/da.js | 3 +- l10n/da.json | 3 +- l10n/de.js | 3 +- l10n/de.json | 3 +- l10n/el.js | 3 +- l10n/el.json | 3 +- l10n/en.js | 3 +- l10n/en.json | 3 +- l10n/es.js | 3 +- l10n/es.json | 3 +- l10n/et.js | 3 +- l10n/et.json | 3 +- l10n/fi.js | 3 +- l10n/fi.json | 3 +- l10n/fr.js | 3 +- l10n/fr.json | 3 +- l10n/ga.js | 3 +- l10n/ga.json | 3 +- l10n/hr.js | 3 +- l10n/hr.json | 3 +- l10n/hu.js | 3 +- l10n/hu.json | 3 +- l10n/is.js | 3 +- l10n/is.json | 3 +- l10n/it.js | 3 +- l10n/it.json | 3 +- l10n/lb.js | 3 +- l10n/lb.json | 3 +- l10n/lt.js | 3 +- l10n/lt.json | 3 +- l10n/lv.js | 3 +- l10n/lv.json | 3 +- l10n/mk.js | 3 +- l10n/mk.json | 3 +- l10n/mt.js | 3 +- l10n/mt.json | 3 +- l10n/nb.js | 3 +- l10n/nb.json | 3 +- l10n/nl.js | 3 +- l10n/nl.json | 3 +- l10n/pl.js | 3 +- l10n/pl.json | 3 +- l10n/pt.js | 3 +- l10n/pt.json | 3 +- l10n/rm.js | 3 +- l10n/rm.json | 3 +- l10n/ro.js | 3 +- l10n/ro.json | 3 +- l10n/ru.js | 3 +- l10n/ru.json | 3 +- l10n/sk.js | 3 +- l10n/sk.json | 3 +- l10n/sl.js | 3 +- l10n/sl.json | 3 +- l10n/sq.js | 3 +- l10n/sq.json | 3 +- l10n/sr.js | 3 +- l10n/sr.json | 3 +- l10n/sv.js | 3 +- l10n/sv.json | 3 +- l10n/tr.js | 3 +- l10n/tr.json | 3 +- l10n/uk.js | 3 +- l10n/uk.json | 3 +- lib/Controller/DashboardController.php | 11 ++++ src/App.vue | 20 +++++++ .../Controller/DashboardControllerTest.php | 53 ++++++++++++++++++- 77 files changed, 231 insertions(+), 75 deletions(-) diff --git a/l10n/be.js b/l10n/be.js index 785cd27d..393c5d0c 100644 --- a/l10n/be.js +++ b/l10n/be.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Выдаліць", "Remove this field": "Выдаліць гэта поле", "Give the field a name.": "Дайце полю назву.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — убудаванае поле, а не дадатковае: выберыце іншую назву." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — убудаванае поле, а не дадатковае: выберыце іншую назву.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/be.json b/l10n/be.json index 28698c07..bce47096 100644 --- a/l10n/be.json +++ b/l10n/be.json @@ -425,7 +425,8 @@ "Remove": "Выдаліць", "Remove this field": "Выдаліць гэта поле", "Give the field a name.": "Дайце полю назву.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — убудаванае поле, а не дадатковае: выберыце іншую назву." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — убудаванае поле, а не дадатковае: выберыце іншую назву.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/bg.js b/l10n/bg.js index 8a36e0be..4aee466c 100644 --- a/l10n/bg.js +++ b/l10n/bg.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Премахване", "Remove this field": "Премахване на това поле", "Give the field a name.": "Дайте име на полето.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ е вградено поле, а не допълнително — изберете друго име." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ е вградено поле, а не допълнително — изберете друго име.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/bg.json b/l10n/bg.json index 1b5d2991..201c9238 100644 --- a/l10n/bg.json +++ b/l10n/bg.json @@ -425,7 +425,8 @@ "Remove": "Премахване", "Remove this field": "Премахване на това поле", "Give the field a name.": "Дайте име на полето.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ е вградено поле, а не допълнително — изберете друго име." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ е вградено поле, а не допълнително — изберете друго име.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/bs.js b/l10n/bs.js index ff64e26f..082087ac 100644 --- a/l10n/bs.js +++ b/l10n/bs.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Ukloni", "Remove this field": "Ukloni ovo polje", "Give the field a name.": "Dajte polju naziv.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je ugrađeno polje, a ne dodatno — odaberite drugi naziv." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je ugrađeno polje, a ne dodatno — odaberite drugi naziv.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/bs.json b/l10n/bs.json index 1f2196a5..a8693300 100644 --- a/l10n/bs.json +++ b/l10n/bs.json @@ -425,7 +425,8 @@ "Remove": "Ukloni", "Remove this field": "Ukloni ovo polje", "Give the field a name.": "Dajte polju naziv.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je ugrađeno polje, a ne dodatno — odaberite drugi naziv." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je ugrađeno polje, a ne dodatno — odaberite drugi naziv.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/ca.js b/l10n/ca.js index e3133ef7..7bc790de 100644 --- a/l10n/ca.js +++ b/l10n/ca.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Elimina", "Remove this field": "Elimina aquest camp", "Give the field a name.": "Doneu un nom al camp.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» és un camp integrat, no addicional: trieu un altre nom." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» és un camp integrat, no addicional: trieu un altre nom.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/ca.json b/l10n/ca.json index 49aa8c0d..0bcd1d31 100644 --- a/l10n/ca.json +++ b/l10n/ca.json @@ -425,7 +425,8 @@ "Remove": "Elimina", "Remove this field": "Elimina aquest camp", "Give the field a name.": "Doneu un nom al camp.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» és un camp integrat, no addicional: trieu un altre nom." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» és un camp integrat, no addicional: trieu un altre nom.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/cs.js b/l10n/cs.js index c13446fb..6b9e9352 100644 --- a/l10n/cs.js +++ b/l10n/cs.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Odebrat", "Remove this field": "Odebrat toto pole", "Give the field a name.": "Pojmenujte pole.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vestavěné pole, nikoli další — zvolte jiný název." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vestavěné pole, nikoli další — zvolte jiný název.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/cs.json b/l10n/cs.json index 01dde50e..8df63263 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -425,7 +425,8 @@ "Remove": "Odebrat", "Remove this field": "Odebrat toto pole", "Give the field a name.": "Pojmenujte pole.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vestavěné pole, nikoli další — zvolte jiný název." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vestavěné pole, nikoli další — zvolte jiný název.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/da.js b/l10n/da.js index 0f0c23f5..e20915af 100644 --- a/l10n/da.js +++ b/l10n/da.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Fjern", "Remove this field": "Fjern dette felt", "Give the field a name.": "Giv feltet et navn.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” er et indbygget felt, ikke et yderligere — vælg et andet navn." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” er et indbygget felt, ikke et yderligere — vælg et andet navn.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/da.json b/l10n/da.json index f239ffde..af72f96c 100644 --- a/l10n/da.json +++ b/l10n/da.json @@ -425,7 +425,8 @@ "Remove": "Fjern", "Remove this field": "Fjern dette felt", "Give the field a name.": "Giv feltet et navn.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” er et indbygget felt, ikke et yderligere — vælg et andet navn." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” er et indbygget felt, ikke et yderligere — vælg et andet navn.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/de.js b/l10n/de.js index 3cc144da..c36e68a3 100644 --- a/l10n/de.js +++ b/l10n/de.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Entfernen", "Remove this field": "Dieses Feld entfernen", "Give the field a name.": "Geben Sie dem Feld einen Namen.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ ist ein integriertes Feld, kein zusätzliches — wählen Sie einen anderen Namen." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ ist ein integriertes Feld, kein zusätzliches — wählen Sie einen anderen Namen.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/de.json b/l10n/de.json index 2da50463..7560be91 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -425,7 +425,8 @@ "Remove": "Entfernen", "Remove this field": "Dieses Feld entfernen", "Give the field a name.": "Geben Sie dem Feld einen Namen.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ ist ein integriertes Feld, kein zusätzliches — wählen Sie einen anderen Namen." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ ist ein integriertes Feld, kein zusätzliches — wählen Sie einen anderen Namen.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/el.js b/l10n/el.js index ccdb0a24..7acb2be1 100644 --- a/l10n/el.js +++ b/l10n/el.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Αφαίρεση", "Remove this field": "Αφαίρεση αυτού του πεδίου", "Give the field a name.": "Δώστε όνομα στο πεδίο.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "Το «{name}» είναι ενσωματωμένο πεδίο, όχι πρόσθετο — επιλέξτε άλλο όνομα." + "“{name}” is a built-in field, not an additional one — choose a different name.": "Το «{name}» είναι ενσωματωμένο πεδίο, όχι πρόσθετο — επιλέξτε άλλο όνομα.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/el.json b/l10n/el.json index 3158ac81..89509d19 100644 --- a/l10n/el.json +++ b/l10n/el.json @@ -425,7 +425,8 @@ "Remove": "Αφαίρεση", "Remove this field": "Αφαίρεση αυτού του πεδίου", "Give the field a name.": "Δώστε όνομα στο πεδίο.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "Το «{name}» είναι ενσωματωμένο πεδίο, όχι πρόσθετο — επιλέξτε άλλο όνομα." + "“{name}” is a built-in field, not an additional one — choose a different name.": "Το «{name}» είναι ενσωματωμένο πεδίο, όχι πρόσθετο — επιλέξτε άλλο όνομα.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/en.js b/l10n/en.js index 8480c7d3..72e74b35 100644 --- a/l10n/en.js +++ b/l10n/en.js @@ -995,7 +995,8 @@ OC.L10N.register( "No additional fields yet.": "No additional fields yet.", "Remove": "Remove", "Remove this field": "Remove this field", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” is a built-in field, not an additional one — choose a different name." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” is a built-in field, not an additional one — choose a different name.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/en.json b/l10n/en.json index 9ed04297..5852d24d 100644 --- a/l10n/en.json +++ b/l10n/en.json @@ -994,7 +994,8 @@ "No additional fields yet.": "No additional fields yet.", "Remove": "Remove", "Remove this field": "Remove this field", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” is a built-in field, not an additional one — choose a different name." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” is a built-in field, not an additional one — choose a different name.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": "", "pluralForm": "nplurals=2; plural=(n != 1);" diff --git a/l10n/es.js b/l10n/es.js index 182247ff..004f7f4a 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Eliminar", "Remove this field": "Eliminar este campo", "Give the field a name.": "Dale un nombre al campo.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» es un campo integrado, no adicional: elige otro nombre." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» es un campo integrado, no adicional: elige otro nombre.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/es.json b/l10n/es.json index cc9f76a4..0d241982 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -425,7 +425,8 @@ "Remove": "Eliminar", "Remove this field": "Eliminar este campo", "Give the field a name.": "Dale un nombre al campo.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» es un campo integrado, no adicional: elige otro nombre." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» es un campo integrado, no adicional: elige otro nombre.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/et.js b/l10n/et.js index e73e93f4..a1e36c16 100644 --- a/l10n/et.js +++ b/l10n/et.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Eemalda", "Remove this field": "Eemalda see väli", "Give the field a name.": "Anna väljale nimi.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ on sisseehitatud väli, mitte lisaväli — vali teine nimi." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ on sisseehitatud väli, mitte lisaväli — vali teine nimi.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/et.json b/l10n/et.json index 65f748ae..f5d206c7 100644 --- a/l10n/et.json +++ b/l10n/et.json @@ -425,7 +425,8 @@ "Remove": "Eemalda", "Remove this field": "Eemalda see väli", "Give the field a name.": "Anna väljale nimi.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ on sisseehitatud väli, mitte lisaväli — vali teine nimi." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ on sisseehitatud väli, mitte lisaväli — vali teine nimi.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/fi.js b/l10n/fi.js index 6675bd2b..e0d61ae5 100644 --- a/l10n/fi.js +++ b/l10n/fi.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Poista", "Remove this field": "Poista tämä kenttä", "Give the field a name.": "Anna kentälle nimi.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "”{name}” on sisäänrakennettu kenttä, ei lisäkenttä — valitse toinen nimi." + "“{name}” is a built-in field, not an additional one — choose a different name.": "”{name}” on sisäänrakennettu kenttä, ei lisäkenttä — valitse toinen nimi.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/fi.json b/l10n/fi.json index f4959196..82b694ea 100644 --- a/l10n/fi.json +++ b/l10n/fi.json @@ -425,7 +425,8 @@ "Remove": "Poista", "Remove this field": "Poista tämä kenttä", "Give the field a name.": "Anna kentälle nimi.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "”{name}” on sisäänrakennettu kenttä, ei lisäkenttä — valitse toinen nimi." + "“{name}” is a built-in field, not an additional one — choose a different name.": "”{name}” on sisäänrakennettu kenttä, ei lisäkenttä — valitse toinen nimi.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/fr.js b/l10n/fr.js index 75d1d3dd..69616051 100644 --- a/l10n/fr.js +++ b/l10n/fr.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Supprimer", "Remove this field": "Supprimer ce champ", "Give the field a name.": "Donnez un nom au champ.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "« {name} » est un champ intégré, pas un champ supplémentaire — choisissez un autre nom." + "“{name}” is a built-in field, not an additional one — choose a different name.": "« {name} » est un champ intégré, pas un champ supplémentaire — choisissez un autre nom.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/fr.json b/l10n/fr.json index a032d0dc..80b0a395 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -425,7 +425,8 @@ "Remove": "Supprimer", "Remove this field": "Supprimer ce champ", "Give the field a name.": "Donnez un nom au champ.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "« {name} » est un champ intégré, pas un champ supplémentaire — choisissez un autre nom." + "“{name}” is a built-in field, not an additional one — choose a different name.": "« {name} » est un champ intégré, pas un champ supplémentaire — choisissez un autre nom.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/ga.js b/l10n/ga.js index 2f7506a5..e61d9e5a 100644 --- a/l10n/ga.js +++ b/l10n/ga.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Bain", "Remove this field": "Bain an réimse seo", "Give the field a name.": "Tabhair ainm ar an réimse.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "Is réimse ionsuite é “{name}”, nach ceann breise — roghnaigh ainm eile." + "“{name}” is a built-in field, not an additional one — choose a different name.": "Is réimse ionsuite é “{name}”, nach ceann breise — roghnaigh ainm eile.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/ga.json b/l10n/ga.json index 20c91cf7..2cb33649 100644 --- a/l10n/ga.json +++ b/l10n/ga.json @@ -425,7 +425,8 @@ "Remove": "Bain", "Remove this field": "Bain an réimse seo", "Give the field a name.": "Tabhair ainm ar an réimse.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "Is réimse ionsuite é “{name}”, nach ceann breise — roghnaigh ainm eile." + "“{name}” is a built-in field, not an additional one — choose a different name.": "Is réimse ionsuite é “{name}”, nach ceann breise — roghnaigh ainm eile.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/hr.js b/l10n/hr.js index b587859b..f655c202 100644 --- a/l10n/hr.js +++ b/l10n/hr.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Ukloni", "Remove this field": "Ukloni ovo polje", "Give the field a name.": "Dajte polju naziv.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je ugrađeno polje, a ne dodatno — odaberite drugi naziv." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je ugrađeno polje, a ne dodatno — odaberite drugi naziv.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/hr.json b/l10n/hr.json index 951d8424..aa6b173f 100644 --- a/l10n/hr.json +++ b/l10n/hr.json @@ -425,7 +425,8 @@ "Remove": "Ukloni", "Remove this field": "Ukloni ovo polje", "Give the field a name.": "Dajte polju naziv.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je ugrađeno polje, a ne dodatno — odaberite drugi naziv." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je ugrađeno polje, a ne dodatno — odaberite drugi naziv.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/hu.js b/l10n/hu.js index 5a9fcb9b..56d39f71 100644 --- a/l10n/hu.js +++ b/l10n/hu.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Eltávolítás", "Remove this field": "Mező eltávolítása", "Give the field a name.": "Adjon nevet a mezőnek.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "A(z) „{name}” beépített mező, nem további — válasszon másik nevet." + "“{name}” is a built-in field, not an additional one — choose a different name.": "A(z) „{name}” beépített mező, nem további — válasszon másik nevet.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/hu.json b/l10n/hu.json index 593df161..d2b9f6a9 100644 --- a/l10n/hu.json +++ b/l10n/hu.json @@ -425,7 +425,8 @@ "Remove": "Eltávolítás", "Remove this field": "Mező eltávolítása", "Give the field a name.": "Adjon nevet a mezőnek.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "A(z) „{name}” beépített mező, nem további — válasszon másik nevet." + "“{name}” is a built-in field, not an additional one — choose a different name.": "A(z) „{name}” beépített mező, nem további — válasszon másik nevet.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/is.js b/l10n/is.js index 77b9040e..bc9186c4 100644 --- a/l10n/is.js +++ b/l10n/is.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Fjarlægja", "Remove this field": "Fjarlægja þetta svið", "Give the field a name.": "Gefðu sviðinu nafn.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ er innbyggt svið, ekki viðbótarsvið — veldu annað nafn." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ er innbyggt svið, ekki viðbótarsvið — veldu annað nafn.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/is.json b/l10n/is.json index bed193de..14026669 100644 --- a/l10n/is.json +++ b/l10n/is.json @@ -425,7 +425,8 @@ "Remove": "Fjarlægja", "Remove this field": "Fjarlægja þetta svið", "Give the field a name.": "Gefðu sviðinu nafn.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ er innbyggt svið, ekki viðbótarsvið — veldu annað nafn." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ er innbyggt svið, ekki viðbótarsvið — veldu annað nafn.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/it.js b/l10n/it.js index 6cc9f240..1475f614 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Rimuovi", "Remove this field": "Rimuovi questo campo", "Give the field a name.": "Dai un nome al campo.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» è un campo integrato, non aggiuntivo: scegli un altro nome." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» è un campo integrato, non aggiuntivo: scegli un altro nome.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/it.json b/l10n/it.json index 74195bc2..6b53a509 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -425,7 +425,8 @@ "Remove": "Rimuovi", "Remove this field": "Rimuovi questo campo", "Give the field a name.": "Dai un nome al campo.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» è un campo integrato, non aggiuntivo: scegli un altro nome." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» è un campo integrato, non aggiuntivo: scegli un altro nome.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/lb.js b/l10n/lb.js index 6ab2df86..1dec0f85 100644 --- a/l10n/lb.js +++ b/l10n/lb.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Ewechhuelen", "Remove this field": "Dëst Feld ewechhuelen", "Give the field a name.": "Gitt dem Feld en Numm.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ ass en integréiert Feld, kee zousätzlecht — wielt en anere Numm." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ ass en integréiert Feld, kee zousätzlecht — wielt en anere Numm.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/lb.json b/l10n/lb.json index 578eef2a..d8478031 100644 --- a/l10n/lb.json +++ b/l10n/lb.json @@ -425,7 +425,8 @@ "Remove": "Ewechhuelen", "Remove this field": "Dëst Feld ewechhuelen", "Give the field a name.": "Gitt dem Feld en Numm.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ ass en integréiert Feld, kee zousätzlecht — wielt en anere Numm." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ ass en integréiert Feld, kee zousätzlecht — wielt en anere Numm.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/lt.js b/l10n/lt.js index c8ed9272..ce08dcd3 100644 --- a/l10n/lt.js +++ b/l10n/lt.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Pašalinti", "Remove this field": "Pašalinti šį lauką", "Give the field a name.": "Suteikite laukui pavadinimą.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ yra integruotas laukas, o ne papildomas — pasirinkite kitą pavadinimą." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ yra integruotas laukas, o ne papildomas — pasirinkite kitą pavadinimą.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/lt.json b/l10n/lt.json index b054f93f..4a198eb3 100644 --- a/l10n/lt.json +++ b/l10n/lt.json @@ -425,7 +425,8 @@ "Remove": "Pašalinti", "Remove this field": "Pašalinti šį lauką", "Give the field a name.": "Suteikite laukui pavadinimą.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ yra integruotas laukas, o ne papildomas — pasirinkite kitą pavadinimą." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ yra integruotas laukas, o ne papildomas — pasirinkite kitą pavadinimą.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/lv.js b/l10n/lv.js index 95b980d6..8b81dff2 100644 --- a/l10n/lv.js +++ b/l10n/lv.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Noņemt", "Remove this field": "Noņemt šo lauku", "Give the field a name.": "Piešķir laukam nosaukumu.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” ir iebūvēts lauks, nevis papildu — izvēlies citu nosaukumu." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” ir iebūvēts lauks, nevis papildu — izvēlies citu nosaukumu.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/lv.json b/l10n/lv.json index 24ba018b..2bab5a60 100644 --- a/l10n/lv.json +++ b/l10n/lv.json @@ -425,7 +425,8 @@ "Remove": "Noņemt", "Remove this field": "Noņemt šo lauku", "Give the field a name.": "Piešķir laukam nosaukumu.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” ir iebūvēts lauks, nevis papildu — izvēlies citu nosaukumu." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” ir iebūvēts lauks, nevis papildu — izvēlies citu nosaukumu.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/mk.js b/l10n/mk.js index 8058f4cf..cb0ffabe 100644 --- a/l10n/mk.js +++ b/l10n/mk.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Отстрани", "Remove this field": "Отстрани го ова поле", "Give the field a name.": "Дајте му име на полето.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ е вградено поле, а не дополнително — одберете друго име." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ е вградено поле, а не дополнително — одберете друго име.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/mk.json b/l10n/mk.json index bd3bbbd2..8dc73329 100644 --- a/l10n/mk.json +++ b/l10n/mk.json @@ -425,7 +425,8 @@ "Remove": "Отстрани", "Remove this field": "Отстрани го ова поле", "Give the field a name.": "Дајте му име на полето.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ е вградено поле, а не дополнително — одберете друго име." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ е вградено поле, а не дополнително — одберете друго име.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/mt.js b/l10n/mt.js index 579bb57f..72daa910 100644 --- a/l10n/mt.js +++ b/l10n/mt.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Neħħi", "Remove this field": "Neħħi dan il-qasam", "Give the field a name.": "Agħti isem lill-qasam.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” huwa qasam integrat, mhux addizzjonali — agħżel isem oħra." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” huwa qasam integrat, mhux addizzjonali — agħżel isem oħra.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/mt.json b/l10n/mt.json index d175da78..87a17c70 100644 --- a/l10n/mt.json +++ b/l10n/mt.json @@ -425,7 +425,8 @@ "Remove": "Neħħi", "Remove this field": "Neħħi dan il-qasam", "Give the field a name.": "Agħti isem lill-qasam.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” huwa qasam integrat, mhux addizzjonali — agħżel isem oħra." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” huwa qasam integrat, mhux addizzjonali — agħżel isem oħra.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/nb.js b/l10n/nb.js index d96292ce..ab4bfedd 100644 --- a/l10n/nb.js +++ b/l10n/nb.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Fjern", "Remove this field": "Fjern dette feltet", "Give the field a name.": "Gi feltet et navn.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» er et innebygd felt, ikke et tilleggsfelt — velg et annet navn." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» er et innebygd felt, ikke et tilleggsfelt — velg et annet navn.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/nb.json b/l10n/nb.json index bf498366..38f8d0d4 100644 --- a/l10n/nb.json +++ b/l10n/nb.json @@ -425,7 +425,8 @@ "Remove": "Fjern", "Remove this field": "Fjern dette feltet", "Give the field a name.": "Gi feltet et navn.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» er et innebygd felt, ikke et tilleggsfelt — velg et annet navn." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» er et innebygd felt, ikke et tilleggsfelt — velg et annet navn.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/nl.js b/l10n/nl.js index 064e4d55..ce9bb212 100644 --- a/l10n/nl.js +++ b/l10n/nl.js @@ -585,7 +585,8 @@ OC.L10N.register( "Remove": "Verwijderen", "Remove this field": "Dit veld verwijderen", "Give the field a name.": "Geef het veld een naam.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” is een ingebouwd veld, geen extra veld — kies een andere naam." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” is een ingebouwd veld, geen extra veld — kies een andere naam.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/nl.json b/l10n/nl.json index a7cc80b4..a74d5156 100644 --- a/l10n/nl.json +++ b/l10n/nl.json @@ -584,7 +584,8 @@ "Remove": "Verwijderen", "Remove this field": "Dit veld verwijderen", "Give the field a name.": "Geef het veld een naam.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” is een ingebouwd veld, geen extra veld — kies een andere naam." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” is een ingebouwd veld, geen extra veld — kies een andere naam.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null, "pluralForm": "nplurals=2; plural=(n != 1);" diff --git a/l10n/pl.js b/l10n/pl.js index 3d188e80..eb286d6c 100644 --- a/l10n/pl.js +++ b/l10n/pl.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Usuń", "Remove this field": "Usuń to pole", "Give the field a name.": "Nadaj polu nazwę.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}” to pole wbudowane, a nie dodatkowe — wybierz inną nazwę." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}” to pole wbudowane, a nie dodatkowe — wybierz inną nazwę.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/pl.json b/l10n/pl.json index fc9120b0..c5b5f2c0 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -425,7 +425,8 @@ "Remove": "Usuń", "Remove this field": "Usuń to pole", "Give the field a name.": "Nadaj polu nazwę.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}” to pole wbudowane, a nie dodatkowe — wybierz inną nazwę." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}” to pole wbudowane, a nie dodatkowe — wybierz inną nazwę.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/pt.js b/l10n/pt.js index 2b92274b..3279beeb 100644 --- a/l10n/pt.js +++ b/l10n/pt.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Remover", "Remove this field": "Remover este campo", "Give the field a name.": "Dê um nome ao campo.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” é um campo integrado, não adicional — escolha outro nome." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” é um campo integrado, não adicional — escolha outro nome.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/pt.json b/l10n/pt.json index 5fd57d45..2e00a557 100644 --- a/l10n/pt.json +++ b/l10n/pt.json @@ -425,7 +425,8 @@ "Remove": "Remover", "Remove this field": "Remover este campo", "Give the field a name.": "Dê um nome ao campo.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” é um campo integrado, não adicional — escolha outro nome." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” é um campo integrado, não adicional — escolha outro nome.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/rm.js b/l10n/rm.js index 0ea614d6..929de22e 100644 --- a/l10n/rm.js +++ b/l10n/rm.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Allontanar", "Remove this field": "Allontanar quest champ", "Give the field a name.": "Dai in num al champ.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» è in champ integrà, betg in supplementar — tscherna in auter num." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» è in champ integrà, betg in supplementar — tscherna in auter num.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/rm.json b/l10n/rm.json index 7b82b976..b019af8b 100644 --- a/l10n/rm.json +++ b/l10n/rm.json @@ -425,7 +425,8 @@ "Remove": "Allontanar", "Remove this field": "Allontanar quest champ", "Give the field a name.": "Dai in num al champ.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» è in champ integrà, betg in supplementar — tscherna in auter num." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» è in champ integrà, betg in supplementar — tscherna in auter num.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/ro.js b/l10n/ro.js index 36ea6072..35f96149 100644 --- a/l10n/ro.js +++ b/l10n/ro.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Eliminați", "Remove this field": "Eliminați acest câmp", "Give the field a name.": "Dați un nume câmpului.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}” este un câmp integrat, nu suplimentar — alegeți alt nume." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}” este un câmp integrat, nu suplimentar — alegeți alt nume.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/ro.json b/l10n/ro.json index e732b95a..9d3d4790 100644 --- a/l10n/ro.json +++ b/l10n/ro.json @@ -425,7 +425,8 @@ "Remove": "Eliminați", "Remove this field": "Eliminați acest câmp", "Give the field a name.": "Dați un nume câmpului.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}” este un câmp integrat, nu suplimentar — alegeți alt nume." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}” este un câmp integrat, nu suplimentar — alegeți alt nume.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/ru.js b/l10n/ru.js index 3960e4b3..5032c70b 100644 --- a/l10n/ru.js +++ b/l10n/ru.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Удалить", "Remove this field": "Удалить это поле", "Give the field a name.": "Дайте полю имя.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — встроенное поле, а не дополнительное: выберите другое имя." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — встроенное поле, а не дополнительное: выберите другое имя.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/ru.json b/l10n/ru.json index 40510269..0fefbf10 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -425,7 +425,8 @@ "Remove": "Удалить", "Remove this field": "Удалить это поле", "Give the field a name.": "Дайте полю имя.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — встроенное поле, а не дополнительное: выберите другое имя." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — встроенное поле, а не дополнительное: выберите другое имя.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/sk.js b/l10n/sk.js index 54dd1cf5..1d6f1422 100644 --- a/l10n/sk.js +++ b/l10n/sk.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Odobrať", "Remove this field": "Odobrať toto pole", "Give the field a name.": "Pomenujte pole.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vstavané pole, nie ďalšie — zvoľte iný názov." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vstavané pole, nie ďalšie — zvoľte iný názov.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sk.json b/l10n/sk.json index a45d1066..daa83d6f 100644 --- a/l10n/sk.json +++ b/l10n/sk.json @@ -425,7 +425,8 @@ "Remove": "Odobrať", "Remove this field": "Odobrať toto pole", "Give the field a name.": "Pomenujte pole.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vstavané pole, nie ďalšie — zvoľte iný názov." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vstavané pole, nie ďalšie — zvoľte iný názov.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/sl.js b/l10n/sl.js index f489084d..6201ff73 100644 --- a/l10n/sl.js +++ b/l10n/sl.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Odstrani", "Remove this field": "Odstrani to polje", "Give the field a name.": "Poimenujte polje.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vgrajeno polje, ne dodatno — izberite drugo ime." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vgrajeno polje, ne dodatno — izberite drugo ime.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sl.json b/l10n/sl.json index 37adc639..61a230df 100644 --- a/l10n/sl.json +++ b/l10n/sl.json @@ -425,7 +425,8 @@ "Remove": "Odstrani", "Remove this field": "Odstrani to polje", "Give the field a name.": "Poimenujte polje.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vgrajeno polje, ne dodatno — izberite drugo ime." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ je vgrajeno polje, ne dodatno — izberite drugo ime.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/sq.js b/l10n/sq.js index 7672f8b2..6a4371d5 100644 --- a/l10n/sq.js +++ b/l10n/sq.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Hiq", "Remove this field": "Hiq këtë fushë", "Give the field a name.": "Jepni emër fushës.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” është fushë e integruar, jo shtesë — zgjidhni emër tjetër." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” është fushë e integruar, jo shtesë — zgjidhni emër tjetër.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sq.json b/l10n/sq.json index 58bcac38..3420e167 100644 --- a/l10n/sq.json +++ b/l10n/sq.json @@ -425,7 +425,8 @@ "Remove": "Hiq", "Remove this field": "Hiq këtë fushë", "Give the field a name.": "Jepni emër fushës.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” është fushë e integruar, jo shtesë — zgjidhni emër tjetër." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” është fushë e integruar, jo shtesë — zgjidhni emër tjetër.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/sr.js b/l10n/sr.js index d6db64d5..1019c034 100644 --- a/l10n/sr.js +++ b/l10n/sr.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Уклони", "Remove this field": "Уклони ово поље", "Give the field a name.": "Дајте полју назив.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ је уграђено поље, а не додатно — одаберите други назив." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ је уграђено поље, а не додатно — одаберите други назив.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sr.json b/l10n/sr.json index 6fe5d0ca..fb714158 100644 --- a/l10n/sr.json +++ b/l10n/sr.json @@ -425,7 +425,8 @@ "Remove": "Уклони", "Remove this field": "Уклони ово поље", "Give the field a name.": "Дајте полју назив.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ је уграђено поље, а не додатно — одаберите други назив." + "“{name}” is a built-in field, not an additional one — choose a different name.": "„{name}“ је уграђено поље, а не додатно — одаберите други назив.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/sv.js b/l10n/sv.js index 0d3847df..e02c76df 100644 --- a/l10n/sv.js +++ b/l10n/sv.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Ta bort", "Remove this field": "Ta bort det här fältet", "Give the field a name.": "Ge fältet ett namn.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "”{name}” är ett inbyggt fält, inte ett ytterligare — välj ett annat namn." + "“{name}” is a built-in field, not an additional one — choose a different name.": "”{name}” är ett inbyggt fält, inte ett ytterligare — välj ett annat namn.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sv.json b/l10n/sv.json index 52c4794d..b597de4e 100644 --- a/l10n/sv.json +++ b/l10n/sv.json @@ -425,7 +425,8 @@ "Remove": "Ta bort", "Remove this field": "Ta bort det här fältet", "Give the field a name.": "Ge fältet ett namn.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "”{name}” är ett inbyggt fält, inte ett ytterligare — välj ett annat namn." + "“{name}” is a built-in field, not an additional one — choose a different name.": "”{name}” är ett inbyggt fält, inte ett ytterligare — välj ett annat namn.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/tr.js b/l10n/tr.js index 64fb9807..baa7605d 100644 --- a/l10n/tr.js +++ b/l10n/tr.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Kaldır", "Remove this field": "Bu alanı kaldır", "Give the field a name.": "Alana bir ad verin.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” yerleşik bir alandır, ek alan değil — başka bir ad seçin." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” yerleşik bir alandır, ek alan değil — başka bir ad seçin.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/tr.json b/l10n/tr.json index 16c5a084..93e2042f 100644 --- a/l10n/tr.json +++ b/l10n/tr.json @@ -425,7 +425,8 @@ "Remove": "Kaldır", "Remove this field": "Bu alanı kaldır", "Give the field a name.": "Alana bir ad verin.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” yerleşik bir alandır, ek alan değil — başka bir ad seçin." + "“{name}” is a built-in field, not an additional one — choose a different name.": "“{name}” yerleşik bir alandır, ek alan değil — başka bir ad seçin.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/l10n/uk.js b/l10n/uk.js index b5a455a3..e5f21eda 100644 --- a/l10n/uk.js +++ b/l10n/uk.js @@ -426,7 +426,8 @@ OC.L10N.register( "Remove": "Видалити", "Remove this field": "Видалити це поле", "Give the field a name.": "Дайте полю назву.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — вбудоване поле, а не додаткове: виберіть іншу назву." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — вбудоване поле, а не додаткове: виберіть іншу назву.", + "Keepiq {version}": "Keepiq {version}" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/uk.json b/l10n/uk.json index b519d3e9..309a0405 100644 --- a/l10n/uk.json +++ b/l10n/uk.json @@ -425,7 +425,8 @@ "Remove": "Видалити", "Remove this field": "Видалити це поле", "Give the field a name.": "Дайте полю назву.", - "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — вбудоване поле, а не додаткове: виберіть іншу назву." + "“{name}” is a built-in field, not an additional one — choose a different name.": "«{name}» — вбудоване поле, а не додаткове: виберіть іншу назву.", + "Keepiq {version}": "Keepiq {version}" }, "plurals": null } diff --git a/lib/Controller/DashboardController.php b/lib/Controller/DashboardController.php index 235e95e5..4856e2b0 100644 --- a/lib/Controller/DashboardController.php +++ b/lib/Controller/DashboardController.php @@ -23,6 +23,7 @@ use OCA\Keepiq\AppInfo\Application; use OCA\Keepiq\Service\DashboardSummaryService; +use OCP\App\IAppManager; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\ContentSecurityPolicy; @@ -44,6 +45,7 @@ class DashboardController extends Controller { * @param IRequest $request The request object * @param IInitialState $initialState The initial state service * @param IAppConfig $appConfig The app config interface + * @param IAppManager $appManager The app manager (version source) * @param DashboardSummaryService $summaryService The dashboard summary aggregator * @param IUserSession $userSession The user session * @param IGroupManager $groupManager The group manager @@ -54,6 +56,7 @@ public function __construct( IRequest $request, private IInitialState $initialState, private IAppConfig $appConfig, + private IAppManager $appManager, private DashboardSummaryService $summaryService, private IUserSession $userSession, private IGroupManager $groupManager, @@ -106,6 +109,14 @@ public function page(): TemplateResponse { data: $this->appConfig->getValueBool(Application::APP_ID, 'breach_check_enabled', false), ); + // The user-settings dialog renders this as its version footer. + // IAppManager reads appinfo/info.xml — the version truth; the + // package.json version is stale and must not be used. + $this->initialState->provideInitialState( + key: 'appVersion', + data: $this->appManager->getAppVersion(Application::APP_ID), + ); + $response = new TemplateResponse(appName: Application::APP_ID, templateName: 'index'); // Link-share encryption derives its AES key client-side via the Argon2id diff --git a/src/App.vue b/src/App.vue index 55b58eb5..cb763aa4 100644 --- a/src/App.vue +++ b/src/App.vue @@ -289,6 +289,13 @@ }}

+ + + @@ -296,6 +303,7 @@ + + diff --git a/src/components/KeepiqAppNav/NavFolderTree.vue b/src/components/KeepiqAppNav/NavFolderTree.vue new file mode 100644 index 00000000..2f79ce6d --- /dev/null +++ b/src/components/KeepiqAppNav/NavFolderTree.vue @@ -0,0 +1,160 @@ + + + + + + diff --git a/src/views/SecretList.vue b/src/views/SecretList.vue index b85fbe02..e68ba33b 100644 --- a/src/views/SecretList.vue +++ b/src/views/SecretList.vue @@ -1,21 +1,9 @@