diff --git a/CustomKeyboard/Resource/KBSkinIconMap_zh_hant.strings b/CustomKeyboard/Resource/KBSkinIconMap_zh_hant.strings index 0bc988c..e2a1ea9 100644 --- a/CustomKeyboard/Resource/KBSkinIconMap_zh_hant.strings +++ b/CustomKeyboard/Resource/KBSkinIconMap_zh_hant.strings @@ -231,8 +231,12 @@ /* ',' */ "sym_comma" = "key_comma"; +/* '、' 顿号 */ +"sym_dun" = "key_dun"; /* '.' */ "sym_dot" = "key_dot"; +/* '。' 中文句号 */ +"sym_chinese_dot" = "key_chinese_dot"; /* '?' */ "sym_question" = "key_question"; /* '!' */ @@ -293,6 +297,10 @@ "sym_guillemet_l" = "key_guillemet_l"; /* '»' 右双尖括号 */ "sym_guillemet_r" = "key_guillemet_r"; +/* '《' 左书名号 */ +"sym_book_title_l" = "key_book_title_l"; +/* '》' 右书名号 */ +"sym_book_title_r" = "key_book_title_r"; /* '...' 省略号 */ "sym_ellipsis" = "key_ellipsis"; @@ -309,7 +317,7 @@ /* 字母面板左下角 "123" */ "mode_123" = "key_123"; /* 数字面板左下角 "abc" */ -"mode_abc" = "key_abc"; +"mode_abc" = "key_拼音"; /* 数字面板内 "123 -> #+=" */ "symbols_toggle_more" = "key_symbols_more"; /* 数字面板内 "#+= -> 123" */ diff --git a/CustomKeyboard/Resource/kb_keyboard_layouts_i18n.json b/CustomKeyboard/Resource/kb_keyboard_layouts_i18n.json index ec81691..1f4820d 100644 --- a/CustomKeyboard/Resource/kb_keyboard_layouts_i18n.json +++ b/CustomKeyboard/Resource/kb_keyboard_layouts_i18n.json @@ -622,11 +622,12 @@ "segments": { "left": [{ "id": "symbols_toggle_more", "width": "symbolsSideWidth" }], "center": [ - { "id": "sym:.", "width": "symbolsWideWidth" }, + { "id": "sym:。", "width": "symbolsWideWidth" }, { "id": "sym:,", "width": "symbolsWideWidth" }, + { "id": "sym:、", "width": "symbolsWideWidth" }, { "id": "sym:?", "width": "symbolsWideWidth" }, { "id": "sym:!", "width": "symbolsWideWidth" }, - { "id": "sym:'", "width": "symbolsWideWidth" } + { "id": "sym:.", "width": "symbolsWideWidth" } ], "right": [{ "id": "backspace", "width": "symbolsSideWidth" }] } @@ -656,7 +657,7 @@ "insetLeft": 4, "insetRight": 4, "gap": 5, - "items": ["sym:_", "sym:-","sym:\\", "sym:|", "sym:~", "sym:《", "sym:》", "sym:$", "sym:&", "sym:·"] + "items": ["sym:_", "sym:-","sym:\\", "sym:|", "sym:~", "sym:《", "sym:》", "sym:¥", "sym:&", "sym:·"] }, { "align": "center", diff --git a/CustomKeyboard/View/KBKeyboardView.m b/CustomKeyboard/View/KBKeyboardView.m index 22111f2..e34c23f 100644 --- a/CustomKeyboard/View/KBKeyboardView.m +++ b/CustomKeyboard/View/KBKeyboardView.m @@ -1258,7 +1258,9 @@ edgeSpacerMultiplier:(CGFloat)edgeSpacerMultiplier { @"“": @"sym_quote_double", @"”": @"sym_quote_double", @".": @"sym_dot", + @"。": @"sym_chinese_dot", @",": @"sym_comma", + @"、": @"sym_dun", @"?": @"sym_question", @"!": @"sym_exclam", @"'": @"sym_quote_single", @@ -1290,6 +1292,8 @@ edgeSpacerMultiplier:(CGFloat)edgeSpacerMultiplier { @"—": @"sym_emdash", @"«": @"sym_guillemet_l", @"»": @"sym_guillemet_r", + @"《": @"sym_book_title_l", + @"》": @"sym_book_title_r", @"...": @"sym_ellipsis" }; }); diff --git a/Shared/KBInputProfileManager.m b/Shared/KBInputProfileManager.m index 885a65d..db9e250 100644 --- a/Shared/KBInputProfileManager.m +++ b/Shared/KBInputProfileManager.m @@ -128,11 +128,16 @@ @"layouts": @[@{@"variant": @"qwerty", @"title": @"QWERTY", @"profileId": @"pt_PT_qwerty", @"layoutJsonId": @"letters_pt", @"suggestionEngine": @"latin"}] }, @{ - @"code": @"zh-Hant", - @"name": @"繁體中文(台灣)", - @"defaultSkinZip": @"", + @"code": @"zh-Hant-Pinyin", + @"name": @"繁體中文-拼音", + @"defaultSkinZip": @"繁体中文拼音皮肤.zip", + @"layouts": @[@{@"variant": @"pinyin", @"title": @"拼音(繁體)", @"profileId": @"zh_Hant_TW_pinyin", @"layoutJsonId": @"letters_zh_hant_pinyin", @"suggestionEngine": @"pinyin_traditional"}] + }, + @{ + @"code": @"zh-Hant-Bopomofo", + @"name": @"繁體中文-注音", + @"defaultSkinZip": @"繁体中文注音皮肤.zip", @"layouts": @[ - @{@"variant": @"pinyin", @"title": @"拼音(繁體)", @"profileId": @"zh_Hant_TW_pinyin", @"layoutJsonId": @"letters_zh_hant_pinyin", @"suggestionEngine": @"pinyin_traditional"}, @{@"variant": @"bopomofo_full", @"title": @"注音全鍵盤", @"profileId": @"zh_Hant_TW_bopomofo_full", @"layoutJsonId": @"letters_bopomofo_full", @"suggestionEngine": @"bopomofo"}, @{@"variant": @"bopomofo_standard", @"title": @"注音標準", @"profileId": @"zh_Hant_TW_bopomofo_standard", @"layoutJsonId": @"letters_bopomofo_standard", @"suggestionEngine": @"bopomofo"} ] @@ -140,7 +145,7 @@ @{ @"code": @"id", @"name": @"Bahasa Indonesia", - @"defaultSkinZip": @"", + @"defaultSkinZip": @"印度尼西亚初始皮肤.zip", @"layouts": @[@{@"variant": @"qwerty", @"title": @"QWERTY", @"profileId": @"id_ID_qwerty", @"layoutJsonId": @"letters_id", @"suggestionEngine": @"latin"}] } ]; diff --git a/Shared/Resource/kb_input_profiles.json b/Shared/Resource/kb_input_profiles.json index 7005b5c..e622b40 100644 --- a/Shared/Resource/kb_input_profiles.json +++ b/Shared/Resource/kb_input_profiles.json @@ -44,9 +44,9 @@ ] }, { - "code": "zh-Hant", - "name": "繁體中文(台灣)", - "defaultSkinZip": "", + "code": "zh-Hant-Pinyin", + "name": "繁體中文-拼音", + "defaultSkinZip": "台湾拼音初始皮肤.zip", "layouts": [ { "variant": "pinyin", @@ -54,7 +54,14 @@ "profileId": "zh_Hant_TW_pinyin", "layoutJsonId": "letters_zh_hant_pinyin", "suggestionEngine": "pinyin_traditional" - }, + } + ] + }, + { + "code": "zh-Hant-Bopomofo", + "name": "繁體中文-注音", + "defaultSkinZip": "台湾省初始皮肤注音.zip", + "layouts": [ { "variant": "bopomofo_full", "title": "注音全鍵盤", diff --git a/keyBoard.xcodeproj/project.pbxproj b/keyBoard.xcodeproj/project.pbxproj index a1d654e..f28009c 100644 --- a/keyBoard.xcodeproj/project.pbxproj +++ b/keyBoard.xcodeproj/project.pbxproj @@ -48,6 +48,8 @@ 043213BD2F56A3920065C888 /* 西班牙初始皮肤.zip in Resources */ = {isa = PBXBuildFile; fileRef = 043213BC2F56A3920065C888 /* 西班牙初始皮肤.zip */; }; 043213BE2F56A3920065C888 /* 葡萄牙初始皮肤.zip in Resources */ = {isa = PBXBuildFile; fileRef = 043213BB2F56A3920065C888 /* 葡萄牙初始皮肤.zip */; }; 043213C02F56C9330065C888 /* 印度尼西亚初始皮肤.zip in Resources */ = {isa = PBXBuildFile; fileRef = 043213BF2F56C9330065C888 /* 印度尼西亚初始皮肤.zip */; }; + 043213C42F56F3390065C888 /* 台湾拼音初始皮肤.zip in Resources */ = {isa = PBXBuildFile; fileRef = 043213C32F56F3390065C888 /* 台湾拼音初始皮肤.zip */; }; + 043213C62F56F5280065C888 /* 台湾省初始皮肤注音.zip in Resources */ = {isa = PBXBuildFile; fileRef = 043213C52F56F5280065C888 /* 台湾省初始皮肤注音.zip */; }; 043FBCD22EAF97630036AFE1 /* KBPermissionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 04C6EAE12EAF940F0089C901 /* KBPermissionViewController.m */; }; 0450AA742EF013D000B6AF06 /* KBEmojiCollectionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0450AA732EF013D000B6AF06 /* KBEmojiCollectionCell.m */; }; 0450AAE22EF03D5100B6AF06 /* KBPerson.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0450AAE12EF03D5100B6AF06 /* KBPerson.swift */; }; @@ -408,6 +410,8 @@ 043213BB2F56A3920065C888 /* 葡萄牙初始皮肤.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = "葡萄牙初始皮肤.zip"; sourceTree = ""; }; 043213BC2F56A3920065C888 /* 西班牙初始皮肤.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = "西班牙初始皮肤.zip"; sourceTree = ""; }; 043213BF2F56C9330065C888 /* 印度尼西亚初始皮肤.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = "印度尼西亚初始皮肤.zip"; sourceTree = ""; }; + 043213C32F56F3390065C888 /* 台湾拼音初始皮肤.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = "台湾拼音初始皮肤.zip"; sourceTree = ""; }; + 043213C52F56F5280065C888 /* 台湾省初始皮肤注音.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = "台湾省初始皮肤注音.zip"; sourceTree = ""; }; 0450AA722EF013D000B6AF06 /* KBEmojiCollectionCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KBEmojiCollectionCell.h; sourceTree = ""; }; 0450AA732EF013D000B6AF06 /* KBEmojiCollectionCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KBEmojiCollectionCell.m; sourceTree = ""; }; 0450AAE02EF03D5100B6AF06 /* keyBoard-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "keyBoard-Bridging-Header.h"; sourceTree = ""; }; @@ -1310,6 +1314,8 @@ 043213BB2F56A3920065C888 /* 葡萄牙初始皮肤.zip */, 043213BC2F56A3920065C888 /* 西班牙初始皮肤.zip */, 043213BF2F56C9330065C888 /* 印度尼西亚初始皮肤.zip */, + 043213C32F56F3390065C888 /* 台湾拼音初始皮肤.zip */, + 043213C52F56F5280065C888 /* 台湾省初始皮肤注音.zip */, ); path = Resource; sourceTree = ""; @@ -2331,6 +2337,7 @@ files = ( 045ED52B2F540FBE00131114 /* normal_hei_them.zip in Resources */, 045ED52C2F540FBE00131114 /* normal_them.zip in Resources */, + 043213C62F56F5280065C888 /* 台湾省初始皮肤注音.zip in Resources */, 04E038D82F20BFFB002CA5A0 /* websocket-api.md in Resources */, 0479200B2ED87CEE004E8522 /* permiss_video.mp4 in Resources */, 04E2277D2F516EBD001A8F14 /* PrivacyInfo.xcprivacy in Resources */, @@ -2341,6 +2348,7 @@ 047920112ED98E7D004E8522 /* permiss_video_2.mp4 in Resources */, 04C6EABC2EAF86530089C901 /* LaunchScreen.storyboard in Resources */, 043213BD2F56A3920065C888 /* 西班牙初始皮肤.zip in Resources */, + 043213C42F56F3390065C888 /* 台湾拼音初始皮肤.zip in Resources */, 043213BE2F56A3920065C888 /* 葡萄牙初始皮肤.zip in Resources */, 04E0394F2F236E75002CA5A0 /* KBChatTableView_Usage.md in Resources */, 04286A132ECDEBF900CE730C /* KBSkinIconMap.strings in Resources */, diff --git a/keyBoard/Class/Resource/台湾拼音初始皮肤.zip b/keyBoard/Class/Resource/台湾拼音初始皮肤.zip new file mode 100644 index 0000000..029a13b Binary files /dev/null and b/keyBoard/Class/Resource/台湾拼音初始皮肤.zip differ diff --git a/keyBoard/Class/Resource/台湾省初始皮肤注音.zip b/keyBoard/Class/Resource/台湾省初始皮肤注音.zip new file mode 100644 index 0000000..d438e29 Binary files /dev/null and b/keyBoard/Class/Resource/台湾省初始皮肤注音.zip differ