5 files changed
+2143
-1
assets/images/flag_tw.png
Binary files /dev/null and b/assets/images/flag_tw.png differ
lib/features/settings/views/settings_screen.dart
+2
-1
@@ -838,7 +838,8 @@ class _LanguageSetting extends StatelessWidget {
838
('ja', '日本語', 'assets/images/flag_jp.png', '🇯🇵'),
839
('it', 'Italiano', 'assets/images/flag_it.png', '🇮🇹'),
840
('es', 'Español', 'assets/images/flag_es.png', '🇪🇸'),
841
- ('zh', '中文', 'assets/images/flag_cn.png', '🇨🇳'),
841
+ ('zh', '简体中文', 'assets/images/flag_cn.png', '🇨🇳'),
842
+ ('zh_TW', '繁體中文', 'assets/images/flag_tw.png', '🇹🇼'),
843
('ar', 'العربية', 'assets/images/flag_sa.png', '🇸🇦'),
844
('bn', 'বাংলা', 'assets/images/flag_bd.png', '🇧🇩'),
845
('hi', 'हिन्दी', 'assets/images/flag_in.png', '🇮🇳'),
lib/l10n/app_localizations.dart
+13
@@ -108,6 +108,7 @@ abstract class AppLocalizations {
108
Locale('it'),
109
Locale('ja'),
110
Locale('zh'),
111
+ Locale('zh', 'TW'),
112
];
113
114
/// Application display name
@@ -3185,6 +3186,18 @@ class _AppLocalizationsDelegate
3186
}
3187
3188
AppLocalizations lookupAppLocalizations(Locale locale) {
3189
+ // Lookup logic when language+country codes are specified.
3190
+ switch (locale.languageCode) {
3191
+ case 'zh':
3192
+ {
3193
+ switch (locale.countryCode) {
3194
+ case 'TW':
3195
+ return AppLocalizationsZhTw();
3196
+ }
3197
+ break;
3198
+ }
3199
+ }
3200
+
3201
// Lookup logic when only language code is specified.
3202
switch (locale.languageCode) {
3203
case 'ar':
lib/l10n/app_localizations_zh.dart
+1617
@@ -1619,3 +1619,1620 @@ class AppLocalizationsZh extends AppLocalizations {
1619
@override
1620
String get tts_other_services_background_note => '注意:其他TTS服务支持后台播放(原生音频格式)。';
1621
}
1622
+
1623
+/// The translations for Chinese, as used in Taiwan (`zh_TW`).
1624
+class AppLocalizationsZhTw extends AppLocalizationsZh {
1625
+ AppLocalizationsZhTw() : super('zh_TW');
1626
+
1627
+ @override
1628
+ String get app_name => 'LocalMind';
1629
+
1630
+ @override
1631
+ String get app_tagline => '您的 AI。您的裝置。您的規則。';
1632
+
1633
+ @override
1634
+ String get app_version => '1.0.0';
1635
+
1636
+ @override
1637
+ String get cancel => '取消';
1638
+
1639
+ @override
1640
+ String get confirm => '確認';
1641
+
1642
+ @override
1643
+ String get delete => '刪除';
1644
+
1645
+ @override
1646
+ String get save => '儲存';
1647
+
1648
+ @override
1649
+ String get retry => '重試';
1650
+
1651
+ @override
1652
+ String get close => '關閉';
1653
+
1654
+ @override
1655
+ String get done => '完成';
1656
+
1657
+ @override
1658
+ String get continue_action => '繼續';
1659
+
1660
+ @override
1661
+ String get skip => '跳過';
1662
+
1663
+ @override
1664
+ String get install => '安裝';
1665
+
1666
+ @override
1667
+ String get download => '下載';
1668
+
1669
+ @override
1670
+ String get resume => '繼續';
1671
+
1672
+ @override
1673
+ String get pause => '暫停';
1674
+
1675
+ @override
1676
+ String get stop => '停止';
1677
+
1678
+ @override
1679
+ String get edit => '編輯';
1680
+
1681
+ @override
1682
+ String get preview => '預覽';
1683
+
1684
+ @override
1685
+ String get unload => '卸載';
1686
+
1687
+ @override
1688
+ String get load => '載入';
1689
+
1690
+ @override
1691
+ String get rename => '重新命名';
1692
+
1693
+ @override
1694
+ String get pin => '釘選';
1695
+
1696
+ @override
1697
+ String get unpin => '取消釘選';
1698
+
1699
+ @override
1700
+ String get share => '分享';
1701
+
1702
+ @override
1703
+ String get copy => '複製';
1704
+
1705
+ @override
1706
+ String get copied => '已複製!';
1707
+
1708
+ @override
1709
+ String get copied_to_clipboard => '已複製到剪貼簿';
1710
+
1711
+ @override
1712
+ String get select => '選擇';
1713
+
1714
+ @override
1715
+ String get active => '已啟用';
1716
+
1717
+ @override
1718
+ String get all => '全部';
1719
+
1720
+ @override
1721
+ String get none => '無';
1722
+
1723
+ @override
1724
+ String get none_selected => '未選擇';
1725
+
1726
+ @override
1727
+ String get online => '線上';
1728
+
1729
+ @override
1730
+ String get offline => '離線';
1731
+
1732
+ @override
1733
+ String get error => '錯誤';
1734
+
1735
+ @override
1736
+ String get unknown_error => '未知錯誤';
1737
+
1738
+ @override
1739
+ String get not_now => '暫不';
1740
+
1741
+ @override
1742
+ String get enable => '啟用';
1743
+
1744
+ @override
1745
+ String get proceed_anyway => '仍然繼續';
1746
+
1747
+ @override
1748
+ String get test_connection => '測試連線';
1749
+
1750
+ @override
1751
+ String get testing => '正在測試...';
1752
+
1753
+ @override
1754
+ String get connection_successful => '連線成功!';
1755
+
1756
+ @override
1757
+ String get connection_failed => '連線失敗。請檢查您的設定。';
1758
+
1759
+ @override
1760
+ String get save_continue => '儲存並繼續';
1761
+
1762
+ @override
1763
+ String get save_changes => '儲存變更';
1764
+
1765
+ @override
1766
+ String get finish_setup => '完成設定';
1767
+
1768
+ @override
1769
+ String get start_new_chat => '開始新對話';
1770
+
1771
+ @override
1772
+ String get cannot_undo => '此操作無法復原。';
1773
+
1774
+ @override
1775
+ String get ram_warning => '記憶體警告';
1776
+
1777
+ @override
1778
+ String get recommended => '推薦';
1779
+
1780
+ @override
1781
+ String get may_be_large => '可能對此裝置來說過大';
1782
+
1783
+ @override
1784
+ String get calculating => '正在計算...';
1785
+
1786
+ @override
1787
+ String get download_failed => '下載失敗';
1788
+
1789
+ @override
1790
+ String get downloaded => '已下載';
1791
+
1792
+ @override
1793
+ String get not_downloaded => '未下載';
1794
+
1795
+ @override
1796
+ String get installed => '已安裝';
1797
+
1798
+ @override
1799
+ String get not_installed => '未安裝';
1800
+
1801
+ @override
1802
+ String get loading => '正在載入...';
1803
+
1804
+ @override
1805
+ String get thinking => '正在思考';
1806
+
1807
+ @override
1808
+ String get processing => '正在處理...';
1809
+
1810
+ @override
1811
+ String get initializing => '正在初始化...';
1812
+
1813
+ @override
1814
+ String get ready => '就緒';
1815
+
1816
+ @override
1817
+ String get preparing_app => '正在準備應用程式...';
1818
+
1819
+ @override
1820
+ String get initializing_services => '正在初始化服務...';
1821
+
1822
+ @override
1823
+ String get configuring_server => '正在設定伺服器...';
1824
+
1825
+ @override
1826
+ String get startup_failed => '啟動失敗';
1827
+
1828
+ @override
1829
+ String get something_went_wrong => '出了點問題';
1830
+
1831
+ @override
1832
+ String get delete_model_title => '刪除模型';
1833
+
1834
+ @override
1835
+ String delete_model_body(String name) {
1836
+ return '您確定要刪除 $name 嗎?';
1837
+ }
1838
+
1839
+ @override
1840
+ String delete_model_body_with_size(String name, String size) {
1841
+ return '您確定要刪除 $name 嗎?這將釋放約 $size 的空間。\n\n如有需要,您稍後可以重新下載此模型。';
1842
+ }
1843
+
1844
+ @override
1845
+ String get delete_voice_title => '刪除語音';
1846
+
1847
+ @override
1848
+ String delete_voice_body(String name, String size) {
1849
+ return '您確定要刪除 $name 嗎?這將釋放約 $size 的空間。\n\n如有需要,您稍後可以重新下載此語音。';
1850
+ }
1851
+
1852
+ @override
1853
+ String get delete_server_title => '刪除伺服器';
1854
+
1855
+ @override
1856
+ String delete_server_body(String name) {
1857
+ return '您確定要刪除 \"$name\" 嗎?此操作無法復原。';
1858
+ }
1859
+
1860
+ @override
1861
+ String get delete_conversation_title => '要刪除對話嗎?';
1862
+
1863
+ @override
1864
+ String delete_conversation_body(String title) {
1865
+ return '您確定要刪除 \"$title\" 嗎?此操作無法復原。';
1866
+ }
1867
+
1868
+ @override
1869
+ String get delete_message_title => '要刪除訊息嗎?';
1870
+
1871
+ @override
1872
+ String delete_persona_title(String name) {
1873
+ return '要刪除 \"$name\" 嗎?';
1874
+ }
1875
+
1876
+ @override
1877
+ String get delete_persona_body => '此操作無法復原。';
1878
+
1879
+ @override
1880
+ String get clear_conversation_title => '要清除對話嗎?';
1881
+
1882
+ @override
1883
+ String get clear_conversation_body => '這會刪除此對話中的所有訊息。';
1884
+
1885
+ @override
1886
+ String get clear => '清除';
1887
+
1888
+ @override
1889
+ String label_completed(String label) {
1890
+ return '$label 已完成';
1891
+ }
1892
+
1893
+ @override
1894
+ String error_with_message(String error) {
1895
+ return '錯誤: $error';
1896
+ }
1897
+
1898
+ @override
1899
+ String preview_failed(String error) {
1900
+ return '預覽失敗: $error';
1901
+ }
1902
+
1903
+ @override
1904
+ String loading_model(String modelId) {
1905
+ return '正在載入 $modelId...';
1906
+ }
1907
+
1908
+ @override
1909
+ String model_loaded(String modelId, String backend) {
1910
+ return '模型已載入: $modelId ($backend)';
1911
+ }
1912
+
1913
+ @override
1914
+ String get no_model_loaded => '未載入任何模型。點擊「管理裝置端模型」以下載並載入模型。';
1915
+
1916
+ @override
1917
+ String loading_model_error(String error) {
1918
+ return '錯誤: $error';
1919
+ }
1920
+
1921
+ @override
1922
+ String get delete_conversation => '要刪除對話嗎?';
1923
+
1924
+ @override
1925
+ String get nav_history => '歷史';
1926
+
1927
+ @override
1928
+ String get nav_servers => '伺服器';
1929
+
1930
+ @override
1931
+ String get nav_local_models => '本機模型';
1932
+
1933
+ @override
1934
+ String get nav_tts => '語音合成';
1935
+
1936
+ @override
1937
+ String get nav_personas => '角色';
1938
+
1939
+ @override
1940
+ String get nav_settings => '設定';
1941
+
1942
+ @override
1943
+ String get nav_new_chat => '新對話';
1944
+
1945
+ @override
1946
+ String get search_hint => '搜尋對話...';
1947
+
1948
+ @override
1949
+ String get no_server_selected => '未選擇伺服器';
1950
+
1951
+ @override
1952
+ String get switch_server => '切換伺服器';
1953
+
1954
+ @override
1955
+ String get switch_server_subtitle => '選擇要連線的伺服器';
1956
+
1957
+ @override
1958
+ String get manage_servers => '管理伺服器';
1959
+
1960
+ @override
1961
+ String get open_source => '開源';
1962
+
1963
+ @override
1964
+ String get open_source_desc => 'LocalMind 是開源專案。可在 GitHub 上關注我們的進展或參與貢獻。';
1965
+
1966
+ @override
1967
+ String get star_on_github => '在 GitHub 上點亮 Star';
1968
+
1969
+ @override
1970
+ String get add_more => '新增更多';
1971
+
1972
+ @override
1973
+ String get on_github => '在 GitHub 上';
1974
+
1975
+ @override
1976
+ String get could_not_open_github => '無法開啟 GitHub。';
1977
+
1978
+ @override
1979
+ String get settings_title => '設定';
1980
+
1981
+ @override
1982
+ String get settings_appearance => '外觀';
1983
+
1984
+ @override
1985
+ String get settings_language => '語言';
1986
+
1987
+ @override
1988
+ String get language_system_default => '系統預設';
1989
+
1990
+ @override
1991
+ String get settings_tts => '語音合成 (TTS)';
1992
+
1993
+ @override
1994
+ String get settings_behavior => '行為';
1995
+
1996
+ @override
1997
+ String get settings_on_device => '裝置端推論';
1998
+
1999
+ @override
2000
+ String get settings_default_server => '預設伺服器';
2001
+
2002
+ @override
2003
+ String get settings_default_persona => '預設角色';
2004
+
2005
+ @override
2006
+ String get settings_privacy => '隱私';
2007
+
2008
+ @override
2009
+ String get settings_data_management => '資料管理';
2010
+
2011
+ @override
2012
+ String get settings_about => '關於';
2013
+
2014
+ @override
2015
+ String get theme => '主題';
2016
+
2017
+ @override
2018
+ String get theme_system => '系統';
2019
+
2020
+ @override
2021
+ String get theme_light => '淺色';
2022
+
2023
+ @override
2024
+ String get theme_dark => '深色';
2025
+
2026
+ @override
2027
+ String get theme_claude => 'Claude';
2028
+
2029
+ @override
2030
+ String get font_size => '字型大小';
2031
+
2032
+ @override
2033
+ String get font_size_desc => '調整對話中的文字大小。';
2034
+
2035
+ @override
2036
+ String get font_preview => '敏捷的棕色狐狸跳過那隻懶狗。';
2037
+
2038
+ @override
2039
+ String get code_theme_dark => '程式碼主題 (深色)';
2040
+
2041
+ @override
2042
+ String get code_theme_light => '程式碼主題 (淺色)';
2043
+
2044
+ @override
2045
+ String get code_theme_desc => '選擇程式碼區塊的語法醒目提示主題。';
2046
+
2047
+ @override
2048
+ String get tts_engine => 'TTS 引擎';
2049
+
2050
+ @override
2051
+ String get tts_engine_system => '系統 TTS';
2052
+
2053
+ @override
2054
+ String get tts_engine_kitten => 'Kitten TTS';
2055
+
2056
+ @override
2057
+ String get voice => '語音';
2058
+
2059
+ @override
2060
+ String get voice_female => '女聲';
2061
+
2062
+ @override
2063
+ String get voice_male => '男聲';
2064
+
2065
+ @override
2066
+ String get voice_other => '其他';
2067
+
2068
+ @override
2069
+ String get tts_speed => 'TTS 速度';
2070
+
2071
+ @override
2072
+ String get tts_speed_desc => '調整播放速率。';
2073
+
2074
+ @override
2075
+ String get manage_tts_models => '管理 TTS 模型';
2076
+
2077
+ @override
2078
+ String get manage_on_device_models => '管理裝置端模型';
2079
+
2080
+ @override
2081
+ String get enable_smart_reply => '裝置端智慧回覆';
2082
+
2083
+ @override
2084
+ String get streaming_responses => '串流響應';
2085
+
2086
+ @override
2087
+ String get auto_generate_titles => '自動生成標題';
2088
+
2089
+ @override
2090
+ String get send_on_enter => '按 Enter 鍵發送';
2091
+
2092
+ @override
2093
+ String get show_system_messages => '顯示系統訊息';
2094
+
2095
+ @override
2096
+ String get haptic_feedback => '觸覺回饋';
2097
+
2098
+ @override
2099
+ String get enable_mcp => '啟用 MCP';
2100
+
2101
+ @override
2102
+ String get new_chat_mcp_default => '新對話預設啟用 MCP';
2103
+
2104
+ @override
2105
+ String get show_data_indicator => '顯示數據指示器';
2106
+
2107
+ @override
2108
+ String get privacy_info => '「LocalMind 絕不查看您的數據」';
2109
+
2110
+ @override
2111
+ String get delete_all_conversations => '刪除所有對話';
2112
+
2113
+ @override
2114
+ String get reset_settings_defaults => '重設設定至預設值';
2115
+
2116
+ @override
2117
+ String get chat_title => 'LocalMind';
2118
+
2119
+ @override
2120
+ String get chat_parameters_tooltip => '對話參數';
2121
+
2122
+ @override
2123
+ String get change_persona => '更換角色';
2124
+
2125
+ @override
2126
+ String get set_persona => '設定角色';
2127
+
2128
+ @override
2129
+ String get remove_persona => '刪除角色';
2130
+
2131
+ @override
2132
+ String get clear_conversation => '清除對話';
2133
+
2134
+ @override
2135
+ String get connection_error => '連線錯誤。請檢查您的伺服器。';
2136
+
2137
+ @override
2138
+ String get disconnected => '與伺服器斷開連線。';
2139
+
2140
+ @override
2141
+ String get configure => '設定';
2142
+
2143
+ @override
2144
+ String get select_model => '選擇模型';
2145
+
2146
+ @override
2147
+ String get select_persona => '選擇角色';
2148
+
2149
+ @override
2150
+ String get start_conversation => '開始對話';
2151
+
2152
+ @override
2153
+ String get recent_chats => '最近對話';
2154
+
2155
+ @override
2156
+ String get see_all => '查看全部';
2157
+
2158
+ @override
2159
+ String get quick_write => '幫我寫一個函式';
2160
+
2161
+ @override
2162
+ String get quick_explain => '解釋這段程式碼';
2163
+
2164
+ @override
2165
+ String get quick_debug => '幫我偵錯這個';
2166
+
2167
+ @override
2168
+ String get quick_async => '我該如何使用 async/await?';
2169
+
2170
+ @override
2171
+ String get history_missing_title => '歷史紀錄遺失';
2172
+
2173
+ @override
2174
+ String get history_missing_desc => '此對話中的訊息已被刪除,或歷史紀錄已損壞。';
2175
+
2176
+ @override
2177
+ String get technical_details => '技術細節';
2178
+
2179
+ @override
2180
+ String get last_error => '上次錯誤:';
2181
+
2182
+ @override
2183
+ String get copy_info => '複製資訊';
2184
+
2185
+ @override
2186
+ String get conversation_id => '對話 ID';
2187
+
2188
+ @override
2189
+ String get created_at => '建立於';
2190
+
2191
+ @override
2192
+ String get expected_messages => '預期訊息';
2193
+
2194
+ @override
2195
+ String get debug_dialog_desc => '用以協助識別同步問題的診斷資訊。';
2196
+
2197
+ @override
2198
+ String get chat_input_hint => '詢問任何問題';
2199
+
2200
+ @override
2201
+ String get send_message_tooltip => '發送訊息';
2202
+
2203
+ @override
2204
+ String get stop_generation_tooltip => '停止生成';
2205
+
2206
+ @override
2207
+ String get attach_images_tooltip => '附加圖片';
2208
+
2209
+ @override
2210
+ String get start_listening_tooltip => '開始聆聽';
2211
+
2212
+ @override
2213
+ String get stop_listening_tooltip => '停止聆聽';
2214
+
2215
+ @override
2216
+ String tool_label(String toolCallId) {
2217
+ return '工具: $toolCallId';
2218
+ }
2219
+
2220
+ @override
2221
+ String get tool_unknown => '工具: 未知';
2222
+
2223
+ @override
2224
+ String get message_options => '訊息選項';
2225
+
2226
+ @override
2227
+ String get copy_markdown => '複製為 Markdown';
2228
+
2229
+ @override
2230
+ String get copied_markdown => '已複製為 Markdown';
2231
+
2232
+ @override
2233
+ String get read_aloud => '朗讀';
2234
+
2235
+ @override
2236
+ String get stop_reading => '停止朗讀';
2237
+
2238
+ @override
2239
+ String get more => '更多';
2240
+
2241
+ @override
2242
+ String character_count(int length) {
2243
+ return '$length 個字元';
2244
+ }
2245
+
2246
+ @override
2247
+ String get edit_message => '編輯訊息';
2248
+
2249
+ @override
2250
+ String get edit_message_desc => '儲存將移除下方助理的回覆並重新生成。';
2251
+
2252
+ @override
2253
+ String get save_regenerate => '儲存並重新生成';
2254
+
2255
+ @override
2256
+ String get chat_settings_title => '對話設定';
2257
+
2258
+ @override
2259
+ String get reset_defaults => '重設預設值';
2260
+
2261
+ @override
2262
+ String get parameters_tab => '參數';
2263
+
2264
+ @override
2265
+ String get mcp_tab => 'MCP';
2266
+
2267
+ @override
2268
+ String get temperature => '溫度';
2269
+
2270
+ @override
2271
+ String get temperature_desc => '控制隨機性:較高 = 創意,較低 = 專注';
2272
+
2273
+ @override
2274
+ String get top_p => 'Top P';
2275
+
2276
+ @override
2277
+ String get top_p_desc => '核取樣門檻';
2278
+
2279
+ @override
2280
+ String get max_tokens => '最大 Token 數';
2281
+
2282
+ @override
2283
+ String get max_tokens_desc => '回應限制';
2284
+
2285
+ @override
2286
+ String get context_length => '上下文長度';
2287
+
2288
+ @override
2289
+ String get context_length_desc => '歷史視窗';
2290
+
2291
+ @override
2292
+ String get mcp_disabled_warning => 'MCP 已在全域被停用。請在設定中啟用以使用這些功能。';
2293
+
2294
+ @override
2295
+ String get mcp_enable_chat => '為此對話啟用 MCP';
2296
+
2297
+ @override
2298
+ String get auto_execute_tools => '自動執行工具';
2299
+
2300
+ @override
2301
+ String get beta_label => 'Beta';
2302
+
2303
+ @override
2304
+ String get experimental_label => '實驗性';
2305
+
2306
+ @override
2307
+ String get add_ephemeral_mcp => '新增臨時 MCP 伺服器';
2308
+
2309
+ @override
2310
+ String get mcp_label_placeholder => '標籤';
2311
+
2312
+ @override
2313
+ String get mcp_url_placeholder => 'URL (https://...)';
2314
+
2315
+ @override
2316
+ String get active_integrations => '活動整合';
2317
+
2318
+ @override
2319
+ String get enable_notifications => '啟用通知';
2320
+
2321
+ @override
2322
+ String get enable_notifications_desc => '在模型下載完成時獲得通知。';
2323
+
2324
+ @override
2325
+ String get chat_history_title => '對話歷史';
2326
+
2327
+ @override
2328
+ String get conversation_just_now => '剛剛';
2329
+
2330
+ @override
2331
+ String conversation_minutes_ago(int minutes) {
2332
+ return '$minutes分鐘前';
2333
+ }
2334
+
2335
+ @override
2336
+ String conversation_hours_ago(int hours) {
2337
+ return '$hours小時前';
2338
+ }
2339
+
2340
+ @override
2341
+ String get conversation_yesterday => '昨天';
2342
+
2343
+ @override
2344
+ String conversation_days_ago(int days) {
2345
+ return '$days天前';
2346
+ }
2347
+
2348
+ @override
2349
+ String conversation_date(int month, int day, int year) {
2350
+ return '$month/$day/$year';
2351
+ }
2352
+
2353
+ @override
2354
+ String get options_tooltip => '選項';
2355
+
2356
+ @override
2357
+ String get no_results_found => '未找到結果';
2358
+
2359
+ @override
2360
+ String get no_conversations_yet => '尚無對話';
2361
+
2362
+ @override
2363
+ String get try_different_search => '嘗試不同的搜尋詞';
2364
+
2365
+ @override
2366
+ String get start_new_conversation => '開始新對話';
2367
+
2368
+ @override
2369
+ String get rename_conversation => '重新命名對話';
2370
+
2371
+ @override
2372
+ String get enter_new_title => '輸入新標題';
2373
+
2374
+ @override
2375
+ String get pinned_section => '已釘選';
2376
+
2377
+ @override
2378
+ String get today_section => '今天';
2379
+
2380
+ @override
2381
+ String get yesterday_section => '昨天';
2382
+
2383
+ @override
2384
+ String get previous_7_days => '前 7 天';
2385
+
2386
+ @override
2387
+ String get previous_30_days => '前 30 天';
2388
+
2389
+ @override
2390
+ String get older_section => '更早';
2391
+
2392
+ @override
2393
+ String get onboarding_choose_language => '選擇語言';
2394
+
2395
+ @override
2396
+ String get onboarding_choose_language_desc => '選擇您偏好的語言。您隨時可以在設定中變更此項。';
2397
+
2398
+ @override
2399
+ String get onboarding_localmind => 'LOCALMIND';
2400
+
2401
+ @override
2402
+ String get onboarding_connect_server => '連線您的\n伺服器';
2403
+
2404
+ @override
2405
+ String get onboarding_connect_desc =>
2406
+ '連線到 LM Studio、Ollama 或\nOpenRouter,開啟您的私有 AI\n體驗。';
2407
+
2408
+ @override
2409
+ String get openai_compatible_api => 'OpenAI 相容 API';
2410
+
2411
+ @override
2412
+ String get https_requires_ssl => 'HTTPS 需要 SSL';
2413
+
2414
+ @override
2415
+ String get most_local_setups_use_http => '大多數本機配置使用 http://';
2416
+
2417
+ @override
2418
+ String get onboarding_welcome => '歡迎使用 LocalMind';
2419
+
2420
+ @override
2421
+ String get server_type_on_device => '裝置端';
2422
+
2423
+ @override
2424
+ String get server_type_on_device_sub => '無需伺服器';
2425
+
2426
+ @override
2427
+ String get server_type_lm_studio => 'LM Studio';
2428
+
2429
+ @override
2430
+ String get server_type_lm_studio_sub => '本機 API';
2431
+
2432
+ @override
2433
+ String get server_type_ollama => 'Ollama';
2434
+
2435
+ @override
2436
+ String get server_type_ollama_sub => 'CLI 引擎';
2437
+
2438
+ @override
2439
+ String get server_type_openrouter => 'OpenRouter';
2440
+
2441
+ @override
2442
+ String get server_type_openrouter_sub => '統一雲端';
2443
+
2444
+ @override
2445
+ String get ready_continue => '準備好繼續';
2446
+
2447
+ @override
2448
+ String get waiting_selection => '等待選擇';
2449
+
2450
+ @override
2451
+ String get setup_connection => '設定連線';
2452
+
2453
+ @override
2454
+ String setup_connection_desc(String server) {
2455
+ return '設定您的 $server 伺服器以開始對話。';
2456
+ }
2457
+
2458
+ @override
2459
+ String get server_name => '伺服器名稱';
2460
+
2461
+ @override
2462
+ String get name_required => '需要名稱';
2463
+
2464
+ @override
2465
+ String get name_max_50 => '最多 50 個字元';
2466
+
2467
+ @override
2468
+ String get host_label => '主機 / IP 地址';
2469
+
2470
+ @override
2471
+ String get host_required => '需要主機地址';
2472
+
2473
+ @override
2474
+ String get port_label => '連接埠';
2475
+
2476
+ @override
2477
+ String get port_required => '需要連接埠';
2478
+
2479
+ @override
2480
+ String get port_invalid => '必須是數字';
2481
+
2482
+ @override
2483
+ String get port_range => '輸入有效的連接埠號碼 (1-65535)';
2484
+
2485
+ @override
2486
+ String get api_key_required => 'API 金鑰 *';
2487
+
2488
+ @override
2489
+ String get api_key_optional => 'API 金鑰 (選填)';
2490
+
2491
+ @override
2492
+ String get api_key_required_openrouter => 'OpenRouter 需要 API 金鑰';
2493
+
2494
+ @override
2495
+ String get api_key_format => 'OpenRouter API 金鑰以 sk- 開頭';
2496
+
2497
+ @override
2498
+ String get my_server_hint => '我的伺服器';
2499
+
2500
+ @override
2501
+ String get name_length_validation => '名稱必須在 50 個字元以內';
2502
+
2503
+ @override
2504
+ String get host_valid => '輸入有效的主機名稱或 IP 地址';
2505
+
2506
+ @override
2507
+ String get api_key_hint_openrouter => 'sk-...';
2508
+
2509
+ @override
2510
+ String get api_key_hint_generic => '適用於已驗證的伺服器';
2511
+
2512
+ @override
2513
+ String get update_server => '更新伺服器';
2514
+
2515
+ @override
2516
+ String get save_server => '儲存伺服器';
2517
+
2518
+ @override
2519
+ String get server_updated => '伺服器已更新';
2520
+
2521
+ @override
2522
+ String get server_added => '伺服器已新增';
2523
+
2524
+ @override
2525
+ String get download_model_title => '下載模型';
2526
+
2527
+ @override
2528
+ String get download_model_desc => '選擇要下載的模型。\n它將在您的裝置上本機執行。';
2529
+
2530
+ @override
2531
+ String get on_device_android_only => '裝置端推論目前僅可在 Android 上使用。';
2532
+
2533
+ @override
2534
+ String get total_ram => '總記憶體';
2535
+
2536
+ @override
2537
+ String get available => '可用';
2538
+
2539
+ @override
2540
+ String ram_min_required(String fileSize) {
2541
+ return '最低要求 $fileSize GB 記憶體 (RAM)';
2542
+ }
2543
+
2544
+ @override
2545
+ String download_progress(String percent, String speed) {
2546
+ return '$percent% • $speed';
2547
+ }
2548
+
2549
+ @override
2550
+ String eta_label(String eta) {
2551
+ return '預計剩餘時間: $eta';
2552
+ }
2553
+
2554
+ @override
2555
+ String paused_progress(String percent) {
2556
+ return '已暫停 - $percent%';
2557
+ }
2558
+
2559
+ @override
2560
+ String ram_warning_body_download(String ram, String totalMemory) {
2561
+ return '此模型需要至少 $ram GB 記憶體,但您的裝置僅有 $totalMemory。它可能無法正常執行,或會導致應用程式當機。';
2562
+ }
2563
+
2564
+ @override
2565
+ String ram_warning_body_load(String availableRAM, String ram) {
2566
+ return '您的裝置目前有 $availableRAM 可用記憶體,但此模型推薦至少 $ram GB。載入它可能會失敗或導致系統不穩定。';
2567
+ }
2568
+
2569
+ @override
2570
+ String get choose_theme => '選擇主題';
2571
+
2572
+ @override
2573
+ String get choose_theme_desc => '個人化應用程式外觀。您隨時可以在設定中變更此項。';
2574
+
2575
+ @override
2576
+ String get theme_card_system => '系統';
2577
+
2578
+ @override
2579
+ String get theme_card_system_sub => '符合您的裝置設定';
2580
+
2581
+ @override
2582
+ String get theme_card_light => '淺色';
2583
+
2584
+ @override
2585
+ String get theme_card_light_sub => '乾淨明亮';
2586
+
2587
+ @override
2588
+ String get theme_card_dark => '深色';
2589
+
2590
+ @override
2591
+ String get theme_card_dark_sub => '保護眼睛';
2592
+
2593
+ @override
2594
+ String get theme_card_claude => 'Claude';
2595
+
2596
+ @override
2597
+ String get theme_card_claude_sub => '溫馨的桃色色調主題';
2598
+
2599
+ @override
2600
+ String get stay_updated => '保持更新';
2601
+
2602
+ @override
2603
+ String get stay_updated_desc => '在您的 AI 模型下載完成或長時間執行的任務結束時獲得通知。';
2604
+
2605
+ @override
2606
+ String get notification_benefit_downloads => '模型下載進度';
2607
+
2608
+ @override
2609
+ String get notification_benefit_completions => '生成完成';
2610
+
2611
+ @override
2612
+ String get notification_benefit_background => '背景工作狀態';
2613
+
2614
+ @override
2615
+ String get allow_notifications => '允許通知';
2616
+
2617
+ @override
2618
+ String get servers_title => '伺服器';
2619
+
2620
+ @override
2621
+ String get no_servers_yet => '尚無伺服器';
2622
+
2623
+ @override
2624
+ String get no_servers_desc => '新增您的首個伺服器以開始與 AI 模型對話。';
2625
+
2626
+ @override
2627
+ String get add_server => '新增伺服器';
2628
+
2629
+ @override
2630
+ String switched_to_server(String name) {
2631
+ return '已切換到 $name';
2632
+ }
2633
+
2634
+ @override
2635
+ String get edit_server => '編輯伺服器';
2636
+
2637
+ @override
2638
+ String get add_server_title => '新增伺服器';
2639
+
2640
+ @override
2641
+ String get server_type_label => '伺服器類型';
2642
+
2643
+ @override
2644
+ String get server_icon_label => '伺服器圖示';
2645
+
2646
+ @override
2647
+ String get default_icon => '預設圖示';
2648
+
2649
+ @override
2650
+ String get server_type_lm_studio_display => 'LM Studio';
2651
+
2652
+ @override
2653
+ String get server_type_openai_display => '相容 OpenAI';
2654
+
2655
+ @override
2656
+ String get server_type_ollama_display => 'Ollama';
2657
+
2658
+ @override
2659
+ String get server_type_openrouter_display => 'OpenRouter';
2660
+
2661
+ @override
2662
+ String get server_type_on_device_display => '裝置端';
2663
+
2664
+ @override
2665
+ String get server_address_openrouter => 'openrouter.ai';
2666
+
2667
+ @override
2668
+ String get server_address_on_device => '本機推論';
2669
+
2670
+ @override
2671
+ String server_address_format(String host, String port) {
2672
+ return '$host:$port';
2673
+ }
2674
+
2675
+ @override
2676
+ String get default_badge => '預設';
2677
+
2678
+ @override
2679
+ String get set_as_default => '設為預設';
2680
+
2681
+ @override
2682
+ String get select_icon => '選擇圖示';
2683
+
2684
+ @override
2685
+ String get select_icon_desc => '為您的伺服器選擇一個圖示';
2686
+
2687
+ @override
2688
+ String get search_icons_hint => '搜尋圖示...';
2689
+
2690
+ @override
2691
+ String get server_icon_stack => '伺服器堆疊';
2692
+
2693
+ @override
2694
+ String get server_icon_stack2 => '伺服器堆疊 02';
2695
+
2696
+ @override
2697
+ String get server_icon_stack3 => '伺服器堆疊 03';
2698
+
2699
+ @override
2700
+ String get server_icon_cloud => '雲端';
2701
+
2702
+ @override
2703
+ String get server_icon_cloud_server => '雲端伺服器';
2704
+
2705
+ @override
2706
+ String get server_icon_mcp => 'MCP 伺服器';
2707
+
2708
+ @override
2709
+ String get server_icon_database => '資料庫';
2710
+
2711
+ @override
2712
+ String get server_icon_database1 => '資料庫 01';
2713
+
2714
+ @override
2715
+ String get server_icon_database2 => '資料庫 02';
2716
+
2717
+ @override
2718
+ String get server_icon_cpu => 'CPU';
2719
+
2720
+ @override
2721
+ String get server_icon_chip => '晶片';
2722
+
2723
+ @override
2724
+ String get server_icon_chip2 => '晶片 02';
2725
+
2726
+ @override
2727
+ String get server_icon_computer => '電腦';
2728
+
2729
+ @override
2730
+ String get server_icon_laptop => '筆記型電腦';
2731
+
2732
+ @override
2733
+ String get server_icon_terminal => '終端機';
2734
+
2735
+ @override
2736
+ String get server_icon_code => '程式碼';
2737
+
2738
+ @override
2739
+ String get server_icon_ai_brain => 'AI 大腦';
2740
+
2741
+ @override
2742
+ String get server_icon_ai_brain2 => 'AI 大腦 02';
2743
+
2744
+ @override
2745
+ String get server_icon_ai_cloud => 'AI 雲端';
2746
+
2747
+ @override
2748
+ String get server_icon_ai_network => 'AI 網路';
2749
+
2750
+ @override
2751
+ String get server_icon_ai_chat => 'AI 對話';
2752
+
2753
+ @override
2754
+ String get server_icon_cellular => '蜂窩網路';
2755
+
2756
+ @override
2757
+ String get server_icon_plug1 => '插頭 01';
2758
+
2759
+ @override
2760
+ String get server_icon_plug2 => '插頭 02';
2761
+
2762
+ @override
2763
+ String get server_icon_bot => '機器人';
2764
+
2765
+ @override
2766
+ String get server_icon_bot2 => '機器人 02';
2767
+
2768
+ @override
2769
+ String get server_icon_robotic => '機器人聲音';
2770
+
2771
+ @override
2772
+ String get server_icon_rocket => '火箭';
2773
+
2774
+ @override
2775
+ String get server_icon_star => 'Star';
2776
+
2777
+ @override
2778
+ String get server_icon_settings1 => '設定 01';
2779
+
2780
+ @override
2781
+ String get server_icon_settings2 => '設定 02';
2782
+
2783
+ @override
2784
+ String get server_icon_home1 => '首頁 01';
2785
+
2786
+ @override
2787
+ String get server_icon_home2 => '首頁 02';
2788
+
2789
+ @override
2790
+ String get server_icon_folder1 => '資料夾 01';
2791
+
2792
+ @override
2793
+ String get server_icon_folder2 => '資料夾 02';
2794
+
2795
+ @override
2796
+ String get server_icon_file1 => '檔案 01';
2797
+
2798
+ @override
2799
+ String get server_icon_lock => '鎖';
2800
+
2801
+ @override
2802
+ String get server_icon_key => '鑰匙 01';
2803
+
2804
+ @override
2805
+ String get server_icon_link => '連結 01';
2806
+
2807
+ @override
2808
+ String get server_icon_globe => '地球儀';
2809
+
2810
+ @override
2811
+ String get server_icon_api => 'API';
2812
+
2813
+ @override
2814
+ String get server_icon_arrow_right => '右箭頭 01';
2815
+
2816
+ @override
2817
+ String get server_icon_check => '勾選圓圈';
2818
+
2819
+ @override
2820
+ String get server_icon_alert => '警報圓圈';
2821
+
2822
+ @override
2823
+ String get server_icon_info => '資訊圓圈';
2824
+
2825
+ @override
2826
+ String get server_icon_zap => 'Zap';
2827
+
2828
+ @override
2829
+ String get server_icon_cloud_upload => '雲端上傳';
2830
+
2831
+ @override
2832
+ String get server_icon_cloud_download => '雲端下載';
2833
+
2834
+ @override
2835
+ String get server_icon_refresh => '重新整理';
2836
+
2837
+ @override
2838
+ String get server_icon_hard_drive => '硬碟';
2839
+
2840
+ @override
2841
+ String get server_icon_drive => '磁碟機';
2842
+
2843
+ @override
2844
+ String get personas_title => '角色';
2845
+
2846
+ @override
2847
+ String get persona_category_general => '通用';
2848
+
2849
+ @override
2850
+ String get persona_category_coding => '程式設計';
2851
+
2852
+ @override
2853
+ String get persona_category_education => '教育';
2854
+
2855
+ @override
2856
+ String get persona_category_creative => '創意';
2857
+
2858
+ @override
2859
+ String get persona_builtin_section => '內建';
2860
+
2861
+ @override
2862
+ String get persona_my_section => '我的角色';
2863
+
2864
+ @override
2865
+ String get clone_edit => '複製並編輯';
2866
+
2867
+ @override
2868
+ String get builtin_badge => '內建';
2869
+
2870
+ @override
2871
+ String get no_personas_found => '未找到任何角色';
2872
+
2873
+ @override
2874
+ String get no_personas_desc => '建立您的第一個角色以定制 AI 行為。';
2875
+
2876
+ @override
2877
+ String get edit_persona => '編輯角色';
2878
+
2879
+ @override
2880
+ String get create_persona => '建立角色';
2881
+
2882
+ @override
2883
+ String get create_persona_button => '建立';
2884
+
2885
+ @override
2886
+ String get emoji_label => '表情符號';
2887
+
2888
+ @override
2889
+ String get name_label => '名稱';
2890
+
2891
+ @override
2892
+ String get my_persona_hint => '我的角色';
2893
+
2894
+ @override
2895
+ String get category_label => '分類';
2896
+
2897
+ @override
2898
+ String get description_optional => '描述 (選填)';
2899
+
2900
+ @override
2901
+ String get description_hint => '此角色要做的是...';
2902
+
2903
+ @override
2904
+ String get system_prompt => '系統提示詞';
2905
+
2906
+ @override
2907
+ String character_count_max(int currentLen) {
2908
+ return '$currentLen/4000';
2909
+ }
2910
+
2911
+ @override
2912
+ String get no_prompt_placeholder => '尚無提示詞...';
2913
+
2914
+ @override
2915
+ String get prompt_hint => '你是一個得力的助手...';
2916
+
2917
+ @override
2918
+ String get prompt_required => '需要系統提示詞';
2919
+
2920
+ @override
2921
+ String get prompt_max_chars => '最多 4000 個字元';
2922
+
2923
+ @override
2924
+ String get advanced_settings => '進階設定';
2925
+
2926
+ @override
2927
+ String get temperature_label => '溫度 (0.0-2.0)';
2928
+
2929
+ @override
2930
+ String get top_p_label => 'Top P (0.0-1.0)';
2931
+
2932
+ @override
2933
+ String get temp_hint => '0.7';
2934
+
2935
+ @override
2936
+ String get top_p_hint => '0.9';
2937
+
2938
+ @override
2939
+ String get range_0_2 => '0.0-2.0';
2940
+
2941
+ @override
2942
+ String get range_0_1 => '0.0-1.0';
2943
+
2944
+ @override
2945
+ String get persona_updated => '角色已更新';
2946
+
2947
+ @override
2948
+ String get persona_created => '角色已建立';
2949
+
2950
+ @override
2951
+ String get tts_models_title => '語音合成模型';
2952
+
2953
+ @override
2954
+ String get always_available => '始終可用';
2955
+
2956
+ @override
2957
+ String get tts_system_desc => '使用您裝置內建的語音合成引擎。\n無需額外下載。語音選擇依賴您的裝置系統設定。';
2958
+
2959
+ @override
2960
+ String get downloading_status => '正在下載...';
2961
+
2962
+ @override
2963
+ String tts_kitten_desc(String size) {
2964
+ return '擁有 8 種表現力聲音的閃電般高速類神經網路 TTS。\n需要下載 $size。';
2965
+ }
2966
+
2967
+ @override
2968
+ String tts_piper_desc(String size) {
2969
+ return '快速離線 Piper 語音,擁有 2 種極極具表現力的聲音。\n每個聲音需要下載 $size。';
2970
+ }
2971
+
2972
+ @override
2973
+ String engine_spec(String sizeMb, String ramMb, int voiceCount) {
2974
+ return '$sizeMb MB · $ramMb MB 記憶體 · $voiceCount 種語音';
2975
+ }
2976
+
2977
+ @override
2978
+ String get on_device_models_title => '裝置端模型';
2979
+
2980
+ @override
2981
+ String get available_models => '可用模型';
2982
+
2983
+ @override
2984
+ String get device_memory => '裝置記憶體';
2985
+
2986
+ @override
2987
+ String get ram_usage => '記憶體佔用';
2988
+
2989
+ @override
2990
+ String get memory_healthy => '健康';
2991
+
2992
+ @override
2993
+ String get memory_critical => '嚴重警告';
2994
+
2995
+ @override
2996
+ String get memory_low => '偏低';
2997
+
2998
+ @override
2999
+ String ram_used(String percent) {
3000
+ return '已使用 $percent%';
3001
+ }
3002
+
3003
+ @override
3004
+ String get available_ram => '可用記憶體';
3005
+
3006
+ @override
3007
+ String get total_capacity => '總容量';
3008
+
3009
+ @override
3010
+ String get loaded_status => '已載入';
3011
+
3012
+ @override
3013
+ String get inference_backend => '推論後端';
3014
+
3015
+ @override
3016
+ String get backend_ios_notice => 'iOS 上僅支援 CPU 後端。';
3017
+
3018
+ @override
3019
+ String get backend_cpu_desc => '適用於所有裝置。相容性最好。';
3020
+
3021
+ @override
3022
+ String get backend_gpu_desc => 'OpenCL 加速。在支援的裝置上執行更快。';
3023
+
3024
+ @override
3025
+ String get backend_npu_desc => '廠商 NPU (高通/聯發科)。最快的推論速度。';
3026
+
3027
+ @override
3028
+ String get select_model_title => '選擇模型';
3029
+
3030
+ @override
3031
+ String get refresh_models => '重新整理模型';
3032
+
3033
+ @override
3034
+ String get search_models_hint => '搜尋模型...';
3035
+
3036
+ @override
3037
+ String get no_server_connected => '未連線伺服器';
3038
+
3039
+ @override
3040
+ String get add_server_first => '請先新增伺服器以查看可用模型。';
3041
+
3042
+ @override
3043
+ String get failed_load_models => '載入模型失敗';
3044
+
3045
+ @override
3046
+ String get no_models_available => '無可用模型';
3047
+
3048
+ @override
3049
+ String no_models_match(String searchQuery) {
3050
+ return '沒有符合 \"$searchQuery\" 的模型';
3051
+ }
3052
+
3053
+ @override
3054
+ String model_load_failed(String error) {
3055
+ return '載入模型失敗: $error';
3056
+ }
3057
+
3058
+ @override
3059
+ String model_unloaded_ollama(String name) {
3060
+ return '在 keep-alive 時間過去後,$name 將被自動卸載';
3061
+ }
3062
+
3063
+ @override
3064
+ String model_unloaded_success(String name) {
3065
+ return '$name 已成功卸載';
3066
+ }
3067
+
3068
+ @override
3069
+ String model_unload_failed(String error) {
3070
+ return '卸載模型失敗: $error';
3071
+ }
3072
+
3073
+ @override
3074
+ String get unload_from_server => '從伺服器卸載';
3075
+
3076
+ @override
3077
+ String context_chip(String ctx) {
3078
+ return '$ctx 上下文 (ctx)';
3079
+ }
3080
+
3081
+ @override
3082
+ String download_notification_title(String modelName) {
3083
+ return '正在下載 $modelName...';
3084
+ }
3085
+
3086
+ @override
3087
+ String get download_complete_notification => '下載完成!';
3088
+
3089
+ @override
3090
+ String download_complete_body(String modelName) {
3091
+ return '$modelName 已成功下載。';
3092
+ }
3093
+
3094
+ @override
3095
+ String download_failed_notification(String error) {
3096
+ return '下載失敗: $error';
3097
+ }
3098
+
3099
+ @override
3100
+ String download_failed_body(String modelName) {
3101
+ return '下載 $modelName 失敗。';
3102
+ }
3103
+
3104
+ @override
3105
+ String get engine_name_system => '系統 TTS';
3106
+
3107
+ @override
3108
+ String get engine_tagline_system => '內建裝置引擎';
3109
+
3110
+ @override
3111
+ String get engine_name_kitten => 'Kitten TTS';
3112
+
3113
+ @override
3114
+ String get engine_tagline_kitten => '高速類神經網路 TTS';
3115
+
3116
+ @override
3117
+ String get engine_name_sherpa => 'Sherpa ONNX VITS';
3118
+
3119
+ @override
3120
+ String get engine_tagline_sherpa => '離線 Piper 語音';
3121
+
3122
+ @override
3123
+ String get voice_jasper => 'Jasper';
3124
+
3125
+ @override
3126
+ String get voice_bella => 'Bella';
3127
+
3128
+ @override
3129
+ String get voice_bruno => 'Bruno';
3130
+
3131
+ @override
3132
+ String get voice_luna => 'Luna';
3133
+
3134
+ @override
3135
+ String get voice_hugo => 'Hugo';
3136
+
3137
+ @override
3138
+ String get voice_rosie => 'Rosie';
3139
+
3140
+ @override
3141
+ String get voice_leo => 'Leo';
3142
+
3143
+ @override
3144
+ String get voice_kiki => 'Kiki';
3145
+
3146
+ @override
3147
+ String get voice_lessac => 'Lessac (美音)';
3148
+
3149
+ @override
3150
+ String get voice_ryan => 'Ryan (美音)';
3151
+
3152
+ @override
3153
+ String get model_qwen_3 => 'Qwen 3 0.6B';
3154
+
3155
+ @override
3156
+ String get model_qwen_3_desc => '最小的通用對話模型。回應速度快,記憶體消耗低。';
3157
+
3158
+ @override
3159
+ String get model_license_apache => 'Apache-2.0';
3160
+
3161
+ @override
3162
+ String get model_qwen_25 => 'Qwen 2.5 1.5B Instruct';
3163
+
3164
+ @override
3165
+ String get model_qwen_25_desc => '平衡的品質和大小。適合一般對話。';
3166
+
3167
+ @override
3168
+ String get model_deepseek => 'DeepSeek R1 Distill Qwen 1.5B';
3169
+
3170
+ @override
3171
+ String get model_deepseek_desc => '推論與思考鏈模型。最適合邏輯任務。';
3172
+
3173
+ @override
3174
+ String get model_license_mit => 'MIT';
3175
+
3176
+ @override
3177
+ String get model_gemma => 'Gemma 4 E2B Instruct';
3178
+
3179
+ @override
3180
+ String get model_gemma_desc => 'Google 旗艦模型。最高品質,需要更多記憶體。';
3181
+
3182
+ @override
3183
+ String export_header(String date) {
3184
+ return '*匯出自 LocalMind — $date*';
3185
+ }
3186
+
3187
+ @override
3188
+ String get export_role_user => '## 👤 使用者';
3189
+
3190
+ @override
3191
+ String get export_role_assistant => '## 🤖 助理';
3192
+
3193
+ @override
3194
+ String get export_role_system => '## ⚙️ 系統';
3195
+
3196
+ @override
3197
+ String get export_role_tool => '## 🔧 工具';
3198
+
3199
+ @override
3200
+ String get export_text_user => '[使用者]';
3201
+
3202
+ @override
3203
+ String get export_text_assistant => '[助理]';
3204
+
3205
+ @override
3206
+ String get export_text_system => '[系統]';
3207
+
3208
+ @override
3209
+ String get export_text_tool => '[工具]';
3210
+
3211
+ @override
3212
+ String get export_label_user => '使用者';
3213
+
3214
+ @override
3215
+ String get export_label_assistant => '助理';
3216
+
3217
+ @override
3218
+ String get export_label_system => '系統';
3219
+
3220
+ @override
3221
+ String get export_label_tool => '工具';
3222
+
3223
+ @override
3224
+ String get select_model_hint => '選擇一個模型以開始對話';
3225
+
3226
+ @override
3227
+ String get test_notification_title => '測試通知';
3228
+
3229
+ @override
3230
+ String get test_notification_body => '這是用於展示模型下載進度的測試通知。';
3231
+
3232
+ @override
3233
+ String get tts_supports_background => '支援背景播放(原生音訊格式)';
3234
+
3235
+ @override
3236
+ String get tts_other_services_background_note =>
3237
+ '注意:其他 TTS 服務支援背景播放(原生音訊格式)。';
3238
+}
lib/l10n/app_zh_TW.arb
new
+511
@@ -0,0 +1,511 @@
1
+{
2
+ "@@locale": "zh_TW",
3
+ "active": "已啟用",
4
+ "active_integrations": "活動整合",
5
+ "add_ephemeral_mcp": "新增臨時 MCP 伺服器",
6
+ "add_server": "新增伺服器",
7
+ "add_server_first": "請先新增伺服器以查看可用模型。",
8
+ "add_server_title": "新增伺服器",
9
+ "advanced_settings": "進階設定",
10
+ "all": "全部",
11
+ "allow_notifications": "允許通知",
12
+ "always_available": "始終可用",
13
+ "api_key_format": "OpenRouter API 金鑰以 sk- 開頭",
14
+ "api_key_hint_generic": "適用於已驗證的伺服器",
15
+ "api_key_hint_openrouter": "sk-...",
16
+ "api_key_optional": "API 金鑰 (選填)",
17
+ "api_key_required": "API 金鑰 *",
18
+ "api_key_required_openrouter": "OpenRouter 需要 API 金鑰",
19
+ "app_name": "LocalMind",
20
+ "app_tagline": "您的 AI。您的裝置。您的規則。",
21
+ "app_version": "1.0.0",
22
+ "attach_images_tooltip": "附加圖片",
23
+ "auto_execute_tools": "自動執行工具",
24
+ "auto_generate_titles": "自動生成標題",
25
+ "available": "可用",
26
+ "beta_label": "Beta",
27
+ "experimental_label": "實驗性",
28
+ "available_models": "可用模型",
29
+ "available_ram": "可用記憶體",
30
+ "backend_cpu_desc": "適用於所有裝置。相容性最好。",
31
+ "backend_gpu_desc": "OpenCL 加速。在支援的裝置上執行更快。",
32
+ "backend_ios_notice": "iOS 上僅支援 CPU 後端。",
33
+ "backend_npu_desc": "廠商 NPU (高通/聯發科)。最快的推論速度。",
34
+ "builtin_badge": "內建",
35
+ "calculating": "正在計算...",
36
+ "cancel": "取消",
37
+ "cannot_undo": "此操作無法復原。",
38
+ "category_label": "分類",
39
+ "change_persona": "更換角色",
40
+ "character_count": "{length} 個字元",
41
+ "character_count_max": "{currentLen}/4000",
42
+ "chat_history_title": "對話歷史",
43
+ "chat_input_hint": "詢問任何問題",
44
+ "chat_parameters_tooltip": "對話參數",
45
+ "chat_settings_title": "對話設定",
46
+ "chat_title": "LocalMind",
47
+ "choose_theme": "選擇主題",
48
+ "choose_theme_desc": "個人化應用程式外觀。您隨時可以在設定中變更此項。",
49
+ "clear": "清除",
50
+ "clear_conversation": "清除對話",
51
+ "clear_conversation_body": "這會刪除此對話中的所有訊息。",
52
+ "clear_conversation_title": "要清除對話嗎?",
53
+ "clone_edit": "複製並編輯",
54
+ "close": "關閉",
55
+ "code_theme_dark": "程式碼主題 (深色)",
56
+ "code_theme_desc": "選擇程式碼區塊的語法醒目提示主題。",
57
+ "code_theme_light": "程式碼主題 (淺色)",
58
+ "configure": "設定",
59
+ "configuring_server": "正在設定伺服器...",
60
+ "confirm": "確認",
61
+ "connection_error": "連線錯誤。請檢查您的伺服器。",
62
+ "connection_failed": "連線失敗。請檢查您的設定。",
63
+ "connection_successful": "連線成功!",
64
+ "context_chip": "{ctx} 上下文 (ctx)",
65
+ "context_length": "上下文長度",
66
+ "context_length_desc": "歷史視窗",
67
+ "continue_action": "繼續",
68
+ "conversation_date": "{month}/{day}/{year}",
69
+ "conversation_days_ago": "{days}天前",
70
+ "conversation_hours_ago": "{hours}小時前",
71
+ "conversation_id": "對話 ID",
72
+ "conversation_just_now": "剛剛",
73
+ "conversation_minutes_ago": "{minutes}分鐘前",
74
+ "conversation_yesterday": "昨天",
75
+ "copied": "已複製!",
76
+ "copied_markdown": "已複製為 Markdown",
77
+ "copied_to_clipboard": "已複製到剪貼簿",
78
+ "copy": "複製",
79
+ "copy_info": "複製資訊",
80
+ "copy_markdown": "複製為 Markdown",
81
+ "create_persona": "建立角色",
82
+ "create_persona_button": "建立",
83
+ "created_at": "建立於",
84
+ "debug_dialog_desc": "用以協助識別同步問題的診斷資訊。",
85
+ "default_badge": "預設",
86
+ "default_icon": "預設圖示",
87
+ "delete": "刪除",
88
+ "delete_all_conversations": "刪除所有對話",
89
+ "delete_conversation": "要刪除對話嗎?",
90
+ "delete_conversation_body": "您確定要刪除 \"{title}\" 嗎?此操作無法復原。",
91
+ "delete_conversation_title": "要刪除對話嗎?",
92
+ "delete_message_title": "要刪除訊息嗎?",
93
+ "delete_model_body": "您確定要刪除 {name} 嗎?",
94
+ "delete_model_body_with_size": "您確定要刪除 {name} 嗎?這將釋放約 {size} 的空間。\n\n如有需要,您稍後可以重新下載此模型。",
95
+ "delete_model_title": "刪除模型",
96
+ "delete_persona_body": "此操作無法復原。",
97
+ "delete_persona_title": "要刪除 \"{name}\" 嗎?",
98
+ "delete_server_body": "您確定要刪除 \"{name}\" 嗎?此操作無法復原。",
99
+ "delete_server_title": "刪除伺服器",
100
+ "delete_voice_body": "您確定要刪除 {name} 嗎?這將釋放約 {size} 的空間。\n\n如有需要,您稍後可以重新下載此語音。",
101
+ "delete_voice_title": "刪除語音",
102
+ "description_hint": "此角色要做的是...",
103
+ "description_optional": "描述 (選填)",
104
+ "device_memory": "裝置記憶體",
105
+ "disconnected": "與伺服器斷開連線。",
106
+ "done": "完成",
107
+ "download": "下載",
108
+ "download_complete_body": "{modelName} 已成功下載。",
109
+ "download_complete_notification": "下載完成!",
110
+ "download_failed": "下載失敗",
111
+ "download_failed_body": "下載 {modelName} 失敗。",
112
+ "download_failed_notification": "下載失敗: {error}",
113
+ "download_model_desc": "選擇要下載的模型。\n它將在您的裝置上本機執行。",
114
+ "download_model_title": "下載模型",
115
+ "download_notification_title": "正在下載 {modelName}...",
116
+ "download_progress": "{percent}% • {speed}",
117
+ "downloaded": "已下載",
118
+ "downloading_status": "正在下載...",
119
+ "edit": "編輯",
120
+ "edit_message": "編輯訊息",
121
+ "edit_message_desc": "儲存將移除下方助理的回覆並重新生成。",
122
+ "edit_persona": "編輯角色",
123
+ "edit_server": "編輯伺服器",
124
+ "emoji_label": "表情符號",
125
+ "enable": "啟用",
126
+ "enable_mcp": "啟用 MCP",
127
+ "enable_notifications": "啟用通知",
128
+ "enable_notifications_desc": "在模型下載完成時獲得通知。",
129
+ "engine_name_kitten": "Kitten TTS",
130
+ "engine_name_sherpa": "Sherpa ONNX VITS",
131
+ "engine_name_system": "系統 TTS",
132
+ "engine_spec": "{sizeMb} MB · {ramMb} MB 記憶體 · {voiceCount} 種語音",
133
+ "engine_tagline_kitten": "高速類神經網路 TTS",
134
+ "engine_tagline_sherpa": "離線 Piper 語音",
135
+ "engine_tagline_system": "內建裝置引擎",
136
+ "enter_new_title": "輸入新標題",
137
+ "error": "錯誤",
138
+ "error_with_message": "錯誤: {error}",
139
+ "eta_label": "預計剩餘時間: {eta}",
140
+ "expected_messages": "預期訊息",
141
+ "export_header": "*匯出自 LocalMind — {date}*",
142
+ "export_label_assistant": "助理",
143
+ "export_label_system": "系統",
144
+ "export_label_tool": "工具",
145
+ "export_label_user": "使用者",
146
+ "export_role_assistant": "## 🤖 助理",
147
+ "export_role_system": "## ⚙️ 系統",
148
+ "export_role_tool": "## 🔧 工具",
149
+ "export_role_user": "## 👤 使用者",
150
+ "export_text_assistant": "[助理]",
151
+ "export_text_system": "[系統]",
152
+ "export_text_tool": "[工具]",
153
+ "export_text_user": "[使用者]",
154
+ "failed_load_models": "載入模型失敗",
155
+ "finish_setup": "完成設定",
156
+ "font_preview": "敏捷的棕色狐狸跳過那隻懶狗。",
157
+ "font_size": "字型大小",
158
+ "font_size_desc": "調整對話中的文字大小。",
159
+ "haptic_feedback": "觸覺回饋",
160
+ "history_missing_desc": "此對話中的訊息已被刪除,或歷史紀錄已損壞。",
161
+ "history_missing_title": "歷史紀錄遺失",
162
+ "host_label": "主機 / IP 地址",
163
+ "host_required": "需要主機地址",
164
+ "host_valid": "輸入有效的主機名稱或 IP 地址",
165
+ "inference_backend": "推論後端",
166
+ "initializing": "正在初始化...",
167
+ "initializing_services": "正在初始化服務...",
168
+ "install": "安裝",
169
+ "installed": "已安裝",
170
+ "label_completed": "{label} 已完成",
171
+ "language_system_default": "系統預設",
172
+ "last_error": "上次錯誤:",
173
+ "load": "載入",
174
+ "loaded_status": "已載入",
175
+ "loading": "正在載入...",
176
+ "loading_model": "正在載入 {modelId}...",
177
+ "loading_model_error": "錯誤: {error}",
178
+ "manage_on_device_models": "管理裝置端模型",
179
+ "enable_smart_reply": "裝置端智慧回覆",
180
+ "manage_servers": "管理伺服器",
181
+ "manage_tts_models": "管理 TTS 模型",
182
+ "max_tokens": "最大 Token 數",
183
+ "max_tokens_desc": "回應限制",
184
+ "may_be_large": "可能對此裝置來說過大",
185
+ "mcp_disabled_warning": "MCP 已在全域被停用。請在設定中啟用以使用這些功能。",
186
+ "mcp_enable_chat": "為此對話啟用 MCP",
187
+ "mcp_label_placeholder": "標籤",
188
+ "mcp_tab": "MCP",
189
+ "mcp_url_placeholder": "URL (https://...)",
190
+ "memory_critical": "嚴重警告",
191
+ "memory_healthy": "健康",
192
+ "memory_low": "偏低",
193
+ "message_options": "訊息選項",
194
+ "model_deepseek": "DeepSeek R1 Distill Qwen 1.5B",
195
+ "model_deepseek_desc": "推論與思考鏈模型。最適合邏輯任務。",
196
+ "model_gemma": "Gemma 4 E2B Instruct",
197
+ "model_gemma_desc": "Google 旗艦模型。最高品質,需要更多記憶體。",
198
+ "model_license_apache": "Apache-2.0",
199
+ "model_license_mit": "MIT",
200
+ "model_load_failed": "載入模型失敗: {error}",
201
+ "model_loaded": "模型已載入: {modelId} ({backend})",
202
+ "model_qwen_25": "Qwen 2.5 1.5B Instruct",
203
+ "model_qwen_25_desc": "平衡的品質和大小。適合一般對話。",
204
+ "model_qwen_3": "Qwen 3 0.6B",
205
+ "model_qwen_3_desc": "最小的通用對話模型。回應速度快,記憶體消耗低。",
206
+ "model_unload_failed": "卸載模型失敗: {error}",
207
+ "model_unloaded_ollama": "在 keep-alive 時間過去後,{name} 將被自動卸載",
208
+ "model_unloaded_success": "{name} 已成功卸載",
209
+ "more": "更多",
210
+ "my_persona_hint": "我的角色",
211
+ "my_server_hint": "我的伺服器",
212
+ "name_label": "名稱",
213
+ "name_length_validation": "名稱必須在 50 個字元以內",
214
+ "name_max_50": "最多 50 個字元",
215
+ "name_required": "需要名稱",
216
+ "nav_history": "歷史",
217
+ "nav_local_models": "本機模型",
218
+ "nav_new_chat": "新對話",
219
+ "nav_personas": "角色",
220
+ "nav_servers": "伺服器",
221
+ "nav_settings": "設定",
222
+ "nav_tts": "語音合成",
223
+ "new_chat_mcp_default": "新對話預設啟用 MCP",
224
+ "no_conversations_yet": "尚無對話",
225
+ "no_model_loaded": "未載入任何模型。點擊「管理裝置端模型」以下載並載入模型。",
226
+ "no_models_available": "無可用模型",
227
+ "no_models_match": "沒有符合 \"{searchQuery}\" 的模型",
228
+ "no_personas_desc": "建立您的第一個角色以定制 AI 行為。",
229
+ "no_personas_found": "未找到任何角色",
230
+ "no_prompt_placeholder": "尚無提示詞...",
231
+ "no_results_found": "未找到結果",
232
+ "no_server_connected": "未連線伺服器",
233
+ "no_server_selected": "未選擇伺服器",
234
+ "no_servers_desc": "新增您的首個伺服器以開始與 AI 模型對話。",
235
+ "no_servers_yet": "尚無伺服器",
236
+ "none": "無",
237
+ "none_selected": "未選擇",
238
+ "not_downloaded": "未下載",
239
+ "not_installed": "未安裝",
240
+ "not_now": "暫不",
241
+ "notification_benefit_background": "背景工作狀態",
242
+ "notification_benefit_completions": "生成完成",
243
+ "notification_benefit_downloads": "模型下載進度",
244
+ "offline": "離線",
245
+ "older_section": "更早",
246
+ "on_device_android_only": "裝置端推論目前僅可在 Android 上使用。",
247
+ "on_device_models_title": "裝置端模型",
248
+ "onboarding_choose_language": "選擇語言",
249
+ "onboarding_choose_language_desc": "選擇您偏好的語言。您隨時可以在設定中變更此項。",
250
+ "onboarding_connect_desc": "連線到 LM Studio、Ollama 或\nOpenRouter,開啟您的私有 AI\n體驗。",
251
+ "onboarding_connect_server": "連線您的\n伺服器",
252
+ "onboarding_localmind": "LOCALMIND",
253
+ "onboarding_welcome": "歡迎使用 LocalMind",
254
+ "online": "線上",
255
+ "open_source": "開源",
256
+ "open_source_desc": "LocalMind 是開源專案。可在 GitHub 上關注我們的進展或參與貢獻。",
257
+ "add_more": "新增更多",
258
+ "on_github": "在 GitHub 上",
259
+ "could_not_open_github": "無法開啟 GitHub。",
260
+ "openai_compatible_api": "OpenAI 相容 API",
261
+ "https_requires_ssl": "HTTPS 需要 SSL",
262
+ "most_local_setups_use_http": "大多數本機配置使用 http://",
263
+ "options_tooltip": "選項",
264
+ "parameters_tab": "參數",
265
+ "pause": "暫停",
266
+ "paused_progress": "已暫停 - {percent}%",
267
+ "persona_builtin_section": "內建",
268
+ "persona_category_coding": "程式設計",
269
+ "persona_category_creative": "創意",
270
+ "persona_category_education": "教育",
271
+ "persona_category_general": "通用",
272
+ "persona_created": "角色已建立",
273
+ "persona_my_section": "我的角色",
274
+ "persona_updated": "角色已更新",
275
+ "personas_title": "角色",
276
+ "pin": "釘選",
277
+ "pinned_section": "已釘選",
278
+ "port_invalid": "必須是數字",
279
+ "port_label": "連接埠",
280
+ "port_range": "輸入有效的連接埠號碼 (1-65535)",
281
+ "port_required": "需要連接埠",
282
+ "preparing_app": "正在準備應用程式...",
283
+ "preview": "預覽",
284
+ "preview_failed": "預覽失敗: {error}",
285
+ "previous_30_days": "前 30 天",
286
+ "previous_7_days": "前 7 天",
287
+ "privacy_info": "「LocalMind 絕不查看您的數據」",
288
+ "proceed_anyway": "仍然繼續",
289
+ "processing": "正在處理...",
290
+ "prompt_hint": "你是一個得力的助手...",
291
+ "prompt_max_chars": "最多 4000 個字元",
292
+ "prompt_required": "需要系統提示詞",
293
+ "quick_async": "我該如何使用 async/await?",
294
+ "quick_debug": "幫我偵錯這個",
295
+ "quick_explain": "解釋這段程式碼",
296
+ "quick_write": "幫我寫一個函式",
297
+ "ram_min_required": "最低要求 {fileSize} GB 記憶體 (RAM)",
298
+ "ram_usage": "記憶體佔用",
299
+ "ram_used": "已使用 {percent}%",
300
+ "ram_warning": "記憶體警告",
301
+ "ram_warning_body_download": "此模型需要至少 {ram} GB 記憶體,但您的裝置僅有 {totalMemory}。它可能無法正常執行,或會導致應用程式當機。",
302
+ "ram_warning_body_load": "您的裝置目前有 {availableRAM} 可用記憶體,但此模型推薦至少 {ram} GB。載入它可能會失敗或導致系統不穩定。",
303
+ "range_0_1": "0.0-1.0",
304
+ "range_0_2": "0.0-2.0",
305
+ "read_aloud": "朗讀",
306
+ "ready": "就緒",
307
+ "ready_continue": "準備好繼續",
308
+ "recent_chats": "最近對話",
309
+ "recommended": "推薦",
310
+ "refresh_models": "重新整理模型",
311
+ "remove_persona": "刪除角色",
312
+ "rename": "重新命名",
313
+ "rename_conversation": "重新命名對話",
314
+ "reset_defaults": "重設預設值",
315
+ "reset_settings_defaults": "重設設定至預設值",
316
+ "resume": "繼續",
317
+ "retry": "重試",
318
+ "save": "儲存",
319
+ "save_changes": "儲存變更",
320
+ "save_continue": "儲存並繼續",
321
+ "save_regenerate": "儲存並重新生成",
322
+ "save_server": "儲存伺服器",
323
+ "search_hint": "搜尋對話...",
324
+ "search_icons_hint": "搜尋圖示...",
325
+ "search_models_hint": "搜尋模型...",
326
+ "see_all": "查看全部",
327
+ "select": "選擇",
328
+ "select_icon": "選擇圖示",
329
+ "select_icon_desc": "為您的伺服器選擇一個圖示",
330
+ "select_model": "選擇模型",
331
+ "select_model_hint": "選擇一個模型以開始對話",
332
+ "select_model_title": "選擇模型",
333
+ "select_persona": "選擇角色",
334
+ "send_message_tooltip": "發送訊息",
335
+ "send_on_enter": "按 Enter 鍵發送",
336
+ "server_added": "伺服器已新增",
337
+ "server_address_format": "{host}:{port}",
338
+ "server_address_on_device": "本機推論",
339
+ "server_address_openrouter": "openrouter.ai",
340
+ "server_icon_ai_brain": "AI 大腦",
341
+ "server_icon_ai_brain2": "AI 大腦 02",
342
+ "server_icon_ai_chat": "AI 對話",
343
+ "server_icon_ai_cloud": "AI 雲端",
344
+ "server_icon_ai_network": "AI 網路",
345
+ "server_icon_alert": "警報圓圈",
346
+ "server_icon_api": "API",
347
+ "server_icon_arrow_right": "右箭頭 01",
348
+ "server_icon_bot": "機器人",
349
+ "server_icon_bot2": "機器人 02",
350
+ "server_icon_cellular": "蜂窩網路",
351
+ "server_icon_check": "勾選圓圈",
352
+ "server_icon_chip": "晶片",
353
+ "server_icon_chip2": "晶片 02",
354
+ "server_icon_cloud": "雲端",
355
+ "server_icon_cloud_download": "雲端下載",
356
+ "server_icon_cloud_server": "雲端伺服器",
357
+ "server_icon_cloud_upload": "雲端上傳",
358
+ "server_icon_code": "程式碼",
359
+ "server_icon_computer": "電腦",
360
+ "server_icon_cpu": "CPU",
361
+ "server_icon_database": "資料庫",
362
+ "server_icon_database1": "資料庫 01",
363
+ "server_icon_database2": "資料庫 02",
364
+ "server_icon_drive": "磁碟機",
365
+ "server_icon_file1": "檔案 01",
366
+ "server_icon_folder1": "資料夾 01",
367
+ "server_icon_folder2": "資料夾 02",
368
+ "server_icon_globe": "地球儀",
369
+ "server_icon_hard_drive": "硬碟",
370
+ "server_icon_home1": "首頁 01",
371
+ "server_icon_home2": "首頁 02",
372
+ "server_icon_info": "資訊圓圈",
373
+ "server_icon_key": "鑰匙 01",
374
+ "server_icon_label": "伺服器圖示",
375
+ "server_icon_laptop": "筆記型電腦",
376
+ "server_icon_link": "連結 01",
377
+ "server_icon_lock": "鎖",
378
+ "server_icon_mcp": "MCP 伺服器",
379
+ "server_icon_plug1": "插頭 01",
380
+ "server_icon_plug2": "插頭 02",
381
+ "server_icon_refresh": "重新整理",
382
+ "server_icon_robotic": "機器人聲音",
383
+ "server_icon_rocket": "火箭",
384
+ "server_icon_settings1": "設定 01",
385
+ "server_icon_settings2": "設定 02",
386
+ "server_icon_stack": "伺服器堆疊",
387
+ "server_icon_stack2": "伺服器堆疊 02",
388
+ "server_icon_stack3": "伺服器堆疊 03",
389
+ "server_icon_star": "Star",
390
+ "server_icon_terminal": "終端機",
391
+ "server_icon_zap": "Zap",
392
+ "server_name": "伺服器名稱",
393
+ "server_type_label": "伺服器類型",
394
+ "server_type_lm_studio": "LM Studio",
395
+ "server_type_lm_studio_display": "LM Studio",
396
+ "server_type_lm_studio_sub": "本機 API",
397
+ "server_type_ollama": "Ollama",
398
+ "server_type_ollama_display": "Ollama",
399
+ "server_type_ollama_sub": "CLI 引擎",
400
+ "server_type_on_device": "裝置端",
401
+ "server_type_on_device_display": "裝置端",
402
+ "server_type_on_device_sub": "無需伺服器",
403
+ "server_type_openai_display": "相容 OpenAI",
404
+ "server_type_openrouter": "OpenRouter",
405
+ "server_type_openrouter_display": "OpenRouter",
406
+ "server_type_openrouter_sub": "統一雲端",
407
+ "server_updated": "伺服器已更新",
408
+ "servers_title": "伺服器",
409
+ "set_as_default": "設為預設",
410
+ "set_persona": "設定角色",
411
+ "settings_about": "關於",
412
+ "settings_appearance": "外觀",
413
+ "settings_behavior": "行為",
414
+ "settings_data_management": "資料管理",
415
+ "settings_default_persona": "預設角色",
416
+ "settings_default_server": "預設伺服器",
417
+ "settings_language": "語言",
418
+ "settings_on_device": "裝置端推論",
419
+ "settings_privacy": "隱私",
420
+ "settings_title": "設定",
421
+ "settings_tts": "語音合成 (TTS)",
422
+ "setup_connection": "設定連線",
423
+ "setup_connection_desc": "設定您的 {server} 伺服器以開始對話。",
424
+ "share": "分享",
425
+ "show_data_indicator": "顯示數據指示器",
426
+ "show_system_messages": "顯示系統訊息",
427
+ "skip": "跳過",
428
+ "something_went_wrong": "出了點問題",
429
+ "star_on_github": "在 GitHub 上點亮 Star",
430
+ "start_conversation": "開始對話",
431
+ "start_new_chat": "開始新對話",
432
+ "start_new_conversation": "開始新對話",
433
+ "startup_failed": "啟動失敗",
434
+ "stay_updated": "保持更新",
435
+ "stay_updated_desc": "在您的 AI 模型下載完成或長時間執行的任務結束時獲得通知。",
436
+ "stop": "停止",
437
+ "stop_generation_tooltip": "停止生成",
438
+ "stop_reading": "停止朗讀",
439
+ "streaming_responses": "串流響應",
440
+ "switch_server": "切換伺服器",
441
+ "switch_server_subtitle": "選擇要連線的伺服器",
442
+ "switched_to_server": "已切換到 {name}",
443
+ "system_prompt": "系統提示詞",
444
+ "technical_details": "技術細節",
445
+ "temp_hint": "0.7",
446
+ "temperature": "溫度",
447
+ "temperature_desc": "控制隨機性:較高 = 創意,較低 = 專注",
448
+ "temperature_label": "溫度 (0.0-2.0)",
449
+ "test_connection": "測試連線",
450
+ "test_notification_body": "這是用於展示模型下載進度的測試通知。",
451
+ "test_notification_title": "測試通知",
452
+ "testing": "正在測試...",
453
+ "theme": "主題",
454
+ "theme_card_claude": "Claude",
455
+ "theme_card_claude_sub": "溫馨的桃色色調主題",
456
+ "theme_card_dark": "深色",
457
+ "theme_card_dark_sub": "保護眼睛",
458
+ "theme_card_light": "淺色",
459
+ "theme_card_light_sub": "乾淨明亮",
460
+ "theme_card_system": "系統",
461
+ "theme_card_system_sub": "符合您的裝置設定",
462
+ "theme_claude": "Claude",
463
+ "theme_dark": "深色",
464
+ "theme_light": "淺色",
465
+ "theme_system": "系統",
466
+ "thinking": "正在思考",
467
+ "today_section": "今天",
468
+ "tool_label": "工具: {toolCallId}",
469
+ "tool_unknown": "工具: 未知",
470
+ "top_p": "Top P",
471
+ "top_p_desc": "核取樣門檻",
472
+ "top_p_hint": "0.9",
473
+ "top_p_label": "Top P (0.0-1.0)",
474
+ "total_capacity": "總容量",
475
+ "total_ram": "總記憶體",
476
+ "try_different_search": "嘗試不同的搜尋詞",
477
+ "tts_engine": "TTS 引擎",
478
+ "tts_engine_kitten": "Kitten TTS",
479
+ "tts_engine_system": "系統 TTS",
480
+ "tts_kitten_desc": "擁有 8 種表現力聲音的閃電般高速類神經網路 TTS。\n需要下載 {size}。",
481
+ "tts_models_title": "語音合成模型",
482
+ "tts_piper_desc": "快速離線 Piper 語音,擁有 2 種極極具表現力的聲音。\n每個聲音需要下載 {size}。",
483
+ "tts_speed": "TTS 速度",
484
+ "tts_speed_desc": "調整播放速率。",
485
+ "tts_system_desc": "使用您裝置內建的語音合成引擎。\n無需額外下載。語音選擇依賴您的裝置系統設定。",
486
+ "unknown_error": "未知錯誤",
487
+ "unload": "卸載",
488
+ "unload_from_server": "從伺服器卸載",
489
+ "unpin": "取消釘選",
490
+ "update_server": "更新伺服器",
491
+ "voice": "語音",
492
+ "voice_bella": "Bella",
493
+ "voice_bruno": "Bruno",
494
+ "voice_female": "女聲",
495
+ "voice_hugo": "Hugo",
496
+ "voice_jasper": "Jasper",
497
+ "voice_kiki": "Kiki",
498
+ "voice_leo": "Leo",
499
+ "voice_lessac": "Lessac (美音)",
500
+ "voice_luna": "Luna",
501
+ "voice_male": "男聲",
502
+ "voice_other": "其他",
503
+ "voice_rosie": "Rosie",
504
+ "voice_ryan": "Ryan (美音)",
505
+ "waiting_selection": "等待選擇",
506
+ "yesterday_section": "昨天",
507
+ "tts_supports_background": "支援背景播放(原生音訊格式)",
508
+ "tts_other_services_background_note": "注意:其他 TTS 服務支援背景播放(原生音訊格式)。",
509
+ "start_listening_tooltip": "開始聆聽",
510
+ "stop_listening_tooltip": "停止聆聽"
511
+}