diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index 4119803..af1d77f 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -20,6 +20,7 @@ const searchTerm = ref(''); const langToCountry = { en: 'gb', zh: 'cn', + 'zh-hant': 'tw', hi: 'in', es: 'es', fr: 'fr', diff --git a/src/composables/useI18n.js b/src/composables/useI18n.js index 8370a56..48c48e6 100644 --- a/src/composables/useI18n.js +++ b/src/composables/useI18n.js @@ -93,7 +93,7 @@ const messages = { 'theme.dark': 'Ciemny', 'language.searchLabel': 'Wyszukaj język', 'language.searchPlaceholder': 'Wpisz nazwę języka...', - 'nav.newGame','nav.guide': 'NOWA GRA', + 'nav.newGame': 'NOWA GRA', 'nav.guide': 'PRZEWODNIK' }, en: { @@ -287,7 +287,8 @@ const messages = { 'language.label': '语言选择', 'language.pl': '波兰语', 'language.en': '英语', - 'language.zh': '中文', + 'language.zh': '中文 (简体)', + 'language.zh-hant': '中文 (繁体)', 'language.hi': '印地语', 'language.es': '西班牙语', 'language.fr': '法语', @@ -305,6 +306,69 @@ const messages = { 'nav.newGame': '新游戏', 'nav.guide': '指南' }, + 'zh-hant': { + 'app.title': 'Nonograms', + 'level.easy': '簡單 5X5', + 'level.medium': '中等 10X10', + 'level.hard': '困難 15X15', + 'level.custom': '自定義', + 'level.guide': '指南 ❓', + 'actions.reset': '重置', + 'actions.random': '新隨機', + 'actions.undo': '撤銷', + 'status.time': '時間', + 'status.moves': '步數', + 'status.progress': '進度', + 'fixed.time': '時間:', + 'fixed.progress': '進度:', + 'fixed.hide': '隱藏', + 'fixed.show': '顯示', + 'guide.play': '開始', + 'guide.pause': '暫停', + 'guide.step': '步驟', + 'guide.speed': '速度', + 'guide.waiting': '等待...', + 'guide.solved': '已解!', + 'custom.title': '自定義遊戲', + 'custom.prompt': '輸入網格大小 (5 - 80):', + 'custom.cancel': '取消', + 'custom.start': '開始', + 'custom.sizeError': '尺寸必須在 5 到 80 之間!', + 'win.title': '恭喜!', + 'win.message': '你解開了謎題!', + 'win.time': '時間:', + 'win.playAgain': '再玩一次', + 'win.shareTitle': '分享你的結果', + 'win.shareText': '我在 {time} 內解開了 {size}x{size} 的數織!', + 'win.shareX': 'X', + 'win.shareFacebook': 'Facebook', + 'win.shareWhatsapp': 'WhatsApp', + 'win.shareDownload': '下載截圖', + 'pwa.installTitle': '安裝應用並離線遊玩', + 'pwa.installMobile': '添加到主屏幕', + 'pwa.installDesktop': '安裝到桌面', + 'language.label': '語言選擇', + 'language.pl': '波蘭語', + 'language.en': '英語', + 'language.zh': '中文 (簡體)', + 'language.zh-hant': '中文 (繁體)', + 'language.hi': '印地語', + 'language.es': '西班牙語', + 'language.fr': '法語', + 'language.ar': '阿拉伯語', + 'language.bn': '孟加拉語', + 'language.ru': '俄語', + 'language.pt': '葡萄牙語', + 'language.ur': '烏爾都語', + 'theme.label': '主題', + 'theme.system': '系統', + 'theme.light': '淺色', + 'theme.dark': '深色', + 'language.searchLabel': '搜尋語言', + 'language.searchPlaceholder': '輸入語言名稱...', + 'nav.newGame': '新遊戲', + 'nav.guide': '指南' + }, hi: { 'app.title': 'Nonograms', 'level.easy': 'आसान 5X5', @@ -4671,7 +4735,7 @@ const requiredKeys = [ 'win.shareTitle','win.shareText','win.shareX','win.shareFacebook','win.shareWhatsapp', 'win.shareDownload','pwa.installTitle','pwa.installMobile','pwa.installDesktop', 'language.label','theme.label','theme.system','theme.light','theme.dark', - 'language.searchLabel','language.searchPlaceholder','nav.newGame' + 'language.searchLabel','language.searchPlaceholder','nav.newGame','nav.guide' ]; const supportedLocales = Object.keys(messages).filter(