Merge pull request #457 from wswongat/master
Add traditional chinese translation
This commit is contained in:
commit
b49c149696
|
@ -119,6 +119,9 @@ They can be installed as shown below:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Ubuntu
|
# Ubuntu
|
||||||
|
sudo add-apt-repository ppa:strukturag/libheif
|
||||||
|
sudo add-apt-repository ppa:strukturag/libde265
|
||||||
|
sudo apt-get update
|
||||||
sudo apt-get install libdlib-dev libblas-dev libatlas-base-dev liblapack-dev libjpeg-turbo8-dev libheif-dev
|
sudo apt-get install libdlib-dev libblas-dev libatlas-base-dev liblapack-dev libjpeg-turbo8-dev libheif-dev
|
||||||
# Debian
|
# Debian
|
||||||
sudo apt-get install libdlib-dev libblas-dev libatlas-base-dev liblapack-dev libjpeg62-turbo-dev libheif-dev
|
sudo apt-get install libdlib-dev libblas-dev libatlas-base-dev liblapack-dev libjpeg62-turbo-dev libheif-dev
|
||||||
|
|
|
@ -1851,6 +1851,7 @@ enum LanguageTranslation {
|
||||||
Polish,
|
Polish,
|
||||||
German,
|
German,
|
||||||
Russian,
|
Russian,
|
||||||
|
TraditionalChinese,
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserPreferences {
|
type UserPreferences {
|
||||||
|
|
|
@ -80,6 +80,7 @@ const (
|
||||||
LanguageTranslationPolish LanguageTranslation = "Polish"
|
LanguageTranslationPolish LanguageTranslation = "Polish"
|
||||||
LanguageTranslationGerman LanguageTranslation = "German"
|
LanguageTranslationGerman LanguageTranslation = "German"
|
||||||
LanguageTranslationRussian LanguageTranslation = "Russian"
|
LanguageTranslationRussian LanguageTranslation = "Russian"
|
||||||
|
LanguageTranslationTraditionalChinese LanguageTranslation = "TraditionalChinese"
|
||||||
)
|
)
|
||||||
|
|
||||||
var AllLanguageTranslation = []LanguageTranslation{
|
var AllLanguageTranslation = []LanguageTranslation{
|
||||||
|
@ -92,11 +93,12 @@ var AllLanguageTranslation = []LanguageTranslation{
|
||||||
LanguageTranslationPolish,
|
LanguageTranslationPolish,
|
||||||
LanguageTranslationGerman,
|
LanguageTranslationGerman,
|
||||||
LanguageTranslationRussian,
|
LanguageTranslationRussian,
|
||||||
|
LanguageTranslationTraditionalChinese,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e LanguageTranslation) IsValid() bool {
|
func (e LanguageTranslation) IsValid() bool {
|
||||||
switch e {
|
switch e {
|
||||||
case LanguageTranslationEnglish, LanguageTranslationFrench, LanguageTranslationItalian, LanguageTranslationSwedish, LanguageTranslationDanish, LanguageTranslationSpanish, LanguageTranslationPolish, LanguageTranslationGerman, LanguageTranslationRussian:
|
case LanguageTranslationEnglish, LanguageTranslationFrench, LanguageTranslationItalian, LanguageTranslationSwedish, LanguageTranslationDanish, LanguageTranslationSpanish, LanguageTranslationPolish, LanguageTranslationGerman, LanguageTranslationRussian, LanguageTranslationTraditionalChinese:
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
|
|
@ -231,6 +231,7 @@ enum LanguageTranslation {
|
||||||
Polish,
|
Polish,
|
||||||
German,
|
German,
|
||||||
Russian,
|
Russian,
|
||||||
|
TraditionalChinese,
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserPreferences {
|
type UserPreferences {
|
||||||
|
|
|
@ -26,7 +26,13 @@ const languagePreferences = [
|
||||||
{ key: 6, label: 'polski', flag: 'pl', value: LanguageTranslation.Polish },
|
{ key: 6, label: 'polski', flag: 'pl', value: LanguageTranslation.Polish },
|
||||||
{ key: 7, label: 'Italiano', flag: 'it', value: LanguageTranslation.Italian },
|
{ key: 7, label: 'Italiano', flag: 'it', value: LanguageTranslation.Italian },
|
||||||
{ key: 8, label: 'Deutsch', flag: 'de', value: LanguageTranslation.German },
|
{ 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`
|
const CHANGE_USER_PREFERENCES = gql`
|
||||||
|
|
|
@ -17,6 +17,7 @@ export enum LanguageTranslation {
|
||||||
Russian = 'Russian',
|
Russian = 'Russian',
|
||||||
Spanish = 'Spanish',
|
Spanish = 'Spanish',
|
||||||
Swedish = 'Swedish',
|
Swedish = 'Swedish',
|
||||||
|
TraditionalChinese = 'TraditionalChinese',
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum MediaType {
|
export enum MediaType {
|
||||||
|
|
|
@ -0,0 +1,308 @@
|
||||||
|
{
|
||||||
|
"album_filter": {
|
||||||
|
"only_favorites": "只顯示喜愛",
|
||||||
|
"sort": "排序",
|
||||||
|
"sorting_options": {
|
||||||
|
"date_imported": "加入日期",
|
||||||
|
"date_shot": "拍攝日期",
|
||||||
|
"title": "標題",
|
||||||
|
"type": "種類"
|
||||||
|
},
|
||||||
|
"sort_by": "排序方式"
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"action": {
|
||||||
|
"add": "加入",
|
||||||
|
"cancel": "取消",
|
||||||
|
"remove": "刪除",
|
||||||
|
"save": "儲存"
|
||||||
|
},
|
||||||
|
"loading": {
|
||||||
|
"album": "載入相簿中",
|
||||||
|
"default": "載入中...",
|
||||||
|
"page": "載入頁面中",
|
||||||
|
"paginate": {
|
||||||
|
"faces": "載入更多臉孔",
|
||||||
|
"media": "載入更多媒體"
|
||||||
|
},
|
||||||
|
"shares": "載入分享..."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"header": {
|
||||||
|
"search": {
|
||||||
|
"loading": "載入結果...",
|
||||||
|
"no_results": "找不到結果",
|
||||||
|
"placeholder": "搜尋",
|
||||||
|
"result_type": {
|
||||||
|
"albums": "相簿",
|
||||||
|
"media": "媒體"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login_page": {
|
||||||
|
"field": {
|
||||||
|
"password": "密碼",
|
||||||
|
"submit": "登入",
|
||||||
|
"username": "使用者名稱"
|
||||||
|
},
|
||||||
|
"initial_setup": {
|
||||||
|
"field": {
|
||||||
|
"photo_path": {
|
||||||
|
"label": "相簿路徑",
|
||||||
|
"placeholder": "/path/to/photos"
|
||||||
|
},
|
||||||
|
"submit": "設定 Photoview"
|
||||||
|
},
|
||||||
|
"title": "初始設定"
|
||||||
|
},
|
||||||
|
"welcome": "歡迎使用 Photoview"
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"description": "簡單及易用的照片庫給個人伺服器"
|
||||||
|
},
|
||||||
|
"people_page": {
|
||||||
|
"face_group": {
|
||||||
|
"label_placeholder": "名稱",
|
||||||
|
"unlabeled": "未命名",
|
||||||
|
"unlabeled_person": "未命名人物"
|
||||||
|
},
|
||||||
|
"modal": {
|
||||||
|
"action": {
|
||||||
|
"merge": "合併"
|
||||||
|
},
|
||||||
|
"detach_image_faces": {
|
||||||
|
"action": {
|
||||||
|
"detach": "分離相片臉孔",
|
||||||
|
"select_images": "選擇分離相片"
|
||||||
|
},
|
||||||
|
"description": "分離已選擇相片中的臉孔群組及移動到新臉孔群組",
|
||||||
|
"title": "分離相片中的臉孔"
|
||||||
|
},
|
||||||
|
"merge_face_groups": {
|
||||||
|
"description": "所有在此的臉孔群組將會合併到已選擇的臉孔群組",
|
||||||
|
"destination_table": {
|
||||||
|
"title": "選擇目標臉孔群組"
|
||||||
|
},
|
||||||
|
"title": "合併臉孔群組"
|
||||||
|
},
|
||||||
|
"move_image_faces": {
|
||||||
|
"description": "移動已選擇的臉孔群組到另一個面孔群組",
|
||||||
|
"destination_face_group_table": {
|
||||||
|
"move_action": "移動相片的面孔",
|
||||||
|
"title": "選擇目標臉孔群組"
|
||||||
|
},
|
||||||
|
"image_select_table": {
|
||||||
|
"next_action": "下一步",
|
||||||
|
"title": "選擇想移動的相片"
|
||||||
|
},
|
||||||
|
"title": "移動相片臉孔"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"recognize_unlabeled_faces_button": "已識別的未命名臉孔",
|
||||||
|
"tableselect_face_group": {
|
||||||
|
"search_faces_placeholder": "搜尋臉孔..."
|
||||||
|
},
|
||||||
|
"tableselect_image_faces": {
|
||||||
|
"search_images_placeholder": "搜尋相片..."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"photos_page": {
|
||||||
|
"title": "相片"
|
||||||
|
},
|
||||||
|
"places_page": {
|
||||||
|
"title": "地點"
|
||||||
|
},
|
||||||
|
"routes": {
|
||||||
|
"page_not_found": "找不到網頁"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"concurrent_workers": {
|
||||||
|
"description": "最多同時進行的掃描工作數目",
|
||||||
|
"title": "同時掃描工作"
|
||||||
|
},
|
||||||
|
"logout": "登出",
|
||||||
|
"periodic_scanner": {
|
||||||
|
"checkbox_label": "啟用週期性掃描",
|
||||||
|
"field": {
|
||||||
|
"description": "對全部使用者自動掃描的頻率",
|
||||||
|
"label": "掃描頻率"
|
||||||
|
},
|
||||||
|
"interval_unit": {
|
||||||
|
"days": "日",
|
||||||
|
"hour": "小時",
|
||||||
|
"minutes": "分鐘",
|
||||||
|
"months": "月",
|
||||||
|
"seconds": "秒"
|
||||||
|
},
|
||||||
|
"title": "週期性掃描"
|
||||||
|
},
|
||||||
|
"scanner": {
|
||||||
|
"description": "將掃描所有使用者的新媒體或更新媒體",
|
||||||
|
"scan_all_users": "掃描所有使用者",
|
||||||
|
"title": "掃描"
|
||||||
|
},
|
||||||
|
"user_preferences": {
|
||||||
|
"change_language": {
|
||||||
|
"description": "Change website language specific for this user",
|
||||||
|
"label": "Website language"
|
||||||
|
},
|
||||||
|
"language_selector": {
|
||||||
|
"placeholder": "Select language"
|
||||||
|
},
|
||||||
|
"title": "使用者選項"
|
||||||
|
},
|
||||||
|
"users": {
|
||||||
|
"add_user": {
|
||||||
|
"submit": "新增使用者"
|
||||||
|
},
|
||||||
|
"confirm_delete_user": {
|
||||||
|
"action": "刪除 {{user}}",
|
||||||
|
"description": "<0>確定刪除 <1></1>?</0><p>此操作無法取消</p>",
|
||||||
|
"title": "刪除使用者"
|
||||||
|
},
|
||||||
|
"password_reset": {
|
||||||
|
"description": "更改 <1>{{username}}</1> 的密碼",
|
||||||
|
"form": {
|
||||||
|
"label": "新密碼",
|
||||||
|
"placeholder": "密碼",
|
||||||
|
"submit": "提交"
|
||||||
|
},
|
||||||
|
"title": "更改密碼"
|
||||||
|
},
|
||||||
|
"table": {
|
||||||
|
"column_names": {
|
||||||
|
"action": "動作",
|
||||||
|
"capabilities": "能力",
|
||||||
|
"photo_path": "相簿路徑",
|
||||||
|
"username": "使用者名稱"
|
||||||
|
},
|
||||||
|
"new_user": "新增使用者",
|
||||||
|
"row": {
|
||||||
|
"action": {
|
||||||
|
"change_password": "更改密碼",
|
||||||
|
"delete": "刪除",
|
||||||
|
"edit": "更改",
|
||||||
|
"scan": "掃描"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"title": "使用者"
|
||||||
|
},
|
||||||
|
"version_info": {
|
||||||
|
"build_date_title": "編譯日期",
|
||||||
|
"title": "Photoview 版本",
|
||||||
|
"version_title": "釋出版本"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"share_page": {
|
||||||
|
"media": {
|
||||||
|
"title": "已分享媒體"
|
||||||
|
},
|
||||||
|
"protected_share": {
|
||||||
|
"description": "此分享受密碼保護",
|
||||||
|
"password_required_error": "需要密碼",
|
||||||
|
"title": "已保護的分享"
|
||||||
|
},
|
||||||
|
"share_not_found": "找不到分享",
|
||||||
|
"share_not_found_description": "可能此分享已過期或已刪除",
|
||||||
|
"wrong_password": "密碼錯誤,請重試"
|
||||||
|
},
|
||||||
|
"sidebar": {
|
||||||
|
"album": {
|
||||||
|
"title_placeholder": "相簿名稱"
|
||||||
|
},
|
||||||
|
"download": {
|
||||||
|
"filesize": {
|
||||||
|
"byte": null,
|
||||||
|
"giga_byte": null,
|
||||||
|
"kilo_byte": null,
|
||||||
|
"mega_byte": null,
|
||||||
|
"tera_byte": null,
|
||||||
|
"byte_0": null,
|
||||||
|
"byte_1": null,
|
||||||
|
"byte_2": null,
|
||||||
|
"giga_byte_0": null,
|
||||||
|
"giga_byte_1": null,
|
||||||
|
"giga_byte_2": null,
|
||||||
|
"kilo_byte_0": null,
|
||||||
|
"kilo_byte_1": null,
|
||||||
|
"kilo_byte_2": null,
|
||||||
|
"mega_byte_0": null,
|
||||||
|
"mega_byte_1": null,
|
||||||
|
"mega_byte_2": null,
|
||||||
|
"tera_byte_0": null,
|
||||||
|
"tera_byte_1": null,
|
||||||
|
"tera_byte_2": null
|
||||||
|
},
|
||||||
|
"table_columns": {
|
||||||
|
"dimensions": "尺寸",
|
||||||
|
"file_size": "大小",
|
||||||
|
"file_type": "類型",
|
||||||
|
"name": "名稱"
|
||||||
|
},
|
||||||
|
"title": "下載"
|
||||||
|
},
|
||||||
|
"media": {
|
||||||
|
"exif": {
|
||||||
|
"exposure_program": {
|
||||||
|
"action_program": "動態模式",
|
||||||
|
"aperture_priority": "光圈優先",
|
||||||
|
"bulb": "曝光模式",
|
||||||
|
"creative_program": "創意模式",
|
||||||
|
"landscape_mode": "風景模式",
|
||||||
|
"manual": "手動模式",
|
||||||
|
"normal_program": "普通模式",
|
||||||
|
"not_defined": "未定義",
|
||||||
|
"portrait_mode": "肖像模式",
|
||||||
|
"shutter_priority": "快門優先"
|
||||||
|
},
|
||||||
|
"flash": {
|
||||||
|
"auto": "自動",
|
||||||
|
"did_not_fire": null,
|
||||||
|
"fired": null,
|
||||||
|
"no_flash": null,
|
||||||
|
"no_flash_function": null,
|
||||||
|
"off": "關閉",
|
||||||
|
"on": "使用",
|
||||||
|
"red_eye_reduction": "減輕紅眼",
|
||||||
|
"return_detected": null,
|
||||||
|
"return_not_detected": null
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"aperture": "光圈",
|
||||||
|
"camera": "相機",
|
||||||
|
"date_shot": "拍攝日期",
|
||||||
|
"exposure": "曝光",
|
||||||
|
"exposure_program": "模式",
|
||||||
|
"flash": "閃光燈",
|
||||||
|
"focal_length": "焦距",
|
||||||
|
"iso": "ISO",
|
||||||
|
"lens": "鏡頭",
|
||||||
|
"maker": "製造商"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sharing": {
|
||||||
|
"add_share": "新增分享",
|
||||||
|
"copy_link": "複製連結",
|
||||||
|
"delete": "刪除分享",
|
||||||
|
"more": "更多",
|
||||||
|
"no_shares_found": "沒有分享",
|
||||||
|
"public_link": "公開連結",
|
||||||
|
"title": "分享選項"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sidemenu": {
|
||||||
|
"albums": "相簿",
|
||||||
|
"people": "人物",
|
||||||
|
"photos": "時間線",
|
||||||
|
"places": "地點",
|
||||||
|
"settings": "設定"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"loading_album": "載入相簿",
|
||||||
|
"login": "登入",
|
||||||
|
"people": "人物",
|
||||||
|
"settings": "設定"
|
||||||
|
}
|
||||||
|
}
|
|
@ -112,6 +112,14 @@ export const loadTranslations = () => {
|
||||||
i18n.changeLanguage('ru')
|
i18n.changeLanguage('ru')
|
||||||
})
|
})
|
||||||
return
|
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)
|
exhaustiveCheck(language)
|
||||||
|
|
Loading…
Reference in New Issue