summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-01-22 05:36:28 -0600
committerAdam <[email protected]>2026-01-22 05:36:38 -0600
commitd9b94850192554d4d7ef9d47e213997b79543833 (patch)
treed743d7c517a63bc7ba802b186615bcd5fd95b972 /packages/ui/src
parent366da595afaf98387544550fa1e08fceaf453779 (diff)
downloadopencode-d9b94850192554d4d7ef9d47e213997b79543833.tar.gz
opencode-d9b94850192554d4d7ef9d47e213997b79543833.zip
fix(app): a11y translations
Diffstat (limited to 'packages/ui/src')
-rw-r--r--packages/ui/src/components/dialog.tsx4
-rw-r--r--packages/ui/src/components/image-preview.tsx2
-rw-r--r--packages/ui/src/components/list.tsx2
-rw-r--r--packages/ui/src/components/popover.tsx4
-rw-r--r--packages/ui/src/components/toast.tsx4
-rw-r--r--packages/ui/src/i18n/ar.ts2
-rw-r--r--packages/ui/src/i18n/da.ts2
-rw-r--r--packages/ui/src/i18n/de.ts2
-rw-r--r--packages/ui/src/i18n/en.ts2
-rw-r--r--packages/ui/src/i18n/es.ts2
-rw-r--r--packages/ui/src/i18n/fr.ts2
-rw-r--r--packages/ui/src/i18n/ja.ts2
-rw-r--r--packages/ui/src/i18n/ko.ts2
-rw-r--r--packages/ui/src/i18n/pl.ts2
-rw-r--r--packages/ui/src/i18n/ru.ts2
-rw-r--r--packages/ui/src/i18n/zh.ts2
-rw-r--r--packages/ui/src/i18n/zht.ts2
17 files changed, 35 insertions, 5 deletions
diff --git a/packages/ui/src/components/dialog.tsx b/packages/ui/src/components/dialog.tsx
index 1b54739a2..83da6c699 100644
--- a/packages/ui/src/components/dialog.tsx
+++ b/packages/ui/src/components/dialog.tsx
@@ -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>
diff --git a/packages/ui/src/components/image-preview.tsx b/packages/ui/src/components/image-preview.tsx
index a09783fca..8462ce256 100644
--- a/packages/ui/src/components/image-preview.tsx
+++ b/packages/ui/src/components/image-preview.tsx
@@ -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">
diff --git a/packages/ui/src/components/list.tsx b/packages/ui/src/components/list.tsx
index 9686b7bee..6a7f3a029 100644
--- a/packages/ui/src/components/list.tsx
+++ b/packages/ui/src/components/list.tsx
@@ -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>
diff --git a/packages/ui/src/components/popover.tsx b/packages/ui/src/components/popover.tsx
index 65c854e1f..6db44f5f9 100644
--- a/packages/ui/src/components/popover.tsx
+++ b/packages/ui/src/components/popover.tsx
@@ -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>
diff --git a/packages/ui/src/components/toast.tsx b/packages/ui/src/components/toast.tsx
index bac6ff159..e8062a2a8 100644
--- a/packages/ui/src/components/toast.tsx
+++ b/packages/ui/src/components/toast.tsx
@@ -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}
/>
)
diff --git a/packages/ui/src/i18n/ar.ts b/packages/ui/src/i18n/ar.ts
index 739520d55..1ffa67f46 100644
--- a/packages/ui/src/i18n/ar.ts
+++ b/packages/ui/src/i18n/ar.ts
@@ -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": "إرسال",
diff --git a/packages/ui/src/i18n/da.ts b/packages/ui/src/i18n/da.ts
index 2b4a9ca07..624dcdc3a 100644
--- a/packages/ui/src/i18n/da.ts
+++ b/packages/ui/src/i18n/da.ts
@@ -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",
diff --git a/packages/ui/src/i18n/de.ts b/packages/ui/src/i18n/de.ts
index ad374a8ad..e9ae39ffd 100644
--- a/packages/ui/src/i18n/de.ts
+++ b/packages/ui/src/i18n/de.ts
@@ -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",
diff --git a/packages/ui/src/i18n/en.ts b/packages/ui/src/i18n/en.ts
index 49b67900e..75c1b4bc5 100644
--- a/packages/ui/src/i18n/en.ts
+++ b/packages/ui/src/i18n/en.ts
@@ -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",
diff --git a/packages/ui/src/i18n/es.ts b/packages/ui/src/i18n/es.ts
index 4d80bc988..ea6ff3824 100644
--- a/packages/ui/src/i18n/es.ts
+++ b/packages/ui/src/i18n/es.ts
@@ -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",
diff --git a/packages/ui/src/i18n/fr.ts b/packages/ui/src/i18n/fr.ts
index abc01b3fe..69290d9a2 100644
--- a/packages/ui/src/i18n/fr.ts
+++ b/packages/ui/src/i18n/fr.ts
@@ -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",
diff --git a/packages/ui/src/i18n/ja.ts b/packages/ui/src/i18n/ja.ts
index ec748c064..4c0ec9c33 100644
--- a/packages/ui/src/i18n/ja.ts
+++ b/packages/ui/src/i18n/ja.ts
@@ -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": "送信",
diff --git a/packages/ui/src/i18n/ko.ts b/packages/ui/src/i18n/ko.ts
index 34f77028f..2b2608c1a 100644
--- a/packages/ui/src/i18n/ko.ts
+++ b/packages/ui/src/i18n/ko.ts
@@ -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": "제출",
diff --git a/packages/ui/src/i18n/pl.ts b/packages/ui/src/i18n/pl.ts
index e82bc69dc..3939e9d71 100644
--- a/packages/ui/src/i18n/pl.ts
+++ b/packages/ui/src/i18n/pl.ts
@@ -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",
diff --git a/packages/ui/src/i18n/ru.ts b/packages/ui/src/i18n/ru.ts
index 111d36f9e..7b8560a95 100644
--- a/packages/ui/src/i18n/ru.ts
+++ b/packages/ui/src/i18n/ru.ts
@@ -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": "Отправить",
diff --git a/packages/ui/src/i18n/zh.ts b/packages/ui/src/i18n/zh.ts
index 327c4e457..6f7cfbf6a 100644
--- a/packages/ui/src/i18n/zh.ts
+++ b/packages/ui/src/i18n/zh.ts
@@ -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": "提交",
diff --git a/packages/ui/src/i18n/zht.ts b/packages/ui/src/i18n/zht.ts
index 9adcbe9d1..f7abc4fc8 100644
--- a/packages/ui/src/i18n/zht.ts
+++ b/packages/ui/src/i18n/zht.ts
@@ -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": "提交",