From edf85380cc574b31769d2fd6a33aa880a39c22ea Mon Sep 17 00:00:00 2001 From: Remko Date: Thu, 27 Aug 2026 15:36:44 +0200 Subject: [PATCH 01/14] feat(vault): secret details in a right sidebar over the list Clicking a row now opens the secret in an NcAppSidebar over the vault list instead of navigating to a separate page, so the list context (folder, search, pagination) stays visible and intact behind it. The detail page is gone: the id rides as an optional segment on the list routes (/secrets/:id? and /folders/:folderId/:id?), because CnPageRenderer keys its render on the page id and a separate page remounted the list on every open. Deep links to #/secrets/ keep resolving (list + open sidebar) and stay behind the vault-lock guard. Route <-> sidebar mapping lives in src/utils/detailRoute.js. The sidebar lays the detail out Proton Pass style: the action row (labeled Edit opening the edit dialog, icon-only Share with ariaLabel, and a "Secret actions" menu holding Move, Delete and Close - the native X is hidden while the row renders; Esc still closes everywhere) sits with the title in the header; fields render as grouped icon/label/value boxes with a visible attachments box and a last-modified/created metadata box (NcDateTime); the informational tail folds into "More information" (sharing, requests, activity) and owner-only "Advanced" (versions, rotation, honey) disclosures. Card and identity secrets render their payloads as first-class rows (masked number/CVV/PIN/BSN with eye + copy, revealed numbers regrouped in blocks of four, identity split into Personal/Address/Contact sections); the old CardDisplay/IdentityDisplay components are deleted and the raw key row is hidden for composite types. The pane widens to clamp(300px, 35vw, 560px) above the library's mobile breakpoint. Decryption semantics are unchanged. Edit/Move refresh the list behind the sidebar; Delete closes it. The SecretDetail vitest specs are retargeted at the sidebar component; the new route mapping has its own spec; e2e drives Move/Share through the new action row and opens the More-information disclosure for the activity assertion; the guards spec drops the removed page id. --- src/App.vue | 44 + src/components/CardDisplay.vue | 174 -- src/components/IdentityDisplay.vue | 107 - src/components/SecretDetailSidebar.vue | 1732 +++++++++++++++++ src/manifest.json | 16 +- src/registry.js | 2 - src/utils/detailRoute.js | 73 + src/views/SecretDetail.vue | 823 -------- src/views/SecretList.vue | 9 +- ...retDetailSidebar.additionalFields.spec.js} | 19 +- .../SecretDetailSidebar.sharing.spec.js} | 47 +- tests/e2e/workflows/audit-trail.spec.ts | 12 +- tests/e2e/workflows/folder-sharing.spec.ts | 25 +- .../workflows/secret-crud-encryption.spec.ts | 8 +- tests/router/guards.spec.js | 13 +- tests/vitest/detail-route.spec.js | 106 + 16 files changed, 2039 insertions(+), 1171 deletions(-) delete mode 100644 src/components/CardDisplay.vue delete mode 100644 src/components/IdentityDisplay.vue create mode 100644 src/components/SecretDetailSidebar.vue create mode 100644 src/utils/detailRoute.js delete mode 100644 src/views/SecretDetail.vue rename tests/{views/SecretDetail.additionalFields.spec.js => components/SecretDetailSidebar.additionalFields.spec.js} (87%) rename tests/{views/SecretDetail.sharing.spec.js => components/SecretDetailSidebar.sharing.spec.js} (80%) create mode 100644 tests/vitest/detail-route.spec.js diff --git a/src/App.vue b/src/App.vue index 7a9be41e..f3464669 100644 --- a/src/App.vue +++ b/src/App.vue @@ -106,6 +106,23 @@ + + - - - - - diff --git a/src/components/IdentityDisplay.vue b/src/components/IdentityDisplay.vue deleted file mode 100644 index d4383af9..00000000 --- a/src/components/IdentityDisplay.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - diff --git a/src/components/SecretDetailSidebar.vue b/src/components/SecretDetailSidebar.vue new file mode 100644 index 00000000..3a52f5f9 --- /dev/null +++ b/src/components/SecretDetailSidebar.vue @@ -0,0 +1,1732 @@ + + + + + diff --git a/src/manifest.json b/src/manifest.json index 8a2cbb1c..c9e972d2 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -389,27 +389,19 @@ }, { "id": "SecretList", - "route": "/secrets", + "route": "/secrets/:id?", "type": "custom", "title": "Vault", "component": "SecretList", - "_note": "Main vault: folder sidebar + searchable/sortable/paginated secret list. type:\"custom\" because it owns a bespoke two-pane layout and on-demand client-side decryption that no built-in page type models yet." + "_note": "Main vault: searchable/sortable/paginated secret list on the app nav's folder tree. type:\"custom\" because it owns bespoke list rows and on-demand client-side decryption that no built-in page type models yet. The optional :id? segment opens the secret-detail sidebar OVER the list (restyle Stage 8) — /secrets/ deep links keep working, and keeping the page id stable means CnPageRenderer never remounts the list when a row opens (its render key is the page id)." }, { "id": "SecretListFolder", - "route": "/folders/:folderId", + "route": "/folders/:folderId/:id?", "type": "custom", "title": "Vault", "component": "SecretList", - "_note": "Same vault view filtered to a folder (folderId route param)." - }, - { - "id": "SecretDetail", - "route": "/secrets/:id", - "type": "custom", - "title": "Secret", - "component": "SecretDetail", - "_note": "Secret detail with type-specific fields, decrypted client-side; show/hide toggle keeps the key masked until revealed." + "_note": "Same vault view filtered to a folder (folderId route param); :id? opens the secret-detail sidebar with the folder context kept in the path." }, { "id": "ApplicationRegister", diff --git a/src/registry.js b/src/registry.js index 183b58c3..56f8a062 100644 --- a/src/registry.js +++ b/src/registry.js @@ -50,14 +50,12 @@ import HealthReportView from './views/HealthReportView.vue' import LinkShareAccess from './views/LinkShareAccess.vue' import LockScreen from './views/LockScreen.vue' import PersonalActivityView from './views/PersonalActivityView.vue' -import SecretDetail from './views/SecretDetail.vue' import SecretList from './views/SecretList.vue' import SecretRequestFill from './views/SecretRequestFill.vue' export default { LockScreen: { kind: 'page', component: LockScreen }, SecretList: { kind: 'page', component: SecretList }, - SecretDetail: { kind: 'page', component: SecretDetail }, SecretRequestFill: { kind: 'page', component: SecretRequestFill }, LinkShareAccess: { kind: 'page', component: LinkShareAccess }, EphemeralSendAccess: { kind: 'page', component: EphemeralSendAccess }, diff --git a/src/utils/detailRoute.js b/src/utils/detailRoute.js new file mode 100644 index 00000000..ac50078d --- /dev/null +++ b/src/utils/detailRoute.js @@ -0,0 +1,73 @@ +/** + * SPDX-License-Identifier: EUPL-1.2 + * SPDX-FileCopyrightText: 2026 Conduction B.V. + * + * Route ↔ detail-sidebar mapping (restyle Stage 8). + * + * The secret detail renders as a right-hand NcAppSidebar OVER the vault + * list instead of on a page of its own. The open/closed state lives in + * the URL: the list routes carry an optional `:id?` segment + * (`/secrets/:id?`, `/folders/:folderId/:id?`), so a deep link like + * `#/secrets/` renders the list WITH the sidebar open, and closing + * the sidebar just drops the segment. Bookmarks, the browser extension + * and the e2e specs keep their `/secrets/:id` URLs; the folder context + * survives in the path, so opening a secret never rebuilds the list + * behind it (CnPageRenderer keys its page render on the page id). + */ + +/** The two list routes able to host the detail sidebar. */ +const LIST_ROUTE_NAMES = ['SecretList', 'SecretListFolder'] + +/** + * The route location that opens a secret's detail sidebar while keeping + * the current list context (root or folder) behind it. + * + * @param {object} route The current $route. + * @param {string} id The secret id to open. + * @return {object} A vue-router location object. + * @spec openspec/specs/secrets/spec.md#requirement-read-secret + */ +export function secretDetailLocation(route, id) { + if (route?.name === 'SecretListFolder' && route.params?.folderId) { + return { + name: 'SecretListFolder', + params: { folderId: route.params.folderId, id }, + } + } + return { name: 'SecretList', params: { id } } +} + +/** + * The route location that closes the detail sidebar: the same list view + * without the `:id` segment. + * + * @param {object} route The current $route. + * @return {object} A vue-router location object. + * @spec openspec/specs/secrets/spec.md#requirement-read-secret + */ +export function closeDetailLocation(route) { + if (route?.name === 'SecretListFolder' && route.params?.folderId) { + return { + name: 'SecretListFolder', + params: { folderId: route.params.folderId }, + } + } + return { name: 'SecretList' } +} + +/** + * The secret id whose detail sidebar the current route asks for, or null. + * + * Only the two list routes host the sidebar — other routes with an `:id` + * param (e.g. ApplicationDetail) must not open it. + * + * @param {object} route The current $route. + * @return {string|null} The open secret's id, or null when closed. + * @spec openspec/specs/secrets/spec.md#requirement-read-secret + */ +export function activeDetailSecretId(route) { + if (!route || !LIST_ROUTE_NAMES.includes(route.name)) { + return null + } + return route.params?.id || null +} diff --git a/src/views/SecretDetail.vue b/src/views/SecretDetail.vue deleted file mode 100644 index b038af4f..00000000 --- a/src/views/SecretDetail.vue +++ /dev/null @@ -1,823 +0,0 @@ - - - - - diff --git a/src/views/SecretList.vue b/src/views/SecretList.vue index 0fd33843..2b734b72 100644 --- a/src/views/SecretList.vue +++ b/src/views/SecretList.vue @@ -374,6 +374,7 @@ import { useSecretStore } from '../store/modules/secret.js' import { useSecretRequestStore } from '../store/modules/secretRequest.js' import { useSecretTypeStore } from '../store/modules/secretType.js' import { useSessionStore } from '../store/modules/session.js' +import { secretDetailLocation } from '../utils/detailRoute.js' import { subfolderRows } from '../utils/vaultList.js' const PAGE_SIZE = 50 @@ -1169,13 +1170,17 @@ export default { }, /** - * Open a secret's detail view. + * Open a secret's detail sidebar (restyle Stage 8): the optional + * `:id?` segment joins the current list route, so the list stays + * mounted behind the sidebar and the folder context survives in + * the path. * * @param {string} id The secret ID. * @return {void} + * @spec openspec/specs/secrets/spec.md#requirement-read-secret */ openSecret(id) { - this.$router.push(`/secrets/${id}`) + this.$router.push(secretDetailLocation(this.$route, id)) }, /** diff --git a/tests/views/SecretDetail.additionalFields.spec.js b/tests/components/SecretDetailSidebar.additionalFields.spec.js similarity index 87% rename from tests/views/SecretDetail.additionalFields.spec.js rename to tests/components/SecretDetailSidebar.additionalFields.spec.js index cc986d73..de10620a 100644 --- a/tests/views/SecretDetail.additionalFields.spec.js +++ b/tests/components/SecretDetailSidebar.additionalFields.spec.js @@ -2,7 +2,7 @@ * SPDX-FileCopyrightText: 2026 Conduction / Keepiq Contributors * SPDX-License-Identifier: EUPL-1.2 * - * How the detail view renders additional fields — including none. + * How the detail sidebar renders additional fields — including none. * * The empty case only became reachable with owner-editable additional fields. * Before that the sole writers were the application dialog, import, and a request @@ -17,18 +17,17 @@ import { mount } from '@vue/test-utils' import { createPinia, setActivePinia } from 'pinia' import { beforeEach, describe, expect, it, vi } from 'vitest' -import SecretDetail from '../../src/views/SecretDetail.vue' +import SecretDetailSidebar from '../../src/components/SecretDetailSidebar.vue' import { useSecretStore } from '../../src/store/modules/secret.js' import { useSecretTypeStore } from '../../src/store/modules/secretType.js' const stubAll = { + NcAppSidebar: { template: '' }, NcButton: { template: '' }, NcEmptyContent: { template: '
' }, - NcLoadingIcon: { template: '' }, NcNoteCard: { template: '
' }, NcActions: { template: '
' }, NcActionButton: { template: '' }, - ArrowLeft: { template: '' }, Delete: { template: '' }, Lock: { template: '' }, Pencil: { template: '' }, @@ -42,7 +41,7 @@ const stubAll = { const flush = () => new Promise((resolve) => setTimeout(resolve, 0)) /** - * Mount the detail view over a secret with the given decrypted blob. + * Mount the detail sidebar over a secret with the given decrypted blob. * * @param {object|null} additionalFields The decrypted members. * @@ -60,14 +59,10 @@ const mountDetail = async (additionalFields) => { useSecretStore().fetchSecret = vi.fn().mockResolvedValue(secret) useSecretTypeStore().fetchTypes = vi.fn().mockResolvedValue([]) - const wrapper = mount(SecretDetail, { - propsData: {}, + const wrapper = mount(SecretDetailSidebar, { + props: { secretId: 's-1' }, global: { stubs: stubAll, - mocks: { - $route: { params: { id: 's-1' } }, - $router: { push: vi.fn() }, - }, }, }) await flush() @@ -76,7 +71,7 @@ const mountDetail = async (additionalFields) => { return wrapper } -describe('SecretDetail — additional fields', () => { +describe('SecretDetailSidebar — additional fields', () => { beforeEach(() => { setActivePinia(createPinia()) vi.restoreAllMocks() diff --git a/tests/views/SecretDetail.sharing.spec.js b/tests/components/SecretDetailSidebar.sharing.spec.js similarity index 80% rename from tests/views/SecretDetail.sharing.spec.js rename to tests/components/SecretDetailSidebar.sharing.spec.js index 9e6a1f05..2c0d7b38 100644 --- a/tests/views/SecretDetail.sharing.spec.js +++ b/tests/components/SecretDetailSidebar.sharing.spec.js @@ -2,12 +2,14 @@ * SPDX-FileCopyrightText: 2026 Conduction / Keepiq Contributors * SPDX-License-Identifier: EUPL-1.2 * - * Component tests for the §12.6 SecretDetail sharing sidebar - * integration. The view itself is mounted with the - * RecipientList / DelegationManager / ShareRequestForm components - * stubbed, so the test asserts the role-driven visibility branches - * rather than re-asserting each child's behaviour (those are covered - * by their own .spec.js files). + * Component tests for the §12.6 sharing integration on the secret-detail + * sidebar (the restyle Stage-8 successor of the SecretDetail view). The + * component is mounted with the RecipientList / DelegationManager / + * ShareRequestForm components stubbed, so the test asserts the role-driven + * visibility branches rather than re-asserting each child's behaviour + * (those are covered by their own .spec.js files). NcAppSidebar and its + * tabs are stubbed to plain slot-renderers, so every tab's content is in + * the DOM at once. * * @spec openspec/changes/implement-user-sharing/tasks.md#task-12.6 */ @@ -17,15 +19,17 @@ import { mount } from '@vue/test-utils' import { createPinia, setActivePinia } from 'pinia' import axios from '@nextcloud/axios' -import SecretDetail from '../../src/views/SecretDetail.vue' +import SecretDetailSidebar from '../../src/components/SecretDetailSidebar.vue' import { useSecretStore } from '../../src/store/modules/secret.js' import { useSecretTypeStore } from '../../src/store/modules/secretType.js' const stubAll = { + NcAppSidebar: { template: '' }, + NcActions: { template: '
' }, + NcActionButton: { template: '' }, NcButton: { template: '' }, NcEmptyContent: { template: '
' }, - NcLoadingIcon: { template: '' }, - ArrowLeft: { template: '' }, + NcNoteCard: { template: '
' }, Delete: { template: '' }, Lock: { template: '' }, Pencil: { template: '' }, @@ -46,7 +50,7 @@ const flush = () => new Promise((resolve) => setTimeout(resolve, 0)) const mountDetail = async ({ secret, currentUser }) => { window.OC = { currentUser } - // Pre-seed the secret store so the view's mounted hook resolves + // Pre-seed the secret store so the component's mounted hook resolves // `fetchSecret` to our fixture rather than going through the live // RSA decryption path. const secretStore = useSecretStore() @@ -55,16 +59,12 @@ const mountDetail = async ({ secret, currentUser }) => { typeStore.fetchTypes = vi.fn().mockResolvedValue([]) // VTU v2 moved `stubs` and `mocks` under `global`. At the top level they - // are SILENTLY IGNORED — the component would render its real children and - // `$route` would be undefined, so this must stay nested. - const wrapper = mount(SecretDetail, { - propsData: {}, + // are SILENTLY IGNORED — the component would render its real children, so + // this must stay nested. + const wrapper = mount(SecretDetailSidebar, { + props: { secretId: secret?.id ?? 's-1' }, global: { stubs: stubAll, - mocks: { - $route: { params: { id: secret?.id ?? 's-1' } }, - $router: { push: vi.fn() }, - }, }, }) await flush() @@ -72,7 +72,7 @@ const mountDetail = async ({ secret, currentUser }) => { return wrapper } -describe('SecretDetail sharing sidebar (§12.6)', () => { +describe('SecretDetailSidebar sharing tab (§12.6)', () => { beforeEach(() => { setActivePinia(createPinia()) vi.restoreAllMocks() @@ -128,11 +128,10 @@ describe('SecretDetail sharing sidebar (§12.6)', () => { ).toBe(true) }) - it('hides the entire sharing section when no secret is loaded', async () => { - // The view's mounted hook will set `secret` via fetchSecret; - // when our store stub returns null, the v-else-if="secret" - // short-circuits the whole card and the sharing section never - // renders. + it('hides the entire sharing tab when no secret is loaded', async () => { + // The component's mounted hook will set `secret` via fetchSecret; + // when our store stub returns null, the v-if="!error && secret" + // short-circuits every tab and the sharing section never renders. const wrapper = await mountDetail({ secret: null, currentUser: 'alice' }) expect(wrapper.find('[data-testid="secret-detail-sharing"]').exists()).toBe( diff --git a/tests/e2e/workflows/audit-trail.spec.ts b/tests/e2e/workflows/audit-trail.spec.ts index 009c39de..55b3fac8 100644 --- a/tests/e2e/workflows/audit-trail.spec.ts +++ b/tests/e2e/workflows/audit-trail.spec.ts @@ -47,7 +47,17 @@ test.describe('audit trail', () => { // so the row never reaches Playwright's "stable" gate — force the click. await firstSecret.click({ force: true }) - // The owner sees the Activity section on the detail view. + // Restyle Stage 8: the detail is a right sidebar over the list; the + // audit trail sits inside the collapsed "More information" + // disclosure (owner-only section) — open it first. + await expect(page.locator('.secret-detail__card')).toBeVisible({ + timeout: 20_000, + }) + await page + .getByTestId('secret-detail-more-info') + .evaluate((el: HTMLElement) => el.click()) + + // The owner sees the Activity section on the detail sidebar. const activity = page.locator('[data-testid="secret-detail-activity"]') await expect(activity).toBeVisible({ timeout: 20_000 }) diff --git a/tests/e2e/workflows/folder-sharing.spec.ts b/tests/e2e/workflows/folder-sharing.spec.ts index bf42b86b..7848a100 100644 --- a/tests/e2e/workflows/folder-sharing.spec.ts +++ b/tests/e2e/workflows/folder-sharing.spec.ts @@ -13,9 +13,10 @@ * - Folder create: SecretList.vue offers a "New folder" affordance that opens * FolderCreateDialog (src/dialogs/), wired to folderStore.createFolder. * POST /api/v1/folders persists owner_type cleanly. - * - Move: SecretDetail.vue offers a "Move" affordance (SecretMoveDialog) that - * re-parents a secret via secret.updateSecret({ folderId }). - * - Share: SecretDetail.vue offers a "Share" affordance (SecretShareDialog) + * - Move: the detail sidebar's "Secret actions" menu offers a "Move" entry + * (SecretMoveDialog) that re-parents a secret via + * secret.updateSecret({ folderId }). + * - Share: the detail sidebar offers an icon-only "Share" button (SecretShareDialog) * that creates a password-protected public link via linkShare.createLinkShare * (Argon2id + AES-GCM snapshot, client-side) and reveals the link + password * once. The token resolves via the public two-phase endpoint. @@ -272,7 +273,15 @@ test.describe('Workflow: folders + sharing — folders/spec.md', () => { const secretName = await openFirstSecret(page) expect(secretName).toBeTruthy() - await nativeClickByText(page, '.secret-detail__actions button', 'Move') + // Restyle Stage-8 polish: Move lives in the sidebar's "Secret + // actions" ("…") menu. Native clicks — the themed buttons swallow + // Playwright's synthetic click, same as elsewhere in this file. + await page + .getByRole('button', { name: /Secret actions/i }) + .evaluate((el: HTMLElement) => el.click()) + await page + .getByTestId('secret-detail-move') + .evaluate((el: HTMLElement) => el.click()) await expect(page.locator('.move-form')).toBeVisible({ timeout: 10_000 }) await page.locator('.move-form .vs__dropdown-toggle').click() await page @@ -355,7 +364,9 @@ test.describe('Workflow: folders + sharing — folders/spec.md', () => { await openVault(page) await openFirstSecret(page) - await nativeClickByText(page, '.secret-detail__actions button', 'Share') + await page + .getByTestId('secret-detail-share') + .evaluate((el: HTMLElement) => el.click()) await expect(page.locator('.share-dialog')).toBeVisible({ timeout: 10_000 }) await nativeClickByText(page, 'body button', 'Create link') @@ -475,7 +486,9 @@ test.describe('Workflow: folders + sharing — folders/spec.md', () => { await unlockVault(page) await openVault(page) await openFirstSecret(page) - await nativeClickByText(page, '.secret-detail__actions button', 'Share') + await page + .getByTestId('secret-detail-share') + .evaluate((el: HTMLElement) => el.click()) await expect(page.locator('.share-dialog')).toBeVisible({ timeout: 10_000 }) const userBtn = page.locator('.share-dialog__user button') await expect(userBtn).toBeVisible() diff --git a/tests/e2e/workflows/secret-crud-encryption.spec.ts b/tests/e2e/workflows/secret-crud-encryption.spec.ts index 5fc3064e..af312cad 100644 --- a/tests/e2e/workflows/secret-crud-encryption.spec.ts +++ b/tests/e2e/workflows/secret-crud-encryption.spec.ts @@ -14,7 +14,7 @@ * * (A) FIXED — the write-UI now exists. SecretList.vue offers a "New secret" * affordance that opens SecretCreateDialog (src/dialogs/), wired to the - * secret store; SecretDetail.vue offers Edit / Move / Share. The dialogs + * secret store; SecretDetailSidebar.vue offers Edit / Move / Share. The dialogs * RSA-encrypt the value in the browser before the POST. * (B) FIXED — the Secret entity `ownerType` default is '' so setOwnerType('user') * marks the column dirty and QBMapper writes it; POST /api/v1/secrets @@ -411,7 +411,11 @@ test.describe('Workflow: secret CRUD + encryption — secrets/spec.md', () => { await expect(page.locator(`${SecretDetail}__card`)).toBeVisible({ timeout: 20_000, }) - await expect(page.locator(`${SecretDetail}__title`)).toHaveText(NAME) + // Restyle Stage 8: the detail is a right sidebar over the list; the + // secret's name is the NcAppSidebar header rather than an in-card h2. + await expect( + page.locator(`${SecretDetail} .app-sidebar-header__mainname`), + ).toHaveText(NAME) await nativeClickByLabel(page, 'Show') await expect( page.locator('.secret-detail .keepiq-password-field input'), diff --git a/tests/router/guards.spec.js b/tests/router/guards.spec.js index 65cfe5f3..b792b73c 100644 --- a/tests/router/guards.spec.js +++ b/tests/router/guards.spec.js @@ -69,9 +69,11 @@ const PROTECTED_ROUTES = [ 'PasswordHealth', 'Certificates', 'EmergencyAccess', + // SecretList/'SecretListFolder' also carry the optional `:id?` detail + // segment (restyle Stage 8) — the old SecretDetail page id is gone, but + // /secrets/ deep links still resolve to SecretList and stay gated. 'SecretList', 'SecretListFolder', - 'SecretDetail', 'ApplicationRegister', 'ApplicationDetail', // Flows are PROTECTED, not public. A flow in this app can read and write @@ -99,11 +101,10 @@ describe('createVaultGuard', () => { it('preserves the attempted path as returnUrl so unlock resumes it', () => { const { guard, next } = harness(true) - guard( - route('SecretDetail', '/secrets/42'), - route('Dashboard', '/'), - next, - ) + // A secret deep link resolves to the SecretList route with the + // optional :id segment (restyle Stage 8) — the deep PATH is what + // must survive as returnUrl. + guard(route('SecretList', '/secrets/42'), route('Dashboard', '/'), next) expect(next).toHaveBeenCalledWith({ name: LOCK_ROUTE_NAME, diff --git a/tests/vitest/detail-route.spec.js b/tests/vitest/detail-route.spec.js new file mode 100644 index 00000000..259eb6aa --- /dev/null +++ b/tests/vitest/detail-route.spec.js @@ -0,0 +1,106 @@ +/** + * SPDX-FileCopyrightText: 2026 Conduction / Keepiq Contributors + * SPDX-License-Identifier: EUPL-1.2 + * + * Route ↔ detail-sidebar mapping (restyle Stage 8): opening a secret keeps + * the list context (root or folder) in the path, closing drops only the + * `:id` segment, and only the two list routes ever host the sidebar. + * + * @spec openspec/specs/secrets/spec.md#requirement-read-secret + */ + +import { describe, expect, it } from 'vitest' +import { + activeDetailSecretId, + closeDetailLocation, + secretDetailLocation, +} from '../../src/utils/detailRoute.js' + +describe('secretDetailLocation', () => { + it('opens a secret from the root list on the root route', () => { + expect( + secretDetailLocation({ name: 'SecretList', params: {} }, 's-1'), + ).toEqual({ name: 'SecretList', params: { id: 's-1' } }) + }) + + it('keeps the folder context when opening from a folder view', () => { + expect( + secretDetailLocation( + { name: 'SecretListFolder', params: { folderId: 'f-9' } }, + 's-1', + ), + ).toEqual({ + name: 'SecretListFolder', + params: { folderId: 'f-9', id: 's-1' }, + }) + }) + + it('falls back to the root list when the route carries no folder', () => { + expect( + secretDetailLocation({ name: 'Dashboard', params: {} }, 's-1'), + ).toEqual({ name: 'SecretList', params: { id: 's-1' } }) + }) + + it('replaces an already-open secret instead of nesting', () => { + expect( + secretDetailLocation( + { name: 'SecretListFolder', params: { folderId: 'f-9', id: 's-1' } }, + 's-2', + ), + ).toEqual({ + name: 'SecretListFolder', + params: { folderId: 'f-9', id: 's-2' }, + }) + }) +}) + +describe('closeDetailLocation', () => { + it('returns to the root list from a root-hosted sidebar', () => { + expect( + closeDetailLocation({ name: 'SecretList', params: { id: 's-1' } }), + ).toEqual({ name: 'SecretList' }) + }) + + it('returns to the folder view from a folder-hosted sidebar', () => { + expect( + closeDetailLocation({ + name: 'SecretListFolder', + params: { folderId: 'f-9', id: 's-1' }, + }), + ).toEqual({ name: 'SecretListFolder', params: { folderId: 'f-9' } }) + }) +}) + +describe('activeDetailSecretId', () => { + it('reads the open secret id from the root list route', () => { + expect( + activeDetailSecretId({ name: 'SecretList', params: { id: 's-1' } }), + ).toBe('s-1') + }) + + it('reads the open secret id from the folder route', () => { + expect( + activeDetailSecretId({ + name: 'SecretListFolder', + params: { folderId: 'f-9', id: 's-1' }, + }), + ).toBe('s-1') + }) + + it('is null while no id segment is present', () => { + expect(activeDetailSecretId({ name: 'SecretList', params: {} })).toBeNull() + }) + + it('never opens for other id-carrying routes (ApplicationDetail)', () => { + expect( + activeDetailSecretId({ + name: 'ApplicationDetail', + params: { id: 'app-1' }, + }), + ).toBeNull() + }) + + it('is null for a missing route', () => { + expect(activeDetailSecretId(null)).toBeNull() + }) +}) From c12eb9d7cf899740e334d76aee220688ecb9ba54 Mon Sep 17 00:00:00 2001 From: Remko Date: Thu, 27 Aug 2026 15:36:55 +0200 Subject: [PATCH 02/14] l10n: detail-sidebar strings in every required locale New source strings from the sidebar restyle - "Details", "Versions", "Secret actions", "More information", and the identity section headings "Personal details" / "Address details" / "Contact details" - translated into English plus all 36 required locales, with the .js catalogs regenerated and the parity ratchet tightened to record the progress. --- l10n/be.js | 9 ++++++++- l10n/be.json | 9 ++++++++- l10n/bg.js | 9 ++++++++- l10n/bg.json | 9 ++++++++- l10n/bs.js | 9 ++++++++- l10n/bs.json | 9 ++++++++- l10n/ca.js | 9 ++++++++- l10n/ca.json | 9 ++++++++- l10n/cs.js | 9 ++++++++- l10n/cs.json | 9 ++++++++- l10n/da.js | 9 ++++++++- l10n/da.json | 9 ++++++++- l10n/de.js | 9 ++++++++- l10n/de.json | 9 ++++++++- l10n/el.js | 9 ++++++++- l10n/el.json | 9 ++++++++- l10n/en.js | 9 ++++++++- l10n/en.json | 9 ++++++++- l10n/es.js | 9 ++++++++- l10n/es.json | 9 ++++++++- l10n/et.js | 9 ++++++++- l10n/et.json | 9 ++++++++- l10n/fi.js | 9 ++++++++- l10n/fi.json | 9 ++++++++- l10n/fr.js | 9 ++++++++- l10n/fr.json | 9 ++++++++- l10n/ga.js | 9 ++++++++- l10n/ga.json | 9 ++++++++- l10n/hr.js | 9 ++++++++- l10n/hr.json | 9 ++++++++- l10n/hu.js | 9 ++++++++- l10n/hu.json | 9 ++++++++- l10n/is.js | 9 ++++++++- l10n/is.json | 9 ++++++++- l10n/it.js | 9 ++++++++- l10n/it.json | 9 ++++++++- l10n/lb.js | 9 ++++++++- l10n/lb.json | 9 ++++++++- l10n/lt.js | 9 ++++++++- l10n/lt.json | 9 ++++++++- l10n/lv.js | 9 ++++++++- l10n/lv.json | 9 ++++++++- l10n/mk.js | 9 ++++++++- l10n/mk.json | 9 ++++++++- l10n/mt.js | 9 ++++++++- l10n/mt.json | 9 ++++++++- l10n/nb.js | 9 ++++++++- l10n/nb.json | 9 ++++++++- l10n/nl.js | 9 ++++++++- l10n/nl.json | 9 ++++++++- l10n/pl.js | 9 ++++++++- l10n/pl.json | 9 ++++++++- l10n/pt.js | 9 ++++++++- l10n/pt.json | 9 ++++++++- l10n/rm.js | 9 ++++++++- l10n/rm.json | 9 ++++++++- l10n/ro.js | 9 ++++++++- l10n/ro.json | 9 ++++++++- l10n/ru.js | 9 ++++++++- l10n/ru.json | 9 ++++++++- l10n/sk.js | 9 ++++++++- l10n/sk.json | 9 ++++++++- l10n/sl.js | 9 ++++++++- l10n/sl.json | 9 ++++++++- l10n/sq.js | 9 ++++++++- l10n/sq.json | 9 ++++++++- l10n/sr.js | 9 ++++++++- l10n/sr.json | 9 ++++++++- l10n/sv.js | 9 ++++++++- l10n/sv.json | 9 ++++++++- l10n/tr.js | 9 ++++++++- l10n/tr.json | 9 ++++++++- l10n/uk.js | 9 ++++++++- l10n/uk.json | 9 ++++++++- tests/l10n/parity-ratchet.json | 4 ++-- 75 files changed, 594 insertions(+), 76 deletions(-) diff --git a/l10n/be.js b/l10n/be.js index 7c027c49..39e2db8c 100644 --- a/l10n/be.js +++ b/l10n/be.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Адкрываецца ў новай укладцы", "Keepiq navigation": "Навігацыя Keepiq", "Vault name": "Назва сховішча", - "Create vault": "Стварыць сховішча" + "Create vault": "Стварыць сховішча", + "Details": "Падрабязнасці", + "Versions": "Версіі", + "Secret actions": "Дзеянні з сакрэтам", + "More information": "Дадатковая інфармацыя", + "Personal details": "Асабістыя даныя", + "Address details": "Адрасныя даныя", + "Contact details": "Кантактныя даныя" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/be.json b/l10n/be.json index d05a68f4..d7fb2a78 100644 --- a/l10n/be.json +++ b/l10n/be.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Адкрываецца ў новай укладцы", "Keepiq navigation": "Навігацыя Keepiq", "Vault name": "Назва сховішча", - "Create vault": "Стварыць сховішча" + "Create vault": "Стварыць сховішча", + "Details": "Падрабязнасці", + "Versions": "Версіі", + "Secret actions": "Дзеянні з сакрэтам", + "More information": "Дадатковая інфармацыя", + "Personal details": "Асабістыя даныя", + "Address details": "Адрасныя даныя", + "Contact details": "Кантактныя даныя" }, "plurals": null } diff --git a/l10n/bg.js b/l10n/bg.js index 5283e0f0..22e74069 100644 --- a/l10n/bg.js +++ b/l10n/bg.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Отваря се в нов раздел", "Keepiq navigation": "Навигация на Keepiq", "Vault name": "Име на трезора", - "Create vault": "Създаване на трезор" + "Create vault": "Създаване на трезор", + "Details": "Подробности", + "Versions": "Версии", + "Secret actions": "Действия със секрета", + "More information": "Повече информация", + "Personal details": "Лични данни", + "Address details": "Адресни данни", + "Contact details": "Данни за контакт" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/bg.json b/l10n/bg.json index 918df8b3..411e599a 100644 --- a/l10n/bg.json +++ b/l10n/bg.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Отваря се в нов раздел", "Keepiq navigation": "Навигация на Keepiq", "Vault name": "Име на трезора", - "Create vault": "Създаване на трезор" + "Create vault": "Създаване на трезор", + "Details": "Подробности", + "Versions": "Версии", + "Secret actions": "Действия със секрета", + "More information": "Повече информация", + "Personal details": "Лични данни", + "Address details": "Адресни данни", + "Contact details": "Данни за контакт" }, "plurals": null } diff --git a/l10n/bs.js b/l10n/bs.js index a4ad878d..d518e1b2 100644 --- a/l10n/bs.js +++ b/l10n/bs.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Otvara se u novoj kartici", "Keepiq navigation": "Keepiq navigacija", "Vault name": "Naziv trezora", - "Create vault": "Kreiraj trezor" + "Create vault": "Kreiraj trezor", + "Details": "Detalji", + "Versions": "Verzije", + "Secret actions": "Radnje nad tajnom", + "More information": "Više informacija", + "Personal details": "Lični podaci", + "Address details": "Podaci o adresi", + "Contact details": "Kontakt podaci" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/bs.json b/l10n/bs.json index 4d8a7ca5..fac98c6b 100644 --- a/l10n/bs.json +++ b/l10n/bs.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Otvara se u novoj kartici", "Keepiq navigation": "Keepiq navigacija", "Vault name": "Naziv trezora", - "Create vault": "Kreiraj trezor" + "Create vault": "Kreiraj trezor", + "Details": "Detalji", + "Versions": "Verzije", + "Secret actions": "Radnje nad tajnom", + "More information": "Više informacija", + "Personal details": "Lični podaci", + "Address details": "Podaci o adresi", + "Contact details": "Kontakt podaci" }, "plurals": null } diff --git a/l10n/ca.js b/l10n/ca.js index e716e3ba..9fb06251 100644 --- a/l10n/ca.js +++ b/l10n/ca.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "S’obre en una pestanya nova", "Keepiq navigation": "Navegació de Keepiq", "Vault name": "Nom de la caixa forta", - "Create vault": "Crea la caixa forta" + "Create vault": "Crea la caixa forta", + "Details": "Detalls", + "Versions": "Versions", + "Secret actions": "Accions del secret", + "More information": "Més informació", + "Personal details": "Dades personals", + "Address details": "Dades d'adreça", + "Contact details": "Dades de contacte" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/ca.json b/l10n/ca.json index 859197b1..07cb1e9c 100644 --- a/l10n/ca.json +++ b/l10n/ca.json @@ -447,7 +447,14 @@ "Opens in a new tab": "S’obre en una pestanya nova", "Keepiq navigation": "Navegació de Keepiq", "Vault name": "Nom de la caixa forta", - "Create vault": "Crea la caixa forta" + "Create vault": "Crea la caixa forta", + "Details": "Detalls", + "Versions": "Versions", + "Secret actions": "Accions del secret", + "More information": "Més informació", + "Personal details": "Dades personals", + "Address details": "Dades d'adreça", + "Contact details": "Dades de contacte" }, "plurals": null } diff --git a/l10n/cs.js b/l10n/cs.js index 90581d40..58b71aa4 100644 --- a/l10n/cs.js +++ b/l10n/cs.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Otevře se na nové kartě", "Keepiq navigation": "Navigace Keepiq", "Vault name": "Název trezoru", - "Create vault": "Vytvořit trezor" + "Create vault": "Vytvořit trezor", + "Details": "Podrobnosti", + "Versions": "Verze", + "Secret actions": "Akce tajemství", + "More information": "Více informací", + "Personal details": "Osobní údaje", + "Address details": "Adresní údaje", + "Contact details": "Kontaktní údaje" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/cs.json b/l10n/cs.json index a6aeb0fd..82d8409c 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Otevře se na nové kartě", "Keepiq navigation": "Navigace Keepiq", "Vault name": "Název trezoru", - "Create vault": "Vytvořit trezor" + "Create vault": "Vytvořit trezor", + "Details": "Podrobnosti", + "Versions": "Verze", + "Secret actions": "Akce tajemství", + "More information": "Více informací", + "Personal details": "Osobní údaje", + "Address details": "Adresní údaje", + "Contact details": "Kontaktní údaje" }, "plurals": null } diff --git a/l10n/da.js b/l10n/da.js index 65b8d5ae..d099f5af 100644 --- a/l10n/da.js +++ b/l10n/da.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Åbnes i en ny fane", "Keepiq navigation": "Keepiq-navigation", "Vault name": "Boksnavn", - "Create vault": "Opret boks" + "Create vault": "Opret boks", + "Details": "Detaljer", + "Versions": "Versioner", + "Secret actions": "Handlinger for hemmelighed", + "More information": "Flere oplysninger", + "Personal details": "Personlige oplysninger", + "Address details": "Adresseoplysninger", + "Contact details": "Kontaktoplysninger" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/da.json b/l10n/da.json index 6d73392c..c2a34d04 100644 --- a/l10n/da.json +++ b/l10n/da.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Åbnes i en ny fane", "Keepiq navigation": "Keepiq-navigation", "Vault name": "Boksnavn", - "Create vault": "Opret boks" + "Create vault": "Opret boks", + "Details": "Detaljer", + "Versions": "Versioner", + "Secret actions": "Handlinger for hemmelighed", + "More information": "Flere oplysninger", + "Personal details": "Personlige oplysninger", + "Address details": "Adresseoplysninger", + "Contact details": "Kontaktoplysninger" }, "plurals": null } diff --git a/l10n/de.js b/l10n/de.js index 51fcc7c6..e24a5a08 100644 --- a/l10n/de.js +++ b/l10n/de.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Wird in einem neuen Tab geöffnet", "Keepiq navigation": "Keepiq-Navigation", "Vault name": "Tresorname", - "Create vault": "Tresor erstellen" + "Create vault": "Tresor erstellen", + "Details": "Details", + "Versions": "Versionen", + "Secret actions": "Aktionen für das Geheimnis", + "More information": "Weitere Informationen", + "Personal details": "Persönliche Angaben", + "Address details": "Adressdaten", + "Contact details": "Kontaktdaten" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/de.json b/l10n/de.json index d3eeb3ab..a6f35e33 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Wird in einem neuen Tab geöffnet", "Keepiq navigation": "Keepiq-Navigation", "Vault name": "Tresorname", - "Create vault": "Tresor erstellen" + "Create vault": "Tresor erstellen", + "Details": "Details", + "Versions": "Versionen", + "Secret actions": "Aktionen für das Geheimnis", + "More information": "Weitere Informationen", + "Personal details": "Persönliche Angaben", + "Address details": "Adressdaten", + "Contact details": "Kontaktdaten" }, "plurals": null } diff --git a/l10n/el.js b/l10n/el.js index dc7f657d..14242d6a 100644 --- a/l10n/el.js +++ b/l10n/el.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Ανοίγει σε νέα καρτέλα", "Keepiq navigation": "Πλοήγηση Keepiq", "Vault name": "Όνομα θησαυροφυλακίου", - "Create vault": "Δημιουργία θησαυροφυλακίου" + "Create vault": "Δημιουργία θησαυροφυλακίου", + "Details": "Λεπτομέρειες", + "Versions": "Εκδόσεις", + "Secret actions": "Ενέργειες μυστικού", + "More information": "Περισσότερες πληροφορίες", + "Personal details": "Προσωπικά στοιχεία", + "Address details": "Στοιχεία διεύθυνσης", + "Contact details": "Στοιχεία επικοινωνίας" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/el.json b/l10n/el.json index f75df6e8..896ee3ea 100644 --- a/l10n/el.json +++ b/l10n/el.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Ανοίγει σε νέα καρτέλα", "Keepiq navigation": "Πλοήγηση Keepiq", "Vault name": "Όνομα θησαυροφυλακίου", - "Create vault": "Δημιουργία θησαυροφυλακίου" + "Create vault": "Δημιουργία θησαυροφυλακίου", + "Details": "Λεπτομέρειες", + "Versions": "Εκδόσεις", + "Secret actions": "Ενέργειες μυστικού", + "More information": "Περισσότερες πληροφορίες", + "Personal details": "Προσωπικά στοιχεία", + "Address details": "Στοιχεία διεύθυνσης", + "Contact details": "Στοιχεία επικοινωνίας" }, "plurals": null } diff --git a/l10n/en.js b/l10n/en.js index fd37ff1d..8862f553 100644 --- a/l10n/en.js +++ b/l10n/en.js @@ -1016,7 +1016,14 @@ OC.L10N.register( "Opens in a new tab": "Opens in a new tab", "Vaults": "Vaults", "Create vault": "Create vault", - "Vault name": "Vault name" + "Vault name": "Vault name", + "Details": "Details", + "Versions": "Versions", + "Secret actions": "Secret actions", + "More information": "More information", + "Personal details": "Personal details", + "Address details": "Address details", + "Contact details": "Contact details" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/en.json b/l10n/en.json index 92c5ac55..0122492c 100644 --- a/l10n/en.json +++ b/l10n/en.json @@ -1015,7 +1015,14 @@ "Opens in a new tab": "Opens in a new tab", "Vaults": "Vaults", "Create vault": "Create vault", - "Vault name": "Vault name" + "Vault name": "Vault name", + "Details": "Details", + "Versions": "Versions", + "Secret actions": "Secret actions", + "More information": "More information", + "Personal details": "Personal details", + "Address details": "Address details", + "Contact details": "Contact details" }, "plurals": "", "pluralForm": "nplurals=2; plural=(n != 1);" diff --git a/l10n/es.js b/l10n/es.js index 0bbd30ee..5d245f16 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Se abre en una pestaña nueva", "Keepiq navigation": "Navegación de Keepiq", "Vault name": "Nombre de la caja fuerte", - "Create vault": "Crear caja fuerte" + "Create vault": "Crear caja fuerte", + "Details": "Detalles", + "Versions": "Versiones", + "Secret actions": "Acciones del secreto", + "More information": "Más información", + "Personal details": "Datos personales", + "Address details": "Datos de dirección", + "Contact details": "Datos de contacto" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/es.json b/l10n/es.json index 40795f83..46d703df 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Se abre en una pestaña nueva", "Keepiq navigation": "Navegación de Keepiq", "Vault name": "Nombre de la caja fuerte", - "Create vault": "Crear caja fuerte" + "Create vault": "Crear caja fuerte", + "Details": "Detalles", + "Versions": "Versiones", + "Secret actions": "Acciones del secreto", + "More information": "Más información", + "Personal details": "Datos personales", + "Address details": "Datos de dirección", + "Contact details": "Datos de contacto" }, "plurals": null } diff --git a/l10n/et.js b/l10n/et.js index 5065c4d7..714fec6e 100644 --- a/l10n/et.js +++ b/l10n/et.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Avaneb uuel vahekaardil", "Keepiq navigation": "Keepiqi navigeerimine", "Vault name": "Hoidla nimi", - "Create vault": "Loo hoidla" + "Create vault": "Loo hoidla", + "Details": "Üksikasjad", + "Versions": "Versioonid", + "Secret actions": "Saladuse toimingud", + "More information": "Lisateave", + "Personal details": "Isikuandmed", + "Address details": "Aadressiandmed", + "Contact details": "Kontaktandmed" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/et.json b/l10n/et.json index 29273237..06ef7a4e 100644 --- a/l10n/et.json +++ b/l10n/et.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Avaneb uuel vahekaardil", "Keepiq navigation": "Keepiqi navigeerimine", "Vault name": "Hoidla nimi", - "Create vault": "Loo hoidla" + "Create vault": "Loo hoidla", + "Details": "Üksikasjad", + "Versions": "Versioonid", + "Secret actions": "Saladuse toimingud", + "More information": "Lisateave", + "Personal details": "Isikuandmed", + "Address details": "Aadressiandmed", + "Contact details": "Kontaktandmed" }, "plurals": null } diff --git a/l10n/fi.js b/l10n/fi.js index 1ce2b5b6..e33c0bc6 100644 --- a/l10n/fi.js +++ b/l10n/fi.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Avautuu uuteen välilehteen", "Keepiq navigation": "Keepiqin navigointi", "Vault name": "Holvin nimi", - "Create vault": "Luo holvi" + "Create vault": "Luo holvi", + "Details": "Tiedot", + "Versions": "Versiot", + "Secret actions": "Salaisuuden toiminnot", + "More information": "Lisätietoja", + "Personal details": "Henkilötiedot", + "Address details": "Osoitetiedot", + "Contact details": "Yhteystiedot" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/fi.json b/l10n/fi.json index 66ac4479..86274050 100644 --- a/l10n/fi.json +++ b/l10n/fi.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Avautuu uuteen välilehteen", "Keepiq navigation": "Keepiqin navigointi", "Vault name": "Holvin nimi", - "Create vault": "Luo holvi" + "Create vault": "Luo holvi", + "Details": "Tiedot", + "Versions": "Versiot", + "Secret actions": "Salaisuuden toiminnot", + "More information": "Lisätietoja", + "Personal details": "Henkilötiedot", + "Address details": "Osoitetiedot", + "Contact details": "Yhteystiedot" }, "plurals": null } diff --git a/l10n/fr.js b/l10n/fr.js index e76aab1d..defb1737 100644 --- a/l10n/fr.js +++ b/l10n/fr.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "S’ouvre dans un nouvel onglet", "Keepiq navigation": "Navigation Keepiq", "Vault name": "Nom du coffre-fort", - "Create vault": "Créer le coffre-fort" + "Create vault": "Créer le coffre-fort", + "Details": "Détails", + "Versions": "Versions", + "Secret actions": "Actions du secret", + "More information": "Plus d'informations", + "Personal details": "Informations personnelles", + "Address details": "Détails de l'adresse", + "Contact details": "Coordonnées" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/fr.json b/l10n/fr.json index 5c5dcec9..9d687b91 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -447,7 +447,14 @@ "Opens in a new tab": "S’ouvre dans un nouvel onglet", "Keepiq navigation": "Navigation Keepiq", "Vault name": "Nom du coffre-fort", - "Create vault": "Créer le coffre-fort" + "Create vault": "Créer le coffre-fort", + "Details": "Détails", + "Versions": "Versions", + "Secret actions": "Actions du secret", + "More information": "Plus d'informations", + "Personal details": "Informations personnelles", + "Address details": "Détails de l'adresse", + "Contact details": "Coordonnées" }, "plurals": null } diff --git a/l10n/ga.js b/l10n/ga.js index 7f2f801c..5dd93c55 100644 --- a/l10n/ga.js +++ b/l10n/ga.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Osclaítear i gcluaisín nua é", "Keepiq navigation": "Nascleanúint Keepiq", "Vault name": "Ainm an taisceadáin", - "Create vault": "Cruthaigh taisceadán" + "Create vault": "Cruthaigh taisceadán", + "Details": "Sonraí", + "Versions": "Leaganacha", + "Secret actions": "Gníomhartha an rúin", + "More information": "Tuilleadh faisnéise", + "Personal details": "Sonraí pearsanta", + "Address details": "Sonraí seolta", + "Contact details": "Sonraí teagmhála" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/ga.json b/l10n/ga.json index dd78d774..f86cd619 100644 --- a/l10n/ga.json +++ b/l10n/ga.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Osclaítear i gcluaisín nua é", "Keepiq navigation": "Nascleanúint Keepiq", "Vault name": "Ainm an taisceadáin", - "Create vault": "Cruthaigh taisceadán" + "Create vault": "Cruthaigh taisceadán", + "Details": "Sonraí", + "Versions": "Leaganacha", + "Secret actions": "Gníomhartha an rúin", + "More information": "Tuilleadh faisnéise", + "Personal details": "Sonraí pearsanta", + "Address details": "Sonraí seolta", + "Contact details": "Sonraí teagmhála" }, "plurals": null } diff --git a/l10n/hr.js b/l10n/hr.js index 52408df5..cfecb20d 100644 --- a/l10n/hr.js +++ b/l10n/hr.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Otvara se u novoj kartici", "Keepiq navigation": "Keepiq navigacija", "Vault name": "Naziv trezora", - "Create vault": "Stvori trezor" + "Create vault": "Stvori trezor", + "Details": "Pojedinosti", + "Versions": "Verzije", + "Secret actions": "Radnje tajne", + "More information": "Više informacija", + "Personal details": "Osobni podaci", + "Address details": "Podaci o adresi", + "Contact details": "Kontaktni podaci" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/hr.json b/l10n/hr.json index 2c23d469..1889769f 100644 --- a/l10n/hr.json +++ b/l10n/hr.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Otvara se u novoj kartici", "Keepiq navigation": "Keepiq navigacija", "Vault name": "Naziv trezora", - "Create vault": "Stvori trezor" + "Create vault": "Stvori trezor", + "Details": "Pojedinosti", + "Versions": "Verzije", + "Secret actions": "Radnje tajne", + "More information": "Više informacija", + "Personal details": "Osobni podaci", + "Address details": "Podaci o adresi", + "Contact details": "Kontaktni podaci" }, "plurals": null } diff --git a/l10n/hu.js b/l10n/hu.js index bed4548e..7c8c9917 100644 --- a/l10n/hu.js +++ b/l10n/hu.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Új lapon nyílik meg", "Keepiq navigation": "Keepiq navigáció", "Vault name": "Széf neve", - "Create vault": "Széf létrehozása" + "Create vault": "Széf létrehozása", + "Details": "Részletek", + "Versions": "Verziók", + "Secret actions": "Titok műveletei", + "More information": "További információk", + "Personal details": "Személyes adatok", + "Address details": "Címadatok", + "Contact details": "Elérhetőségi adatok" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/hu.json b/l10n/hu.json index 1be7506f..98951045 100644 --- a/l10n/hu.json +++ b/l10n/hu.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Új lapon nyílik meg", "Keepiq navigation": "Keepiq navigáció", "Vault name": "Széf neve", - "Create vault": "Széf létrehozása" + "Create vault": "Széf létrehozása", + "Details": "Részletek", + "Versions": "Verziók", + "Secret actions": "Titok műveletei", + "More information": "További információk", + "Personal details": "Személyes adatok", + "Address details": "Címadatok", + "Contact details": "Elérhetőségi adatok" }, "plurals": null } diff --git a/l10n/is.js b/l10n/is.js index 4c359450..e03f86c7 100644 --- a/l10n/is.js +++ b/l10n/is.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Opnast í nýjum flipa", "Keepiq navigation": "Keepiq-leiðsögn", "Vault name": "Nafn hvelfingar", - "Create vault": "Búa til hvelfingu" + "Create vault": "Búa til hvelfingu", + "Details": "Upplýsingar", + "Versions": "Útgáfur", + "Secret actions": "Aðgerðir leyndarmáls", + "More information": "Frekari upplýsingar", + "Personal details": "Persónuupplýsingar", + "Address details": "Heimilisfangsupplýsingar", + "Contact details": "Tengiliðaupplýsingar" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/is.json b/l10n/is.json index 66469cc3..cbb0c634 100644 --- a/l10n/is.json +++ b/l10n/is.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Opnast í nýjum flipa", "Keepiq navigation": "Keepiq-leiðsögn", "Vault name": "Nafn hvelfingar", - "Create vault": "Búa til hvelfingu" + "Create vault": "Búa til hvelfingu", + "Details": "Upplýsingar", + "Versions": "Útgáfur", + "Secret actions": "Aðgerðir leyndarmáls", + "More information": "Frekari upplýsingar", + "Personal details": "Persónuupplýsingar", + "Address details": "Heimilisfangsupplýsingar", + "Contact details": "Tengiliðaupplýsingar" }, "plurals": null } diff --git a/l10n/it.js b/l10n/it.js index 77431fa9..5c4cf1f2 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Si apre in una nuova scheda", "Keepiq navigation": "Navigazione di Keepiq", "Vault name": "Nome della cassaforte", - "Create vault": "Crea cassaforte" + "Create vault": "Crea cassaforte", + "Details": "Dettagli", + "Versions": "Versioni", + "Secret actions": "Azioni del segreto", + "More information": "Maggiori informazioni", + "Personal details": "Dati personali", + "Address details": "Dati dell'indirizzo", + "Contact details": "Dati di contatto" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/it.json b/l10n/it.json index fffde435..1e29f52a 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Si apre in una nuova scheda", "Keepiq navigation": "Navigazione di Keepiq", "Vault name": "Nome della cassaforte", - "Create vault": "Crea cassaforte" + "Create vault": "Crea cassaforte", + "Details": "Dettagli", + "Versions": "Versioni", + "Secret actions": "Azioni del segreto", + "More information": "Maggiori informazioni", + "Personal details": "Dati personali", + "Address details": "Dati dell'indirizzo", + "Contact details": "Dati di contatto" }, "plurals": null } diff --git a/l10n/lb.js b/l10n/lb.js index b709e3e7..d1898b10 100644 --- a/l10n/lb.js +++ b/l10n/lb.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Gëtt an engem neien Tab opgemaach", "Keepiq navigation": "Keepiq-Navigatioun", "Vault name": "Tresorsnumm", - "Create vault": "Tresor uleeën" + "Create vault": "Tresor uleeën", + "Details": "Detailer", + "Versions": "Versiounen", + "Secret actions": "Aktioune fir d'Geheimnis", + "More information": "Méi Informatiounen", + "Personal details": "Perséinlech Donnéeën", + "Address details": "Adressdaten", + "Contact details": "Kontaktdaten" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/lb.json b/l10n/lb.json index 6e68ab34..a4aa1905 100644 --- a/l10n/lb.json +++ b/l10n/lb.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Gëtt an engem neien Tab opgemaach", "Keepiq navigation": "Keepiq-Navigatioun", "Vault name": "Tresorsnumm", - "Create vault": "Tresor uleeën" + "Create vault": "Tresor uleeën", + "Details": "Detailer", + "Versions": "Versiounen", + "Secret actions": "Aktioune fir d'Geheimnis", + "More information": "Méi Informatiounen", + "Personal details": "Perséinlech Donnéeën", + "Address details": "Adressdaten", + "Contact details": "Kontaktdaten" }, "plurals": null } diff --git a/l10n/lt.js b/l10n/lt.js index bd46d037..48fdc3a7 100644 --- a/l10n/lt.js +++ b/l10n/lt.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Atsidaro naujoje kortelėje", "Keepiq navigation": "Keepiq naršymas", "Vault name": "Saugyklos pavadinimas", - "Create vault": "Sukurti saugyklą" + "Create vault": "Sukurti saugyklą", + "Details": "Išsami informacija", + "Versions": "Versijos", + "Secret actions": "Paslapties veiksmai", + "More information": "Daugiau informacijos", + "Personal details": "Asmens duomenys", + "Address details": "Adreso duomenys", + "Contact details": "Kontaktiniai duomenys" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/lt.json b/l10n/lt.json index 307564d3..59a0561e 100644 --- a/l10n/lt.json +++ b/l10n/lt.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Atsidaro naujoje kortelėje", "Keepiq navigation": "Keepiq naršymas", "Vault name": "Saugyklos pavadinimas", - "Create vault": "Sukurti saugyklą" + "Create vault": "Sukurti saugyklą", + "Details": "Išsami informacija", + "Versions": "Versijos", + "Secret actions": "Paslapties veiksmai", + "More information": "Daugiau informacijos", + "Personal details": "Asmens duomenys", + "Address details": "Adreso duomenys", + "Contact details": "Kontaktiniai duomenys" }, "plurals": null } diff --git a/l10n/lv.js b/l10n/lv.js index e03a1098..dea5d9e7 100644 --- a/l10n/lv.js +++ b/l10n/lv.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Atveras jaunā cilnē", "Keepiq navigation": "Keepiq navigācija", "Vault name": "Glabātavas nosaukums", - "Create vault": "Izveidot glabātavu" + "Create vault": "Izveidot glabātavu", + "Details": "Detaļas", + "Versions": "Versijas", + "Secret actions": "Noslēpuma darbības", + "More information": "Vairāk informācijas", + "Personal details": "Personas dati", + "Address details": "Adreses dati", + "Contact details": "Kontaktinformācija" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/lv.json b/l10n/lv.json index ab19c565..e2d29c67 100644 --- a/l10n/lv.json +++ b/l10n/lv.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Atveras jaunā cilnē", "Keepiq navigation": "Keepiq navigācija", "Vault name": "Glabātavas nosaukums", - "Create vault": "Izveidot glabātavu" + "Create vault": "Izveidot glabātavu", + "Details": "Detaļas", + "Versions": "Versijas", + "Secret actions": "Noslēpuma darbības", + "More information": "Vairāk informācijas", + "Personal details": "Personas dati", + "Address details": "Adreses dati", + "Contact details": "Kontaktinformācija" }, "plurals": null } diff --git a/l10n/mk.js b/l10n/mk.js index 19e1c884..e32efd25 100644 --- a/l10n/mk.js +++ b/l10n/mk.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Се отвора во ново јазиче", "Keepiq navigation": "Навигација на Keepiq", "Vault name": "Име на трезорот", - "Create vault": "Создај трезор" + "Create vault": "Создај трезор", + "Details": "Детали", + "Versions": "Верзии", + "Secret actions": "Дејства за тајната", + "More information": "Повеќе информации", + "Personal details": "Лични податоци", + "Address details": "Податоци за адреса", + "Contact details": "Податоци за контакт" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/mk.json b/l10n/mk.json index 3ca055a1..554e4a63 100644 --- a/l10n/mk.json +++ b/l10n/mk.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Се отвора во ново јазиче", "Keepiq navigation": "Навигација на Keepiq", "Vault name": "Име на трезорот", - "Create vault": "Создај трезор" + "Create vault": "Создај трезор", + "Details": "Детали", + "Versions": "Верзии", + "Secret actions": "Дејства за тајната", + "More information": "Повеќе информации", + "Personal details": "Лични податоци", + "Address details": "Податоци за адреса", + "Contact details": "Податоци за контакт" }, "plurals": null } diff --git a/l10n/mt.js b/l10n/mt.js index 26639578..4ecc6ea4 100644 --- a/l10n/mt.js +++ b/l10n/mt.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Jinfetaħ f’tab ġdida", "Keepiq navigation": "Navigazzjoni ta’ Keepiq", "Vault name": "Isem il-kaxxa-forti", - "Create vault": "Oħloq kaxxa-forti" + "Create vault": "Oħloq kaxxa-forti", + "Details": "Dettalji", + "Versions": "Verżjonijiet", + "Secret actions": "Azzjonijiet tas-sigriet", + "More information": "Aktar informazzjoni", + "Personal details": "Dettalji personali", + "Address details": "Dettalji tal-indirizz", + "Contact details": "Dettalji ta' kuntatt" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/mt.json b/l10n/mt.json index a4a6fc2d..3d3c9678 100644 --- a/l10n/mt.json +++ b/l10n/mt.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Jinfetaħ f’tab ġdida", "Keepiq navigation": "Navigazzjoni ta’ Keepiq", "Vault name": "Isem il-kaxxa-forti", - "Create vault": "Oħloq kaxxa-forti" + "Create vault": "Oħloq kaxxa-forti", + "Details": "Dettalji", + "Versions": "Verżjonijiet", + "Secret actions": "Azzjonijiet tas-sigriet", + "More information": "Aktar informazzjoni", + "Personal details": "Dettalji personali", + "Address details": "Dettalji tal-indirizz", + "Contact details": "Dettalji ta' kuntatt" }, "plurals": null } diff --git a/l10n/nb.js b/l10n/nb.js index a3614e03..48342924 100644 --- a/l10n/nb.js +++ b/l10n/nb.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Åpnes i en ny fane", "Keepiq navigation": "Keepiq-navigasjon", "Vault name": "Hvelvnavn", - "Create vault": "Opprett hvelv" + "Create vault": "Opprett hvelv", + "Details": "Detaljer", + "Versions": "Versjoner", + "Secret actions": "Handlinger for hemmelighet", + "More information": "Mer informasjon", + "Personal details": "Personlige opplysninger", + "Address details": "Adresseopplysninger", + "Contact details": "Kontaktopplysninger" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/nb.json b/l10n/nb.json index 3e26005e..62897475 100644 --- a/l10n/nb.json +++ b/l10n/nb.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Åpnes i en ny fane", "Keepiq navigation": "Keepiq-navigasjon", "Vault name": "Hvelvnavn", - "Create vault": "Opprett hvelv" + "Create vault": "Opprett hvelv", + "Details": "Detaljer", + "Versions": "Versjoner", + "Secret actions": "Handlinger for hemmelighet", + "More information": "Mer informasjon", + "Personal details": "Personlige opplysninger", + "Address details": "Adresseopplysninger", + "Contact details": "Kontaktopplysninger" }, "plurals": null } diff --git a/l10n/nl.js b/l10n/nl.js index 8546908d..c911ab51 100644 --- a/l10n/nl.js +++ b/l10n/nl.js @@ -615,7 +615,14 @@ OC.L10N.register( "Your secrets, folders and applications at a glance": "Je geheimen, mappen en applicaties in één oogopslag", "Rotation due": "Rotatie verlopen", "Application": "Applicatie", - "Secure message": "Beveiligd bericht" + "Secure message": "Beveiligd bericht", + "Details": "Details", + "Versions": "Versies", + "Secret actions": "Acties voor het geheim", + "More information": "Meer informatie", + "Personal details": "Persoonlijke gegevens", + "Address details": "Adresgegevens", + "Contact details": "Contactgegevens" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/nl.json b/l10n/nl.json index 9ff89444..5a7415f1 100644 --- a/l10n/nl.json +++ b/l10n/nl.json @@ -614,7 +614,14 @@ "Your secrets, folders and applications at a glance": "Je geheimen, mappen en applicaties in één oogopslag", "Rotation due": "Rotatie verlopen", "Application": "Applicatie", - "Secure message": "Beveiligd bericht" + "Secure message": "Beveiligd bericht", + "Details": "Details", + "Versions": "Versies", + "Secret actions": "Acties voor het geheim", + "More information": "Meer informatie", + "Personal details": "Persoonlijke gegevens", + "Address details": "Adresgegevens", + "Contact details": "Contactgegevens" }, "plurals": null, "pluralForm": "nplurals=2; plural=(n != 1);" diff --git a/l10n/pl.js b/l10n/pl.js index 52190080..1293b98a 100644 --- a/l10n/pl.js +++ b/l10n/pl.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Otwiera się w nowej karcie", "Keepiq navigation": "Nawigacja Keepiq", "Vault name": "Nazwa sejfu", - "Create vault": "Utwórz sejf" + "Create vault": "Utwórz sejf", + "Details": "Szczegóły", + "Versions": "Wersje", + "Secret actions": "Akcje sekretu", + "More information": "Więcej informacji", + "Personal details": "Dane osobowe", + "Address details": "Dane adresowe", + "Contact details": "Dane kontaktowe" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/pl.json b/l10n/pl.json index 818501ce..53f84cf0 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Otwiera się w nowej karcie", "Keepiq navigation": "Nawigacja Keepiq", "Vault name": "Nazwa sejfu", - "Create vault": "Utwórz sejf" + "Create vault": "Utwórz sejf", + "Details": "Szczegóły", + "Versions": "Wersje", + "Secret actions": "Akcje sekretu", + "More information": "Więcej informacji", + "Personal details": "Dane osobowe", + "Address details": "Dane adresowe", + "Contact details": "Dane kontaktowe" }, "plurals": null } diff --git a/l10n/pt.js b/l10n/pt.js index b92e9f92..cb14c2fe 100644 --- a/l10n/pt.js +++ b/l10n/pt.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Abre num novo separador", "Keepiq navigation": "Navegação do Keepiq", "Vault name": "Nome do cofre", - "Create vault": "Criar cofre" + "Create vault": "Criar cofre", + "Details": "Detalhes", + "Versions": "Versões", + "Secret actions": "Ações do segredo", + "More information": "Mais informações", + "Personal details": "Dados pessoais", + "Address details": "Dados de endereço", + "Contact details": "Dados de contacto" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/pt.json b/l10n/pt.json index e0dbddc9..1643693c 100644 --- a/l10n/pt.json +++ b/l10n/pt.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Abre num novo separador", "Keepiq navigation": "Navegação do Keepiq", "Vault name": "Nome do cofre", - "Create vault": "Criar cofre" + "Create vault": "Criar cofre", + "Details": "Detalhes", + "Versions": "Versões", + "Secret actions": "Ações do segredo", + "More information": "Mais informações", + "Personal details": "Dados pessoais", + "Address details": "Dados de endereço", + "Contact details": "Dados de contacto" }, "plurals": null } diff --git a/l10n/rm.js b/l10n/rm.js index 3a5bd1ac..11d51b3b 100644 --- a/l10n/rm.js +++ b/l10n/rm.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "S’avra en in nov tab", "Keepiq navigation": "Navigaziun da Keepiq", "Vault name": "Num dal tresor", - "Create vault": "Crear tresor" + "Create vault": "Crear tresor", + "Details": "Detagls", + "Versions": "Versiuns", + "Secret actions": "Acziuns dal secret", + "More information": "Dapli infurmaziuns", + "Personal details": "Datas persunalas", + "Address details": "Datas d'adressa", + "Contact details": "Datas da contact" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/rm.json b/l10n/rm.json index b9250a66..10fcd966 100644 --- a/l10n/rm.json +++ b/l10n/rm.json @@ -447,7 +447,14 @@ "Opens in a new tab": "S’avra en in nov tab", "Keepiq navigation": "Navigaziun da Keepiq", "Vault name": "Num dal tresor", - "Create vault": "Crear tresor" + "Create vault": "Crear tresor", + "Details": "Detagls", + "Versions": "Versiuns", + "Secret actions": "Acziuns dal secret", + "More information": "Dapli infurmaziuns", + "Personal details": "Datas persunalas", + "Address details": "Datas d'adressa", + "Contact details": "Datas da contact" }, "plurals": null } diff --git a/l10n/ro.js b/l10n/ro.js index 44d83cf7..d63e61f5 100644 --- a/l10n/ro.js +++ b/l10n/ro.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Se deschide într-o filă nouă", "Keepiq navigation": "Navigare Keepiq", "Vault name": "Numele seifului", - "Create vault": "Creare seif" + "Create vault": "Creare seif", + "Details": "Detalii", + "Versions": "Versiuni", + "Secret actions": "Acțiuni pentru secret", + "More information": "Mai multe informații", + "Personal details": "Date personale", + "Address details": "Date de adresă", + "Contact details": "Date de contact" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/ro.json b/l10n/ro.json index cbbdef95..22e0f5c2 100644 --- a/l10n/ro.json +++ b/l10n/ro.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Se deschide într-o filă nouă", "Keepiq navigation": "Navigare Keepiq", "Vault name": "Numele seifului", - "Create vault": "Creare seif" + "Create vault": "Creare seif", + "Details": "Detalii", + "Versions": "Versiuni", + "Secret actions": "Acțiuni pentru secret", + "More information": "Mai multe informații", + "Personal details": "Date personale", + "Address details": "Date de adresă", + "Contact details": "Date de contact" }, "plurals": null } diff --git a/l10n/ru.js b/l10n/ru.js index 36ed5c3f..ac439744 100644 --- a/l10n/ru.js +++ b/l10n/ru.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Открывается в новой вкладке", "Keepiq navigation": "Навигация Keepiq", "Vault name": "Название хранилища", - "Create vault": "Создать хранилище" + "Create vault": "Создать хранилище", + "Details": "Подробности", + "Versions": "Версии", + "Secret actions": "Действия с секретом", + "More information": "Дополнительная информация", + "Personal details": "Личные данные", + "Address details": "Адресные данные", + "Contact details": "Контактные данные" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/ru.json b/l10n/ru.json index df9ea195..a8fef08e 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Открывается в новой вкладке", "Keepiq navigation": "Навигация Keepiq", "Vault name": "Название хранилища", - "Create vault": "Создать хранилище" + "Create vault": "Создать хранилище", + "Details": "Подробности", + "Versions": "Версии", + "Secret actions": "Действия с секретом", + "More information": "Дополнительная информация", + "Personal details": "Личные данные", + "Address details": "Адресные данные", + "Contact details": "Контактные данные" }, "plurals": null } diff --git a/l10n/sk.js b/l10n/sk.js index f8b58864..c510fe81 100644 --- a/l10n/sk.js +++ b/l10n/sk.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Otvorí sa na novej karte", "Keepiq navigation": "Navigácia Keepiq", "Vault name": "Názov trezoru", - "Create vault": "Vytvoriť trezor" + "Create vault": "Vytvoriť trezor", + "Details": "Podrobnosti", + "Versions": "Verzie", + "Secret actions": "Akcie tajomstva", + "More information": "Viac informácií", + "Personal details": "Osobné údaje", + "Address details": "Adresné údaje", + "Contact details": "Kontaktné údaje" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sk.json b/l10n/sk.json index bf370509..33bd7606 100644 --- a/l10n/sk.json +++ b/l10n/sk.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Otvorí sa na novej karte", "Keepiq navigation": "Navigácia Keepiq", "Vault name": "Názov trezoru", - "Create vault": "Vytvoriť trezor" + "Create vault": "Vytvoriť trezor", + "Details": "Podrobnosti", + "Versions": "Verzie", + "Secret actions": "Akcie tajomstva", + "More information": "Viac informácií", + "Personal details": "Osobné údaje", + "Address details": "Adresné údaje", + "Contact details": "Kontaktné údaje" }, "plurals": null } diff --git a/l10n/sl.js b/l10n/sl.js index 37938c35..2ef82247 100644 --- a/l10n/sl.js +++ b/l10n/sl.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Odpre se v novem zavihku", "Keepiq navigation": "Krmarjenje Keepiq", "Vault name": "Ime trezorja", - "Create vault": "Ustvari trezor" + "Create vault": "Ustvari trezor", + "Details": "Podrobnosti", + "Versions": "Različice", + "Secret actions": "Dejanja skrivnosti", + "More information": "Več informacij", + "Personal details": "Osebni podatki", + "Address details": "Podatki o naslovu", + "Contact details": "Kontaktni podatki" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sl.json b/l10n/sl.json index a93df117..802ac122 100644 --- a/l10n/sl.json +++ b/l10n/sl.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Odpre se v novem zavihku", "Keepiq navigation": "Krmarjenje Keepiq", "Vault name": "Ime trezorja", - "Create vault": "Ustvari trezor" + "Create vault": "Ustvari trezor", + "Details": "Podrobnosti", + "Versions": "Različice", + "Secret actions": "Dejanja skrivnosti", + "More information": "Več informacij", + "Personal details": "Osebni podatki", + "Address details": "Podatki o naslovu", + "Contact details": "Kontaktni podatki" }, "plurals": null } diff --git a/l10n/sq.js b/l10n/sq.js index e2a8df0b..7cd0e3ae 100644 --- a/l10n/sq.js +++ b/l10n/sq.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Hapet në një skedë të re", "Keepiq navigation": "Navigimi i Keepiq", "Vault name": "Emri i kasafortës", - "Create vault": "Krijo kasafortë" + "Create vault": "Krijo kasafortë", + "Details": "Hollësi", + "Versions": "Versione", + "Secret actions": "Veprimet e sekretit", + "More information": "Më shumë informacion", + "Personal details": "Të dhëna personale", + "Address details": "Të dhëna adrese", + "Contact details": "Të dhëna kontakti" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sq.json b/l10n/sq.json index 1b152b67..cf207093 100644 --- a/l10n/sq.json +++ b/l10n/sq.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Hapet në një skedë të re", "Keepiq navigation": "Navigimi i Keepiq", "Vault name": "Emri i kasafortës", - "Create vault": "Krijo kasafortë" + "Create vault": "Krijo kasafortë", + "Details": "Hollësi", + "Versions": "Versione", + "Secret actions": "Veprimet e sekretit", + "More information": "Më shumë informacion", + "Personal details": "Të dhëna personale", + "Address details": "Të dhëna adrese", + "Contact details": "Të dhëna kontakti" }, "plurals": null } diff --git a/l10n/sr.js b/l10n/sr.js index cb246b68..1218b9fa 100644 --- a/l10n/sr.js +++ b/l10n/sr.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Otvara se u novoj kartici", "Keepiq navigation": "Keepiq navigacija", "Vault name": "Naziv trezora", - "Create vault": "Napravi trezor" + "Create vault": "Napravi trezor", + "Details": "Детаљи", + "Versions": "Верзије", + "Secret actions": "Радње тајне", + "More information": "Више информација", + "Personal details": "Лични подаци", + "Address details": "Подаци о адреси", + "Contact details": "Контакт подаци" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sr.json b/l10n/sr.json index 167c7b4c..c14d14ef 100644 --- a/l10n/sr.json +++ b/l10n/sr.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Otvara se u novoj kartici", "Keepiq navigation": "Keepiq navigacija", "Vault name": "Naziv trezora", - "Create vault": "Napravi trezor" + "Create vault": "Napravi trezor", + "Details": "Детаљи", + "Versions": "Верзије", + "Secret actions": "Радње тајне", + "More information": "Више информација", + "Personal details": "Лични подаци", + "Address details": "Подаци о адреси", + "Contact details": "Контакт подаци" }, "plurals": null } diff --git a/l10n/sv.js b/l10n/sv.js index d55b1478..4250cdff 100644 --- a/l10n/sv.js +++ b/l10n/sv.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Öppnas i en ny flik", "Keepiq navigation": "Keepiq-navigering", "Vault name": "Valvets namn", - "Create vault": "Skapa valv" + "Create vault": "Skapa valv", + "Details": "Detaljer", + "Versions": "Versioner", + "Secret actions": "Åtgärder för hemlighet", + "More information": "Mer information", + "Personal details": "Personuppgifter", + "Address details": "Adressuppgifter", + "Contact details": "Kontaktuppgifter" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/sv.json b/l10n/sv.json index 4e569a5b..8981386c 100644 --- a/l10n/sv.json +++ b/l10n/sv.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Öppnas i en ny flik", "Keepiq navigation": "Keepiq-navigering", "Vault name": "Valvets namn", - "Create vault": "Skapa valv" + "Create vault": "Skapa valv", + "Details": "Detaljer", + "Versions": "Versioner", + "Secret actions": "Åtgärder för hemlighet", + "More information": "Mer information", + "Personal details": "Personuppgifter", + "Address details": "Adressuppgifter", + "Contact details": "Kontaktuppgifter" }, "plurals": null } diff --git a/l10n/tr.js b/l10n/tr.js index 9f13cc2a..6ec0f7a4 100644 --- a/l10n/tr.js +++ b/l10n/tr.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Yeni sekmede açılır", "Keepiq navigation": "Keepiq gezinmesi", "Vault name": "Kasa adı", - "Create vault": "Kasa oluştur" + "Create vault": "Kasa oluştur", + "Details": "Ayrıntılar", + "Versions": "Sürümler", + "Secret actions": "Gizli işlemleri", + "More information": "Daha fazla bilgi", + "Personal details": "Kişisel bilgiler", + "Address details": "Adres bilgileri", + "Contact details": "İletişim bilgileri" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/tr.json b/l10n/tr.json index d0b2b89b..330e4751 100644 --- a/l10n/tr.json +++ b/l10n/tr.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Yeni sekmede açılır", "Keepiq navigation": "Keepiq gezinmesi", "Vault name": "Kasa adı", - "Create vault": "Kasa oluştur" + "Create vault": "Kasa oluştur", + "Details": "Ayrıntılar", + "Versions": "Sürümler", + "Secret actions": "Gizli işlemleri", + "More information": "Daha fazla bilgi", + "Personal details": "Kişisel bilgiler", + "Address details": "Adres bilgileri", + "Contact details": "İletişim bilgileri" }, "plurals": null } diff --git a/l10n/uk.js b/l10n/uk.js index 58a27986..996ba731 100644 --- a/l10n/uk.js +++ b/l10n/uk.js @@ -448,7 +448,14 @@ OC.L10N.register( "Opens in a new tab": "Відкривається в новій вкладці", "Keepiq navigation": "Навігація Keepiq", "Vault name": "Назва сховища", - "Create vault": "Створити сховище" + "Create vault": "Створити сховище", + "Details": "Подробиці", + "Versions": "Версії", + "Secret actions": "Дії з секретом", + "More information": "Більше інформації", + "Personal details": "Особисті дані", + "Address details": "Адресні дані", + "Contact details": "Контактні дані" }, "nplurals=2; plural=(n != 1);" ) diff --git a/l10n/uk.json b/l10n/uk.json index 2cfce460..0d712b23 100644 --- a/l10n/uk.json +++ b/l10n/uk.json @@ -447,7 +447,14 @@ "Opens in a new tab": "Відкривається в новій вкладці", "Keepiq navigation": "Навігація Keepiq", "Vault name": "Назва сховища", - "Create vault": "Створити сховище" + "Create vault": "Створити сховище", + "Details": "Подробиці", + "Versions": "Версії", + "Secret actions": "Дії з секретом", + "More information": "Більше інформації", + "Personal details": "Особисті дані", + "Address details": "Адресні дані", + "Contact details": "Контактні дані" }, "plurals": null } diff --git a/tests/l10n/parity-ratchet.json b/tests/l10n/parity-ratchet.json index 63779f30..85006314 100644 --- a/tests/l10n/parity-ratchet.json +++ b/tests/l10n/parity-ratchet.json @@ -22,7 +22,7 @@ "backend (.json) mk": 568, "backend (.json) mt": 568, "backend (.json) nb": 568, - "backend (.json) nl": 409, + "backend (.json) nl": 406, "backend (.json) pl": 568, "backend (.json) pt": 568, "backend (.json) rm": 568, @@ -58,7 +58,7 @@ "frontend (.js) mk": 568, "frontend (.js) mt": 568, "frontend (.js) nb": 568, - "frontend (.js) nl": 409, + "frontend (.js) nl": 406, "frontend (.js) pl": 568, "frontend (.js) pt": 568, "frontend (.js) rm": 568, From 58082c6b419bad735c3f762e4d3eff3d8307bc7e Mon Sep 17 00:00:00 2001 From: Remko Date: Thu, 27 Aug 2026 15:37:10 +0200 Subject: [PATCH 03/14] fix(nav): highlight only the "..." node when its hidden folder is open Opening the folder the "..." stand-in node represents lit TWO rows in the rail: the node itself (vue-router exact-active styling on its link) and its parent, which received the deepest-visible-ancestor highlight. The ancestor rule now returns nothing when the active folder is the single hidden child the "..." stands for, so exactly one row reads as selected. Navigation through the node is unchanged, and the multi-hidden-children case keeps highlighting the parent row as before. --- src/components/KeepiqAppNav/KeepiqAppNav.vue | 20 ++++++++++++++++--- src/components/KeepiqAppNav/NavFolderTree.vue | 4 ++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/components/KeepiqAppNav/KeepiqAppNav.vue b/src/components/KeepiqAppNav/KeepiqAppNav.vue index 7ea9c7de..bdce7deb 100644 --- a/src/components/KeepiqAppNav/KeepiqAppNav.vue +++ b/src/components/KeepiqAppNav/KeepiqAppNav.vue @@ -324,9 +324,23 @@ export default { if (trail.length === 0) { return null } - return trail.length <= NAV_TREE_MAX_DEPTH - ? active - : trail[NAV_TREE_MAX_DEPTH - 1] + if (trail.length <= NAV_TREE_MAX_DEPTH) { + return active + } + // One level below the cap with no siblings: the "…" node stands + // for EXACTLY this folder and highlights itself + // (NavFolderTree.isEllipsisActive) — highlighting the ancestor + // too would select two rows for one folder. + if (trail.length === NAV_TREE_MAX_DEPTH + 1) { + const parentId = trail[trail.length - 2] + const siblings = this.folderStore.folders.filter( + (f) => f.parentId === parentId, + ) + if (siblings.length === 1) { + return null + } + } + return trail[NAV_TREE_MAX_DEPTH - 1] }, }, diff --git a/src/components/KeepiqAppNav/NavFolderTree.vue b/src/components/KeepiqAppNav/NavFolderTree.vue index c2e87ecb..c73918b5 100644 --- a/src/components/KeepiqAppNav/NavFolderTree.vue +++ b/src/components/KeepiqAppNav/NavFolderTree.vue @@ -39,6 +39,10 @@ :folders="node.children" :depth="depth + 1" :highlightId="highlightId" /> + Date: Thu, 27 Aug 2026 15:37:46 +0200 Subject: [PATCH 04/14] feat(vault): show a loading state while switching folders Navigating to another folder used to keep the previous folder's rows on screen until the new ones landed, then swap them mid-air - CnIndexPage only shows its full loading spinner while it is loading AND has nothing to render. A folderSwitching flag now blanks the list for the duration of the navigation's fetch, so a switch reads as spinner -> new folder's contents. The flag starts true because root <-> folder navigations REMOUNT the view (the routes are different manifest pages and CnPageRenderer keys its render on the page id), and a fresh mount rendered the store's previous rows before mounted() fetched anything - the folderId watcher only covers folder -> folder moves. In-folder refreshes and searches keep the in-place behavior. --- src/views/SecretList.vue | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/src/views/SecretList.vue b/src/views/SecretList.vue index 2b734b72..d6a2228b 100644 --- a/src/views/SecretList.vue +++ b/src/views/SecretList.vue @@ -119,7 +119,7 @@ :selectable="false" :objects="listObjects" :schema="listSchema" - :loading="loading" + :loading="loading || folderSwitching" :pagination="pagination" showTitle :title="pageTitle" @@ -462,6 +462,19 @@ export default { lastCheckedId: null, newSendOpen: false, mySendsOpen: false, + /** + * True while a folder navigation's fetch is in flight. Blanks + * the list so CnIndexPage shows its full loading spinner + * (it only does so when loading AND empty) instead of the + * PREVIOUS folder's rows suddenly swapping for the new ones. + * + * Starts TRUE: root ↔ folder navigations REMOUNT this view + * (CnPageRenderer keys renders on the page id, and the two + * routes are different pages), and a fresh mount renders the + * store's previous rows before mounted() fetches anything — + * the watcher below never sees that transition. + */ + folderSwitching: true, } }, @@ -630,6 +643,11 @@ export default { * @spec openspec/specs/secrets/spec.md#requirement-folder-management */ listObjects() { + // Mid folder-switch: nothing — the old folder's rows must not + // linger while the new folder's secrets are still loading. + if (this.folderSwitching) { + return [] + } if (this.secretStore.page > 1) { return this.secrets } @@ -832,8 +850,15 @@ export default { }, watch: { - selectedFolderId() { - this.reload() + async selectedFolderId() { + // Blank the list for the duration of the fetch so the switch + // reads as loading → new folder, never old rows → new rows. + this.folderSwitching = true + try { + await this.reload() + } finally { + this.folderSwitching = false + } }, }, @@ -857,7 +882,14 @@ export default { // costs the badge and never the list itself. useSecretRequestStore().fetchRequests(), ]) - await this.reload() + try { + await this.reload() + } finally { + // Mount-time counterpart of the selectedFolderId watcher: + // `folderSwitching` starts true so the spinner covers this whole + // preamble instead of the store's previous rows. + this.folderSwitching = false + } // Lazily run the client-side password-health pass after the first list // render so strength badges appear without blocking the render. Fire and // forget; it aborts cleanly when the vault is locked (password-health D2). From 17988a77ae06257fa51c7d67a70c9d142f966ef1 Mon Sep 17 00:00:00 2001 From: Remko Date: Thu, 27 Aug 2026 15:54:10 +0200 Subject: [PATCH 05/14] l10n: translate the English-copied strings across all locales MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A sweep over every locale for values identical to their English source found six bulk-copied strings: "Applications awaiting approval", "No applications awaiting approval" (31 locales), "Your secrets, folders and applications at a glance", "Vault overview", "Rotation due" (33 each) and "View all" (31). All now carry real translations phrased with each locale's established terminology. Script-mismatched loanwords are also fixed: Token and Status become Cyrillic in mk/sr, and Link becomes Länk/Ligação/Colliaziun in sv/pt/rm. Values that already held a genuine translation were never touched, and legitimate loanwords (URL, Token in Latin-script locales, Dashboard, Widgets, Layout) and the brand string "Keepiq {version}" stay as they are. The .js catalogs are regenerated. --- l10n/be.js | 12 +++---- l10n/be.json | 12 +++---- l10n/bg.js | 12 +++---- l10n/bg.json | 12 +++---- l10n/bs.js | 12 +++---- l10n/bs.json | 12 +++---- l10n/ca.js | 12 +++---- l10n/ca.json | 12 +++---- l10n/cs.js | 12 +++---- l10n/cs.json | 12 +++---- l10n/da.js | 12 +++---- l10n/da.json | 12 +++---- l10n/el.js | 12 +++---- l10n/el.json | 12 +++---- l10n/es.js | 6 ++-- l10n/es.json | 6 ++-- l10n/et.js | 12 +++---- l10n/et.json | 12 +++---- l10n/fi.js | 12 +++---- l10n/fi.json | 12 +++---- l10n/ga.js | 12 +++---- l10n/ga.json | 12 +++---- l10n/hr.js | 12 +++---- l10n/hr.json | 12 +++---- l10n/hu.js | 12 +++---- l10n/hu.json | 12 +++---- l10n/is.js | 12 +++---- l10n/is.json | 12 +++---- l10n/it.js | 6 ++-- l10n/it.json | 6 ++-- l10n/lb.js | 12 +++---- l10n/lb.json | 12 +++---- l10n/lt.js | 12 +++---- l10n/lt.json | 12 +++---- l10n/lv.js | 12 +++---- l10n/lv.json | 12 +++---- l10n/mk.js | 16 ++++----- l10n/mk.json | 16 ++++----- l10n/mt.js | 12 +++---- l10n/mt.json | 12 +++---- l10n/nb.js | 12 +++---- l10n/nb.json | 12 +++---- l10n/pl.js | 12 +++---- l10n/pl.json | 12 +++---- l10n/pt.js | 14 ++++---- l10n/pt.json | 14 ++++---- l10n/rm.js | 14 ++++---- l10n/rm.json | 14 ++++---- l10n/ro.js | 12 +++---- l10n/ro.json | 12 +++---- l10n/ru.js | 12 +++---- l10n/ru.json | 12 +++---- l10n/sk.js | 12 +++---- l10n/sk.json | 12 +++---- l10n/sl.js | 12 +++---- l10n/sl.json | 12 +++---- l10n/sq.js | 12 +++---- l10n/sq.json | 12 +++---- l10n/sr.js | 16 ++++----- l10n/sr.json | 16 ++++----- l10n/sv.js | 14 ++++---- l10n/sv.json | 14 ++++---- l10n/tr.js | 12 +++---- l10n/tr.json | 12 +++---- l10n/uk.js | 12 +++---- l10n/uk.json | 12 +++---- src/views/LockScreen.vue | 76 ++++++++++++++++++++++++++++++++++++++-- 67 files changed, 472 insertions(+), 400 deletions(-) diff --git a/l10n/be.js b/l10n/be.js index 39e2db8c..3c136a75 100644 --- a/l10n/be.js +++ b/l10n/be.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Элемент", "No recent activity": "Няма нядаўняй актыўнасці", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Праглядзець усе", + "Applications awaiting approval": "Праграмы, што чакаюць ухвалення", + "No applications awaiting approval": "Няма праграм, што чакаюць ухвалення", + "Vault overview": "Агляд сховішча", + "Your secrets, folders and applications at a glance": "Вашы сакрэты, папкі і праграмы з першага погляду", + "Rotation due": "Патрэбна ратацыя", "Refresh": "Абнавіць", "No secrets found": "Сакрэтаў не знойдзена", "Add your first secret using the button above": "Дадайце свой першы сакрэт кнопкай вышэй", diff --git a/l10n/be.json b/l10n/be.json index d7fb2a78..59fd807b 100644 --- a/l10n/be.json +++ b/l10n/be.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Элемент", "No recent activity": "Няма нядаўняй актыўнасці", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Праглядзець усе", + "Applications awaiting approval": "Праграмы, што чакаюць ухвалення", + "No applications awaiting approval": "Няма праграм, што чакаюць ухвалення", + "Vault overview": "Агляд сховішча", + "Your secrets, folders and applications at a glance": "Вашы сакрэты, папкі і праграмы з першага погляду", + "Rotation due": "Патрэбна ратацыя", "Refresh": "Абнавіць", "No secrets found": "Сакрэтаў не знойдзена", "Add your first secret using the button above": "Дадайце свой першы сакрэт кнопкай вышэй", diff --git a/l10n/bg.js b/l10n/bg.js index 22e74069..f1124281 100644 --- a/l10n/bg.js +++ b/l10n/bg.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Елемент", "No recent activity": "Няма скорошна активност", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Виж всички", + "Applications awaiting approval": "Приложения, чакащи одобрение", + "No applications awaiting approval": "Няма приложения, чакащи одобрение", + "Vault overview": "Преглед на хранилището", + "Your secrets, folders and applications at a glance": "Вашите тайни, папки и приложения с един поглед", + "Rotation due": "Необходима е ротация", "Refresh": "Опресняване", "No secrets found": "Няма намерени тайни", "Add your first secret using the button above": "Добавете първата си тайна чрез бутона по-горе", diff --git a/l10n/bg.json b/l10n/bg.json index 411e599a..dd94f9c9 100644 --- a/l10n/bg.json +++ b/l10n/bg.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Елемент", "No recent activity": "Няма скорошна активност", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Виж всички", + "Applications awaiting approval": "Приложения, чакащи одобрение", + "No applications awaiting approval": "Няма приложения, чакащи одобрение", + "Vault overview": "Преглед на хранилището", + "Your secrets, folders and applications at a glance": "Вашите тайни, папки и приложения с един поглед", + "Rotation due": "Необходима е ротация", "Refresh": "Опресняване", "No secrets found": "Няма намерени тайни", "Add your first secret using the button above": "Добавете първата си тайна чрез бутона по-горе", diff --git a/l10n/bs.js b/l10n/bs.js index d518e1b2..c9cde27a 100644 --- a/l10n/bs.js +++ b/l10n/bs.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Stavka", "No recent activity": "Nema nedavnih aktivnosti", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Prikaži sve", + "Applications awaiting approval": "Aplikacije koje čekaju odobrenje", + "No applications awaiting approval": "Nema aplikacija koje čekaju odobrenje", + "Vault overview": "Pregled trezora", + "Your secrets, folders and applications at a glance": "Vaše tajne, fascikle i aplikacije na prvi pogled", + "Rotation due": "Potrebna rotacija", "Refresh": "Osvježi", "No secrets found": "Nije pronađena nijedna tajna", "Add your first secret using the button above": "Dodajte svoju prvu tajnu dugmetom iznad", diff --git a/l10n/bs.json b/l10n/bs.json index fac98c6b..fe35cd19 100644 --- a/l10n/bs.json +++ b/l10n/bs.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Stavka", "No recent activity": "Nema nedavnih aktivnosti", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Prikaži sve", + "Applications awaiting approval": "Aplikacije koje čekaju odobrenje", + "No applications awaiting approval": "Nema aplikacija koje čekaju odobrenje", + "Vault overview": "Pregled trezora", + "Your secrets, folders and applications at a glance": "Vaše tajne, fascikle i aplikacije na prvi pogled", + "Rotation due": "Potrebna rotacija", "Refresh": "Osvježi", "No secrets found": "Nije pronađena nijedna tajna", "Add your first secret using the button above": "Dodajte svoju prvu tajnu dugmetom iznad", diff --git a/l10n/ca.js b/l10n/ca.js index 9fb06251..9f055f85 100644 --- a/l10n/ca.js +++ b/l10n/ca.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Sense activitat recent", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Mostra-ho tot", + "Applications awaiting approval": "Aplicacions pendents d'aprovació", + "No applications awaiting approval": "No hi ha aplicacions pendents d'aprovació", + "Vault overview": "Resum de la bóveda", + "Your secrets, folders and applications at a glance": "Els vostres secrets, carpetes i aplicacions d'un cop d'ull", + "Rotation due": "Rotació pendent", "Refresh": "Actualitza", "No secrets found": "No s’han trobat secrets", "Add your first secret using the button above": "Afegiu el vostre primer secret amb el botó de dalt", diff --git a/l10n/ca.json b/l10n/ca.json index 07cb1e9c..505bca69 100644 --- a/l10n/ca.json +++ b/l10n/ca.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Sense activitat recent", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Mostra-ho tot", + "Applications awaiting approval": "Aplicacions pendents d'aprovació", + "No applications awaiting approval": "No hi ha aplicacions pendents d'aprovació", + "Vault overview": "Resum de la bóveda", + "Your secrets, folders and applications at a glance": "Els vostres secrets, carpetes i aplicacions d'un cop d'ull", + "Rotation due": "Rotació pendent", "Refresh": "Actualitza", "No secrets found": "No s’han trobat secrets", "Add your first secret using the button above": "Afegiu el vostre primer secret amb el botó de dalt", diff --git a/l10n/cs.js b/l10n/cs.js index 58b71aa4..009137cc 100644 --- a/l10n/cs.js +++ b/l10n/cs.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Položka", "No recent activity": "Žádná nedávná aktivita", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Zobrazit vše", + "Applications awaiting approval": "Aplikace čekající na schválení", + "No applications awaiting approval": "Žádné aplikace nečekají na schválení", + "Vault overview": "Přehled trezoru", + "Your secrets, folders and applications at a glance": "Vaše tajemství, složky a aplikace na první pohled", + "Rotation due": "Nutná rotace", "Refresh": "Obnovit", "No secrets found": "Nebyla nalezena žádná tajemství", "Add your first secret using the button above": "Přidejte své první tajemství tlačítkem výše", diff --git a/l10n/cs.json b/l10n/cs.json index 82d8409c..2a1a56cd 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Položka", "No recent activity": "Žádná nedávná aktivita", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Zobrazit vše", + "Applications awaiting approval": "Aplikace čekající na schválení", + "No applications awaiting approval": "Žádné aplikace nečekají na schválení", + "Vault overview": "Přehled trezoru", + "Your secrets, folders and applications at a glance": "Vaše tajemství, složky a aplikace na první pohled", + "Rotation due": "Nutná rotace", "Refresh": "Obnovit", "No secrets found": "Nebyla nalezena žádná tajemství", "Add your first secret using the button above": "Přidejte své první tajemství tlačítkem výše", diff --git a/l10n/da.js b/l10n/da.js index d099f5af..8ce60bf6 100644 --- a/l10n/da.js +++ b/l10n/da.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Ingen nylig aktivitet", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Vis alle", + "Applications awaiting approval": "Applikationer, der afventer godkendelse", + "No applications awaiting approval": "Ingen applikationer afventer godkendelse", + "Vault overview": "Oversigt over boksen", + "Your secrets, folders and applications at a glance": "Dine hemmeligheder, mapper og applikationer med ét blik", + "Rotation due": "Rotation forfalden", "Refresh": "Opdater", "No secrets found": "Ingen hemmeligheder fundet", "Add your first secret using the button above": "Tilføj din første hemmelighed med knappen ovenfor", diff --git a/l10n/da.json b/l10n/da.json index c2a34d04..e3d9280e 100644 --- a/l10n/da.json +++ b/l10n/da.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Ingen nylig aktivitet", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Vis alle", + "Applications awaiting approval": "Applikationer, der afventer godkendelse", + "No applications awaiting approval": "Ingen applikationer afventer godkendelse", + "Vault overview": "Oversigt over boksen", + "Your secrets, folders and applications at a glance": "Dine hemmeligheder, mapper og applikationer med ét blik", + "Rotation due": "Rotation forfalden", "Refresh": "Opdater", "No secrets found": "Ingen hemmeligheder fundet", "Add your first secret using the button above": "Tilføj din første hemmelighed med knappen ovenfor", diff --git a/l10n/el.js b/l10n/el.js index 14242d6a..cc460e5a 100644 --- a/l10n/el.js +++ b/l10n/el.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Στοιχείο", "No recent activity": "Καμία πρόσφατη δραστηριότητα", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Προβολή όλων", + "Applications awaiting approval": "Εφαρμογές που αναμένουν έγκριση", + "No applications awaiting approval": "Καμία εφαρμογή δεν αναμένει έγκριση", + "Vault overview": "Επισκόπηση θησαυροφυλακίου", + "Your secrets, folders and applications at a glance": "Τα μυστικά, οι φάκελοι και οι εφαρμογές σας με μια ματιά", + "Rotation due": "Απαιτείται εναλλαγή", "Refresh": "Ανανέωση", "No secrets found": "Δεν βρέθηκαν μυστικά", "Add your first secret using the button above": "Προσθέστε το πρώτο σας μυστικό με το παραπάνω κουμπί", diff --git a/l10n/el.json b/l10n/el.json index 896ee3ea..8f3b6e8e 100644 --- a/l10n/el.json +++ b/l10n/el.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Στοιχείο", "No recent activity": "Καμία πρόσφατη δραστηριότητα", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Προβολή όλων", + "Applications awaiting approval": "Εφαρμογές που αναμένουν έγκριση", + "No applications awaiting approval": "Καμία εφαρμογή δεν αναμένει έγκριση", + "Vault overview": "Επισκόπηση θησαυροφυλακίου", + "Your secrets, folders and applications at a glance": "Τα μυστικά, οι φάκελοι και οι εφαρμογές σας με μια ματιά", + "Rotation due": "Απαιτείται εναλλαγή", "Refresh": "Ανανέωση", "No secrets found": "Δεν βρέθηκαν μυστικά", "Add your first secret using the button above": "Προσθέστε το πρώτο σας μυστικό με το παραπάνω κουμπί", diff --git a/l10n/es.js b/l10n/es.js index 5d245f16..64760b10 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -433,9 +433,9 @@ OC.L10N.register( "View all": "Ver todo", "Applications awaiting approval": "Aplicaciones pendientes de aprobación", "No applications awaiting approval": "No hay aplicaciones pendientes de aprobación", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "Vault overview": "Resumen de la bóveda", + "Your secrets, folders and applications at a glance": "Tus secretos, carpetas y aplicaciones de un vistazo", + "Rotation due": "Rotación pendiente", "Refresh": "Actualizar", "No secrets found": "No se encontraron secretos", "Add your first secret using the button above": "Añada su primer secreto con el botón de arriba", diff --git a/l10n/es.json b/l10n/es.json index 46d703df..d97e91c1 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -432,9 +432,9 @@ "View all": "Ver todo", "Applications awaiting approval": "Aplicaciones pendientes de aprobación", "No applications awaiting approval": "No hay aplicaciones pendientes de aprobación", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "Vault overview": "Resumen de la bóveda", + "Your secrets, folders and applications at a glance": "Tus secretos, carpetas y aplicaciones de un vistazo", + "Rotation due": "Rotación pendiente", "Refresh": "Actualizar", "No secrets found": "No se encontraron secretos", "Add your first secret using the button above": "Añada su primer secreto con el botón de arriba", diff --git a/l10n/et.js b/l10n/et.js index 714fec6e..122be833 100644 --- a/l10n/et.js +++ b/l10n/et.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Üksus", "No recent activity": "Hiljutine tegevus puudub", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Vaata kõiki", + "Applications awaiting approval": "Heakskiitu ootavad rakendused", + "No applications awaiting approval": "Heakskiitu ootavaid rakendusi pole", + "Vault overview": "Seifi ülevaade", + "Your secrets, folders and applications at a glance": "Sinu saladused, kaustad ja rakendused ühe pilguga", + "Rotation due": "Rotatsioon vajalik", "Refresh": "Värskenda", "No secrets found": "Ühtegi saladust ei leitud", "Add your first secret using the button above": "Lisa oma esimene saladus ülaloleva nupuga", diff --git a/l10n/et.json b/l10n/et.json index 06ef7a4e..88020e7d 100644 --- a/l10n/et.json +++ b/l10n/et.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Üksus", "No recent activity": "Hiljutine tegevus puudub", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Vaata kõiki", + "Applications awaiting approval": "Heakskiitu ootavad rakendused", + "No applications awaiting approval": "Heakskiitu ootavaid rakendusi pole", + "Vault overview": "Seifi ülevaade", + "Your secrets, folders and applications at a glance": "Sinu saladused, kaustad ja rakendused ühe pilguga", + "Rotation due": "Rotatsioon vajalik", "Refresh": "Värskenda", "No secrets found": "Ühtegi saladust ei leitud", "Add your first secret using the button above": "Lisa oma esimene saladus ülaloleva nupuga", diff --git a/l10n/fi.js b/l10n/fi.js index e33c0bc6..09839c64 100644 --- a/l10n/fi.js +++ b/l10n/fi.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Kohde", "No recent activity": "Ei viimeaikaista toimintaa", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Näytä kaikki", + "Applications awaiting approval": "Hyväksyntää odottavat sovellukset", + "No applications awaiting approval": "Ei hyväksyntää odottavia sovelluksia", + "Vault overview": "Holvin yleiskatsaus", + "Your secrets, folders and applications at a glance": "Salaisuutesi, kansiosi ja sovelluksesi yhdellä silmäyksellä", + "Rotation due": "Rotaatio erääntynyt", "Refresh": "Päivitä", "No secrets found": "Salaisuuksia ei löytynyt", "Add your first secret using the button above": "Lisää ensimmäinen salaisuutesi yllä olevalla painikkeella", diff --git a/l10n/fi.json b/l10n/fi.json index 86274050..87912b8e 100644 --- a/l10n/fi.json +++ b/l10n/fi.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Kohde", "No recent activity": "Ei viimeaikaista toimintaa", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Näytä kaikki", + "Applications awaiting approval": "Hyväksyntää odottavat sovellukset", + "No applications awaiting approval": "Ei hyväksyntää odottavia sovelluksia", + "Vault overview": "Holvin yleiskatsaus", + "Your secrets, folders and applications at a glance": "Salaisuutesi, kansiosi ja sovelluksesi yhdellä silmäyksellä", + "Rotation due": "Rotaatio erääntynyt", "Refresh": "Päivitä", "No secrets found": "Salaisuuksia ei löytynyt", "Add your first secret using the button above": "Lisää ensimmäinen salaisuutesi yllä olevalla painikkeella", diff --git a/l10n/ga.js b/l10n/ga.js index 5dd93c55..e1846d31 100644 --- a/l10n/ga.js +++ b/l10n/ga.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Mír", "No recent activity": "Níl aon ghníomhaíocht le déanaí", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Féach ar gach ceann", + "Applications awaiting approval": "Iarratais ag fanacht le ceadú", + "No applications awaiting approval": "Níl aon iarratais ag fanacht le ceadú", + "Vault overview": "Forbhreathnú ar an vailt", + "Your secrets, folders and applications at a glance": "Do rúin, d'fhillteáin agus d'iarratais ar aon amharc amháin", + "Rotation due": "Rothlú dlite", "Refresh": "Athnuaigh", "No secrets found": "Níor aimsíodh aon rúin", "Add your first secret using the button above": "Cuir do chéad rún leis an gcnaipe thuas", diff --git a/l10n/ga.json b/l10n/ga.json index f86cd619..8ec9e607 100644 --- a/l10n/ga.json +++ b/l10n/ga.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Mír", "No recent activity": "Níl aon ghníomhaíocht le déanaí", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Féach ar gach ceann", + "Applications awaiting approval": "Iarratais ag fanacht le ceadú", + "No applications awaiting approval": "Níl aon iarratais ag fanacht le ceadú", + "Vault overview": "Forbhreathnú ar an vailt", + "Your secrets, folders and applications at a glance": "Do rúin, d'fhillteáin agus d'iarratais ar aon amharc amháin", + "Rotation due": "Rothlú dlite", "Refresh": "Athnuaigh", "No secrets found": "Níor aimsíodh aon rúin", "Add your first secret using the button above": "Cuir do chéad rún leis an gcnaipe thuas", diff --git a/l10n/hr.js b/l10n/hr.js index cfecb20d..7832e5fb 100644 --- a/l10n/hr.js +++ b/l10n/hr.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Stavka", "No recent activity": "Nema nedavnih aktivnosti", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Prikaži sve", + "Applications awaiting approval": "Aplikacije koje čekaju odobrenje", + "No applications awaiting approval": "Nema aplikacija koje čekaju odobrenje", + "Vault overview": "Pregled trezora", + "Your secrets, folders and applications at a glance": "Vaše tajne, mape i aplikacije na prvi pogled", + "Rotation due": "Potrebna rotacija", "Refresh": "Osvježi", "No secrets found": "Nije pronađena nijedna tajna", "Add your first secret using the button above": "Dodajte svoju prvu tajnu pomoću gumba iznad", diff --git a/l10n/hr.json b/l10n/hr.json index 1889769f..6c6946e2 100644 --- a/l10n/hr.json +++ b/l10n/hr.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Stavka", "No recent activity": "Nema nedavnih aktivnosti", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Prikaži sve", + "Applications awaiting approval": "Aplikacije koje čekaju odobrenje", + "No applications awaiting approval": "Nema aplikacija koje čekaju odobrenje", + "Vault overview": "Pregled trezora", + "Your secrets, folders and applications at a glance": "Vaše tajne, mape i aplikacije na prvi pogled", + "Rotation due": "Potrebna rotacija", "Refresh": "Osvježi", "No secrets found": "Nije pronađena nijedna tajna", "Add your first secret using the button above": "Dodajte svoju prvu tajnu pomoću gumba iznad", diff --git a/l10n/hu.js b/l10n/hu.js index 7c8c9917..a06be87a 100644 --- a/l10n/hu.js +++ b/l10n/hu.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Elem", "No recent activity": "Nincs friss tevékenység", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Összes megtekintése", + "Applications awaiting approval": "Jóváhagyásra váró alkalmazások", + "No applications awaiting approval": "Nincs jóváhagyásra váró alkalmazás", + "Vault overview": "Tároló áttekintése", + "Your secrets, folders and applications at a glance": "Titkai, mappái és alkalmazásai egy pillantásra", + "Rotation due": "Rotáció esedékes", "Refresh": "Frissítés", "No secrets found": "Nem található titok", "Add your first secret using the button above": "Adja hozzá első titkát a fenti gombbal", diff --git a/l10n/hu.json b/l10n/hu.json index 98951045..3e770d19 100644 --- a/l10n/hu.json +++ b/l10n/hu.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Elem", "No recent activity": "Nincs friss tevékenység", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Összes megtekintése", + "Applications awaiting approval": "Jóváhagyásra váró alkalmazások", + "No applications awaiting approval": "Nincs jóváhagyásra váró alkalmazás", + "Vault overview": "Tároló áttekintése", + "Your secrets, folders and applications at a glance": "Titkai, mappái és alkalmazásai egy pillantásra", + "Rotation due": "Rotáció esedékes", "Refresh": "Frissítés", "No secrets found": "Nem található titok", "Add your first secret using the button above": "Adja hozzá első titkát a fenti gombbal", diff --git a/l10n/is.js b/l10n/is.js index e03f86c7..7b8436fa 100644 --- a/l10n/is.js +++ b/l10n/is.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Atriði", "No recent activity": "Engin nýleg virkni", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Skoða allt", + "Applications awaiting approval": "Forrit sem bíða samþykktar", + "No applications awaiting approval": "Engin forrit bíða samþykktar", + "Vault overview": "Yfirlit hvelfingar", + "Your secrets, folders and applications at a glance": "Leyndarmálin þín, möppur og forrit í fljótu bragði", + "Rotation due": "Endurnýjun tímabær", "Refresh": "Uppfæra", "No secrets found": "Engin leyndarmál fundust", "Add your first secret using the button above": "Bættu við fyrsta leyndarmálinu þínu með hnappnum að ofan", diff --git a/l10n/is.json b/l10n/is.json index cbb0c634..3fac9012 100644 --- a/l10n/is.json +++ b/l10n/is.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Atriði", "No recent activity": "Engin nýleg virkni", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Skoða allt", + "Applications awaiting approval": "Forrit sem bíða samþykktar", + "No applications awaiting approval": "Engin forrit bíða samþykktar", + "Vault overview": "Yfirlit hvelfingar", + "Your secrets, folders and applications at a glance": "Leyndarmálin þín, möppur og forrit í fljótu bragði", + "Rotation due": "Endurnýjun tímabær", "Refresh": "Uppfæra", "No secrets found": "Engin leyndarmál fundust", "Add your first secret using the button above": "Bættu við fyrsta leyndarmálinu þínu með hnappnum að ofan", diff --git a/l10n/it.js b/l10n/it.js index 5c4cf1f2..b3664e93 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -433,9 +433,9 @@ OC.L10N.register( "View all": "Vedi tutti", "Applications awaiting approval": "Applicazioni in attesa di approvazione", "No applications awaiting approval": "Nessuna applicazione in attesa di approvazione", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "Vault overview": "Panoramica della cassaforte", + "Your secrets, folders and applications at a glance": "I tuoi segreti, cartelle e applicazioni a colpo d'occhio", + "Rotation due": "Rotazione in scadenza", "Refresh": "Aggiorna", "No secrets found": "Nessun segreto trovato", "Add your first secret using the button above": "Aggiungi il tuo primo segreto usando il pulsante qui sopra", diff --git a/l10n/it.json b/l10n/it.json index 1e29f52a..cad8b87c 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -432,9 +432,9 @@ "View all": "Vedi tutti", "Applications awaiting approval": "Applicazioni in attesa di approvazione", "No applications awaiting approval": "Nessuna applicazione in attesa di approvazione", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "Vault overview": "Panoramica della cassaforte", + "Your secrets, folders and applications at a glance": "I tuoi segreti, cartelle e applicazioni a colpo d'occhio", + "Rotation due": "Rotazione in scadenza", "Refresh": "Aggiorna", "No secrets found": "Nessun segreto trovato", "Add your first secret using the button above": "Aggiungi il tuo primo segreto usando il pulsante qui sopra", diff --git a/l10n/lb.js b/l10n/lb.js index d1898b10..f284723f 100644 --- a/l10n/lb.js +++ b/l10n/lb.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Keng rezent Aktivitéit", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Alles weisen", + "Applications awaiting approval": "Uwendungen, déi op Genehmegung waarden", + "No applications awaiting approval": "Keng Uwendungen waarden op Genehmegung", + "Vault overview": "Iwwerbléck iwwer den Tresor", + "Your secrets, folders and applications at a glance": "Är Geheimnisser, Dossieren an Uwendungen op ee Bléck", + "Rotation due": "Rotatioun fälleg", "Refresh": "Aktualiséieren", "No secrets found": "Keng Geheimnisser fonnt", "Add your first secret using the button above": "Füügt Äert éischt Geheimnis mam Knäppchen uewen dobäi", diff --git a/l10n/lb.json b/l10n/lb.json index a4aa1905..f6af2900 100644 --- a/l10n/lb.json +++ b/l10n/lb.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Keng rezent Aktivitéit", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Alles weisen", + "Applications awaiting approval": "Uwendungen, déi op Genehmegung waarden", + "No applications awaiting approval": "Keng Uwendungen waarden op Genehmegung", + "Vault overview": "Iwwerbléck iwwer den Tresor", + "Your secrets, folders and applications at a glance": "Är Geheimnisser, Dossieren an Uwendungen op ee Bléck", + "Rotation due": "Rotatioun fälleg", "Refresh": "Aktualiséieren", "No secrets found": "Keng Geheimnisser fonnt", "Add your first secret using the button above": "Füügt Äert éischt Geheimnis mam Knäppchen uewen dobäi", diff --git a/l10n/lt.js b/l10n/lt.js index 48fdc3a7..3a3773f2 100644 --- a/l10n/lt.js +++ b/l10n/lt.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Elementas", "No recent activity": "Nėra naujausios veiklos", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Rodyti viską", + "Applications awaiting approval": "Patvirtinimo laukiančios programėlės", + "No applications awaiting approval": "Nėra patvirtinimo laukiančių programėlių", + "Vault overview": "Saugyklos apžvalga", + "Your secrets, folders and applications at a glance": "Jūsų paslaptys, aplankai ir programėlės iš pirmo žvilgsnio", + "Rotation due": "Reikia rotacijos", "Refresh": "Atnaujinti", "No secrets found": "Paslapčių nerasta", "Add your first secret using the button above": "Pridėkite savo pirmąją paslaptį mygtuku viršuje", diff --git a/l10n/lt.json b/l10n/lt.json index 59a0561e..23ca02a7 100644 --- a/l10n/lt.json +++ b/l10n/lt.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Elementas", "No recent activity": "Nėra naujausios veiklos", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Rodyti viską", + "Applications awaiting approval": "Patvirtinimo laukiančios programėlės", + "No applications awaiting approval": "Nėra patvirtinimo laukiančių programėlių", + "Vault overview": "Saugyklos apžvalga", + "Your secrets, folders and applications at a glance": "Jūsų paslaptys, aplankai ir programėlės iš pirmo žvilgsnio", + "Rotation due": "Reikia rotacijos", "Refresh": "Atnaujinti", "No secrets found": "Paslapčių nerasta", "Add your first secret using the button above": "Pridėkite savo pirmąją paslaptį mygtuku viršuje", diff --git a/l10n/lv.js b/l10n/lv.js index dea5d9e7..8c5f87de 100644 --- a/l10n/lv.js +++ b/l10n/lv.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Vienums", "No recent activity": "Nav nesenu darbību", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Skatīt visu", + "Applications awaiting approval": "Lietojumprogrammas, kas gaida apstiprinājumu", + "No applications awaiting approval": "Nav lietojumprogrammu, kas gaida apstiprinājumu", + "Vault overview": "Glabātuves pārskats", + "Your secrets, folders and applications at a glance": "Jūsu noslēpumi, mapes un lietojumprogrammas vienā skatienā", + "Rotation due": "Nepieciešama rotācija", "Refresh": "Atsvaidzināt", "No secrets found": "Noslēpumi nav atrasti", "Add your first secret using the button above": "Pievienojiet savu pirmo noslēpumu ar augšējo pogu", diff --git a/l10n/lv.json b/l10n/lv.json index e2d29c67..f35c6f5c 100644 --- a/l10n/lv.json +++ b/l10n/lv.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Vienums", "No recent activity": "Nav nesenu darbību", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Skatīt visu", + "Applications awaiting approval": "Lietojumprogrammas, kas gaida apstiprinājumu", + "No applications awaiting approval": "Nav lietojumprogrammu, kas gaida apstiprinājumu", + "Vault overview": "Glabātuves pārskats", + "Your secrets, folders and applications at a glance": "Jūsu noslēpumi, mapes un lietojumprogrammas vienā skatienā", + "Rotation due": "Nepieciešama rotācija", "Refresh": "Atsvaidzināt", "No secrets found": "Noslēpumi nav atrasti", "Add your first secret using the button above": "Pievienojiet savu pirmo noslēpumu ar augšējo pogu", diff --git a/l10n/mk.js b/l10n/mk.js index e32efd25..99303bc9 100644 --- a/l10n/mk.js +++ b/l10n/mk.js @@ -66,7 +66,7 @@ OC.L10N.register( "Copy link": "Kopiraj poveznicu", "Copy password": "Kopiraj lozinku", "This password is shown only once. Copy it now.": "Ova lozinka se prikazuje samo jedanput. Kopirajte je sada.", - "Token": "Token", + "Token": "Токен", "Usage": "Korištenje", "Created": "Stvoreno", "Expires": "Ističe", @@ -176,7 +176,7 @@ OC.L10N.register( "Setting up…": "Postavljanje…", "Setup failed": "Postavljanje nije uspjelo", "Start key rotation": "Pokreni rotaciju ključeva", - "Status": "Status", + "Status": "Статус", "Status of the private Certificate Authority": "Status privatnog tijela za certifikate", "Strong": "Jaka", "Strong (score 3)": "Jaka (rezultat 3)", @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Ставка", "No recent activity": "Нема неодамнешна активност", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Прикажи ги сите", + "Applications awaiting approval": "Апликации што чекаат одобрување", + "No applications awaiting approval": "Нема апликации што чекаат одобрување", + "Vault overview": "Преглед на трезорот", + "Your secrets, folders and applications at a glance": "Вашите тајни, папки и апликации на прв поглед", + "Rotation due": "Потребна ротација", "Refresh": "Освежи", "No secrets found": "Не се пронајдени тајни", "Add your first secret using the button above": "Додајте ја вашата прва тајна со копчето погоре", diff --git a/l10n/mk.json b/l10n/mk.json index 554e4a63..db8b98ed 100644 --- a/l10n/mk.json +++ b/l10n/mk.json @@ -65,7 +65,7 @@ "Copy link": "Kopiraj poveznicu", "Copy password": "Kopiraj lozinku", "This password is shown only once. Copy it now.": "Ova lozinka se prikazuje samo jedanput. Kopirajte je sada.", - "Token": "Token", + "Token": "Токен", "Usage": "Korištenje", "Created": "Stvoreno", "Expires": "Ističe", @@ -175,7 +175,7 @@ "Setting up…": "Postavljanje…", "Setup failed": "Postavljanje nije uspjelo", "Start key rotation": "Pokreni rotaciju ključeva", - "Status": "Status", + "Status": "Статус", "Status of the private Certificate Authority": "Status privatnog tijela za certifikate", "Strong": "Jaka", "Strong (score 3)": "Jaka (rezultat 3)", @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Ставка", "No recent activity": "Нема неодамнешна активност", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Прикажи ги сите", + "Applications awaiting approval": "Апликации што чекаат одобрување", + "No applications awaiting approval": "Нема апликации што чекаат одобрување", + "Vault overview": "Преглед на трезорот", + "Your secrets, folders and applications at a glance": "Вашите тајни, папки и апликации на прв поглед", + "Rotation due": "Потребна ротација", "Refresh": "Освежи", "No secrets found": "Не се пронајдени тајни", "Add your first secret using the button above": "Додајте ја вашата прва тајна со копчето погоре", diff --git a/l10n/mt.js b/l10n/mt.js index 4ecc6ea4..0005fa4c 100644 --- a/l10n/mt.js +++ b/l10n/mt.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "L-ebda attività riċenti", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Ara kollox", + "Applications awaiting approval": "Applikazzjonijiet jistennew approvazzjoni", + "No applications awaiting approval": "L-ebda applikazzjoni ma tistenna approvazzjoni", + "Vault overview": "Ħarsa ġenerali lejn il-vault", + "Your secrets, folders and applications at a glance": "Is-sigrieti, il-folders u l-applikazzjonijiet tiegħek f'daqqa t'għajn", + "Rotation due": "Rotazzjoni dovuta", "Refresh": "Aġġorna", "No secrets found": "Ma nstabu l-ebda sigrieti", "Add your first secret using the button above": "Żid l-ewwel sigriet tiegħek bil-buttuna ta’ fuq", diff --git a/l10n/mt.json b/l10n/mt.json index 3d3c9678..c7b80e81 100644 --- a/l10n/mt.json +++ b/l10n/mt.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "L-ebda attività riċenti", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Ara kollox", + "Applications awaiting approval": "Applikazzjonijiet jistennew approvazzjoni", + "No applications awaiting approval": "L-ebda applikazzjoni ma tistenna approvazzjoni", + "Vault overview": "Ħarsa ġenerali lejn il-vault", + "Your secrets, folders and applications at a glance": "Is-sigrieti, il-folders u l-applikazzjonijiet tiegħek f'daqqa t'għajn", + "Rotation due": "Rotazzjoni dovuta", "Refresh": "Aġġorna", "No secrets found": "Ma nstabu l-ebda sigrieti", "Add your first secret using the button above": "Żid l-ewwel sigriet tiegħek bil-buttuna ta’ fuq", diff --git a/l10n/nb.js b/l10n/nb.js index 48342924..eb599cff 100644 --- a/l10n/nb.js +++ b/l10n/nb.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Ingen nylig aktivitet", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Vis alle", + "Applications awaiting approval": "Programmer som venter på godkjenning", + "No applications awaiting approval": "Ingen programmer venter på godkjenning", + "Vault overview": "Hvelvoversikt", + "Your secrets, folders and applications at a glance": "Dine hemmeligheter, mapper og programmer på et øyeblikk", + "Rotation due": "Rotasjon forfalt", "Refresh": "Oppdater", "No secrets found": "Ingen hemmeligheter funnet", "Add your first secret using the button above": "Legg til din første hemmelighet med knappen ovenfor", diff --git a/l10n/nb.json b/l10n/nb.json index 62897475..fe1ea3f9 100644 --- a/l10n/nb.json +++ b/l10n/nb.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Ingen nylig aktivitet", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Vis alle", + "Applications awaiting approval": "Programmer som venter på godkjenning", + "No applications awaiting approval": "Ingen programmer venter på godkjenning", + "Vault overview": "Hvelvoversikt", + "Your secrets, folders and applications at a glance": "Dine hemmeligheter, mapper og programmer på et øyeblikk", + "Rotation due": "Rotasjon forfalt", "Refresh": "Oppdater", "No secrets found": "Ingen hemmeligheter funnet", "Add your first secret using the button above": "Legg til din første hemmelighet med knappen ovenfor", diff --git a/l10n/pl.js b/l10n/pl.js index 1293b98a..eda31c62 100644 --- a/l10n/pl.js +++ b/l10n/pl.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Brak ostatniej aktywności", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Zobacz wszystkie", + "Applications awaiting approval": "Aplikacje oczekujące na zatwierdzenie", + "No applications awaiting approval": "Brak aplikacji oczekujących na zatwierdzenie", + "Vault overview": "Przegląd skarbca", + "Your secrets, folders and applications at a glance": "Twoje sekrety, foldery i aplikacje w skrócie", + "Rotation due": "Wymagana rotacja", "Refresh": "Odśwież", "No secrets found": "Nie znaleziono sekretów", "Add your first secret using the button above": "Dodaj swój pierwszy sekret przyciskiem powyżej", diff --git a/l10n/pl.json b/l10n/pl.json index 53f84cf0..17d7210e 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Brak ostatniej aktywności", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Zobacz wszystkie", + "Applications awaiting approval": "Aplikacje oczekujące na zatwierdzenie", + "No applications awaiting approval": "Brak aplikacji oczekujących na zatwierdzenie", + "Vault overview": "Przegląd skarbca", + "Your secrets, folders and applications at a glance": "Twoje sekrety, foldery i aplikacje w skrócie", + "Rotation due": "Wymagana rotacja", "Refresh": "Odśwież", "No secrets found": "Nie znaleziono sekretów", "Add your first secret using the button above": "Dodaj swój pierwszy sekret przyciskiem powyżej", diff --git a/l10n/pt.js b/l10n/pt.js index cb14c2fe..e55c7cdf 100644 --- a/l10n/pt.js +++ b/l10n/pt.js @@ -252,7 +252,7 @@ OC.L10N.register( "Internal (Nextcloud app)": "Interno (aplicação Nextcloud)", "Last modified": "Última modificação", "Layout": "Esquema", - "Link": "Link", + "Link": "Ligação", "Link created. Copy the link and password now — the password is shown only once.": "Link criado. Copie o link e a palavra-passe agora — a palavra-passe é mostrada apenas uma vez.", "List": "Lista", "Loading dashboard…": "A carregar painel…", @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Item", "No recent activity": "Sem atividade recente", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Ver tudo", + "Applications awaiting approval": "Aplicações a aguardar aprovação", + "No applications awaiting approval": "Nenhuma aplicação a aguardar aprovação", + "Vault overview": "Visão geral do cofre", + "Your secrets, folders and applications at a glance": "Os seus segredos, pastas e aplicações num relance", + "Rotation due": "Rotação pendente", "Refresh": "Atualizar", "No secrets found": "Nenhum segredo encontrado", "Add your first secret using the button above": "Adicione o seu primeiro segredo com o botão acima", diff --git a/l10n/pt.json b/l10n/pt.json index 1643693c..3c69d2a1 100644 --- a/l10n/pt.json +++ b/l10n/pt.json @@ -251,7 +251,7 @@ "Internal (Nextcloud app)": "Interno (aplicação Nextcloud)", "Last modified": "Última modificação", "Layout": "Esquema", - "Link": "Link", + "Link": "Ligação", "Link created. Copy the link and password now — the password is shown only once.": "Link criado. Copie o link e a palavra-passe agora — a palavra-passe é mostrada apenas uma vez.", "List": "Lista", "Loading dashboard…": "A carregar painel…", @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Item", "No recent activity": "Sem atividade recente", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Ver tudo", + "Applications awaiting approval": "Aplicações a aguardar aprovação", + "No applications awaiting approval": "Nenhuma aplicação a aguardar aprovação", + "Vault overview": "Visão geral do cofre", + "Your secrets, folders and applications at a glance": "Os seus segredos, pastas e aplicações num relance", + "Rotation due": "Rotação pendente", "Refresh": "Atualizar", "No secrets found": "Nenhum segredo encontrado", "Add your first secret using the button above": "Adicione o seu primeiro segredo com o botão acima", diff --git a/l10n/rm.js b/l10n/rm.js index 11d51b3b..a1f86f66 100644 --- a/l10n/rm.js +++ b/l10n/rm.js @@ -252,7 +252,7 @@ OC.L10N.register( "Internal (Nextcloud app)": "Interno (app Nextcloud)", "Last modified": "Ultima modifica", "Layout": "Layout", - "Link": "Link", + "Link": "Colliaziun", "Link created. Copy the link and password now — the password is shown only once.": "Link creato. Copia il link e la password ora — la password viene mostrata solo una volta.", "List": "Elenco", "Loading dashboard…": "Caricamento dashboard…", @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Nagina activitad recenta", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Mussar tut", + "Applications awaiting approval": "Applicaziuns en spetga da l'approvaziun", + "No applications awaiting approval": "Naginas applicaziuns en spetga da l'approvaziun", + "Vault overview": "Survista da la cassaforte", + "Your secrets, folders and applications at a glance": "Voss secrets, ordinaturs ed applicaziuns en in'egliada", + "Rotation due": "Rotaziun necessaria", "Refresh": "Actualisar", "No secrets found": "Nagins secrets chattads", "Add your first secret using the button above": "Agiunschè voss emprim secret cun il buttun survart", diff --git a/l10n/rm.json b/l10n/rm.json index 10fcd966..40512893 100644 --- a/l10n/rm.json +++ b/l10n/rm.json @@ -251,7 +251,7 @@ "Internal (Nextcloud app)": "Interno (app Nextcloud)", "Last modified": "Ultima modifica", "Layout": "Layout", - "Link": "Link", + "Link": "Colliaziun", "Link created. Copy the link and password now — the password is shown only once.": "Link creato. Copia il link e la password ora — la password viene mostrata solo una volta.", "List": "Elenco", "Loading dashboard…": "Caricamento dashboard…", @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Nagina activitad recenta", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Mussar tut", + "Applications awaiting approval": "Applicaziuns en spetga da l'approvaziun", + "No applications awaiting approval": "Naginas applicaziuns en spetga da l'approvaziun", + "Vault overview": "Survista da la cassaforte", + "Your secrets, folders and applications at a glance": "Voss secrets, ordinaturs ed applicaziuns en in'egliada", + "Rotation due": "Rotaziun necessaria", "Refresh": "Actualisar", "No secrets found": "Nagins secrets chattads", "Add your first secret using the button above": "Agiunschè voss emprim secret cun il buttun survart", diff --git a/l10n/ro.js b/l10n/ro.js index d63e61f5..5edef1b1 100644 --- a/l10n/ro.js +++ b/l10n/ro.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Nicio activitate recentă", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Vezi toate", + "Applications awaiting approval": "Aplicații în așteptarea aprobării", + "No applications awaiting approval": "Nicio aplicație în așteptarea aprobării", + "Vault overview": "Prezentare generală a seifului", + "Your secrets, folders and applications at a glance": "Secretele, dosarele și aplicațiile tale dintr-o privire", + "Rotation due": "Rotație scadentă", "Refresh": "Reîmprospătare", "No secrets found": "Nu s-au găsit secrete", "Add your first secret using the button above": "Adăugați primul secret cu butonul de mai sus", diff --git a/l10n/ro.json b/l10n/ro.json index 22e0f5c2..10cb8d77 100644 --- a/l10n/ro.json +++ b/l10n/ro.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Nicio activitate recentă", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Vezi toate", + "Applications awaiting approval": "Aplicații în așteptarea aprobării", + "No applications awaiting approval": "Nicio aplicație în așteptarea aprobării", + "Vault overview": "Prezentare generală a seifului", + "Your secrets, folders and applications at a glance": "Secretele, dosarele și aplicațiile tale dintr-o privire", + "Rotation due": "Rotație scadentă", "Refresh": "Reîmprospătare", "No secrets found": "Nu s-au găsit secrete", "Add your first secret using the button above": "Adăugați primul secret cu butonul de mai sus", diff --git a/l10n/ru.js b/l10n/ru.js index ac439744..4222ec03 100644 --- a/l10n/ru.js +++ b/l10n/ru.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Элемент", "No recent activity": "Нет недавней активности", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Показать все", + "Applications awaiting approval": "Приложения, ожидающие одобрения", + "No applications awaiting approval": "Нет приложений, ожидающих одобрения", + "Vault overview": "Обзор хранилища", + "Your secrets, folders and applications at a glance": "Ваши секреты, папки и приложения с одного взгляда", + "Rotation due": "Требуется ротация", "Refresh": "Обновить", "No secrets found": "Секреты не найдены", "Add your first secret using the button above": "Добавьте свой первый секрет кнопкой выше", diff --git a/l10n/ru.json b/l10n/ru.json index a8fef08e..4a972cb1 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Элемент", "No recent activity": "Нет недавней активности", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Показать все", + "Applications awaiting approval": "Приложения, ожидающие одобрения", + "No applications awaiting approval": "Нет приложений, ожидающих одобрения", + "Vault overview": "Обзор хранилища", + "Your secrets, folders and applications at a glance": "Ваши секреты, папки и приложения с одного взгляда", + "Rotation due": "Требуется ротация", "Refresh": "Обновить", "No secrets found": "Секреты не найдены", "Add your first secret using the button above": "Добавьте свой первый секрет кнопкой выше", diff --git a/l10n/sk.js b/l10n/sk.js index c510fe81..485219fd 100644 --- a/l10n/sk.js +++ b/l10n/sk.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Položka", "No recent activity": "Žiadna nedávna aktivita", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Zobraziť všetko", + "Applications awaiting approval": "Aplikácie čakajúce na schválenie", + "No applications awaiting approval": "Žiadne aplikácie nečakajú na schválenie", + "Vault overview": "Prehľad trezora", + "Your secrets, folders and applications at a glance": "Vaše tajomstvá, priečinky a aplikácie na prvý pohľad", + "Rotation due": "Potrebná rotácia", "Refresh": "Obnoviť", "No secrets found": "Nenašli sa žiadne tajomstvá", "Add your first secret using the button above": "Pridajte svoje prvé tajomstvo tlačidlom vyššie", diff --git a/l10n/sk.json b/l10n/sk.json index 33bd7606..4f056d5f 100644 --- a/l10n/sk.json +++ b/l10n/sk.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Položka", "No recent activity": "Žiadna nedávna aktivita", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Zobraziť všetko", + "Applications awaiting approval": "Aplikácie čakajúce na schválenie", + "No applications awaiting approval": "Žiadne aplikácie nečakajú na schválenie", + "Vault overview": "Prehľad trezora", + "Your secrets, folders and applications at a glance": "Vaše tajomstvá, priečinky a aplikácie na prvý pohľad", + "Rotation due": "Potrebná rotácia", "Refresh": "Obnoviť", "No secrets found": "Nenašli sa žiadne tajomstvá", "Add your first secret using the button above": "Pridajte svoje prvé tajomstvo tlačidlom vyššie", diff --git a/l10n/sl.js b/l10n/sl.js index 2ef82247..23a0ce41 100644 --- a/l10n/sl.js +++ b/l10n/sl.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Ni nedavne dejavnosti", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Prikaži vse", + "Applications awaiting approval": "Aplikacije, ki čakajo na odobritev", + "No applications awaiting approval": "Ni aplikacij, ki čakajo na odobritev", + "Vault overview": "Pregled trezorja", + "Your secrets, folders and applications at a glance": "Vaše skrivnosti, mape in aplikacije na prvi pogled", + "Rotation due": "Potrebna rotacija", "Refresh": "Osveži", "No secrets found": "Ni najdenih skrivnosti", "Add your first secret using the button above": "Dodajte svojo prvo skrivnost z gumbom zgoraj", diff --git a/l10n/sl.json b/l10n/sl.json index 802ac122..be6bb1fd 100644 --- a/l10n/sl.json +++ b/l10n/sl.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Element", "No recent activity": "Ni nedavne dejavnosti", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Prikaži vse", + "Applications awaiting approval": "Aplikacije, ki čakajo na odobritev", + "No applications awaiting approval": "Ni aplikacij, ki čakajo na odobritev", + "Vault overview": "Pregled trezorja", + "Your secrets, folders and applications at a glance": "Vaše skrivnosti, mape in aplikacije na prvi pogled", + "Rotation due": "Potrebna rotacija", "Refresh": "Osveži", "No secrets found": "Ni najdenih skrivnosti", "Add your first secret using the button above": "Dodajte svojo prvo skrivnost z gumbom zgoraj", diff --git a/l10n/sq.js b/l10n/sq.js index 7cd0e3ae..4cbf57e7 100644 --- a/l10n/sq.js +++ b/l10n/sq.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Artikull", "No recent activity": "Asnjë aktivitet i fundit", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Shiko të gjitha", + "Applications awaiting approval": "Aplikacione në pritje të miratimit", + "No applications awaiting approval": "Asnjë aplikacion në pritje të miratimit", + "Vault overview": "Përmbledhje e kasafortës", + "Your secrets, folders and applications at a glance": "Sekretet, dosjet dhe aplikacionet tuaja me një shikim", + "Rotation due": "Kërkohet rotacion", "Refresh": "Rifresko", "No secrets found": "Nuk u gjetën sekrete", "Add your first secret using the button above": "Shtoni sekretin tuaj të parë me butonin sipër", diff --git a/l10n/sq.json b/l10n/sq.json index cf207093..ecc13468 100644 --- a/l10n/sq.json +++ b/l10n/sq.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Artikull", "No recent activity": "Asnjë aktivitet i fundit", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Shiko të gjitha", + "Applications awaiting approval": "Aplikacione në pritje të miratimit", + "No applications awaiting approval": "Asnjë aplikacion në pritje të miratimit", + "Vault overview": "Përmbledhje e kasafortës", + "Your secrets, folders and applications at a glance": "Sekretet, dosjet dhe aplikacionet tuaja me një shikim", + "Rotation due": "Kërkohet rotacion", "Refresh": "Rifresko", "No secrets found": "Nuk u gjetën sekrete", "Add your first secret using the button above": "Shtoni sekretin tuaj të parë me butonin sipër", diff --git a/l10n/sr.js b/l10n/sr.js index 1218b9fa..5575d5e6 100644 --- a/l10n/sr.js +++ b/l10n/sr.js @@ -66,7 +66,7 @@ OC.L10N.register( "Copy link": "Kopiraj poveznicu", "Copy password": "Kopiraj lozinku", "This password is shown only once. Copy it now.": "Ova lozinka se prikazuje samo jedanput. Kopirajte je sada.", - "Token": "Token", + "Token": "Токен", "Usage": "Korištenje", "Created": "Stvoreno", "Expires": "Ističe", @@ -176,7 +176,7 @@ OC.L10N.register( "Setting up…": "Postavljanje…", "Setup failed": "Postavljanje nije uspjelo", "Start key rotation": "Pokreni rotaciju ključeva", - "Status": "Status", + "Status": "Статус", "Status of the private Certificate Authority": "Status privatnog tijela za certifikate", "Strong": "Jaka", "Strong (score 3)": "Jaka (rezultat 3)", @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Ставка", "No recent activity": "Нема недавних активности", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Прикажи све", + "Applications awaiting approval": "Апликације које чекају одобрење", + "No applications awaiting approval": "Нема апликација које чекају одобрење", + "Vault overview": "Преглед трезора", + "Your secrets, folders and applications at a glance": "Ваше тајне, фасцикле и апликације на први поглед", + "Rotation due": "Потребна ротација", "Refresh": "Osveži", "No secrets found": "Nije pronađena nijedna tajna", "Add your first secret using the button above": "Dodajte svoju prvu tajnu dugmetom iznad", diff --git a/l10n/sr.json b/l10n/sr.json index c14d14ef..90d86d37 100644 --- a/l10n/sr.json +++ b/l10n/sr.json @@ -65,7 +65,7 @@ "Copy link": "Kopiraj poveznicu", "Copy password": "Kopiraj lozinku", "This password is shown only once. Copy it now.": "Ova lozinka se prikazuje samo jedanput. Kopirajte je sada.", - "Token": "Token", + "Token": "Токен", "Usage": "Korištenje", "Created": "Stvoreno", "Expires": "Ističe", @@ -175,7 +175,7 @@ "Setting up…": "Postavljanje…", "Setup failed": "Postavljanje nije uspjelo", "Start key rotation": "Pokreni rotaciju ključeva", - "Status": "Status", + "Status": "Статус", "Status of the private Certificate Authority": "Status privatnog tijela za certifikate", "Strong": "Jaka", "Strong (score 3)": "Jaka (rezultat 3)", @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Ставка", "No recent activity": "Нема недавних активности", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Прикажи све", + "Applications awaiting approval": "Апликације које чекају одобрење", + "No applications awaiting approval": "Нема апликација које чекају одобрење", + "Vault overview": "Преглед трезора", + "Your secrets, folders and applications at a glance": "Ваше тајне, фасцикле и апликације на први поглед", + "Rotation due": "Потребна ротација", "Refresh": "Osveži", "No secrets found": "Nije pronađena nijedna tajna", "Add your first secret using the button above": "Dodajte svoju prvu tajnu dugmetom iznad", diff --git a/l10n/sv.js b/l10n/sv.js index 4250cdff..646406d3 100644 --- a/l10n/sv.js +++ b/l10n/sv.js @@ -252,7 +252,7 @@ OC.L10N.register( "Internal (Nextcloud app)": "Intern (Nextcloud-app)", "Last modified": "Sidst ændret", "Layout": "Layout", - "Link": "Link", + "Link": "Länk", "Link created. Copy the link and password now — the password is shown only once.": "Link oprettet. Kopiér linket og adgangskoden nu — adgangskoden vises kun én gang.", "List": "Liste", "Loading dashboard…": "Indlæser dashboard…", @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Objekt", "No recent activity": "Ingen ny aktivitet", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Visa alla", + "Applications awaiting approval": "Applikationer som väntar på godkännande", + "No applications awaiting approval": "Inga applikationer väntar på godkännande", + "Vault overview": "Boksöversikt", + "Your secrets, folders and applications at a glance": "Dina hemligheter, mappar och applikationer i en överblick", + "Rotation due": "Rotation förfallen", "Refresh": "Uppdatera", "No secrets found": "Inga hemligheter hittades", "Add your first secret using the button above": "Lägg till din första hemlighet med knappen ovan", diff --git a/l10n/sv.json b/l10n/sv.json index 8981386c..e81fc760 100644 --- a/l10n/sv.json +++ b/l10n/sv.json @@ -251,7 +251,7 @@ "Internal (Nextcloud app)": "Intern (Nextcloud-app)", "Last modified": "Sidst ændret", "Layout": "Layout", - "Link": "Link", + "Link": "Länk", "Link created. Copy the link and password now — the password is shown only once.": "Link oprettet. Kopiér linket og adgangskoden nu — adgangskoden vises kun én gang.", "List": "Liste", "Loading dashboard…": "Indlæser dashboard…", @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Objekt", "No recent activity": "Ingen ny aktivitet", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Visa alla", + "Applications awaiting approval": "Applikationer som väntar på godkännande", + "No applications awaiting approval": "Inga applikationer väntar på godkännande", + "Vault overview": "Boksöversikt", + "Your secrets, folders and applications at a glance": "Dina hemligheter, mappar och applikationer i en överblick", + "Rotation due": "Rotation förfallen", "Refresh": "Uppdatera", "No secrets found": "Inga hemligheter hittades", "Add your first secret using the button above": "Lägg till din första hemlighet med knappen ovan", diff --git a/l10n/tr.js b/l10n/tr.js index 6ec0f7a4..d9aa5f62 100644 --- a/l10n/tr.js +++ b/l10n/tr.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Öğe", "No recent activity": "Yakın zamanda etkinlik yok", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Tümünü görüntüle", + "Applications awaiting approval": "Onay bekleyen uygulamalar", + "No applications awaiting approval": "Onay bekleyen uygulama yok", + "Vault overview": "Kasaya genel bakış", + "Your secrets, folders and applications at a glance": "Sırlarınız, klasörleriniz ve uygulamalarınız bir bakışta", + "Rotation due": "Rotasyon zamanı geldi", "Refresh": "Yenile", "No secrets found": "Hiç gizli bulunamadı", "Add your first secret using the button above": "İlk gizlinizi yukarıdaki düğmeyle ekleyin", diff --git a/l10n/tr.json b/l10n/tr.json index 330e4751..c2a1bd12 100644 --- a/l10n/tr.json +++ b/l10n/tr.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Öğe", "No recent activity": "Yakın zamanda etkinlik yok", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Tümünü görüntüle", + "Applications awaiting approval": "Onay bekleyen uygulamalar", + "No applications awaiting approval": "Onay bekleyen uygulama yok", + "Vault overview": "Kasaya genel bakış", + "Your secrets, folders and applications at a glance": "Sırlarınız, klasörleriniz ve uygulamalarınız bir bakışta", + "Rotation due": "Rotasyon zamanı geldi", "Refresh": "Yenile", "No secrets found": "Hiç gizli bulunamadı", "Add your first secret using the button above": "İlk gizlinizi yukarıdaki düğmeyle ekleyin", diff --git a/l10n/uk.js b/l10n/uk.js index 996ba731..b02629ab 100644 --- a/l10n/uk.js +++ b/l10n/uk.js @@ -430,12 +430,12 @@ OC.L10N.register( "Keepiq {version}": "Keepiq {version}", "Item": "Елемент", "No recent activity": "Немає нещодавньої активності", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Переглянути всі", + "Applications awaiting approval": "Застосунки, що очікують схвалення", + "No applications awaiting approval": "Немає застосунків, що очікують схвалення", + "Vault overview": "Огляд сховища", + "Your secrets, folders and applications at a glance": "Ваші секрети, теки та застосунки з першого погляду", + "Rotation due": "Потрібна ротація", "Refresh": "Оновити", "No secrets found": "Секретів не знайдено", "Add your first secret using the button above": "Додайте свій перший секрет кнопкою вище", diff --git a/l10n/uk.json b/l10n/uk.json index 0d712b23..ba4d4998 100644 --- a/l10n/uk.json +++ b/l10n/uk.json @@ -429,12 +429,12 @@ "Keepiq {version}": "Keepiq {version}", "Item": "Елемент", "No recent activity": "Немає нещодавньої активності", - "View all": "View all", - "Applications awaiting approval": "Applications awaiting approval", - "No applications awaiting approval": "No applications awaiting approval", - "Vault overview": "Vault overview", - "Your secrets, folders and applications at a glance": "Your secrets, folders and applications at a glance", - "Rotation due": "Rotation due", + "View all": "Переглянути всі", + "Applications awaiting approval": "Застосунки, що очікують схвалення", + "No applications awaiting approval": "Немає застосунків, що очікують схвалення", + "Vault overview": "Огляд сховища", + "Your secrets, folders and applications at a glance": "Ваші секрети, теки та застосунки з першого погляду", + "Rotation due": "Потрібна ротація", "Refresh": "Оновити", "No secrets found": "Секретів не знайдено", "Add your first secret using the button above": "Додайте свій перший секрет кнопкою вище", diff --git a/src/views/LockScreen.vue b/src/views/LockScreen.vue index db9d0490..bd7ab804 100644 --- a/src/views/LockScreen.vue +++ b/src/views/LockScreen.vue @@ -159,6 +159,11 @@