refactor: remove base ui i18n dependency (#34921)

This commit is contained in:
yyh 2026-04-11 20:10:30 +08:00 committed by GitHub
parent d5104a4268
commit c960f7ae48
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
28 changed files with 24 additions and 118 deletions

View File

@ -27,7 +27,7 @@ describe('NumberInputField', () => {
it('should update value when users click increment', () => { it('should update value when users click increment', () => {
render(<NumberInputField label="Count" />) render(<NumberInputField label="Count" />)
fireEvent.click(screen.getByRole('button', { name: 'common.operation.increment' })) fireEvent.click(screen.getByRole('button', { name: 'Increment value' }))
expect(mockField.handleChange).toHaveBeenCalledWith(3) expect(mockField.handleChange).toHaveBeenCalledWith(3)
}) })

View File

@ -172,13 +172,13 @@ describe('NumberField wrapper', () => {
// Increment and decrement buttons should preserve accessible naming, icon fallbacks, and spacing variants. // Increment and decrement buttons should preserve accessible naming, icon fallbacks, and spacing variants.
describe('Control buttons', () => { describe('Control buttons', () => {
it('should provide localized aria labels and default icons when labels are not provided', () => { it('should provide english fallback aria labels and default icons when labels are not provided', () => {
renderNumberField({ renderNumberField({
controlsProps: {}, controlsProps: {},
}) })
const increment = screen.getByRole('button', { name: 'common.operation.increment' }) const increment = screen.getByRole('button', { name: 'Increment value' })
const decrement = screen.getByRole('button', { name: 'common.operation.decrement' }) const decrement = screen.getByRole('button', { name: 'Decrement value' })
expect(increment.querySelector('.i-ri-arrow-up-s-line')).toBeInTheDocument() expect(increment.querySelector('.i-ri-arrow-up-s-line')).toBeInTheDocument()
expect(decrement.querySelector('.i-ri-arrow-down-s-line')).toBeInTheDocument() expect(decrement.querySelector('.i-ri-arrow-down-s-line')).toBeInTheDocument()
@ -217,11 +217,11 @@ describe('NumberField wrapper', () => {
}, },
}) })
expect(screen.getByRole('button', { name: 'common.operation.increment' })).toBeInTheDocument() expect(screen.getByRole('button', { name: 'Increment value' })).toBeInTheDocument()
expect(screen.getByRole('button', { name: 'common.operation.decrement' })).toBeInTheDocument() expect(screen.getByRole('button', { name: 'Decrement value' })).toBeInTheDocument()
}) })
it('should rely on aria-labelledby when provided instead of injecting a translated aria-label', () => { it('should rely on aria-labelledby when provided instead of injecting a fallback aria-label', () => {
render( render(
<> <>
<span id="increment-label">Increment from label</span> <span id="increment-label">Increment from label</span>

View File

@ -4,7 +4,6 @@ import type { VariantProps } from 'class-variance-authority'
import { NumberField as BaseNumberField } from '@base-ui/react/number-field' import { NumberField as BaseNumberField } from '@base-ui/react/number-field'
import { cva } from 'class-variance-authority' import { cva } from 'class-variance-authority'
import * as React from 'react' import * as React from 'react'
import { useTranslation } from 'react-i18next'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export const NumberField = BaseNumberField.Root export const NumberField = BaseNumberField.Root
@ -188,18 +187,19 @@ type NumberFieldButtonVariantProps = Omit<
export type NumberFieldButtonProps = React.ComponentPropsWithoutRef<typeof BaseNumberField.Increment> & NumberFieldButtonVariantProps export type NumberFieldButtonProps = React.ComponentPropsWithoutRef<typeof BaseNumberField.Increment> & NumberFieldButtonVariantProps
const incrementAriaLabel = 'Increment value'
const decrementAriaLabel = 'Decrement value'
export function NumberFieldIncrement({ export function NumberFieldIncrement({
className, className,
children, children,
size = 'regular', size = 'regular',
...props ...props
}: NumberFieldButtonProps) { }: NumberFieldButtonProps) {
const { t } = useTranslation()
return ( return (
<BaseNumberField.Increment <BaseNumberField.Increment
{...props} {...props}
aria-label={props['aria-label'] ?? (props['aria-labelledby'] ? undefined : t('operation.increment', { ns: 'common' }))} aria-label={props['aria-label'] ?? (props['aria-labelledby'] ? undefined : incrementAriaLabel)}
className={cn(numberFieldControlButtonVariants({ size, direction: 'increment' }), className)} className={cn(numberFieldControlButtonVariants({ size, direction: 'increment' }), className)}
> >
{children ?? <span aria-hidden="true" className="i-ri-arrow-up-s-line size-3" />} {children ?? <span aria-hidden="true" className="i-ri-arrow-up-s-line size-3" />}
@ -213,12 +213,10 @@ export function NumberFieldDecrement({
size = 'regular', size = 'regular',
...props ...props
}: NumberFieldButtonProps) { }: NumberFieldButtonProps) {
const { t } = useTranslation()
return ( return (
<BaseNumberField.Decrement <BaseNumberField.Decrement
{...props} {...props}
aria-label={props['aria-label'] ?? (props['aria-labelledby'] ? undefined : t('operation.decrement', { ns: 'common' }))} aria-label={props['aria-label'] ?? (props['aria-labelledby'] ? undefined : decrementAriaLabel)}
className={cn(numberFieldControlButtonVariants({ size, direction: 'decrement' }), className)} className={cn(numberFieldControlButtonVariants({ size, direction: 'decrement' }), className)}
> >
{children ?? <span aria-hidden="true" className="i-ri-arrow-down-s-line size-3" />} {children ?? <span aria-hidden="true" className="i-ri-arrow-down-s-line size-3" />}

View File

@ -31,13 +31,13 @@ describe('base/ui/toast', () => {
expect(await screen.findByText('Saved')).toBeInTheDocument() expect(await screen.findByText('Saved')).toBeInTheDocument()
expect(screen.getByText('Your changes are available now.')).toBeInTheDocument() expect(screen.getByText('Your changes are available now.')).toBeInTheDocument()
const viewport = screen.getByRole('region', { name: 'common.toast.notifications' }) const viewport = screen.getByRole('region', { name: 'Notifications' })
expect(viewport).toHaveAttribute('aria-live', 'polite') expect(viewport).toHaveAttribute('aria-live', 'polite')
expect(viewport).toHaveClass('z-1101') expect(viewport).toHaveClass('z-1101')
expect(viewport.firstElementChild).toHaveClass('top-4') expect(viewport.firstElementChild).toHaveClass('top-4')
expect(screen.getByRole('dialog')).not.toHaveClass('outline-hidden') expect(screen.getByRole('dialog')).not.toHaveClass('outline-hidden')
expect(document.body.querySelector('[aria-hidden="true"].i-ri-checkbox-circle-fill')).toBeInTheDocument() expect(document.body.querySelector('[aria-hidden="true"].i-ri-checkbox-circle-fill')).toBeInTheDocument()
expect(document.body.querySelector('button[aria-label="common.toast.close"][aria-hidden="true"]')).toBeInTheDocument() expect(document.body.querySelector('button[aria-label="Close notification"][aria-hidden="true"]')).toBeInTheDocument()
}) })
// Collapsed stacks should keep multiple toast roots mounted for smooth stack animation. // Collapsed stacks should keep multiple toast roots mounted for smooth stack animation.
@ -57,12 +57,12 @@ describe('base/ui/toast', () => {
expect(await screen.findByText('Third toast')).toBeInTheDocument() expect(await screen.findByText('Third toast')).toBeInTheDocument()
expect(screen.getAllByRole('dialog')).toHaveLength(3) expect(screen.getAllByRole('dialog')).toHaveLength(3)
expect(document.body.querySelectorAll('button[aria-label="common.toast.close"][aria-hidden="true"]')).toHaveLength(3) expect(document.body.querySelectorAll('button[aria-label="Close notification"][aria-hidden="true"]')).toHaveLength(3)
fireEvent.mouseEnter(screen.getByRole('region', { name: 'common.toast.notifications' })) fireEvent.mouseEnter(screen.getByRole('region', { name: 'Notifications' }))
await waitFor(() => { await waitFor(() => {
expect(document.body.querySelector('button[aria-label="common.toast.close"][aria-hidden="true"]')).not.toBeInTheDocument() expect(document.body.querySelector('button[aria-label="Close notification"][aria-hidden="true"]')).not.toBeInTheDocument()
}) })
}) })
@ -126,9 +126,9 @@ describe('base/ui/toast', () => {
}) })
}) })
fireEvent.mouseEnter(screen.getByRole('region', { name: 'common.toast.notifications' })) fireEvent.mouseEnter(screen.getByRole('region', { name: 'Notifications' }))
const dismissButton = await screen.findByRole('button', { name: 'common.toast.close' }) const dismissButton = await screen.findByRole('button', { name: 'Close notification' })
act(() => { act(() => {
dismissButton.click() dismissButton.click()

View File

@ -7,7 +7,6 @@ import type {
} from '@base-ui/react/toast' } from '@base-ui/react/toast'
import type { ReactNode } from 'react' import type { ReactNode } from 'react'
import { Toast as BaseToast } from '@base-ui/react/toast' import { Toast as BaseToast } from '@base-ui/react/toast'
import { useTranslation } from 'react-i18next'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
type ToastData = Record<string, never> type ToastData = Record<string, never>
@ -35,6 +34,9 @@ const TOAST_TONE_STYLES = {
}, },
} satisfies Record<string, ToastToneStyle> } satisfies Record<string, ToastToneStyle>
const toastCloseLabel = 'Close notification'
const toastViewportLabel = 'Notifications'
type ToastType = keyof typeof TOAST_TONE_STYLES type ToastType = keyof typeof TOAST_TONE_STYLES
type ToastAddOptions = Omit<ToastManagerAddOptions<ToastData>, 'data' | 'positionerProps' | 'type'> & { type ToastAddOptions = Omit<ToastManagerAddOptions<ToastData>, 'data' | 'positionerProps' | 'type'> & {
@ -145,7 +147,6 @@ function ToastCard({
}: { }: {
toast: ToastObject<ToastData> toast: ToastObject<ToastData>
}) { }) {
const { t } = useTranslation('common')
const toastType = getToastType(toastItem.type) const toastType = getToastType(toastItem.type)
return ( return (
@ -200,7 +201,7 @@ function ToastCard({
</div> </div>
<div className="flex shrink-0 items-center justify-center rounded-md p-0.5"> <div className="flex shrink-0 items-center justify-center rounded-md p-0.5">
<BaseToast.Close <BaseToast.Close
aria-label={t('toast.close')} aria-label={toastCloseLabel}
className={cn( className={cn(
'flex h-5 w-5 items-center justify-center rounded-md hover:bg-state-base-hover focus-visible:bg-state-base-hover focus-visible:ring-1 focus-visible:ring-components-input-border-hover focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50', 'flex h-5 w-5 items-center justify-center rounded-md hover:bg-state-base-hover focus-visible:bg-state-base-hover focus-visible:ring-1 focus-visible:ring-components-input-border-hover focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50',
)} )}
@ -215,12 +216,11 @@ function ToastCard({
} }
function ToastViewport() { function ToastViewport() {
const { t } = useTranslation('common')
const { toasts } = BaseToast.useToastManager<ToastData>() const { toasts } = BaseToast.useToastManager<ToastData>()
return ( return (
<BaseToast.Viewport <BaseToast.Viewport
aria-label={t('toast.notifications')} aria-label={toastViewportLabel}
className={cn( className={cn(
// During overlay migration, toast must stay above legacy highPriority modals (z-[1100]). // During overlay migration, toast must stay above legacy highPriority modals (z-[1100]).
'inset-0 group/toast-viewport pointer-events-none fixed z-1101 overflow-visible', 'inset-0 group/toast-viewport pointer-events-none fixed z-1101 overflow-visible',

View File

@ -486,7 +486,6 @@
"operation.copyImage": "نسخ الصورة", "operation.copyImage": "نسخ الصورة",
"operation.create": "إنشاء", "operation.create": "إنشاء",
"operation.deSelectAll": "إلغاء تحديد الكل", "operation.deSelectAll": "إلغاء تحديد الكل",
"operation.decrement": "تقليل",
"operation.delete": "حذف", "operation.delete": "حذف",
"operation.deleteApp": "حذف التطبيق", "operation.deleteApp": "حذف التطبيق",
"operation.deleteConfirmTitle": "حذف؟", "operation.deleteConfirmTitle": "حذف؟",
@ -500,7 +499,6 @@
"operation.imageCopied": "تم نسخ الصورة", "operation.imageCopied": "تم نسخ الصورة",
"operation.imageDownloaded": "تم تنزيل الصورة", "operation.imageDownloaded": "تم تنزيل الصورة",
"operation.in": "في", "operation.in": "في",
"operation.increment": "زيادة",
"operation.learnMore": "تعرف على المزيد", "operation.learnMore": "تعرف على المزيد",
"operation.lineBreak": "فاصل أسطر", "operation.lineBreak": "فاصل أسطر",
"operation.log": "سجل", "operation.log": "سجل",
@ -637,8 +635,6 @@
"theme.dark": "داكن", "theme.dark": "داكن",
"theme.light": "فاتح", "theme.light": "فاتح",
"theme.theme": "السمة", "theme.theme": "السمة",
"toast.close": "إغلاق الإشعار",
"toast.notifications": "الإشعارات",
"unit.char": "أحرف", "unit.char": "أحرف",
"userProfile.about": "حول", "userProfile.about": "حول",
"userProfile.community": "المجتمع", "userProfile.community": "المجتمع",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Bild kopieren", "operation.copyImage": "Bild kopieren",
"operation.create": "Erstellen", "operation.create": "Erstellen",
"operation.deSelectAll": "Alle abwählen", "operation.deSelectAll": "Alle abwählen",
"operation.decrement": "Verringern",
"operation.delete": "Löschen", "operation.delete": "Löschen",
"operation.deleteApp": "App löschen", "operation.deleteApp": "App löschen",
"operation.deleteConfirmTitle": "Löschen?", "operation.deleteConfirmTitle": "Löschen?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Kopiertes Bild", "operation.imageCopied": "Kopiertes Bild",
"operation.imageDownloaded": "Bild heruntergeladen", "operation.imageDownloaded": "Bild heruntergeladen",
"operation.in": "in", "operation.in": "in",
"operation.increment": "Erhöhen",
"operation.learnMore": "Mehr erfahren", "operation.learnMore": "Mehr erfahren",
"operation.lineBreak": "Zeilenumbruch", "operation.lineBreak": "Zeilenumbruch",
"operation.log": "Protokoll", "operation.log": "Protokoll",
@ -637,8 +635,6 @@
"theme.dark": "dunkel", "theme.dark": "dunkel",
"theme.light": "Licht", "theme.light": "Licht",
"theme.theme": "Thema", "theme.theme": "Thema",
"toast.close": "Benachrichtigung schließen",
"toast.notifications": "Benachrichtigungen",
"unit.char": "Zeichen", "unit.char": "Zeichen",
"userProfile.about": "Über", "userProfile.about": "Über",
"userProfile.community": "Gemeinschaft", "userProfile.community": "Gemeinschaft",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Copy Image", "operation.copyImage": "Copy Image",
"operation.create": "Create", "operation.create": "Create",
"operation.deSelectAll": "Deselect All", "operation.deSelectAll": "Deselect All",
"operation.decrement": "Decrement",
"operation.delete": "Delete", "operation.delete": "Delete",
"operation.deleteApp": "Delete App", "operation.deleteApp": "Delete App",
"operation.deleteConfirmTitle": "Delete?", "operation.deleteConfirmTitle": "Delete?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Image copied", "operation.imageCopied": "Image copied",
"operation.imageDownloaded": "Image downloaded", "operation.imageDownloaded": "Image downloaded",
"operation.in": "in", "operation.in": "in",
"operation.increment": "Increment",
"operation.learnMore": "Learn More", "operation.learnMore": "Learn More",
"operation.lineBreak": "Line break", "operation.lineBreak": "Line break",
"operation.log": "Log", "operation.log": "Log",
@ -637,8 +635,6 @@
"theme.dark": "dark", "theme.dark": "dark",
"theme.light": "light", "theme.light": "light",
"theme.theme": "Theme", "theme.theme": "Theme",
"toast.close": "Dismiss notification",
"toast.notifications": "Notifications",
"unit.char": "chars", "unit.char": "chars",
"userProfile.about": "About", "userProfile.about": "About",
"userProfile.community": "Community", "userProfile.community": "Community",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Copiar imagen", "operation.copyImage": "Copiar imagen",
"operation.create": "Crear", "operation.create": "Crear",
"operation.deSelectAll": "Deseleccionar todo", "operation.deSelectAll": "Deseleccionar todo",
"operation.decrement": "Disminuir",
"operation.delete": "Eliminar", "operation.delete": "Eliminar",
"operation.deleteApp": "Eliminar aplicación", "operation.deleteApp": "Eliminar aplicación",
"operation.deleteConfirmTitle": "¿Eliminar?", "operation.deleteConfirmTitle": "¿Eliminar?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Imagen copiada", "operation.imageCopied": "Imagen copiada",
"operation.imageDownloaded": "Imagen descargada", "operation.imageDownloaded": "Imagen descargada",
"operation.in": "en", "operation.in": "en",
"operation.increment": "Incrementar",
"operation.learnMore": "Aprender más", "operation.learnMore": "Aprender más",
"operation.lineBreak": "Salto de línea", "operation.lineBreak": "Salto de línea",
"operation.log": "Registro", "operation.log": "Registro",
@ -637,8 +635,6 @@
"theme.dark": "noche", "theme.dark": "noche",
"theme.light": "luz", "theme.light": "luz",
"theme.theme": "Tema", "theme.theme": "Tema",
"toast.close": "Cerrar notificación",
"toast.notifications": "Notificaciones",
"unit.char": "caracteres", "unit.char": "caracteres",
"userProfile.about": "Acerca de", "userProfile.about": "Acerca de",
"userProfile.community": "Comunidad", "userProfile.community": "Comunidad",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "کپی تصویر", "operation.copyImage": "کپی تصویر",
"operation.create": "ایجاد", "operation.create": "ایجاد",
"operation.deSelectAll": "همه را انتخاب نکنید", "operation.deSelectAll": "همه را انتخاب نکنید",
"operation.decrement": "کاهش",
"operation.delete": "حذف", "operation.delete": "حذف",
"operation.deleteApp": "حذف برنامه", "operation.deleteApp": "حذف برنامه",
"operation.deleteConfirmTitle": "حذف شود؟", "operation.deleteConfirmTitle": "حذف شود؟",
@ -500,7 +499,6 @@
"operation.imageCopied": "تصویر کپی شده", "operation.imageCopied": "تصویر کپی شده",
"operation.imageDownloaded": "تصویر دانلود شد", "operation.imageDownloaded": "تصویر دانلود شد",
"operation.in": "در", "operation.in": "در",
"operation.increment": "افزایش",
"operation.learnMore": "اطلاعات بیشتر", "operation.learnMore": "اطلاعات بیشتر",
"operation.lineBreak": "خط جدید", "operation.lineBreak": "خط جدید",
"operation.log": "گزارش", "operation.log": "گزارش",
@ -637,8 +635,6 @@
"theme.dark": "تاریک", "theme.dark": "تاریک",
"theme.light": "نور", "theme.light": "نور",
"theme.theme": "تم", "theme.theme": "تم",
"toast.close": "بستن اعلان",
"toast.notifications": "اعلان‌ها",
"unit.char": "کاراکتر", "unit.char": "کاراکتر",
"userProfile.about": "درباره", "userProfile.about": "درباره",
"userProfile.community": "انجمن", "userProfile.community": "انجمن",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Copier limage", "operation.copyImage": "Copier limage",
"operation.create": "Créer", "operation.create": "Créer",
"operation.deSelectAll": "Désélectionner tout", "operation.deSelectAll": "Désélectionner tout",
"operation.decrement": "Décrémenter",
"operation.delete": "Supprimer", "operation.delete": "Supprimer",
"operation.deleteApp": "Supprimer lapplication", "operation.deleteApp": "Supprimer lapplication",
"operation.deleteConfirmTitle": "Supprimer ?", "operation.deleteConfirmTitle": "Supprimer ?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Image copied", "operation.imageCopied": "Image copied",
"operation.imageDownloaded": "Image téléchargée", "operation.imageDownloaded": "Image téléchargée",
"operation.in": "dans", "operation.in": "dans",
"operation.increment": "Incrémenter",
"operation.learnMore": "En savoir plus", "operation.learnMore": "En savoir plus",
"operation.lineBreak": "Saut de ligne", "operation.lineBreak": "Saut de ligne",
"operation.log": "Journal", "operation.log": "Journal",
@ -637,8 +635,6 @@
"theme.dark": "sombre", "theme.dark": "sombre",
"theme.light": "lumière", "theme.light": "lumière",
"theme.theme": "Thème", "theme.theme": "Thème",
"toast.close": "Fermer la notification",
"toast.notifications": "Notifications",
"unit.char": "caractères", "unit.char": "caractères",
"userProfile.about": "À propos", "userProfile.about": "À propos",
"userProfile.community": "Communauté", "userProfile.community": "Communauté",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "छवि कॉपी करें", "operation.copyImage": "छवि कॉपी करें",
"operation.create": "बनाएं", "operation.create": "बनाएं",
"operation.deSelectAll": "सभी चयन हटाएँ", "operation.deSelectAll": "सभी चयन हटाएँ",
"operation.decrement": "घटाएं",
"operation.delete": "हटाएं", "operation.delete": "हटाएं",
"operation.deleteApp": "ऐप हटाएं", "operation.deleteApp": "ऐप हटाएं",
"operation.deleteConfirmTitle": "हटाएं?", "operation.deleteConfirmTitle": "हटाएं?",
@ -500,7 +499,6 @@
"operation.imageCopied": "कॉपी की गई छवि", "operation.imageCopied": "कॉपी की गई छवि",
"operation.imageDownloaded": "छवि डाउनलोड की गई", "operation.imageDownloaded": "छवि डाउनलोड की गई",
"operation.in": "में", "operation.in": "में",
"operation.increment": "बढ़ाएं",
"operation.learnMore": "अधिक जानें", "operation.learnMore": "अधिक जानें",
"operation.lineBreak": "लाइन ब्रेक", "operation.lineBreak": "लाइन ब्रेक",
"operation.log": "लॉग", "operation.log": "लॉग",
@ -637,8 +635,6 @@
"theme.dark": "अंधेरा", "theme.dark": "अंधेरा",
"theme.light": "रोशनी", "theme.light": "रोशनी",
"theme.theme": "थीम", "theme.theme": "थीम",
"toast.close": "सूचना बंद करें",
"toast.notifications": "सूचनाएं",
"unit.char": "वर्ण", "unit.char": "वर्ण",
"userProfile.about": "के बारे में", "userProfile.about": "के बारे में",
"userProfile.community": "समुदाय", "userProfile.community": "समुदाय",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Salin Gambar", "operation.copyImage": "Salin Gambar",
"operation.create": "Menciptakan", "operation.create": "Menciptakan",
"operation.deSelectAll": "Batalkan pilihan Semua", "operation.deSelectAll": "Batalkan pilihan Semua",
"operation.decrement": "Kurangi",
"operation.delete": "Menghapus", "operation.delete": "Menghapus",
"operation.deleteApp": "Hapus Aplikasi", "operation.deleteApp": "Hapus Aplikasi",
"operation.deleteConfirmTitle": "Hapus?", "operation.deleteConfirmTitle": "Hapus?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Gambar yang disalin", "operation.imageCopied": "Gambar yang disalin",
"operation.imageDownloaded": "Gambar diunduh", "operation.imageDownloaded": "Gambar diunduh",
"operation.in": "di", "operation.in": "di",
"operation.increment": "Tambah",
"operation.learnMore": "Pelajari lebih lanjut", "operation.learnMore": "Pelajari lebih lanjut",
"operation.lineBreak": "Baris Baru", "operation.lineBreak": "Baris Baru",
"operation.log": "Batang", "operation.log": "Batang",
@ -637,8 +635,6 @@
"theme.dark": "Gelap", "theme.dark": "Gelap",
"theme.light": "Terang", "theme.light": "Terang",
"theme.theme": "Tema", "theme.theme": "Tema",
"toast.close": "Tutup notifikasi",
"toast.notifications": "Notifikasi",
"unit.char": "karakter", "unit.char": "karakter",
"userProfile.about": "Tentang", "userProfile.about": "Tentang",
"userProfile.community": "Masyarakat", "userProfile.community": "Masyarakat",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Copia immagine", "operation.copyImage": "Copia immagine",
"operation.create": "Crea", "operation.create": "Crea",
"operation.deSelectAll": "Deseleziona tutto", "operation.deSelectAll": "Deseleziona tutto",
"operation.decrement": "Decrementa",
"operation.delete": "Elimina", "operation.delete": "Elimina",
"operation.deleteApp": "Elimina app", "operation.deleteApp": "Elimina app",
"operation.deleteConfirmTitle": "Eliminare?", "operation.deleteConfirmTitle": "Eliminare?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Immagine copiata", "operation.imageCopied": "Immagine copiata",
"operation.imageDownloaded": "Immagine scaricata", "operation.imageDownloaded": "Immagine scaricata",
"operation.in": "in", "operation.in": "in",
"operation.increment": "Incrementa",
"operation.learnMore": "Scopri di più", "operation.learnMore": "Scopri di più",
"operation.lineBreak": "A capo", "operation.lineBreak": "A capo",
"operation.log": "Log", "operation.log": "Log",
@ -637,8 +635,6 @@
"theme.dark": "scuro", "theme.dark": "scuro",
"theme.light": "luce", "theme.light": "luce",
"theme.theme": "Tema", "theme.theme": "Tema",
"toast.close": "Chiudi notifica",
"toast.notifications": "Notifiche",
"unit.char": "caratteri", "unit.char": "caratteri",
"userProfile.about": "Informazioni", "userProfile.about": "Informazioni",
"userProfile.community": "Comunità", "userProfile.community": "Comunità",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "画像をコピー", "operation.copyImage": "画像をコピー",
"operation.create": "作成", "operation.create": "作成",
"operation.deSelectAll": "すべて選択解除", "operation.deSelectAll": "すべて選択解除",
"operation.decrement": "減らす",
"operation.delete": "削除", "operation.delete": "削除",
"operation.deleteApp": "アプリを削除", "operation.deleteApp": "アプリを削除",
"operation.deleteConfirmTitle": "削除しますか?", "operation.deleteConfirmTitle": "削除しますか?",
@ -500,7 +499,6 @@
"operation.imageCopied": "コピーした画像", "operation.imageCopied": "コピーした画像",
"operation.imageDownloaded": "画像がダウンロードされました", "operation.imageDownloaded": "画像がダウンロードされました",
"operation.in": "中", "operation.in": "中",
"operation.increment": "増やす",
"operation.learnMore": "詳細はこちら", "operation.learnMore": "詳細はこちら",
"operation.lineBreak": "改行", "operation.lineBreak": "改行",
"operation.log": "ログ", "operation.log": "ログ",
@ -637,8 +635,6 @@
"theme.dark": "暗い", "theme.dark": "暗い",
"theme.light": "明るい", "theme.light": "明るい",
"theme.theme": "テーマ", "theme.theme": "テーマ",
"toast.close": "通知を閉じる",
"toast.notifications": "通知",
"unit.char": "文字", "unit.char": "文字",
"userProfile.about": "Dify について", "userProfile.about": "Dify について",
"userProfile.community": "コミュニティ", "userProfile.community": "コミュニティ",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "이미지 복사", "operation.copyImage": "이미지 복사",
"operation.create": "생성", "operation.create": "생성",
"operation.deSelectAll": "모두 선택 해제", "operation.deSelectAll": "모두 선택 해제",
"operation.decrement": "감소",
"operation.delete": "삭제", "operation.delete": "삭제",
"operation.deleteApp": "앱 삭제", "operation.deleteApp": "앱 삭제",
"operation.deleteConfirmTitle": "삭제하시겠습니까?", "operation.deleteConfirmTitle": "삭제하시겠습니까?",
@ -500,7 +499,6 @@
"operation.imageCopied": "복사된 이미지", "operation.imageCopied": "복사된 이미지",
"operation.imageDownloaded": "이미지 다운로드됨", "operation.imageDownloaded": "이미지 다운로드됨",
"operation.in": "안으로", "operation.in": "안으로",
"operation.increment": "증가",
"operation.learnMore": "자세히 알아보기", "operation.learnMore": "자세히 알아보기",
"operation.lineBreak": "줄 바꿈", "operation.lineBreak": "줄 바꿈",
"operation.log": "로그", "operation.log": "로그",
@ -637,8 +635,6 @@
"theme.dark": "어두운", "theme.dark": "어두운",
"theme.light": "밝은", "theme.light": "밝은",
"theme.theme": "테마", "theme.theme": "테마",
"toast.close": "알림 닫기",
"toast.notifications": "알림",
"unit.char": "문자", "unit.char": "문자",
"userProfile.about": "Dify 소개", "userProfile.about": "Dify 소개",
"userProfile.community": "커뮤니티", "userProfile.community": "커뮤니티",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Copy Image", "operation.copyImage": "Copy Image",
"operation.create": "Create", "operation.create": "Create",
"operation.deSelectAll": "Deselect All", "operation.deSelectAll": "Deselect All",
"operation.decrement": "Verlagen",
"operation.delete": "Delete", "operation.delete": "Delete",
"operation.deleteApp": "Delete App", "operation.deleteApp": "Delete App",
"operation.deleteConfirmTitle": "Delete?", "operation.deleteConfirmTitle": "Delete?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Image copied", "operation.imageCopied": "Image copied",
"operation.imageDownloaded": "Image downloaded", "operation.imageDownloaded": "Image downloaded",
"operation.in": "in", "operation.in": "in",
"operation.increment": "Verhogen",
"operation.learnMore": "Learn More", "operation.learnMore": "Learn More",
"operation.lineBreak": "Line break", "operation.lineBreak": "Line break",
"operation.log": "Log", "operation.log": "Log",
@ -637,8 +635,6 @@
"theme.dark": "dark", "theme.dark": "dark",
"theme.light": "light", "theme.light": "light",
"theme.theme": "Theme", "theme.theme": "Theme",
"toast.close": "Melding sluiten",
"toast.notifications": "Meldingen",
"unit.char": "chars", "unit.char": "chars",
"userProfile.about": "About", "userProfile.about": "About",
"userProfile.community": "Community", "userProfile.community": "Community",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Kopiuj obraz", "operation.copyImage": "Kopiuj obraz",
"operation.create": "Utwórz", "operation.create": "Utwórz",
"operation.deSelectAll": "Odznacz wszystkie", "operation.deSelectAll": "Odznacz wszystkie",
"operation.decrement": "Zmniejsz",
"operation.delete": "Usuń", "operation.delete": "Usuń",
"operation.deleteApp": "Usuń aplikację", "operation.deleteApp": "Usuń aplikację",
"operation.deleteConfirmTitle": "Usunąć?", "operation.deleteConfirmTitle": "Usunąć?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Skopiowany obraz", "operation.imageCopied": "Skopiowany obraz",
"operation.imageDownloaded": "Obraz pobrany", "operation.imageDownloaded": "Obraz pobrany",
"operation.in": "w", "operation.in": "w",
"operation.increment": "Zwiększ",
"operation.learnMore": "Dowiedz się więcej", "operation.learnMore": "Dowiedz się więcej",
"operation.lineBreak": "Złamanie linii", "operation.lineBreak": "Złamanie linii",
"operation.log": "Dziennik", "operation.log": "Dziennik",
@ -637,8 +635,6 @@
"theme.dark": "ciemny", "theme.dark": "ciemny",
"theme.light": "światło", "theme.light": "światło",
"theme.theme": "Temat", "theme.theme": "Temat",
"toast.close": "Odrzuć powiadomienie",
"toast.notifications": "Powiadomienia",
"unit.char": "znaki", "unit.char": "znaki",
"userProfile.about": "O", "userProfile.about": "O",
"userProfile.community": "Społeczność", "userProfile.community": "Społeczność",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Copiar imagem", "operation.copyImage": "Copiar imagem",
"operation.create": "Criar", "operation.create": "Criar",
"operation.deSelectAll": "Desmarcar tudo", "operation.deSelectAll": "Desmarcar tudo",
"operation.decrement": "Diminuir",
"operation.delete": "Excluir", "operation.delete": "Excluir",
"operation.deleteApp": "Excluir aplicativo", "operation.deleteApp": "Excluir aplicativo",
"operation.deleteConfirmTitle": "Excluir?", "operation.deleteConfirmTitle": "Excluir?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Imagem copiada", "operation.imageCopied": "Imagem copiada",
"operation.imageDownloaded": "Imagem baixada", "operation.imageDownloaded": "Imagem baixada",
"operation.in": "em", "operation.in": "em",
"operation.increment": "Aumentar",
"operation.learnMore": "Saiba Mais", "operation.learnMore": "Saiba Mais",
"operation.lineBreak": "Quebra de linha", "operation.lineBreak": "Quebra de linha",
"operation.log": "Log", "operation.log": "Log",
@ -637,8 +635,6 @@
"theme.dark": "escuro", "theme.dark": "escuro",
"theme.light": "luz", "theme.light": "luz",
"theme.theme": "Tema", "theme.theme": "Tema",
"toast.close": "Dispensar notificação",
"toast.notifications": "Notificações",
"unit.char": "caracteres", "unit.char": "caracteres",
"userProfile.about": "Sobre", "userProfile.about": "Sobre",
"userProfile.community": "Comunidade", "userProfile.community": "Comunidade",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Copiere imagine", "operation.copyImage": "Copiere imagine",
"operation.create": "Creează", "operation.create": "Creează",
"operation.deSelectAll": "Deselectați tot", "operation.deSelectAll": "Deselectați tot",
"operation.decrement": "Decrementare",
"operation.delete": "Șterge", "operation.delete": "Șterge",
"operation.deleteApp": "Ștergeți aplicația", "operation.deleteApp": "Ștergeți aplicația",
"operation.deleteConfirmTitle": "Ștergere?", "operation.deleteConfirmTitle": "Ștergere?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Imagine copiată", "operation.imageCopied": "Imagine copiată",
"operation.imageDownloaded": "Imagine descărcată", "operation.imageDownloaded": "Imagine descărcată",
"operation.in": "în", "operation.in": "în",
"operation.increment": "Incrementare",
"operation.learnMore": "Află mai multe", "operation.learnMore": "Află mai multe",
"operation.lineBreak": "Linie nouă", "operation.lineBreak": "Linie nouă",
"operation.log": "Jurnal", "operation.log": "Jurnal",
@ -637,8 +635,6 @@
"theme.dark": "întunecat", "theme.dark": "întunecat",
"theme.light": "lumina", "theme.light": "lumina",
"theme.theme": "Temă", "theme.theme": "Temă",
"toast.close": "Închide notificarea",
"toast.notifications": "Notificări",
"unit.char": "caractere", "unit.char": "caractere",
"userProfile.about": "Despre", "userProfile.about": "Despre",
"userProfile.community": "Comunitate", "userProfile.community": "Comunitate",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Скопировать изображение", "operation.copyImage": "Скопировать изображение",
"operation.create": "Создать", "operation.create": "Создать",
"operation.deSelectAll": "Снять выделение со всех", "operation.deSelectAll": "Снять выделение со всех",
"operation.decrement": "Уменьшить",
"operation.delete": "Удалить", "operation.delete": "Удалить",
"operation.deleteApp": "Удалить приложение", "operation.deleteApp": "Удалить приложение",
"operation.deleteConfirmTitle": "Удалить?", "operation.deleteConfirmTitle": "Удалить?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Скопированное изображение", "operation.imageCopied": "Скопированное изображение",
"operation.imageDownloaded": "Изображение загружено", "operation.imageDownloaded": "Изображение загружено",
"operation.in": "в", "operation.in": "в",
"operation.increment": "Увеличить",
"operation.learnMore": "Узнать больше", "operation.learnMore": "Узнать больше",
"operation.lineBreak": "Разрыв строки", "operation.lineBreak": "Разрыв строки",
"operation.log": "Журнал", "operation.log": "Журнал",
@ -637,8 +635,6 @@
"theme.dark": "темный", "theme.dark": "темный",
"theme.light": "свет", "theme.light": "свет",
"theme.theme": "Тема", "theme.theme": "Тема",
"toast.close": "Закрыть уведомление",
"toast.notifications": "Уведомления",
"unit.char": "символов", "unit.char": "символов",
"userProfile.about": "О нас", "userProfile.about": "О нас",
"userProfile.community": "Сообщество", "userProfile.community": "Сообщество",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Kopiraj sliko", "operation.copyImage": "Kopiraj sliko",
"operation.create": "Ustvari", "operation.create": "Ustvari",
"operation.deSelectAll": "Odberi vse", "operation.deSelectAll": "Odberi vse",
"operation.decrement": "Zmanjšaj",
"operation.delete": "Izbriši", "operation.delete": "Izbriši",
"operation.deleteApp": "Izbriši aplikacijo", "operation.deleteApp": "Izbriši aplikacijo",
"operation.deleteConfirmTitle": "Izbrisati?", "operation.deleteConfirmTitle": "Izbrisati?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Kopirana slika", "operation.imageCopied": "Kopirana slika",
"operation.imageDownloaded": "Slika prenesena", "operation.imageDownloaded": "Slika prenesena",
"operation.in": "v", "operation.in": "v",
"operation.increment": "Povečaj",
"operation.learnMore": "Izvedi več", "operation.learnMore": "Izvedi več",
"operation.lineBreak": "Prelom vrstice", "operation.lineBreak": "Prelom vrstice",
"operation.log": "Dnevnik", "operation.log": "Dnevnik",
@ -637,8 +635,6 @@
"theme.dark": "temno", "theme.dark": "temno",
"theme.light": "svetloba", "theme.light": "svetloba",
"theme.theme": "Tema", "theme.theme": "Tema",
"toast.close": "Zapri obvestilo",
"toast.notifications": "Obvestila",
"unit.char": "znaki", "unit.char": "znaki",
"userProfile.about": "O nas", "userProfile.about": "O nas",
"userProfile.community": "Skupnost", "userProfile.community": "Skupnost",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "คัดลอกรูปภาพ", "operation.copyImage": "คัดลอกรูปภาพ",
"operation.create": "สร้าง", "operation.create": "สร้าง",
"operation.deSelectAll": "ยกเลิกการเลือกทั้งหมด", "operation.deSelectAll": "ยกเลิกการเลือกทั้งหมด",
"operation.decrement": "ลดลง",
"operation.delete": "ลบ", "operation.delete": "ลบ",
"operation.deleteApp": "ลบแอพ", "operation.deleteApp": "ลบแอพ",
"operation.deleteConfirmTitle": "ลบหรือไม่?", "operation.deleteConfirmTitle": "ลบหรือไม่?",
@ -500,7 +499,6 @@
"operation.imageCopied": "ภาพที่คัดลอก", "operation.imageCopied": "ภาพที่คัดลอก",
"operation.imageDownloaded": "ดาวน์โหลดรูปภาพแล้ว", "operation.imageDownloaded": "ดาวน์โหลดรูปภาพแล้ว",
"operation.in": "ใน", "operation.in": "ใน",
"operation.increment": "เพิ่มขึ้น",
"operation.learnMore": "ศึกษาเพิ่มเติม", "operation.learnMore": "ศึกษาเพิ่มเติม",
"operation.lineBreak": "ตัวแบ่งบรรทัด", "operation.lineBreak": "ตัวแบ่งบรรทัด",
"operation.log": "ซุง", "operation.log": "ซุง",
@ -637,8 +635,6 @@
"theme.dark": "มืด", "theme.dark": "มืด",
"theme.light": "แสง", "theme.light": "แสง",
"theme.theme": "ธีม", "theme.theme": "ธีม",
"toast.close": "ปิดการแจ้งเตือน",
"toast.notifications": "การแจ้งเตือน",
"unit.char": "รถ ถัง", "unit.char": "รถ ถัง",
"userProfile.about": "ประมาณ", "userProfile.about": "ประมาณ",
"userProfile.community": "ชุมชน", "userProfile.community": "ชุมชน",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Resmi Kopyala", "operation.copyImage": "Resmi Kopyala",
"operation.create": "Oluştur", "operation.create": "Oluştur",
"operation.deSelectAll": "Hepsini Seçme", "operation.deSelectAll": "Hepsini Seçme",
"operation.decrement": "Azalt",
"operation.delete": "Sil", "operation.delete": "Sil",
"operation.deleteApp": "Uygulamayı Sil", "operation.deleteApp": "Uygulamayı Sil",
"operation.deleteConfirmTitle": "Silinsin mi?", "operation.deleteConfirmTitle": "Silinsin mi?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Kopyalanan görüntü", "operation.imageCopied": "Kopyalanan görüntü",
"operation.imageDownloaded": "Resim indirildi", "operation.imageDownloaded": "Resim indirildi",
"operation.in": "içinde", "operation.in": "içinde",
"operation.increment": "Artır",
"operation.learnMore": "Daha Fazla Bilgi", "operation.learnMore": "Daha Fazla Bilgi",
"operation.lineBreak": "Satır sonu", "operation.lineBreak": "Satır sonu",
"operation.log": "log", "operation.log": "log",
@ -637,8 +635,6 @@
"theme.dark": "koyu", "theme.dark": "koyu",
"theme.light": "açık", "theme.light": "açık",
"theme.theme": "Tema", "theme.theme": "Tema",
"toast.close": "Bildirimi kapat",
"toast.notifications": "Bildirimler",
"unit.char": "karakter", "unit.char": "karakter",
"userProfile.about": "Hakkında", "userProfile.about": "Hakkında",
"userProfile.community": "Topluluk", "userProfile.community": "Topluluk",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Скопіювати зображення", "operation.copyImage": "Скопіювати зображення",
"operation.create": "Створити", "operation.create": "Створити",
"operation.deSelectAll": "Вимкнути все", "operation.deSelectAll": "Вимкнути все",
"operation.decrement": "Зменшити",
"operation.delete": "Видалити", "operation.delete": "Видалити",
"operation.deleteApp": "Видалити програму", "operation.deleteApp": "Видалити програму",
"operation.deleteConfirmTitle": "Видалити?", "operation.deleteConfirmTitle": "Видалити?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Скопійоване зображення", "operation.imageCopied": "Скопійоване зображення",
"operation.imageDownloaded": "Зображення завантажено", "operation.imageDownloaded": "Зображення завантажено",
"operation.in": "В", "operation.in": "В",
"operation.increment": "Збільшити",
"operation.learnMore": "Дізнатися більше", "operation.learnMore": "Дізнатися більше",
"operation.lineBreak": "Перенесення рядка", "operation.lineBreak": "Перенесення рядка",
"operation.log": "Журнал", "operation.log": "Журнал",
@ -637,8 +635,6 @@
"theme.dark": "темний", "theme.dark": "темний",
"theme.light": "світло", "theme.light": "світло",
"theme.theme": "Тема", "theme.theme": "Тема",
"toast.close": "Закрити сповіщення",
"toast.notifications": "Сповіщення",
"unit.char": "символів", "unit.char": "символів",
"userProfile.about": "Про нас", "userProfile.about": "Про нас",
"userProfile.community": "Спільнота", "userProfile.community": "Спільнота",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "Sao chép hình ảnh", "operation.copyImage": "Sao chép hình ảnh",
"operation.create": "Tạo mới", "operation.create": "Tạo mới",
"operation.deSelectAll": "Bỏ chọn tất cả", "operation.deSelectAll": "Bỏ chọn tất cả",
"operation.decrement": "Giảm",
"operation.delete": "Xóa", "operation.delete": "Xóa",
"operation.deleteApp": "Xóa ứng dụng", "operation.deleteApp": "Xóa ứng dụng",
"operation.deleteConfirmTitle": "Xóa?", "operation.deleteConfirmTitle": "Xóa?",
@ -500,7 +499,6 @@
"operation.imageCopied": "Hình ảnh sao chép", "operation.imageCopied": "Hình ảnh sao chép",
"operation.imageDownloaded": "Hình ảnh đã được tải xuống", "operation.imageDownloaded": "Hình ảnh đã được tải xuống",
"operation.in": "trong", "operation.in": "trong",
"operation.increment": "Tăng",
"operation.learnMore": "Tìm hiểu thêm", "operation.learnMore": "Tìm hiểu thêm",
"operation.lineBreak": "Ngắt dòng", "operation.lineBreak": "Ngắt dòng",
"operation.log": "Nhật ký", "operation.log": "Nhật ký",
@ -637,8 +635,6 @@
"theme.dark": "tối", "theme.dark": "tối",
"theme.light": "ánh sáng", "theme.light": "ánh sáng",
"theme.theme": "Chủ đề", "theme.theme": "Chủ đề",
"toast.close": "Bỏ qua thông báo",
"toast.notifications": "Thông báo",
"unit.char": "ký tự", "unit.char": "ký tự",
"userProfile.about": "Về chúng tôi", "userProfile.about": "Về chúng tôi",
"userProfile.community": "Cộng đồng", "userProfile.community": "Cộng đồng",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "复制图片", "operation.copyImage": "复制图片",
"operation.create": "创建", "operation.create": "创建",
"operation.deSelectAll": "取消全选", "operation.deSelectAll": "取消全选",
"operation.decrement": "减少",
"operation.delete": "删除", "operation.delete": "删除",
"operation.deleteApp": "删除应用", "operation.deleteApp": "删除应用",
"operation.deleteConfirmTitle": "删除?", "operation.deleteConfirmTitle": "删除?",
@ -500,7 +499,6 @@
"operation.imageCopied": "图片已复制", "operation.imageCopied": "图片已复制",
"operation.imageDownloaded": "图片已下载", "operation.imageDownloaded": "图片已下载",
"operation.in": "在", "operation.in": "在",
"operation.increment": "增加",
"operation.learnMore": "了解更多", "operation.learnMore": "了解更多",
"operation.lineBreak": "换行", "operation.lineBreak": "换行",
"operation.log": "日志", "operation.log": "日志",
@ -637,8 +635,6 @@
"theme.dark": "深色", "theme.dark": "深色",
"theme.light": "浅色", "theme.light": "浅色",
"theme.theme": "主题", "theme.theme": "主题",
"toast.close": "关闭通知",
"toast.notifications": "通知",
"unit.char": "个字符", "unit.char": "个字符",
"userProfile.about": "关于", "userProfile.about": "关于",
"userProfile.community": "社区", "userProfile.community": "社区",

View File

@ -486,7 +486,6 @@
"operation.copyImage": "複製圖像", "operation.copyImage": "複製圖像",
"operation.create": "建立", "operation.create": "建立",
"operation.deSelectAll": "全不選", "operation.deSelectAll": "全不選",
"operation.decrement": "減少",
"operation.delete": "刪除", "operation.delete": "刪除",
"operation.deleteApp": "刪除應用程式", "operation.deleteApp": "刪除應用程式",
"operation.deleteConfirmTitle": "刪除?", "operation.deleteConfirmTitle": "刪除?",
@ -500,7 +499,6 @@
"operation.imageCopied": "複製的圖片", "operation.imageCopied": "複製的圖片",
"operation.imageDownloaded": "圖片已下載", "operation.imageDownloaded": "圖片已下載",
"operation.in": "在", "operation.in": "在",
"operation.increment": "增加",
"operation.learnMore": "瞭解更多", "operation.learnMore": "瞭解更多",
"operation.lineBreak": "換行", "operation.lineBreak": "換行",
"operation.log": "日誌", "operation.log": "日誌",
@ -637,8 +635,6 @@
"theme.dark": "黑暗", "theme.dark": "黑暗",
"theme.light": "光", "theme.light": "光",
"theme.theme": "主題", "theme.theme": "主題",
"toast.close": "關閉通知",
"toast.notifications": "通知",
"unit.char": "個字元", "unit.char": "個字元",
"userProfile.about": "關於", "userProfile.about": "關於",
"userProfile.community": "社群", "userProfile.community": "社群",