diff --git a/api/graphql/generated.go b/api/graphql/generated.go
index 55259b8..d19e7f5 100644
--- a/api/graphql/generated.go
+++ b/api/graphql/generated.go
@@ -1851,6 +1851,7 @@ enum LanguageTranslation {
   Polish,
   German,
   Russian,
+  TraditionalChinese,
 }
 
 type UserPreferences {
diff --git a/api/graphql/schema.graphql b/api/graphql/schema.graphql
index a22c727..8ab487d 100644
--- a/api/graphql/schema.graphql
+++ b/api/graphql/schema.graphql
@@ -231,6 +231,7 @@ enum LanguageTranslation {
   Polish,
   German,
   Russian,
+  TraditionalChinese,
 }
 
 type UserPreferences {
diff --git a/ui/src/Pages/SettingsPage/UserPreferences.tsx b/ui/src/Pages/SettingsPage/UserPreferences.tsx
index 4e69af5..87de699 100644
--- a/ui/src/Pages/SettingsPage/UserPreferences.tsx
+++ b/ui/src/Pages/SettingsPage/UserPreferences.tsx
@@ -26,7 +26,13 @@ const languagePreferences = [
   { key: 6, label: 'polski', flag: 'pl', value: LanguageTranslation.Polish },
   { key: 7, label: 'Italiano', flag: 'it', value: LanguageTranslation.Italian },
   { key: 8, label: 'Deutsch', flag: 'de', value: LanguageTranslation.German },
-  { key: 8, label: 'Русский', flag: 'ru', value: LanguageTranslation.Russian },
+  { key: 9, label: 'Русский', flag: 'ru', value: LanguageTranslation.Russian },
+  {
+    key: 10,
+    label: '繁體中文',
+    flag: 'zh-HK',
+    value: LanguageTranslation.TraditionalChinese,
+  },
 ]
 
 const CHANGE_USER_PREFERENCES = gql`
diff --git a/ui/src/extractedTranslations/zh-hk/translation.json b/ui/src/extractedTranslations/zh-HK/translation.json
similarity index 94%
rename from ui/src/extractedTranslations/zh-hk/translation.json
rename to ui/src/extractedTranslations/zh-HK/translation.json
index 95cbc3a..327d1e6 100644
--- a/ui/src/extractedTranslations/zh-hk/translation.json
+++ b/ui/src/extractedTranslations/zh-HK/translation.json
@@ -161,7 +161,7 @@
         "title": "刪除使用者"
       },
       "password_reset": {
-        "description": "更改密碼 for <1></1>",
+        "description": "更改 <1>{{username}}</1> 的密碼",
         "form": {
           "label": "新密碼",
           "placeholder": "密碼",
@@ -213,11 +213,11 @@
     },
     "download": {
       "filesize": {
-        "byte": "",
-        "giga_byte": "",
-        "kilo_byte": "",
-        "mega_byte": "",
-        "tera_byte": "",
+        "byte": null,
+        "giga_byte": null,
+        "kilo_byte": null,
+        "mega_byte": null,
+        "tera_byte": null,
         "byte_0": null,
         "byte_1": null,
         "byte_2": null,
@@ -258,15 +258,15 @@
         },
         "flash": {
           "auto": "自動",
-          "did_not_fire": "Did not fire",
-          "fired": "Fired",
-          "no_flash": "No Flash",
-          "no_flash_function": "No flash function",
+          "did_not_fire": null,
+          "fired": null,
+          "no_flash": null,
+          "no_flash_function": null,
           "off": "關閉",
           "on": "使用",
           "red_eye_reduction": "減輕紅眼",
-          "return_detected": "Return detected",
-          "return_not_detected": "Return not detected"
+          "return_detected": null,
+          "return_not_detected": null
         },
         "name": {
           "aperture": "光圈",
@@ -295,7 +295,7 @@
   "sidemenu": {
     "albums": "相簿",
     "people": "人物",
-    "photos": "相片",
+    "photos": "時間線",
     "places": "地點",
     "settings": "設定"
   },
diff --git a/ui/src/localization.ts b/ui/src/localization.ts
index 8a9adcc..9cde4ee 100644
--- a/ui/src/localization.ts
+++ b/ui/src/localization.ts
@@ -112,6 +112,14 @@ export const loadTranslations = () => {
           i18n.changeLanguage('ru')
         })
         return
+      case LanguageTranslation.TraditionalChinese:
+        import('./extractedTranslations/zh-HK/translation.json').then(
+          traditionalChinese => {
+            i18n.addResourceBundle('zh-HK', 'translation', traditionalChinese)
+            i18n.changeLanguage('zh-HK')
+          }
+        )
+        return
     }
 
     exhaustiveCheck(language)
