fix(app): a11y translations

This commit is contained in:
Adam
2026-01-22 05:36:28 -06:00
parent 366da595af
commit d9b9485019
39 changed files with 213 additions and 28 deletions

View File

@@ -1,5 +1,6 @@
import { Dialog as Kobalte } from "@kobalte/core/dialog"
import { ComponentProps, JSXElement, Match, ParentProps, Show, Switch } from "solid-js"
import { useI18n } from "../context/i18n"
import { IconButton } from "./icon-button"
export interface DialogProps extends ParentProps {
@@ -13,6 +14,7 @@ export interface DialogProps extends ParentProps {
}
export function Dialog(props: DialogProps) {
const i18n = useI18n()
return (
<div data-component="dialog" data-fit={props.fit ? true : undefined} data-size={props.size || "normal"}>
<div data-slot="dialog-container">
@@ -45,7 +47,7 @@ export function Dialog(props: DialogProps) {
as={IconButton}
icon="close"
variant="ghost"
aria-label="Close"
aria-label={i18n.t("ui.common.close")}
/>
</Match>
</Switch>

View File

@@ -19,7 +19,7 @@ export function ImagePreview(props: ImagePreviewProps) {
as={IconButton}
icon="close"
variant="ghost"
aria-label="Close"
aria-label={i18n.t("ui.common.close")}
/>
</div>
<div data-slot="image-preview-body">

View File

@@ -234,7 +234,7 @@ export function List<T>(props: ListProps<T> & { ref?: (ref: ListRef) => void })
icon="circle-x"
variant="ghost"
onClick={() => setInternalFilter("")}
aria-label="Clear filter"
aria-label={i18n.t("ui.list.clearFilter")}
/>
</Show>
</div>

View File

@@ -1,5 +1,6 @@
import { Popover as Kobalte } from "@kobalte/core/popover"
import { ComponentProps, JSXElement, ParentProps, Show, splitProps, ValidComponent } from "solid-js"
import { useI18n } from "../context/i18n"
import { IconButton } from "./icon-button"
export interface PopoverProps<T extends ValidComponent = "div">
@@ -15,6 +16,7 @@ export interface PopoverProps<T extends ValidComponent = "div">
}
export function Popover<T extends ValidComponent = "div">(props: PopoverProps<T>) {
const i18n = useI18n()
const [local, rest] = splitProps(props, [
"trigger",
"triggerAs",
@@ -48,7 +50,7 @@ export function Popover<T extends ValidComponent = "div">(props: PopoverProps<T>
as={IconButton}
icon="close"
variant="ghost"
aria-label="Close"
aria-label={i18n.t("ui.common.close")}
/>
</div>
</Show>

View File

@@ -3,6 +3,7 @@ import type { ToastRootProps, ToastCloseButtonProps, ToastTitleProps, ToastDescr
import type { ComponentProps, JSX } from "solid-js"
import { Show } from "solid-js"
import { Portal } from "solid-js/web"
import { useI18n } from "../context/i18n"
import { Icon, type IconProps } from "./icon"
import { IconButton } from "./icon-button"
@@ -62,13 +63,14 @@ function ToastActions(props: ComponentProps<"div">) {
}
function ToastCloseButton(props: ToastCloseButtonProps & ComponentProps<"button">) {
const i18n = useI18n()
return (
<Kobalte.CloseButton
data-slot="toast-close-button"
as={IconButton}
icon="close"
variant="ghost"
aria-label="Dismiss"
aria-label={i18n.t("ui.common.dismiss")}
{...props}
/>
)

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "جارٍ التحميل",
"ui.list.empty": "لا توجد نتائج",
"ui.list.clearFilter": "مسح عامل التصفية",
"ui.list.emptyWithFilter.prefix": "لا توجد نتائج لـ",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "إلغاء",
"ui.common.confirm": "تأكيد",
"ui.common.dismiss": "رفض",
"ui.common.close": "إغلاق",
"ui.common.next": "التالي",
"ui.common.submit": "إرسال",

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "Indlæser",
"ui.list.empty": "Ingen resultater",
"ui.list.clearFilter": "Ryd filter",
"ui.list.emptyWithFilter.prefix": "Ingen resultater for",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "Annuller",
"ui.common.confirm": "Bekræft",
"ui.common.dismiss": "Afvis",
"ui.common.close": "Luk",
"ui.common.next": "Næste",
"ui.common.submit": "Indsend",

View File

@@ -37,6 +37,7 @@ export const dict = {
"ui.list.loading": "Laden",
"ui.list.empty": "Keine Ergebnisse",
"ui.list.clearFilter": "Filter löschen",
"ui.list.emptyWithFilter.prefix": "Keine Ergebnisse für",
"ui.list.emptyWithFilter.suffix": "",
@@ -68,6 +69,7 @@ export const dict = {
"ui.common.cancel": "Abbrechen",
"ui.common.confirm": "Bestätigen",
"ui.common.dismiss": "Verwerfen",
"ui.common.close": "Schließen",
"ui.common.next": "Weiter",
"ui.common.submit": "Absenden",

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "Loading",
"ui.list.empty": "No results",
"ui.list.clearFilter": "Clear filter",
"ui.list.emptyWithFilter.prefix": "No results for",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "Cancel",
"ui.common.confirm": "Confirm",
"ui.common.dismiss": "Dismiss",
"ui.common.close": "Close",
"ui.common.next": "Next",
"ui.common.submit": "Submit",

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "Cargando",
"ui.list.empty": "Sin resultados",
"ui.list.clearFilter": "Borrar filtro",
"ui.list.emptyWithFilter.prefix": "Sin resultados para",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "Cancelar",
"ui.common.confirm": "Confirmar",
"ui.common.dismiss": "Descartar",
"ui.common.close": "Cerrar",
"ui.common.next": "Siguiente",
"ui.common.submit": "Enviar",

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "Chargement",
"ui.list.empty": "Aucun résultat",
"ui.list.clearFilter": "Effacer le filtre",
"ui.list.emptyWithFilter.prefix": "Aucun résultat pour",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "Annuler",
"ui.common.confirm": "Confirmer",
"ui.common.dismiss": "Ignorer",
"ui.common.close": "Fermer",
"ui.common.next": "Suivant",
"ui.common.submit": "Soumettre",

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "読み込み中",
"ui.list.empty": "結果なし",
"ui.list.clearFilter": "フィルターをクリア",
"ui.list.emptyWithFilter.prefix": "次の検索結果はありません: ",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "キャンセル",
"ui.common.confirm": "確認",
"ui.common.dismiss": "閉じる",
"ui.common.close": "閉じる",
"ui.common.next": "次へ",
"ui.common.submit": "送信",

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "로딩 중",
"ui.list.empty": "결과 없음",
"ui.list.clearFilter": "필터 지우기",
"ui.list.emptyWithFilter.prefix": "다음에 대한 결과 없음: ",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "취소",
"ui.common.confirm": "확인",
"ui.common.dismiss": "닫기",
"ui.common.close": "닫기",
"ui.common.next": "다음",
"ui.common.submit": "제출",

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "Ładowanie",
"ui.list.empty": "Brak wyników",
"ui.list.clearFilter": "Wyczyść filtr",
"ui.list.emptyWithFilter.prefix": "Brak wyników dla",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "Anuluj",
"ui.common.confirm": "Potwierdź",
"ui.common.dismiss": "Odrzuć",
"ui.common.close": "Zamknij",
"ui.common.next": "Dalej",
"ui.common.submit": "Prześlij",

View File

@@ -33,6 +33,7 @@ export const dict = {
"ui.list.loading": "Загрузка",
"ui.list.empty": "Нет результатов",
"ui.list.clearFilter": "Очистить фильтр",
"ui.list.emptyWithFilter.prefix": "Нет результатов для",
"ui.list.emptyWithFilter.suffix": "",
@@ -64,6 +65,7 @@ export const dict = {
"ui.common.cancel": "Отмена",
"ui.common.confirm": "Подтвердить",
"ui.common.dismiss": "Закрыть",
"ui.common.close": "Закрыть",
"ui.common.next": "Далее",
"ui.common.submit": "Отправить",

View File

@@ -37,6 +37,7 @@ export const dict = {
"ui.list.loading": "加载中",
"ui.list.empty": "无结果",
"ui.list.clearFilter": "清除筛选",
"ui.list.emptyWithFilter.prefix": "没有关于",
"ui.list.emptyWithFilter.suffix": "的结果",
@@ -68,6 +69,7 @@ export const dict = {
"ui.common.cancel": "取消",
"ui.common.confirm": "确认",
"ui.common.dismiss": "忽略",
"ui.common.close": "关闭",
"ui.common.next": "下一步",
"ui.common.submit": "提交",

View File

@@ -37,6 +37,7 @@ export const dict = {
"ui.list.loading": "載入中",
"ui.list.empty": "無結果",
"ui.list.clearFilter": "清除篩選",
"ui.list.emptyWithFilter.prefix": "沒有關於",
"ui.list.emptyWithFilter.suffix": "的結果",
@@ -68,6 +69,7 @@ export const dict = {
"ui.common.cancel": "取消",
"ui.common.confirm": "確認",
"ui.common.dismiss": "忽略",
"ui.common.close": "關閉",
"ui.common.next": "下一步",
"ui.common.submit": "提交",