diff --git a/src/i18n/index.tsx b/src/i18n/index.tsx
index a23d56c..f7d4b02 100644
--- a/src/i18n/index.tsx
+++ b/src/i18n/index.tsx
@@ -9,15 +9,20 @@ import en from './locales/en/translation.json';
import es from './locales/es/translation.json';
import ja from './locales/ja/translation.json';
import ru from './locales/ru/translation.json';
-import zh from './locales/zh_CN/translation.json';
+import zh_CN from './locales/zh_CN/translation.json';
+import zh_TW from './locales/zh_TW/translation.json';
-export const locales = ['en', 'es', 'ja', 'ru', 'zh'] as const;
+export const locales = ['en', 'es', 'ja', 'ru', 'zh_CN', 'zh_TW'] as const;
export type Locale = (typeof locales)[number];
-export const isLocale = (locale: string): locale is Locale => locales.includes(locale as Locale);
+
+export const isLocale = (locale: string): locale is Locale =>
+ locales.includes(locale as Locale) ||
+ (locale.startsWith('zh-') && (locales.includes('zh_CN' as Locale) || locales.includes('zh_TW' as Locale)));
export const localeOptions: Array