update i18n
This commit is contained in:
@@ -44,7 +44,7 @@ export function sizeBucket(bytes: number | null | undefined): string {
|
||||
/** Human label for a resource `category` / type group-by bucket. */
|
||||
export function typeLabel(category: string): string {
|
||||
const labels: Record<string, string> = {
|
||||
Folder: t('groupby.type.folders', 'Folders'),
|
||||
Folder: t('groupby.folders', 'Folders'),
|
||||
Image: t('category.images', 'Images'),
|
||||
Video: t('category.videos', 'Videos'),
|
||||
Audio: t('category.audio', 'Audio'),
|
||||
|
||||
@@ -303,7 +303,7 @@
|
||||
<div class="top-bar" class:top-bar--search-active={searchActive}>
|
||||
<button
|
||||
class="sidebar-toggle"
|
||||
aria-label="Toggle navigation menu"
|
||||
aria-label={t('nav.toggle', 'Toggle navigation menu')}
|
||||
aria-expanded={sidebarOpen}
|
||||
onclick={() => (sidebarOpen = !sidebarOpen)}
|
||||
>
|
||||
@@ -357,7 +357,7 @@
|
||||
class="search-button"
|
||||
type="submit"
|
||||
title={t('actions.search_btn', 'Search')}
|
||||
aria-label="Search"
|
||||
aria-label={t('actions.search_btn', 'Search')}
|
||||
>
|
||||
<Icon name="search" />
|
||||
</button>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import type { Snippet } from 'svelte';
|
||||
import { t } from '$lib/i18n/index.svelte';
|
||||
|
||||
interface Props {
|
||||
open: boolean;
|
||||
@@ -90,7 +91,9 @@
|
||||
{#if title}
|
||||
<header class="modal__header">
|
||||
<h2 class="modal__title">{title}</h2>
|
||||
<button class="modal__close" aria-label="Close" onclick={close}>×</button>
|
||||
<button class="modal__close" aria-label={t('common.close', 'Close')} onclick={close}
|
||||
>×</button
|
||||
>
|
||||
</header>
|
||||
{/if}
|
||||
<div class="modal__body">
|
||||
|
||||
@@ -412,7 +412,7 @@
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
<select class="role-select" bind:value={newRole} aria-label={t('share.role', 'Role')}>
|
||||
<select class="role-select" bind:value={newRole} aria-label={t('share.role_label', 'Role')}>
|
||||
{#each ROLES as r (r.v)}<option value={r.v}>{r.l}</option>{/each}
|
||||
</select>
|
||||
{@render expiryChip(newExpiry, (v) => (newExpiry = v))}
|
||||
|
||||
@@ -1,12 +1,22 @@
|
||||
<script lang="ts">
|
||||
import { ui } from '$lib/stores/ui.svelte';
|
||||
import { t } from '$lib/i18n/index.svelte';
|
||||
</script>
|
||||
|
||||
<div class="toaster" role="region" aria-live="polite" aria-label="Notifications">
|
||||
<div
|
||||
class="toaster"
|
||||
role="region"
|
||||
aria-live="polite"
|
||||
aria-label={t('notifications.title', 'Notifications')}
|
||||
>
|
||||
{#each ui.toasts as toast (toast.id)}
|
||||
<div class="toast toast--{toast.kind}" role="status">
|
||||
<span class="toast__msg">{toast.message}</span>
|
||||
<button class="toast__close" aria-label="Dismiss" onclick={() => ui.dismiss(toast.id)}>
|
||||
<button
|
||||
class="toast__close"
|
||||
aria-label={t('common.dismiss', 'Dismiss')}
|
||||
onclick={() => ui.dismiss(toast.id)}
|
||||
>
|
||||
×
|
||||
</button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user