From efdf7772bbf708564841f4a0318e22cc5292e339 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Fri, 17 Dec 2021 16:04:16 +0800 Subject: [PATCH] Rebranding to vChewing, requiring macOS 10.12 --- .../continuous-integration-workflow.yml | 3 +- .gitignore | 1 + LICENSE | 12 + LICENSE-CHS.txt | 12 + LICENSE-CHT.txt | 12 + LICENSE.txt | 20 +- Makefile | 14 +- README.markdown | 14 - README.md | 31 +- Source/AppDelegate.h | 2 +- Source/AppDelegate.m | 6 +- Source/Base.lproj/MainMenu.xib | 8 +- .../VTHorizontalCandidateController.m | 6 +- .../CandidateUI/VTHorizontalCandidateView.m | 12 +- .../VTVerticalCandidateController.m | 32 +- .../VTVerticalCandidateTableView.m | 2 +- .../CandidateUI/VTVerticalKeyLabelStripView.m | 8 +- Source/Images/Bopomofo.tiff | Bin 4430 -> 4926 bytes Source/Images/Bopomofo@2x.tiff | Bin 7502 -> 5496 bytes .../AlertIcon.imageset/128X128.png | Bin 2910 -> 8072 bytes .../AlertIcon.imageset/192x192.png | Bin 4096 -> 16915 bytes .../AlertIcon.imageset/64X64.png | Bin 1568 -> 4460 bytes .../AppIcon.appiconset/1024X1024.png | Bin 24519 -> 53724 bytes .../AppIcon.appiconset/128X128.png | Bin 2910 -> 8072 bytes .../AppIcon.appiconset/16X16.png | Bin 495 -> 1750 bytes .../AppIcon.appiconset/256X256.png | Bin 5348 -> 15555 bytes .../AppIcon.appiconset/32X32.png | Bin 869 -> 2580 bytes .../AppIcon.appiconset/512X512.png | Bin 11070 -> 30285 bytes .../AppIcon.appiconset/64X64.png | Bin 1568 -> 4460 bytes Source/Images/PlainBopomofo.tiff | Bin 4430 -> 4958 bytes Source/Images/PlainBopomofo@2x.tiff | Bin 7502 -> 5720 bytes Source/InputMethodController.h | 6 +- Source/InputMethodController.mm | 158 ++++++---- Source/Installer/AppDelegate.h | 2 +- Source/Installer/AppDelegate.m | 14 +- Source/Installer/ArchiveUtil.h | 2 +- Source/Installer/ArchiveUtil.m | 2 +- Source/Installer/Base.lproj/MainMenu.xib | 14 +- Source/Installer/en.lproj/InfoPlist.strings | 2 +- Source/Installer/en.lproj/License.rtf | 2 +- Source/Installer/en.lproj/Localizable.strings | 4 +- Source/Installer/main.m | 2 +- .../Installer/zh-Hans.lproj/InfoPlist.strings | 5 + Source/Installer/zh-Hans.lproj/License.rtf | 42 +++ .../zh-Hans.lproj/Localizable.strings | 39 +++ Source/Installer/zh-Hans.lproj/MainMenu.xib | 209 +++++++++++++ .../Installer/zh-Hant.lproj/InfoPlist.strings | 2 +- Source/Installer/zh-Hant.lproj/License.rtf | 36 +-- .../zh-Hant.lproj/Localizable.strings | 4 +- Source/Installer/zh-Hant.lproj/MainMenu.xib | 50 +-- Source/McBopomofo-Prefix.pch | 7 - Source/OpenCCBridge.swift | 2 +- Source/PreferencesWindowController.h | 2 +- Source/PreferencesWindowController.m | 2 +- Source/README | 17 +- Source/UpdateNotificationController.h | 2 +- Source/UpdateNotificationController.m | 2 +- Source/UserOverrideModel.cpp | 4 +- Source/UserOverrideModel.h | 6 +- Source/en.lproj/InfoPlist.strings | 8 +- Source/en.lproj/Localizable.strings | 8 +- Source/main.m | 4 +- ...ng-Header.h => vChewing-Bridging-Header.h} | 0 ...opomofo-Info.plist => vChewing-Info.plist} | 31 +- Source/vChewing-Prefix.pch | 7 + Source/zh-Hans.lproj/InfoPlist.strings | 5 + Source/zh-Hans.lproj/Localizable.strings | 52 +++ Source/zh-Hans.lproj/MainMenu.xib | 295 ++++++++++++++++++ Source/zh-Hans.lproj/preferences.xib | 237 ++++++++++++++ Source/zh-Hant.lproj/InfoPlist.strings | 8 +- Source/zh-Hant.lproj/Localizable.strings | 8 +- Source/zh-Hant.lproj/MainMenu.xib | 8 +- Source/zh-Hant.lproj/preferences.xib | 20 +- .../project.pbxproj | 106 ++++--- .../xcshareddata/xcschemes/vChewing.xcscheme | 18 +- .../xcschemes/vChewingInstaller.xcscheme | 18 +- 76 files changed, 1315 insertions(+), 352 deletions(-) create mode 100644 LICENSE create mode 100644 LICENSE-CHS.txt create mode 100644 LICENSE-CHT.txt delete mode 100644 README.markdown create mode 100644 Source/Installer/zh-Hans.lproj/InfoPlist.strings create mode 100644 Source/Installer/zh-Hans.lproj/License.rtf create mode 100644 Source/Installer/zh-Hans.lproj/Localizable.strings create mode 100644 Source/Installer/zh-Hans.lproj/MainMenu.xib delete mode 100644 Source/McBopomofo-Prefix.pch rename Source/{McBopomofo-Bridging-Header.h => vChewing-Bridging-Header.h} (100%) rename Source/{McBopomofo-Info.plist => vChewing-Info.plist} (84%) create mode 100644 Source/vChewing-Prefix.pch create mode 100644 Source/zh-Hans.lproj/InfoPlist.strings create mode 100644 Source/zh-Hans.lproj/Localizable.strings create mode 100644 Source/zh-Hans.lproj/MainMenu.xib create mode 100644 Source/zh-Hans.lproj/preferences.xib rename {McBopomofo.xcodeproj => vChewing.xcodeproj}/project.pbxproj (93%) rename McBopomofo.xcodeproj/xcshareddata/xcschemes/McBopomofo.xcscheme => vChewing.xcodeproj/xcshareddata/xcschemes/vChewing.xcscheme (83%) rename McBopomofo.xcodeproj/xcshareddata/xcschemes/McBopomofoInstaller.xcscheme => vChewing.xcodeproj/xcshareddata/xcschemes/vChewingInstaller.xcscheme (82%) diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml index 94b4415c..6d616b4b 100644 --- a/.github/workflows/continuous-integration-workflow.yml +++ b/.github/workflows/continuous-integration-workflow.yml @@ -6,7 +6,8 @@ jobs: name: Build runs-on: macOS-latest env: - DEVELOPER_DIR: /Applications/Xcode_13.2.app/Contents/Developer + GIT_SSL_NO_VERIFY: true + DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer steps: - uses: actions/checkout@v1 - name: Clean diff --git a/.gitignore b/.gitignore index 3160b584..5bebbc3c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ Credits.rtf # that can be built by make -C Source/Data/bin/C_Version # C_count.occ.exe .idea +Source/Data/* \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..33c1907d --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +MIT License + +Copyright (c) 2021 Mengjuei Hsieh et al. + +Shiki Suen, the maintainer of the vChewing project, does not own any rights of the programming parts of it. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/LICENSE-CHS.txt b/LICENSE-CHS.txt new file mode 100644 index 00000000..0644f391 --- /dev/null +++ b/LICENSE-CHS.txt @@ -0,0 +1,12 @@ +MIT License +麻理许可协议 + +著作权利所有 © 2011-2021 Mengjuei Hsieh 等。 + +威注音输入法维护人孙志贵对该产品的程序部分不享有任何所有权。 + +软件的著作权利人依此麻理授权条款,将其对于软件的著作权利授权释出,只要使用者践履以下二项麻理授权条款叙明的义务性规定,其即享有对此软件程式及其相关说明文档自由不受限制地进行利用的权利,范围包括「使用、重制、修改、合并、出版、散布、再授权、及贩售程式重制作品」等诸多方面的应用,而散布程式之人、更可将上述权利传递予其后收受程式的后手,倘若其后收受程式之人亦服膺以下二项麻理授权条款的义务性规定,则其对程式亦享有与前手运用范围相同的同一权利。 + +散布此一软件程序者,须将本条款其上的「著作权声明」及以下的「免责声明」,内嵌于软件程序及其重制作品的实体之中。 + +因麻理软件程序的授权模式乃是无偿提供,是以在现行法律的架构下可以主张合理的免除担保责任。麻理软件的著作权人或任何的后续散布者,对于其所散布的麻理软件程序皆不负任何形式上实质上的担保责任,明示亦或隐喻、商业利用性亦或特定目的使用性,这些均不在保障之列。利用麻理软件程序的所有风险均由使用者自行担负。假如所使用的麻理程序发生缺陷性问题,使用者需自行担负修正、改正及必要的服务支出。麻理软件程序的著作权人不负任何形式上实质上的担保责任,无论任何一般的、特殊的、偶发的、因果关系式的损害,或是麻理软件程序的不适用性,均须由使用者自行负担。 diff --git a/LICENSE-CHT.txt b/LICENSE-CHT.txt new file mode 100644 index 00000000..1c648da3 --- /dev/null +++ b/LICENSE-CHT.txt @@ -0,0 +1,12 @@ +MIT License +麻理授權條款 + +著作權利所有 © 2011-2021 Mengjuei Hsieh 等。 + +威注音輸入法維護人孫志貴對該產品的程式部分不享有任何所有權。 + +軟體的著作權利人依此麻理授權條款,將其對於軟體的著作權利授權釋出,只要使用者踐履以下二項麻理授權條款敘明的義務性規定,其即享有對此軟體程式及其相關說明文檔自由不受限制地進行利用的權利,範圍包括「使用、重製、修改、合併、出版、散布、再授權、及販售程式重製作品」等諸多方面的應用,而散布程式之人、更可將上述權利傳遞予其後收受程式的後手,倘若其後收受程式之人亦服膺以下二項麻理授權條款的義務性規定,則其對程式亦享有與前手運用範圍相同的同一權利。 + +散布此一軟體程式者,須將本條款其上的「著作權聲明」及以下的「免責聲明」,內嵌於軟體程式及其重製作品的實體之中。 + +因麻理軟體程式的授權模式乃是無償提供,是以在現行法律的架構下可以主張合理的免除擔保責任。麻理軟體的著作權人或任何的後續散布者,對於其所散布的麻理軟體程式皆不負任何形式上實質上的擔保責任,明示亦或隱喻、商業利用性亦或特定目的使用性,這些均不在保障之列。利用麻理軟體程式的所有風險均由使用者自行擔負。假如所使用的麻理程式發生缺陷性問題,使用者需自行擔負修正、改正及必要的服務支出。麻理軟體程式的著作權人不負任何形式上實質上的擔保責任,無論任何一般的、特殊的、偶發的、因果關係式的損害,或是麻理軟體程式的不適用性,均須由使用者自行負擔。 diff --git a/LICENSE.txt b/LICENSE.txt index 44849223..375cec4e 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -2,20 +2,10 @@ MIT License Copyright (c) 2011-2021 Mengjuei Hsieh et al. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Shiki Suen, the maintainer of the vChewing project, does not own any rights of the programming parts of it. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile b/Makefile index 0e889293..319c6441 100644 --- a/Makefile +++ b/Makefile @@ -12,13 +12,13 @@ BUILD_SETTINGS += ONLY_ACTIVE_ARCH=NO endif release: - xcodebuild -project McBopomofo.xcodeproj -scheme McBopomofoInstaller -configuration Release $(BUILD_SETTINGS) build + xcodebuild -project vChewing.xcodeproj -scheme vChewingInstaller -configuration Release $(BUILD_SETTINGS) build debug: - xcodebuild -project McBopomofo.xcodeproj -scheme McBopomofoInstaller -configuration Debug $(BUILD_SETTINGS) build + xcodebuild -project vChewing.xcodeproj -scheme vChewingInstaller -configuration Debug $(BUILD_SETTINGS) build DSTROOT = /Library/Input Methods -VC_APP_ROOT = $(DSTROOT)/McBopomofo.app +VC_APP_ROOT = $(DSTROOT)/vChewing.app .PHONY: permission-check install-debug install-release @@ -27,15 +27,15 @@ permission-check: install-debug: permission-check rm -rf "$(VC_APP_ROOT)" - open Build/Products/Debug/McBopomofoInstaller.app + open Build/Products/Debug/vChewingInstaller.app install-release: permission-check rm -rf "$(VC_APP_ROOT)" - open Build/Products/Release/McBopomofoInstaller.app + open Build/Products/Release/vChewingInstaller.app .PHONY: clean clean: - xcodebuild -scheme McBopomofoInstaller -configuration Debug $(BUILD_SETTINGS) clean - xcodebuild -scheme McBopomofoInstaller -configuration Release $(BUILD_SETTINGS) clean + xcodebuild -scheme vChewingInstaller -configuration Debug $(BUILD_SETTINGS) clean + xcodebuild -scheme vChewingInstaller -configuration Release $(BUILD_SETTINGS) clean make clean --file=./Source/Data/Makefile || true diff --git a/README.markdown b/README.markdown deleted file mode 100644 index 359a8385..00000000 --- a/README.markdown +++ /dev/null @@ -1,14 +0,0 @@ -# OpenVanilla McBopomofo 小麥注音輸入法 - -## 開發流程 - -用 Xcode 開啟 `McBopomofo.xcodeproj`,選 "McBopomofo Installer" target,build 完之後直接執行該安裝程式,就可以安裝小麥注音。 - -第一次安裝完,日後程式碼或詞庫有任何修改,只要重複上述流程,再次安裝小麥注音即可。 - -要注意的是 macOS 可能會限制同一次 login session 能 kill 同一個輸入法 process 的次數(安裝程式透過 kill input method process 來讓新版的輸入法生效)。如果安裝若干次後,發現程式修改的結果並沒有出現,或甚至輸入法已無法再選用,只要登出目前帳號再重新登入即可。 - -## 軟體授權 - -本專案採用 MIT License 釋出,使用者可自由使用、散播本軟體,惟散播時必須完整保留版權聲明及軟體授權([詳全文](https://github.com/openvanilla/McBopomofo/blob/master/LICENSE.txt))。 - diff --git a/README.md b/README.md index 359a8385..54434bc9 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,31 @@ -# OpenVanilla McBopomofo 小麥注音輸入法 +# vChewing 威注音输入法 -## 開發流程 +威注音输入法由小麦注音分支而来(且词库内已经移除任何可以妨碍该输入法在世界上任何地方传播的内容),是原生简体中文注音输入法:相比中州韵(鼠须管)而言,威注音能够做到真正的大千声韵并击。 -用 Xcode 開啟 `McBopomofo.xcodeproj`,選 "McBopomofo Installer" target,build 完之後直接執行該安裝程式,就可以安裝小麥注音。 +威注音分支专案及威注音词库由孙志贵(Shiki Suen)维护。小麦注音官方原始仓库內的词库的内容均与孙志贵无关。 -第一次安裝完,日後程式碼或詞庫有任何修改,只要重複上述流程,再次安裝小麥注音即可。 +## 建置流程 -要注意的是 macOS 可能會限制同一次 login session 能 kill 同一個輸入法 process 的次數(安裝程式透過 kill input method process 來讓新版的輸入法生效)。如果安裝若干次後,發現程式修改的結果並沒有出現,或甚至輸入法已無法再選用,只要登出目前帳號再重新登入即可。 +系统需求:至少 macOS 10.12 Sierra。 -## 軟體授權 +安装 Xcode 之后,请先配置 Xcode 允许其直接构建在专案所在的资料夹下的 build 资料夹内。步骤: +``` +「Xcode」->「Preferences...」->「Locations」; +「File」->「Project/WorkspaceSettings...」->「Advanced」; +选「Custom」->「Relative to Workspace」即可。不选的话,make 的过程会出错。 +``` +在终端机内定位到威注音的克隆本地专案的本地仓库的目录之后,执行 `make update` 以获取最新词库,在成功之后执行 `make` 即可组建。再执行 `make install` 可以触发威注音的安装程式。 -本專案採用 MIT License 釋出,使用者可自由使用、散播本軟體,惟散播時必須完整保留版權聲明及軟體授權([詳全文](https://github.com/openvanilla/McBopomofo/blob/master/LICENSE.txt))。 +第一次安装完,日后程式码或词库有任何修改,只要重复上述流程,再次安装威注音即可。 +要注意的是 macOS 可能会限制同一次 login session 能终结同一个输入法的执行进程的次数(安装程式透过 kill input method process 来让新版的输入法生效)。如果安装若干次后,发现程式修改的结果并没有出现、或甚至输入法已无法再选用,只需要登出目前的 macOS 系统帐号、再重新登入即可。 + +补记: 该输入法是在 2021 年 11 月初「28ae7deb4092f067539cff600397292e66a5dd56」这一版小麦注音建置的基础上完成的。因为在清洗词库的时候清洗了全部的 git commit 历史,所以无法自动从小麦注音官方仓库上游继承任何改动,只能手动同步任何在此之后的程式修正。最近一次同步參照是「f7a24862c4e1733a2264b56e434d1a449325d769」。除此以外,还引入了 MJHsieh 制作(却尚未正式给小麦注音实装)的「临时记忆最近的部分选字词」的功能(该记忆有自己的忘却衰减曲线,且记忆的词汇会在每次重新开机时自动忘却。)。 + +## 应用授权 + +小麦注音引擎程式版权:© 2011-2021 OpenVanilla 专案团队(Mengjuei Hsieh 等人)。 + +威注音词库由孙志贵维护,亦以 MIT 授权释出。 + +本专案采用 MIT License 释出,使用者可自由使用、散播本软体,惟散播时必须完整保留版权声明及软体授权([详全文 LICENSE.txt](https://github.com/openvanilla/McBopomofo/blob/master/LICENSE.txt))。 diff --git a/Source/AppDelegate.h b/Source/AppDelegate.h index 96ee6e0c..66d758bf 100644 --- a/Source/AppDelegate.h +++ b/Source/AppDelegate.h @@ -1,7 +1,7 @@ // // AppDelegate.h // -// Copyright (c) 2011 The McBopomofo Project. +// Copyright (c) 2021 The vChewing Project. // // Contributors: // Mengjuei Hsieh (@mjhsieh) diff --git a/Source/AppDelegate.m b/Source/AppDelegate.m index cc6b896c..eb7dc496 100644 --- a/Source/AppDelegate.m +++ b/Source/AppDelegate.m @@ -1,7 +1,7 @@ // // AppDelegate.m // -// Copyright (c) 2011 The McBopomofo Project. +// Copyright (c) 2021 The vChewing Project. // // Contributors: // Mengjuei Hsieh (@mjhsieh) @@ -156,7 +156,7 @@ static const NSTimeInterval kTimeoutInterval = 60.0; - (void)showNoUpdateAvailableAlert { - [[OVNonModalAlertWindowController sharedInstance] showWithTitle:NSLocalizedString(@"Check for Update Completed", nil) content:NSLocalizedString(@"You are already using the latest version of McBopomofo.", nil) confirmButtonTitle:NSLocalizedString(@"OK", nil) cancelButtonTitle:nil cancelAsDefault:NO delegate:nil]; + [[OVNonModalAlertWindowController sharedInstance] showWithTitle:NSLocalizedString(@"Check for Update Completed", nil) content:NSLocalizedString(@"You are already using the latest version of vChewing.", nil) confirmButtonTitle:NSLocalizedString(@"OK", nil) cancelButtonTitle:nil cancelAsDefault:NO delegate:nil]; } - (void)connectionDidFinishLoading:(NSURLConnection *)connection @@ -244,7 +244,7 @@ static const NSTimeInterval kTimeoutInterval = 60.0; } } - NSString *content = [NSString stringWithFormat:NSLocalizedString(@"You're currently using McBopomofo %@ (%@), a new version %@ (%@) is now available. Do you want to visit McBopomofo's website to download the version?%@", nil), [infoDict objectForKey:@"CFBundleShortVersionString"], currentVersion, [plist objectForKey:@"CFBundleShortVersionString"], remoteVersion, versionDescription]; + NSString *content = [NSString stringWithFormat:NSLocalizedString(@"You're currently using vChewing %@ (%@), a new version %@ (%@) is now available. Do you want to visit vChewing's website to download the version?%@", nil), [infoDict objectForKey:@"CFBundleShortVersionString"], currentVersion, [plist objectForKey:@"CFBundleShortVersionString"], remoteVersion, versionDescription]; [[OVNonModalAlertWindowController sharedInstance] showWithTitle:NSLocalizedString(@"New Version Available", nil) content:content confirmButtonTitle:NSLocalizedString(@"Visit Website", nil) cancelButtonTitle:NSLocalizedString(@"Not Now", nil) cancelAsDefault:NO delegate:self]; } diff --git a/Source/Base.lproj/MainMenu.xib b/Source/Base.lproj/MainMenu.xib index 5f7bcf12..4c79f2b9 100644 --- a/Source/Base.lproj/MainMenu.xib +++ b/Source/Base.lproj/MainMenu.xib @@ -14,10 +14,10 @@ - - + + - + @@ -32,7 +32,7 @@ - + diff --git a/Source/CandidateUI/VTHorizontalCandidateController.m b/Source/CandidateUI/VTHorizontalCandidateController.m index 4cc8795b..d3246dbe 100644 --- a/Source/CandidateUI/VTHorizontalCandidateController.m +++ b/Source/CandidateUI/VTHorizontalCandidateController.m @@ -57,7 +57,7 @@ self = [self initWithWindow:panel]; if (self) { contentRect.origin = NSMakePoint(0.0, 0.0); - _candidateView = [[VTHorizontalCandidateView alloc] initWithFrame:contentRect]; + _candidateView = [[VTHorizontalCandidateView alloc] initWithFrame:contentRect]; _candidateView.target = self; _candidateView.action = @selector(candidateViewMouseDidClick:); [[panel contentView] addSubview:_candidateView]; @@ -151,7 +151,7 @@ - (void)setSelectedCandidateIndex:(NSUInteger)newIndex { - NSUInteger keyLabelCount = [_keyLabels count]; + NSUInteger keyLabelCount = [_keyLabels count]; if (newIndex < [_delegate candidateCountForController:self]) { _currentPage = newIndex / keyLabelCount; _candidateView.highlightedIndex = newIndex % keyLabelCount; @@ -175,7 +175,7 @@ NSMutableArray *candidates = [NSMutableArray array]; NSUInteger count = [_delegate candidateCountForController:self]; - NSUInteger keyLabelCount = [_keyLabels count]; + NSUInteger keyLabelCount = [_keyLabels count]; for (NSUInteger index = _currentPage * keyLabelCount, j = 0; index < count && j < keyLabelCount; index++, j++) { [candidates addObject:[_delegate candidateController:self candidateAtIndex:index]]; } diff --git a/Source/CandidateUI/VTHorizontalCandidateView.m b/Source/CandidateUI/VTHorizontalCandidateView.m index d24122f5..765d0fc1 100644 --- a/Source/CandidateUI/VTHorizontalCandidateView.m +++ b/Source/CandidateUI/VTHorizontalCandidateView.m @@ -96,7 +96,7 @@ NS_INLINE CGFloat max(CGFloat a, CGFloat b) { return a > b ? a : b; } - (NSSize)sizeForView { NSSize result = NSMakeSize(0.0, 0.0); - if ([_elementWidths count]) { + if ([_elementWidths count]) { for (NSNumber *w in _elementWidths) { result.width += [w doubleValue]; } @@ -128,7 +128,7 @@ NS_INLINE CGFloat max(CGFloat a, CGFloat b) { return a > b ? a : b; } [NSBezierPath strokeLineFromPoint:NSMakePoint(bounds.size.width, 0.0) toPoint:NSMakePoint(bounds.size.width, bounds.size.height)]; NSUInteger count = [_elementWidths count]; - CGFloat accuWidth = 0.0; + CGFloat accuWidth = 0.0; for (NSUInteger index = 0; index < count; index++) { NSDictionary *activeCandidateAttr = _candidateAttrDict; @@ -154,7 +154,7 @@ NS_INLINE CGFloat max(CGFloat a, CGFloat b) { return a > b ? a : b; } } else { [backgroundColor setFill]; - } + } [NSBezierPath fillRect:candidateRect]; [[_displayedCandidates objectAtIndex:index] drawInRect:candidateRect withAttributes:activeCandidateAttr]; @@ -172,7 +172,7 @@ NS_INLINE CGFloat max(CGFloat a, CGFloat b) { return a > b ? a : b; } return result; } - NSUInteger count = [_elementWidths count]; + NSUInteger count = [_elementWidths count]; CGFloat accuWidth = 0.0; for (NSUInteger index = 0; index < count; index++) { CGFloat currentWidth = [[_elementWidths objectAtIndex:index] doubleValue]; @@ -182,7 +182,7 @@ NS_INLINE CGFloat max(CGFloat a, CGFloat b) { return a > b ? a : b; } break; } - accuWidth += currentWidth + 1.0; + accuWidth += currentWidth + 1.0; } return result; @@ -217,7 +217,7 @@ NS_INLINE CGFloat max(CGFloat a, CGFloat b) { return a > b ? a : b; } # pragma clang diagnostic push # pragma clang diagnostic ignored "-Warc-performSelector-leaks" if (triggerAction && _target && _action) { - [_target performSelector:_action withObject:self]; + [_target performSelector:_action withObject:self]; } # pragma clang diagnostic pop } diff --git a/Source/CandidateUI/VTVerticalCandidateController.m b/Source/CandidateUI/VTVerticalCandidateController.m index 7150d45b..68c340b5 100644 --- a/Source/CandidateUI/VTVerticalCandidateController.m +++ b/Source/CandidateUI/VTVerticalCandidateController.m @@ -81,7 +81,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; scrollViewRect.origin.x = stripRect.size.width; scrollViewRect.size.width -= stripRect.size.width; - _scrollView = [[NSScrollView alloc] initWithFrame:scrollViewRect]; + _scrollView = [[NSScrollView alloc] initWithFrame:scrollViewRect]; // >=10.7 only, elastic scroll causes some drawing issues with visible scroller, so we disable it if ([_scrollView respondsToSelector:@selector(setVerticalScrollElasticity:)]) { @@ -155,7 +155,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; - (BOOL)highlightPreviousCandidate { - return [self moveSelectionByOne:NO]; + return [self moveSelectionByOne:NO]; } - (NSUInteger)candidateIndexAtKeyLabelIndex:(NSUInteger)index @@ -224,13 +224,13 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; { NSString *candidate = @""; - // rendering can occur when the delegate is already gone or data goes stale; in that case we ignore it + // rendering can occur when the delegate is already gone or data goes stale; in that case we ignore it if (row < [_delegate candidateCountForController:self]) { candidate = [_delegate candidateController:self candidateAtIndex:row]; } - NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:candidate attributes:[NSDictionary dictionaryWithObjectsAndKeys:_candidateFont, NSFontAttributeName, _candidateTextParagraphStyle, NSParagraphStyleAttributeName, nil]]; + NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:candidate attributes:[NSDictionary dictionaryWithObjectsAndKeys:_candidateFont, NSFontAttributeName, _candidateTextParagraphStyle, NSParagraphStyleAttributeName, nil]]; // we do more work than what this method is expected to; normally not a good practice, but for the amount of data (9 to 10 rows max), we can afford the overhead @@ -244,7 +244,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; // keep track of the highlighted index in the key label strip NSUInteger count = [_keyLabels count]; - NSInteger selectedRow = [_tableView selectedRow]; + NSInteger selectedRow = [_tableView selectedRow]; if (selectedRow != -1) { // cast this into signed integer to make our life easier NSInteger newHilightIndex; @@ -255,7 +255,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; else { NSInteger firstVisibleRow = [_tableView rowAtPoint:[_scrollView documentVisibleRect].origin]; - newHilightIndex = selectedRow - firstVisibleRow; + newHilightIndex = selectedRow - firstVisibleRow; if (newHilightIndex < -1) { newHilightIndex = -1; } @@ -263,7 +263,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; if (newHilightIndex != _keyLabelStripView.highlightedIndex && newHilightIndex >= 0) { _keyLabelStripView.highlightedIndex = newHilightIndex; - [_keyLabelStripView setNeedsDisplay:YES]; + [_keyLabelStripView setNeedsDisplay:YES]; } } @@ -273,8 +273,8 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; - (void)tableViewSelectionDidChange:(NSNotification *)aNotification { NSInteger selectedRow = [_tableView selectedRow]; - if (selectedRow != -1) { - // keep track of the highlighted index in the key label strip + if (selectedRow != -1) { + // keep track of the highlighted index in the key label strip NSInteger firstVisibleRow = [_tableView rowAtPoint:[_scrollView documentVisibleRect].origin]; _keyLabelStripView.highlightedIndex = selectedRow - firstVisibleRow; [_keyLabelStripView setNeedsDisplay:YES]; @@ -285,7 +285,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; if ([_scrollView hasVerticalScroller]) { [[_scrollView verticalScroller] setNeedsDisplay]; } - } + } } - (void)rowDoubleClicked:(id)sender @@ -331,8 +331,8 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; } } - self.selectedCandidateIndex = newIndex; - return YES; + self.selectedCandidateIndex = newIndex; + return YES; } - (BOOL)moveSelectionByOne:(BOOL)forward @@ -360,7 +360,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; newIndex--; } - self.selectedCandidateIndex = newIndex; + self.selectedCandidateIndex = newIndex; return YES; } @@ -393,7 +393,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; [_scrollView setHasVerticalScroller:YES]; NSScroller *verticalScroller = [_scrollView verticalScroller]; - [verticalScroller setControlSize:controlSize]; + [verticalScroller setControlSize:controlSize]; [verticalScroller setScrollerStyle:NSScrollerStyleLegacy]; scrollerWidth = [NSScroller scrollerWidthForControlSize:controlSize scrollerStyle:NSScrollerStyleLegacy]; } @@ -415,7 +415,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; maxKeyLabelWidth = max(rect.size.width, maxKeyLabelWidth); } - CGFloat rowSpacing = [_tableView intercellSpacing].height; + CGFloat rowSpacing = [_tableView intercellSpacing].height; CGFloat stripWidth = ceil(maxKeyLabelWidth * 1.20); CGFloat tableViewStartWidth = ceil(_maxCandidateAttrStringWidth + scrollerWidth);; CGFloat windowWidth = stripWidth + 1.0 + tableViewStartWidth; @@ -425,7 +425,7 @@ static const CGFloat kCandidateTextLeftMarginWithMandatedTableViewPadding = 0.0; NSPoint topLeftPoint = NSMakePoint(frameRect.origin.x, frameRect.origin.y + frameRect.size.height); frameRect.size = NSMakeSize(windowWidth, windowHeight); - frameRect.origin = NSMakePoint(topLeftPoint.x, topLeftPoint.y - frameRect.size.height); + frameRect.origin = NSMakePoint(topLeftPoint.x, topLeftPoint.y - frameRect.size.height); [_keyLabelStripView setFrame:NSMakeRect(0.0, 0.0, stripWidth, windowHeight)]; [_scrollView setFrame:NSMakeRect(stripWidth + 1.0, 0.0, tableViewStartWidth, windowHeight)]; diff --git a/Source/CandidateUI/VTVerticalCandidateTableView.m b/Source/CandidateUI/VTVerticalCandidateTableView.m index bf326ac5..990f134d 100644 --- a/Source/CandidateUI/VTVerticalCandidateTableView.m +++ b/Source/CandidateUI/VTVerticalCandidateTableView.m @@ -30,7 +30,7 @@ @implementation VTVerticalCandidateTableView - (NSRect)adjustScroll:(NSRect)newVisible { - NSRect scrollRect = newVisible; + NSRect scrollRect = newVisible; CGFloat rowHeightPlusSpacing = [self rowHeight] + [self intercellSpacing].height; scrollRect.origin.y = (NSInteger)(scrollRect.origin.y / rowHeightPlusSpacing) * rowHeightPlusSpacing; return scrollRect; diff --git a/Source/CandidateUI/VTVerticalKeyLabelStripView.m b/Source/CandidateUI/VTVerticalKeyLabelStripView.m index 1a7d2a19..1770d9f8 100644 --- a/Source/CandidateUI/VTVerticalKeyLabelStripView.m +++ b/Source/CandidateUI/VTVerticalKeyLabelStripView.m @@ -58,14 +58,14 @@ { NSRect bounds = [self bounds]; [[NSColor whiteColor] setFill]; - [NSBezierPath fillRect:bounds]; + [NSBezierPath fillRect:bounds]; - NSUInteger count = [_keyLabels count]; + NSUInteger count = [_keyLabels count]; if (!count) { return; } - CGFloat cellHeight = bounds.size.height / count; + CGFloat cellHeight = bounds.size.height / count; NSColor *black = [NSColor blackColor]; NSColor *darkGray = [NSColor colorWithDeviceWhite:0.7 alpha:1.0]; NSColor *lightGray = [NSColor colorWithDeviceWhite:0.8 alpha:1.0]; @@ -99,6 +99,6 @@ NSString *text = [_keyLabels objectAtIndex:index]; [text drawInRect:textRect withAttributes:textAttr]; - } + } } @end diff --git a/Source/Images/Bopomofo.tiff b/Source/Images/Bopomofo.tiff index a1c29ed1e1980c6ecab09eed3f39456c9eba20e0..b802c702e99b65be7d4b43f27daa579d23c945f2 100644 GIT binary patch delta 1641 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%0ABhC`&8@ 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 X(%+Ka7QfSZSNGoY{jL6l{{DXh+PGr@ diff --git a/Source/Images/Images.xcassets/AlertIcon.imageset/128X128.png b/Source/Images/Images.xcassets/AlertIcon.imageset/128X128.png index 1a599df979101d94f100c41c0ad1362746ec28a1..217bbbc2809f687e32c27942d153f1c9e83733d2 100644 GIT binary patch literal 8072 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 y%3C3?ClEM>Kbw# delta 1552 zcmV+r2JiXoBA^VABYyx1a7bBm000XT000XT0n*)m`~Uz2(n&-?RCt{2TU|^XRTTbq zL0c=*P>ZpkVp5tE`hu%3n$Yy6*##3Njpa!bqDg(z`U+`EQ=2}UzBO7&^huLSOynm% z*g#@m>_TGrNoW(dg4IHctQ6?N&Nb)m%b}I8P;iLnP0(GEml6!LnQBMP5ausv6N}Y7nV@TKqRT;ly7f7c7-f zycJ+<5RB~yIfyZ2*V4$Y{#&->31l1DNVaNrs~n0dz|sK?aS9-;2_SVaWY^PRnTsEW(F+txMIj_Ae+f{L4OH7R`;14&~UQ14NPeQQz+U& z*?6>FHv0~4yUK$&ac%~f9Ke7sT{w!8i})1^vYm6tR|Zo8XU+u4Tl&ZH4R}sL93qk8 z39p3%nDysMg%$%GI{^NYK6J1aeIF+n%3MKfIP=GfFyw>tEI@(+H>%W)M7#g4QhnQn9TOK9{h^aC2 z=zxz-y;*R5>FTJb=eYsrAQc0IR=`UYXn(z#OJBqA_;fh+pG#jU`gLGc;M4a{=$}{D z9^;E|e{uaRZ;-44el&v==w3Wnt6yLH;U;%ND1X@QX0T@89(*E{{^aaDz8gt~Ltcl= zAm~N`-H8}?f(9?rKhji>ntglK^Bx>&dV%K?^k}6|MkZ(Gd22u=_?%jT^nLRy z^?y>&^#*$mC4!*yH&f}0Ne>adeD)nrrc>fX$GydL!Ly~BQwG^qK+FT^PsGuCI*!Yy zxVP^va-~qc{*RyY*J2$f6=@D2huBps6Krw-LWwHij67ld)@@$@#Q;bx03oTC*u>1d zdX`IwVlDZYK<|-<>sA1coj|4X-e+IpP=9@`TnRYITx($M0 zh=eEtQU26q-djpbKf_}X3|9f3<lg8788U}us_42akdCb$Jn zkImh^kIQG@)s;Y`jbni{rsyX7Gx4$EVH*U4TuDwU=;`~0&lp*OMt;7!e$(@NO7RJN zdfW~a+%8=m!L{qZqWz6#J^0ZGlGM<5No@1XkSs{%L^zNMluFG6{ey>0@PA2JBP5jx zf+>S~5)#?Q{dxlsSz*h7H(|;RF$gceZrew;LHn?qMBiSl+fL3x`tYN!h;y`PM<%Wq! zv>J$p(v2t%Wy`A7q5#(QaC-PgvEP;4GE>)@sOT*-%hMz7x6FvBYl&CXrm5wbQGYf~ z8BuriWLa;UTb}(nm~C@UDt7$N(On0WfeqmS!2fl9Qg3(0yG{TA00{s|MNUMnLSTZy C3F;aE diff --git a/Source/Images/Images.xcassets/AppIcon.appiconset/1024X1024.png b/Source/Images/Images.xcassets/AppIcon.appiconset/1024X1024.png index cffcacb296d4b557db27400204768bd0c99dd380..4e703cf3005b8bcc67b8203fd9ed1de3f9b73434 100644 GIT binary patch literal 53724 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 OKb0%j6iXB=9{nHaZ;{sk literal 24519 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 literal 5348 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 diff --git a/Source/Images/Images.xcassets/AppIcon.appiconset/64X64.png b/Source/Images/Images.xcassets/AppIcon.appiconset/64X64.png index 2b3d950bfee38959be3b8aa7a30729fa66d575a9..e302ef22531c8b7c3830d623feef41ce55bf820b 100644 GIT binary patch literal 4460 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 y%3C3?ClEM>Kbw# delta 1552 zcmV+r2JiXoBA^VABYyx1a7bBm000XT000XT0n*)m`~Uz2(n&-?RCt{2TU|^XRTTbq zL0c=*P>ZpkVp5tE`hu%3n$Yy6*##3Njpa!bqDg(z`U+`EQ=2}UzBO7&^huLSOynm% z*g#@m>_TGrNoW(dg4IHctQ6?N&Nb)m%b}I8P;iLnP0(GEml6!LnQBMP5ausv6N}Y7nV@TKqRT;ly7f7c7-f zycJ+<5RB~yIfyZ2*V4$Y{#&->31l1DNVaNrs~n0dz|sK?aS9-;2_SVaWY^PRnTsEW(F+txMIj_Ae+f{L4OH7R`;14&~UQ14NPeQQz+U& z*?6>FHv0~4yUK$&ac%~f9Ke7sT{w!8i})1^vYm6tR|Zo8XU+u4Tl&ZH4R}sL93qk8 z39p3%nDysMg%$%GI{^NYK6J1aeIF+n%3MKfIP=GfFyw>tEI@(+H>%W)M7#g4QhnQn9TOK9{h^aC2 z=zxz-y;*R5>FTJb=eYsrAQc0IR=`UYXn(z#OJBqA_;fh+pG#jU`gLGc;M4a{=$}{D z9^;E|e{uaRZ;-44el&v==w3Wnt6yLH;U;%ND1X@QX0T@89(*E{{^aaDz8gt~Ltcl= zAm~N`-H8}?f(9?rKhji>ntglK^Bx>&dV%K?^k}6|MkZ(Gd22u=_?%jT^nLRy z^?y>&^#*$mC4!*yH&f}0Ne>adeD)nrrc>fX$GydL!Ly~BQwG^qK+FT^PsGuCI*!Yy zxVP^va-~qc{*RyY*J2$f6=@D2huBps6Krw-LWwHij67ld)@@$@#Q;bx03oTC*u>1d zdX`IwVlDZYK<|-<>sA1coj|4X-e+IpP=9@`TnRYITx($M0 zh=eEtQU26q-djpbKf_}X3|9f3<lg8788U}us_42akdCb$Jn zkImh^kIQG@)s;Y`jbni{rsyX7Gx4$EVH*U4TuDwU=;`~0&lp*OMt;7!e$(@NO7RJN zdfW~a+%8=m!L{qZqWz6#J^0ZGlGM<5No@1XkSs{%L^zNMluFG6{ey>0@PA2JBP5jx zf+>S~5)#?Q{dxlsSz*h7H(|;RF$gceZrew;LHn?qMBiSl+fL3x`tYN!h;y`PM<%Wq! zv>J$p(v2t%Wy`A7q5#(QaC-PgvEP;4GE>)@sOT*-%hMz7x6FvBYl&CXrm5wbQGYf~ z8BuriWLa;UTb}(nm~C@UDt7$N(On0WfeqmS!2fl9Qg3(0yG{TA00{s|MNUMnLSTZy C3F;aE diff --git a/Source/Images/PlainBopomofo.tiff b/Source/Images/PlainBopomofo.tiff index 2aee9334b9ca69115810f7dd4dcb99b9e5efe879..c16a981d76ce1e16cbf0e4afea52e43a43551d1a 100644 GIT binary patch delta 1673 zcmZWpdrVVj6hHR?Ep06bC+9SGub!s{-$D$|cF!Dhh+UNR`;+2~XAd1pnB<676HMHdwcmC@O>eY5PK zt#aSfCxAEsmeu@xuR07Py<-U>BQGLqFT^g}_vZsTV+*|xX!gv!8fM@Oy%HNoBWzi> z1vfn`e-^sv)>$ET<-P>wuQk3`e9s@N!{sjcVb9EPbgkRvzBEQ>Gl!!euT-rjO`9&X z1a4UTD)rUT&d5L&Y*evXtGe zH6!Sn(Hqs{h3nIzsP-$G&<2{l_ilnB*gF7tUGn%)PBQ^| z&K3{STjM5@tZnm76au3mTZWz%Xt|$OaakUq2>>~J?h>kmgn*cS&_vJx*!E*&yg%uI zs|&+aNOP5pbO)brQT(Q5G+CA|WA?MH@2WOZvO{n={-H=a=L^@^FaAABWO8Dnz{Oy6RZ` z?H$=M_274LAmVtmcJTRzE^ul21#(VU#AR)Wa62NGjaRlLs~7=@2aF6sX?TApr(U@O zIHjxi$Q-@4Gv2_Z4V^-WE<4l@sJiL&CXgpYMf_NPM1q~VKl7j9MxOj*kQid}awA=E zH+ws+ zsiglo@42q|g`6&ooZmW9#OkPMb<4vanGcjHgBW;hd)#bB$zpaOu?iKr5DrqdH=aeA3vzKa{x@YY!Qo;i5Bedt$eAXItWpqMc79!F!#MUYl-01t9?Vb0pKzfyanO(JtRSKz;}CliE9hI&|SkgW2b2 zDL90Tww|!KD(RfO63+p!tipMQu&in`3<}6VC)sj>cSUDmPln4SK@It1dEBSu%ONNz7~HWT84^CeJpRNpI#) zRLw6o=mb`^Q6S6Ap(5-5!pQ{hVy3fBhih`w7EP8<&Sa4& z*(R2(m>SZQo>EHCX_nW}cS!OnO-s}k^;D5K~*r-(=5grf4@A|zogC+J^%m! delta 1131 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 ZqwGGTZlVl+3?lren))#gqh`Uze*jFzYx4jA literal 7502 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 _walkedNodes; // user override model - McBopomofo::UserOverrideModel *_uom; + vChewing::UserOverrideModel *_uom; // the latest composing buffer that is updated to the foreground app NSMutableString *_composingBuffer; diff --git a/Source/InputMethodController.mm b/Source/InputMethodController.mm index b599fdf0..5d9b3f1b 100644 --- a/Source/InputMethodController.mm +++ b/Source/InputMethodController.mm @@ -1,7 +1,7 @@ // // InputMethodController.m // -// Copyright (c) 2011 The McBopomofo Project. +// Copyright (c) 2021 The vChewing Project. // // Contributors: // Mengjuei Hsieh (@mjhsieh) @@ -41,7 +41,7 @@ #import "AppDelegate.h" #import "VTHorizontalCandidateController.h" #import "VTVerticalCandidateController.h" -#import "McBopomofo-Swift.h" +#import "vChewing-Swift.h" //@import SwiftUI; @@ -76,9 +76,9 @@ static NSString *const kCandidateListTextSizeKey = @"CandidateListTextSize"; static NSString *const kSelectPhraseAfterCursorAsCandidatePreferenceKey = @"SelectPhraseAfterCursorAsCandidate"; static NSString *const kUseHorizontalCandidateListPreferenceKey = @"UseHorizontalCandidateList"; static NSString *const kComposingBufferSizePreferenceKey = @"ComposingBufferSize"; +static NSString *const kDisableUserCandidateSelectionLearning = @"DisableUserCandidateSelectionLearning"; static NSString *const kChooseCandidateUsingSpaceKey = @"ChooseCandidateUsingSpaceKey"; static NSString *const kChineseConversionEnabledKey = @"ChineseConversionEnabledKey"; -static NSString *const kDisableUserCandidateSelectionLearning = @"DisableUserCandidateSelectionLearning"; // advanced (usually optional) settings static NSString *const kCandidateTextFontName = @"CandidateTextFontName"; @@ -86,8 +86,8 @@ static NSString *const kCandidateKeyLabelFontName = @"CandidateKeyLabelFontName" static NSString *const kCandidateKeys = @"CandidateKeys"; // input modes -static NSString *const kBopomofoModeIdentifier = @"org.openvanilla.inputmethod.McBopomofo.Bopomofo"; -static NSString *const kPlainBopomofoModeIdentifier = @"org.openvanilla.inputmethod.McBopomofo.PlainBopomofo"; +static NSString *const kBopomofoModeIdentifier = @"org.openvanilla.inputmethod.vChewing.Bopomofo"; +static NSString *const kPlainBopomofoModeIdentifier = @"org.openvanilla.inputmethod.vChewing.PlainBopomofo"; // key code enums enum { @@ -111,17 +111,13 @@ VTCandidateController *gCurrentCandidateController = nil; // if DEBUG is defined, a DOT file (GraphViz format) will be written to the // specified path everytime the grid is walked #if DEBUG -static NSString *const kGraphVizOutputfile = @"/tmp/McBopomofo-visualization.dot"; +static NSString *const kGraphVizOutputfile = @"/tmp/vChewing-visualization.dot"; #endif // shared language model object that stores our phrase-term probability database FastLM gLanguageModel; FastLM gLanguageModelPlainBopomofo; -static const int kUserOverrideModelCapacity = 500; -static const double kObservedOverrideHalflife = 5400.0; // 1.5 hr. -McBopomofo::UserOverrideModel gUserOverrideModel(kUserOverrideModelCapacity, kObservedOverrideHalflife); - // https://clang-analyzer.llvm.org/faq.html __attribute__((annotate("returns_localized_nsstring"))) static inline NSString *LocalizationNotNeeded(NSString *s) { @@ -129,14 +125,17 @@ static inline NSString *LocalizationNotNeeded(NSString *s) { } // private methods -@interface McBopomofoInputMethodController () +@interface vChewingInputMethodController () + (VTHorizontalCandidateController *)horizontalCandidateController; + (VTVerticalCandidateController *)verticalCandidateController; - (void)collectCandidates; - (size_t)actualCandidateCursorIndex; +- (NSString *)neighborTrigramString; +- (void)_performDeferredSaveUserCandidatesDictionary; +- (void)saveUserCandidatesDictionary; - (void)_showCandidateWindowUsingVerticalMode:(BOOL)useVerticalMode client:(id)client; - (void)beep; @@ -153,37 +152,7 @@ public: } }; -static const double kEpsilon = 0.000001; - -static double FindHighestScore(const vector& nodes, double epsilon) { - double highestScore = 0.0; - for (auto ni = nodes.begin(), ne = nodes.end(); ni != ne; ++ni) { - double score = ni->node->highestUnigramScore(); - if (score > highestScore) { - highestScore = score; - } - } - return highestScore + epsilon; -} - -static void OverrideCandidate(const vector& nodes, const string& candidateValue, bool fixed, double floatingNodeOverrideScore) { - for (auto ni = nodes.begin(), ne = nodes.end(); ni != ne; ++ni) { - const vector& candidates = (*ni).node->candidates(); - for (size_t i = 0, c = candidates.size(); i < c; ++i) { - if (candidates[i].value == candidateValue) { - // found our node - if (fixed) { - const_cast((*ni).node)->selectCandidateAtIndex(i); - } else { - const_cast((*ni).node)->selectFloatingCandidateAtIndex(i, floatingNodeOverrideScore); - } - return; - } - } - } -} - -@implementation McBopomofoInputMethodController +@implementation vChewingInputMethodController - (void)dealloc { // clean up everything @@ -213,7 +182,6 @@ static void OverrideCandidate(const vector& nodes, const string& can // create the lattice builder _languageModel = &gLanguageModel; _builder = new BlockReadingBuilder(_languageModel); - _uom = &gUserOverrideModel; // each Mandarin syllable is separated by a hyphen _builder->setJoinSeparator("-"); @@ -221,6 +189,11 @@ static void OverrideCandidate(const vector& nodes, const string& can // create the composing buffer _composingBuffer = [[NSMutableString alloc] init]; + // populate the settings, by default, DISABLE user candidate learning + if (![[NSUserDefaults standardUserDefaults] objectForKey:kDisableUserCandidateSelectionLearning]) { + [[NSUserDefaults standardUserDefaults] setObject:(id)kCFBooleanTrue forKey:kDisableUserCandidateSelectionLearning]; + } + _inputMode = kBopomofoModeIdentifier; _chineseConversionEnabled = [[NSUserDefaults standardUserDefaults] boolForKey:kChineseConversionEnabledKey]; } @@ -232,7 +205,7 @@ static void OverrideCandidate(const vector& nodes, const string& can { // a menu instance (autoreleased) is requested every time the user click on the input menu NSMenu *menu = [[NSMenu alloc] initWithTitle:LocalizationNotNeeded(@"Input Method Menu")]; - NSMenuItem *preferenceMenuItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"McBopomofo Preferences", @"") action:@selector(showPreferences:) keyEquivalent:@""]; + NSMenuItem *preferenceMenuItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"vChewing Preferences", @"") action:@selector(showPreferences:) keyEquivalent:@""]; [menu addItem:preferenceMenuItem]; // If Option key is pressed, show the learning-related menu @@ -267,7 +240,7 @@ static void OverrideCandidate(const vector& nodes, const string& can NSMenuItem *updateCheckItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Check for Updates…", @"") action:@selector(checkForUpdate:) keyEquivalent:@""]; [menu addItem:updateCheckItem]; - NSMenuItem *aboutMenuItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"About McBopomofo…", @"") action:@selector(showAbout:) keyEquivalent:@""]; + NSMenuItem *aboutMenuItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"About vChewing…", @"") action:@selector(showAbout:) keyEquivalent:@""]; [menu addItem:aboutMenuItem]; return menu; @@ -720,15 +693,15 @@ static void OverrideCandidate(const vector& nodes, const string& can // then walk the lattice [self popOverflowComposingTextAndWalk:client]; - // get user override model suggestion - string overrideValue = - (_inputMode == kPlainBopomofoModeIdentifier) ? "" : - _uom->suggest(_walkedNodes, _builder->cursorIndex(), [[NSDate date] timeIntervalSince1970]); - if (!overrideValue.empty()) { - size_t cursorIndex = [self actualCandidateCursorIndex]; - vector nodes = _builder->grid().nodesCrossingOrEndingAt(cursorIndex); - double highestScore = FindHighestScore(nodes, kEpsilon); - OverrideCandidate(nodes, overrideValue, false, highestScore); + // see if we need to override the selection if a learned one exists + if (![[NSUserDefaults standardUserDefaults] boolForKey:kDisableUserCandidateSelectionLearning]) { + NSString *trigram = [self neighborTrigramString]; + + // Lookup from the user dict to see if the trigram fit or not + NSString *overrideCandidateString = [gCandidateLearningDictionary objectForKey:trigram]; + if (overrideCandidateString) { + [self candidateSelected:(NSAttributedString *)overrideCandidateString]; + } } // then update the text @@ -1307,6 +1280,61 @@ static void OverrideCandidate(const vector& nodes, const string& can return cursorIndex; } +- (NSString *)neighborTrigramString +{ + // gather the "trigram" for user candidate selection learning + + NSMutableArray *termArray = [NSMutableArray array]; + + size_t cursorIndex = [self actualCandidateCursorIndex]; + vector nodes = _builder->grid().nodesCrossingOrEndingAt(cursorIndex); + + const Node* prev = 0; + const Node* current = 0; + const Node* next = 0; + + size_t wni = 0; + size_t wnc = _walkedNodes.size(); + size_t accuSpanningLength = 0; + for (wni = 0; wni < wnc; wni++) { + NodeAnchor& anchor = _walkedNodes[wni]; + if (!anchor.node) { + continue; + } + + accuSpanningLength += anchor.spanningLength; + if (accuSpanningLength >= cursorIndex) { + prev = current; + current = anchor.node; + break; + } + + current = anchor.node; + } + + if (wni + 1 < wnc) { + next = _walkedNodes[wni + 1].node; + } + + string term; + if (prev) { + term = prev->currentKeyValue().key; + [termArray addObject:[NSString stringWithUTF8String:term.c_str()]]; + } + + if (current) { + term = current->currentKeyValue().key; + [termArray addObject:[NSString stringWithUTF8String:term.c_str()]]; + } + + if (next) { + term = next->currentKeyValue().key; + [termArray addObject:[NSString stringWithUTF8String:term.c_str()]]; + } + + return [termArray componentsJoinedByString:@"-"]; +} + - (void)_performDeferredSaveUserCandidatesDictionary { BOOL __unused success = [gCandidateLearningDictionary writeToFile:gUserCandidatesDictionaryPath atomically:YES]; @@ -1330,13 +1358,13 @@ static void OverrideCandidate(const vector& nodes, const string& can BOOL useHorizontalCandidateList = [[NSUserDefaults standardUserDefaults] boolForKey:kUseHorizontalCandidateListPreferenceKey]; if (useVerticalMode) { - gCurrentCandidateController = [McBopomofoInputMethodController verticalCandidateController]; + gCurrentCandidateController = [vChewingInputMethodController verticalCandidateController]; } else if (useHorizontalCandidateList) { - gCurrentCandidateController = [McBopomofoInputMethodController horizontalCandidateController]; + gCurrentCandidateController = [vChewingInputMethodController horizontalCandidateController]; } else { - gCurrentCandidateController = [McBopomofoInputMethodController verticalCandidateController]; + gCurrentCandidateController = [vChewingInputMethodController verticalCandidateController]; } // set the attributes for the candidate panel (which uses NSAttributedString) @@ -1467,15 +1495,17 @@ static void OverrideCandidate(const vector& nodes, const string& can // candidate selected, override the node with selection string selectedValue = [[_candidates objectAtIndex:index] UTF8String]; - size_t cursorIndex = [self actualCandidateCursorIndex]; - if (_inputMode != kPlainBopomofoModeIdentifier) { - _uom->observe(_walkedNodes, cursorIndex, selectedValue, [[NSDate date] timeIntervalSince1970]); + if (![[NSUserDefaults standardUserDefaults] boolForKey:kDisableUserCandidateSelectionLearning]) { + NSString *trigram = [self neighborTrigramString]; + NSString *selectedNSString = [NSString stringWithUTF8String:selectedValue.c_str()]; + [gCandidateLearningDictionary setObject:selectedNSString forKey:trigram]; + [self saveUserCandidatesDictionary]; } + + size_t cursorIndex = [self actualCandidateCursorIndex]; _builder->grid().fixNodeSelectedCandidate(cursorIndex, selectedValue); - vector nodes = _builder->grid().nodesCrossingOrEndingAt(cursorIndex); - OverrideCandidate(nodes, selectedValue, true, 0.0); [_candidates removeAllObjects]; [self walk]; @@ -1491,7 +1521,7 @@ static void OverrideCandidate(const vector& nodes, const string& can static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, FastLM &lm) { - NSString *dataPath = [[NSBundle bundleForClass:[McBopomofoInputMethodController class]] pathForResource:filenameWithoutExtension ofType:@"txt"]; + NSString *dataPath = [[NSBundle bundleForClass:[vChewingInputMethodController class]] pathForResource:filenameWithoutExtension ofType:@"txt"]; bool result = lm.open([dataPath UTF8String]); if (!result) { NSLog(@"Failed opening language model: %@", dataPath); @@ -1518,7 +1548,7 @@ void LTLoadLanguageModel() } NSString *appSupportPath = [paths objectAtIndex:0]; - NSString *userDictPath = [appSupportPath stringByAppendingPathComponent:@"McBopomofo"]; + NSString *userDictPath = [appSupportPath stringByAppendingPathComponent:@"vChewing"]; BOOL isDir = NO; BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:userDictPath isDirectory:&isDir]; diff --git a/Source/Installer/AppDelegate.h b/Source/Installer/AppDelegate.h index 32b4936f..20a06331 100644 --- a/Source/Installer/AppDelegate.h +++ b/Source/Installer/AppDelegate.h @@ -1,7 +1,7 @@ // // AppDelegate.h // -// Copyright (c) 2011-2012 The McBopomofo Project. +// Copyright (c) 2011-2012 The vChewing Project. // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation diff --git a/Source/Installer/AppDelegate.m b/Source/Installer/AppDelegate.m index 17485951..428e9fcf 100644 --- a/Source/Installer/AppDelegate.m +++ b/Source/Installer/AppDelegate.m @@ -1,7 +1,7 @@ // // AppDelegate.m // -// Copyright (c) 2011-2012 The McBopomofo Project. +// Copyright (c) 2011-2012 The vChewing Project. // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation @@ -29,12 +29,12 @@ #import #import "OVInputSourceHelper.h" -static NSString *const kTargetBin = @"McBopomofo"; +static NSString *const kTargetBin = @"vChewing"; static NSString *const kTargetType = @"app"; -static NSString *const kTargetBundle = @"McBopomofo.app"; +static NSString *const kTargetBundle = @"vChewing.app"; static NSString *const kDestinationPartial = @"~/Library/Input Methods/"; -static NSString *const kTargetPartialPath = @"~/Library/Input Methods/McBopomofo.app"; -static NSString *const kTargetFullBinPartialPath = @"~/Library/Input Methods/McBopomofo.app/Contents/MacOS/McBopomofo"; +static NSString *const kTargetPartialPath = @"~/Library/Input Methods/vChewing.app"; +static NSString *const kTargetFullBinPartialPath = @"~/Library/Input Methods/vChewing.app/Contents/MacOS/vChewing"; static const NSTimeInterval kTranslocationRemovalTickInterval = 0.5; static const NSTimeInterval kTranslocationRemovalDeadline = 60.0; @@ -231,13 +231,13 @@ void RunAlertPanel(NSString *title, NSString *message, NSString *buttonTitle) { } if (warning) { - RunAlertPanel(NSLocalizedString(@"Attention", nil), NSLocalizedString(@"McBopomofo is upgraded, but please log out or reboot for the new version to be fully functional.", nil), NSLocalizedString(@"OK", nil)); + RunAlertPanel(NSLocalizedString(@"Attention", nil), NSLocalizedString(@"vChewing is upgraded, but please log out or reboot for the new version to be fully functional.", nil), NSLocalizedString(@"OK", nil)); } else { // Only prompt a warning if pre-macOS 12. The flag is not indicative of anything meaningful due to the need of user intervention in Prefernces.app on macOS 12. if (!mainInputSourceEnabled && !isMacOS12OrAbove) { RunAlertPanel(NSLocalizedString(@"Warning", nil), NSLocalizedString(@"Input method may not be fully enabled. Please enable it through System Preferences > Keyboard > Input Sources.", nil), NSLocalizedString(@"Continue", nil)); } else { - RunAlertPanel(NSLocalizedString(@"Installation Successful", nil), NSLocalizedString(@"McBopomofo is ready to use.", nil), NSLocalizedString(@"OK", nil)); + RunAlertPanel(NSLocalizedString(@"Installation Successful", nil), NSLocalizedString(@"vChewing is ready to use.", nil), NSLocalizedString(@"OK", nil)); } } diff --git a/Source/Installer/ArchiveUtil.h b/Source/Installer/ArchiveUtil.h index aab19c61..e6c38bc7 100644 --- a/Source/Installer/ArchiveUtil.h +++ b/Source/Installer/ArchiveUtil.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2019 The McBopomofo Project. +// Copyright (c) 2011-2019 The vChewing Project. // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation diff --git a/Source/Installer/ArchiveUtil.m b/Source/Installer/ArchiveUtil.m index 90d47e35..27838732 100644 --- a/Source/Installer/ArchiveUtil.m +++ b/Source/Installer/ArchiveUtil.m @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2019 The McBopomofo Project. +// Copyright (c) 2011-2019 The vChewing Project. // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation diff --git a/Source/Installer/Base.lproj/MainMenu.xib b/Source/Installer/Base.lproj/MainMenu.xib index 000f018d..072ea56f 100644 --- a/Source/Installer/Base.lproj/MainMenu.xib +++ b/Source/Installer/Base.lproj/MainMenu.xib @@ -15,10 +15,10 @@ - - + + - + @@ -33,7 +33,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -146,7 +146,7 @@ Gw - + diff --git a/Source/Installer/en.lproj/InfoPlist.strings b/Source/Installer/en.lproj/InfoPlist.strings index 6472f62d..080e9bd0 100644 --- a/Source/Installer/en.lproj/InfoPlist.strings +++ b/Source/Installer/en.lproj/InfoPlist.strings @@ -1,4 +1,4 @@ /* Localized versions of Info.plist keys */ -CFBundleName = "Install McBopomofo"; +CFBundleName = "Install vChewing"; NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; diff --git a/Source/Installer/en.lproj/License.rtf b/Source/Installer/en.lproj/License.rtf index 72e32461..7c5a2ee4 100644 --- a/Source/Installer/en.lproj/License.rtf +++ b/Source/Installer/en.lproj/License.rtf @@ -5,7 +5,7 @@ \margl1440\margr1440\vieww16860\viewh12620\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\b\fs36 \cf0 McBopomofo License Agreement +\f0\b\fs36 \cf0 vChewing License Agreement \f1\b0\fs24 \ \ Copyright \'a9 2011-2021 Mengjuei Hsieh et al.\ diff --git a/Source/Installer/en.lproj/Localizable.strings b/Source/Installer/en.lproj/Localizable.strings index b3f28f52..d7db1566 100644 --- a/Source/Installer/en.lproj/Localizable.strings +++ b/Source/Installer/en.lproj/Localizable.strings @@ -23,11 +23,11 @@ "OK" = "OK"; /* No comment provided by engineer. */ -"McBopomofo is ready to use." = "McBopomofo is ready to use."; +"vChewing is ready to use." = "vChewing is ready to use."; "Stopping the old version. This may take up to one minute…" = "Stopping the old version. This may take up to one minute…"; "Attention" = "Attention"; -"McBopomofo is upgraded, but please log out or reboot for the new version to be fully functional." = "McBopomofo is upgraded, but please log out or reboot for the new version to be fully functional."; +"vChewing is upgraded, but please log out or reboot for the new version to be fully functional." = "vChewing is upgraded, but please log out or reboot for the new version to be fully functional."; "Fatal Error" = "Fatal Error"; "Abort" = "Abort"; diff --git a/Source/Installer/main.m b/Source/Installer/main.m index 103bf28f..f7f3a466 100644 --- a/Source/Installer/main.m +++ b/Source/Installer/main.m @@ -1,7 +1,7 @@ // // main.m // -// Copyright (c) 2011-2012 The McBopomofo Project. +// Copyright (c) 2011-2012 The vChewing Project. // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation diff --git a/Source/Installer/zh-Hans.lproj/InfoPlist.strings b/Source/Installer/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 00000000..7f7803f6 --- /dev/null +++ b/Source/Installer/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,5 @@ +/* Localized versions of Info.plist keys */ + +CFBundleName = "安装威注音"; +NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; + diff --git a/Source/Installer/zh-Hans.lproj/License.rtf b/Source/Installer/zh-Hans.lproj/License.rtf new file mode 100644 index 00000000..423fb250 --- /dev/null +++ b/Source/Installer/zh-Hans.lproj/License.rtf @@ -0,0 +1,42 @@ +{\rtf1\ansi\ansicpg950\cocoartf2636 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Bold;\f1\fnil\fcharset0 HelveticaNeue;\f2\fnil\fcharset136 PingFangTC-Regular; +} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\margl1440\margr1440\vieww16860\viewh12620\viewkind0 +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\b\fs36 \cf0 vChewing License Agreement +\f1\b0\fs24 \ +\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f2 \cf0 \'b5\'db\'a7\'40\uc0\u26435 \'a7\'51\'a9\'d2\'a6\'b3 +\f1 \'a9 2011-2021 Mengjuei Hsieh +\f2 \'b5\'a5\'a4\'48 +\f1 \ +\ + +\f2 \'ab\'c2\'aa\'60\'ad\'b5\uc0\u36755 \'a4\'4a\'aa\'6b\u32500 \u25252 \'a4\'48\u23385 \'a7\'d3\u36149 \u23545 \u35813 \u20135 \'ab\'7e\'aa\'ba\'b5\'7b\'a7\'c7\'b3\'a1\'a4\'c0\'a4\'a3\'a8\'c9\'a6\'b3\'a5\'f4\'a6\'f3\'a9\'d2\'a6\'b3\u26435 \'a1\'43 +\f1 \ +\ + +\f2 \uc0\u36719 \'a5\'f3\'aa\'ba\'b5\'db\'a7\'40\u26435 \'a7\'51\'a4\'48\'a8\'cc\'a6\'b9\'b3\'c2\'b2\'7a\'b1\'c2\u26435 \u26465 \'b4\'da\'a1\'41\u23558 \'a8\'e4\u23545 \'a4\'5f\u36719 \'a5\'f3\'aa\'ba\'b5\'db\'a7\'40\u26435 \'a7\'51\'b1\'c2\u26435 \u37322 \'a5\'58\'a1\'41\'a5\'75\'ad\'6e\'a8\'cf\'a5\'ce\'aa\'cc\u36341 \'bc\'69\'a5\'48\'a4\'55\'a4\'47\u39033 \'b3\'c2\'b2\'7a\'b1\'c2\u26435 \u26465 \'b4\'da\u21465 \'a9\'fa\'aa\'ba\u20041 \u21153 \'a9\'ca\u35268 \'a9\'77\'a1\'41\'a8\'e4\'a7\'59\'a8\'c9\'a6\'b3\u23545 \'a6\'b9\u36719 \'a5\'f3\'b5\'7b\'a6\'a1\'a4\'ce\'a8\'e4\'ac\'db\u20851 \u35828 \'a9\'fa\'a4\'e5\u26723 \'a6\'db\'a5\'d1\'a4\'a3\'a8\'fc\'ad\'ad\'a8\'ee\'a6\'61\u36827 \'a6\'e6\'a7\'51\'a5\'ce\'aa\'ba\u26435 \'a7\'51\'a1\'41\'ad\'53\u22260 \'a5\'5d\'ac\'41\'a1\'75\'a8\'cf\'a5\'ce\'a1\'42\'ad\'ab\'a8\'ee\'a1\'42\'ad\'d7\'a7\'ef\'a1\'42\'a6\'58\'a6\'7d\'a1\'42\'a5\'58\'aa\'a9\'a1\'42\'b4\'b2\'a5\'ac\'a1\'42\'a6\'41\'b1\'c2\u26435 \'a1\'42\'a4\'ce\u36137 \'b0\'e2\'b5\'7b\'a6\'a1\'ad\'ab\'a8\'ee\'a7\'40\'ab\'7e\'a1\'76\'b5\'a5\u35832 \'a6\'68\'a4\'e8\'ad\'b1\'aa\'ba\u24212 \'a5\'ce\'a1\'41\'a6\'d3\'b4\'b2\'a5\'ac\'b5\'7b\'a6\'a1\'a4\'a7\'a4\'48\'a1\'42\'a7\'f3\'a5\'69\u23558 \'a4\'57\'ad\'7a\u26435 \'a7\'51\u20256 \u36882 \'a4\'a9\'a8\'e4\'a6\'5a\'a6\'ac\'a8\'fc\'b5\'7b\'a6\'a1\'aa\'ba\'a6\'5a\'a4\'e2\'a1\'41\'ad\'d5\'ad\'59\'a8\'e4\'a6\'5a\'a6\'ac\'a8\'fc\'b5\'7b\'a6\'a1\'a4\'a7\'a4\'48\'a5\'e7\'aa\'41\'c1\'74\'a5\'48\'a4\'55\'a4\'47\u39033 \'b3\'c2\'b2\'7a\'b1\'c2\u26435 \u26465 \'b4\'da\'aa\'ba\u20041 \u21153 \'a9\'ca\u35268 \'a9\'77\'a1\'41\u21017 \'a8\'e4\u23545 \'b5\'7b\'a6\'a1\'a5\'e7\'a8\'c9\'a6\'b3\'c9\'4f\'ab\'65\'a4\'e2\u36816 \'a5\'ce\'ad\'53\u22260 \'ac\'db\'a6\'50\'aa\'ba\'a6\'50\'a4\'40\u26435 \'a7\'51\'a1\'43 +\f1 \ +\ + +\f2 \'b4\'b2\'a5\'ac\'a6\'b9\'a4\'40\uc0\u36719 \'a5\'f3\'b5\'7b\'a7\'c7\'aa\'cc\'a1\'41\u39035 \u23558 \'a5\'bb\u26465 \'b4\'da\'a8\'e4\'a4\'57\'aa\'ba\'a1\'75\'b5\'db\'a7\'40\u26435 \u22768 \'a9\'fa\'a1\'76\'a4\'ce\'a5\'48\'a4\'55\'aa\'ba\'a1\'75\'a7\'4b\u36131 \u22768 \'a9\'fa\'a1\'76\'a1\'41\u20869 \'b4\'4f\'a4\'5f\u36719 \'a5\'f3\'b5\'7b\'a7\'c7\'a4\'ce\'a8\'e4\'ad\'ab\'a8\'ee\'a7\'40\'ab\'7e\'aa\'ba\u23454 \'ca\'5e\'a4\'a7\'a4\'a4\'a1\'43 +\f1 \ +\ + +\f2 \'a6\'5d\'b3\'c2\'b2\'7a\uc0\u36719 \'a5\'f3\'b5\'7b\'a7\'c7\'aa\'ba\'b1\'c2\u26435 \'bc\'d2\'a6\'a1\'a4\'44\'ac\'4f\u26080 \u20607 \'b4\'a3\'a8\'d1\'a1\'41\'ac\'4f\'a5\'48\'a6\'62\u29616 \'a6\'e6\'aa\'6b\'ab\'df\'aa\'ba\'ac\'5b\'cc\'db\'a4\'55\'a5\'69\'a5\'48\'a5\'44\u24352 \'a6\'58\'b2\'7a\'aa\'ba\'a7\'4b\'b0\'a3\u25285 \'ab\'4f\u36131 \'a5\'f4\'a1\'43\'b3\'c2\'b2\'7a\u36719 \'a5\'f3\'aa\'ba\'b5\'db\'a7\'40\u26435 \'a4\'48\'a9\'ce\'a5\'f4\'a6\'f3\'aa\'ba\'a6\'5a\u32493 \'b4\'b2\'a5\'ac\'aa\'cc\'a1\'41\u23545 \'a4\'5f\'a8\'e4\'a9\'d2\'b4\'b2\'a5\'ac\'aa\'ba\'b3\'c2\'b2\'7a\u36719 \'a5\'f3\'b5\'7b\'a7\'c7\'ac\'d2\'a4\'a3\u36127 \'a5\'f4\'a6\'f3\'a7\'ce\'a6\'a1\'a4\'57\u23454 \u36136 \'a4\'57\'aa\'ba\u25285 \'ab\'4f\u36131 \'a5\'f4\'a1\'41\'a9\'fa\'a5\'dc\'a5\'e7\'a9\'ce\u38544 \'b3\'eb\'a1\'42\'b0\'d3\u19994 \'a7\'51\'a5\'ce\'a9\'ca\'a5\'e7\'a9\'ce\'af\'53\'a9\'77\'a5\'d8\'aa\'ba\'a8\'cf\'a5\'ce\'a9\'ca\'a1\'41\u36825 \'a8\'c7\'a7\'a1\'a4\'a3\'a6\'62\'ab\'4f\'bb\'d9\'a4\'a7\'a6\'43\'a1\'43\'a7\'51\'a5\'ce\'b3\'c2\'b2\'7a\u36719 \'a5\'f3\'b5\'7b\'a7\'c7\'aa\'ba\'a9\'d2\'a6\'b3\u39118 \u38505 \'a7\'a1\'a5\'d1\'a8\'cf\'a5\'ce\'aa\'cc\'a6\'db\'a6\'e6\u25285 \u36127 \'a1\'43\'b0\'b2\'a6\'70\'a9\'d2\'a8\'cf\'a5\'ce\'aa\'ba\'b3\'c2\'b2\'7a\'b5\'7b\'a7\'c7\u21457 \'a5\'cd\'af\'ca\'b3\'b4\'a9\'ca\u38382 \u39064 \'a1\'41\'a8\'cf\'a5\'ce\'aa\'cc\'bb\'dd\'a6\'db\'a6\'e6\u25285 \u36127 \'ad\'d7\'a5\'bf\'a1\'42\'a7\'ef\'a5\'bf\'a4\'ce\'a5\'b2\'ad\'6e\'aa\'ba\'aa\'41\u21153 \'a4\'e4\'a5\'58\'a1\'43\'b3\'c2\'b2\'7a\u36719 \'a5\'f3\'b5\'7b\'a7\'c7\'aa\'ba\'b5\'db\'a7\'40\u26435 \'a4\'48\'a4\'a3\u36127 \'a5\'f4\'a6\'f3\'a7\'ce\'a6\'a1\'a4\'57\u23454 \u36136 \'a4\'57\'aa\'ba\u25285 \'ab\'4f\u36131 \'a5\'f4\'a1\'41\u26080 \u35770 \'a5\'f4\'a6\'f3\'a4\'40\'af\'eb\'aa\'ba\'a1\'42\'af\'53\'ae\'ed\'aa\'ba\'a1\'42\'b0\'b8\u21457 \'aa\'ba\'a1\'42\'a6\'5d\'aa\'47\u20851 \'a8\'74\'a6\'a1\'aa\'ba\u25439 \'ae\'60\'a1\'41\'a9\'ce\'ac\'4f\'b3\'c2\'b2\'7a\u36719 \'a5\'f3\'b5\'7b\'a7\'c7\'aa\'ba\'a4\'a3\'d3\'ec\'a5\'ce\'a9\'ca\'a1\'41\'a7\'a1\u39035 \'a5\'d1\'a8\'cf\'a5\'ce\'aa\'cc\'a6\'db\'a6\'e6\u36127 \u25285 \'a1\'43 +\f1 \ +\ +Copyright \'a9 2011-2021 Mengjuei Hsieh et al.\ +\ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \'93Software\'94), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ +\ +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ +\ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ +} \ No newline at end of file diff --git a/Source/Installer/zh-Hans.lproj/Localizable.strings b/Source/Installer/zh-Hans.lproj/Localizable.strings new file mode 100644 index 00000000..e1e27182 --- /dev/null +++ b/Source/Installer/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,39 @@ +/* No comment provided by engineer. */ +"%@ (for version %@)" = "%1$@ (%2$@ 版)"; + +/* No comment provided by engineer. */ +"Agree and Upgrade" = "同意并升级"; + +/* No comment provided by engineer. */ +"Cancel" = "取消"; + +/* No comment provided by engineer. */ +"Cannot activate the input method." = "无法启用输入法。"; + +/* No comment provided by engineer. */ +"Cannot copy the file to the destination." = "无法将输入法拷贝至目的地。"; + +/* No comment provided by engineer. */ +"Install Failed" = "安装失败"; + +/* No comment provided by engineer. */ +"Installation Successful" = "安装成功"; + +/* No comment provided by engineer. */ +"OK" = "好"; + +/* No comment provided by engineer. */ +"vChewing is ready to use." = "威注音输入法安装成功"; + +"Finish" = "结束"; +"Attention" = "请注意"; +"vChewing is upgraded, but please log out or reboot for the new version to be fully functional." = "vChewing 安装完成,但建议您登出或重新开机,以便顺利使用新版。"; + +"Fatal Error" = "安装错误"; +"Abort" = "放弃安装"; +"Cannot register input source %@ at %@." = "无法从档案位置 %2$@ 安装输入法 \"%1$@\"。"; +"Cannot find input source %@ after registration." = "在注册完输入法 \"%@\" 仍然无法找到输入法。"; + +"Warning" = "安装不完整"; +"Input method may not be fully enabled. Please enable it through System Preferences > Keyboard > Input Sources." = "输入法已经安装好,但可能没有完全启用。请从“系统偏好设定” > “键盘” > “输入方式”分页加入输入法。"; +"Continue" = "继续"; diff --git a/Source/Installer/zh-Hans.lproj/MainMenu.xib b/Source/Installer/zh-Hans.lproj/MainMenu.xib new file mode 100644 index 00000000..d90801fd --- /dev/null +++ b/Source/Installer/zh-Hans.lproj/MainMenu.xib @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Installer/zh-Hant.lproj/InfoPlist.strings b/Source/Installer/zh-Hant.lproj/InfoPlist.strings index 929742bd..f034b1a5 100644 --- a/Source/Installer/zh-Hant.lproj/InfoPlist.strings +++ b/Source/Installer/zh-Hant.lproj/InfoPlist.strings @@ -1,5 +1,5 @@ /* Localized versions of Info.plist keys */ -CFBundleName = "安裝小麥注音"; +CFBundleName = "安裝威注音"; NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; diff --git a/Source/Installer/zh-Hant.lproj/License.rtf b/Source/Installer/zh-Hant.lproj/License.rtf index 24d7d652..a0ff200a 100644 --- a/Source/Installer/zh-Hant.lproj/License.rtf +++ b/Source/Installer/zh-Hant.lproj/License.rtf @@ -1,15 +1,15 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf820 -{\fonttbl\f0\fnil\fcharset0 LucidaGrande-Bold;\f1\fnil\fcharset0 LucidaGrande;\f2\fnil\fcharset136 PingFangTC-Regular; +{\rtf1\ansi\ansicpg950\cocoartf2636 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Bold;\f1\fnil\fcharset0 HelveticaNeue;\f2\fnil\fcharset136 PingFangTC-Regular; } {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \margl1440\margr1440\vieww16860\viewh12620\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 -\f0\b\fs36 \cf0 McBopomofo License Agreement +\f0\b\fs36 \cf0 vChewing License Agreement \f1\b0\fs24 \ \ -Copyright \'a9 2011-2021 Mengjuei Hsieh et al.\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 \f2 \cf0 \'b5\'db\'a7\'40\'c5\'76\'a7\'51\'a9\'d2\'a6\'b3 \f1 \'a9 2011-2021 Mengjuei Hsieh @@ -17,9 +17,11 @@ Copyright \'a9 2011-2021 Mengjuei Hsieh et al.\ \f1 \ \ -\f2 \'b3\'6e\'c5\'e9\'aa\'ba\'b5\'db\'a7\'40\'c5\'76\'a7\'51\'a4\'48\'a8\'cc\'a6\'b9 -\f1 MIT -\f2 \'b1\'c2\'c5\'76\'b1\'f8\'b4\'da\'a1\'41\'b1\'4e\'a8\'e4\'b9\'ef\'a9\'f3\'b3\'6e\'c5\'e9\'aa\'ba\'b5\'db\'a7\'40\'c5\'76\'a7\'51\'b1\'c2\'c5\'76\'c4\'c0\'a5\'58\'a1\'41\'a5\'75\'ad\'6e\'a8\'cf\'a5\'ce\'aa\'cc\'bd\'ee\'bc\'69\'a5\'48\'a4\'55\'a4\'47\'b6\'b5\'b1\'c2\'c5\'76\'b1\'f8\'b4\'da\'b1\'d4\'a9\'fa\'aa\'ba\'b8\'71\'b0\'c8\'a9\'ca\'b3\'57\'a9\'77\'a1\'41\'a8\'e4\'a7\'59\'a8\'c9\'a6\'b3\'b9\'ef\'a6\'b9\'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'a4\'ce\'a8\'e4\'ac\'db\'c3\'f6\'bb\'a1\'a9\'fa\'a4\'e5\'c0\'c9\'a6\'db\'a5\'d1\'a4\'a3\'a8\'fc\'ad\'ad\'a8\'ee\'a6\'61\'b6\'69\'a6\'e6\'a7\'51\'a5\'ce\'aa\'ba\'c5\'76\'a7\'51\'a1\'41\'bd\'64\'b3\'f2\'a5\'5d\'ac\'41\'a1\'75\'a8\'cf\'a5\'ce\'a1\'42\'ad\'ab\'bb\'73\'a1\'42\'ad\'d7\'a7\'ef\'a1\'42\'a6\'58\'a8\'d6\'a1\'42\'a5\'58\'aa\'a9\'a1\'42\'b4\'b2\'a5\'ac\'a1\'42\'a6\'41\'b1\'c2\'c5\'76\'a1\'42\'a4\'ce\'b3\'63\'b0\'e2\'b5\'7b\'a6\'a1\'ad\'ab\'bb\'73\'a7\'40\'ab\'7e\'a1\'76\'b5\'a5\'bd\'d1\'a6\'68\'a4\'e8\'ad\'b1\'aa\'ba\'c0\'b3\'a5\'ce\'a1\'41\'a6\'d3\'b4\'b2\'a5\'ac\'b5\'7b\'a6\'a1\'a4\'a7\'a4\'48\'a1\'42\'a7\'f3\'a5\'69\'b1\'4e\'a4\'57\'ad\'7a\'c5\'76\'a7\'51\'b6\'c7\'bb\'bc\'a4\'a9\'a8\'e4\'ab\'e1\'a6\'ac\'a8\'fc\'b5\'7b\'a6\'a1\'aa\'ba\'ab\'e1\'a4\'e2\'a1\'41\'ad\'d5\'ad\'59\'a8\'e4\'ab\'e1\'a6\'ac\'a8\'fc\'b5\'7b\'a6\'a1\'a4\'a7\'a4\'48\'a5\'e7\'aa\'41\'c1\'74\'a5\'48\'a4\'55\'a4\'47\'b6\'b5\'b1\'c2\'c5\'76\'b1\'f8\'b4\'da\'aa\'ba\'b8\'71\'b0\'c8\'a9\'ca\'b3\'57\'a9\'77\'a1\'41\'ab\'68\'a8\'e4\'b9\'ef\'b5\'7b\'a6\'a1\'a5\'e7\'a8\'c9\'a6\'b3\'bb\'50\'ab\'65\'a4\'e2\'b9\'42\'a5\'ce\'bd\'64\'b3\'f2\'ac\'db\'a6\'50\'aa\'ba\'a6\'50\'a4\'40\'c5\'76\'a7\'51\'a1\'43 +\f2 \'ab\'c2\'aa\'60\'ad\'b5\'bf\'e9\'a4\'4a\'aa\'6b\'ba\'fb\'c5\'40\'a4\'48\'ae\'5d\'a7\'d3\'b6\'51\'b9\'ef\'b8\'d3\'b2\'a3\'ab\'7e\'aa\'ba\'b5\'7b\'a6\'a1\'b3\'a1\'a4\'c0\'a4\'a3\'a8\'c9\'a6\'b3\'a5\'f4\'a6\'f3\'a9\'d2\'a6\'b3\'c5\'76\'a1\'43 +\f1 \ +\ + +\f2 \'b3\'6e\'c5\'e9\'aa\'ba\'b5\'db\'a7\'40\'c5\'76\'a7\'51\'a4\'48\'a8\'cc\'a6\'b9\'b3\'c2\'b2\'7a\'b1\'c2\'c5\'76\'b1\'f8\'b4\'da\'a1\'41\'b1\'4e\'a8\'e4\'b9\'ef\'a9\'f3\'b3\'6e\'c5\'e9\'aa\'ba\'b5\'db\'a7\'40\'c5\'76\'a7\'51\'b1\'c2\'c5\'76\'c4\'c0\'a5\'58\'a1\'41\'a5\'75\'ad\'6e\'a8\'cf\'a5\'ce\'aa\'cc\'bd\'ee\'bc\'69\'a5\'48\'a4\'55\'a4\'47\'b6\'b5\'b3\'c2\'b2\'7a\'b1\'c2\'c5\'76\'b1\'f8\'b4\'da\'b1\'d4\'a9\'fa\'aa\'ba\'b8\'71\'b0\'c8\'a9\'ca\'b3\'57\'a9\'77\'a1\'41\'a8\'e4\'a7\'59\'a8\'c9\'a6\'b3\'b9\'ef\'a6\'b9\'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'a4\'ce\'a8\'e4\'ac\'db\'c3\'f6\'bb\'a1\'a9\'fa\'a4\'e5\'c0\'c9\'a6\'db\'a5\'d1\'a4\'a3\'a8\'fc\'ad\'ad\'a8\'ee\'a6\'61\'b6\'69\'a6\'e6\'a7\'51\'a5\'ce\'aa\'ba\'c5\'76\'a7\'51\'a1\'41\'bd\'64\'b3\'f2\'a5\'5d\'ac\'41\'a1\'75\'a8\'cf\'a5\'ce\'a1\'42\'ad\'ab\'bb\'73\'a1\'42\'ad\'d7\'a7\'ef\'a1\'42\'a6\'58\'a8\'d6\'a1\'42\'a5\'58\'aa\'a9\'a1\'42\'b4\'b2\'a5\'ac\'a1\'42\'a6\'41\'b1\'c2\'c5\'76\'a1\'42\'a4\'ce\'b3\'63\'b0\'e2\'b5\'7b\'a6\'a1\'ad\'ab\'bb\'73\'a7\'40\'ab\'7e\'a1\'76\'b5\'a5\'bd\'d1\'a6\'68\'a4\'e8\'ad\'b1\'aa\'ba\'c0\'b3\'a5\'ce\'a1\'41\'a6\'d3\'b4\'b2\'a5\'ac\'b5\'7b\'a6\'a1\'a4\'a7\'a4\'48\'a1\'42\'a7\'f3\'a5\'69\'b1\'4e\'a4\'57\'ad\'7a\'c5\'76\'a7\'51\'b6\'c7\'bb\'bc\'a4\'a9\'a8\'e4\'ab\'e1\'a6\'ac\'a8\'fc\'b5\'7b\'a6\'a1\'aa\'ba\'ab\'e1\'a4\'e2\'a1\'41\'ad\'d5\'ad\'59\'a8\'e4\'ab\'e1\'a6\'ac\'a8\'fc\'b5\'7b\'a6\'a1\'a4\'a7\'a4\'48\'a5\'e7\'aa\'41\'c1\'74\'a5\'48\'a4\'55\'a4\'47\'b6\'b5\'b3\'c2\'b2\'7a\'b1\'c2\'c5\'76\'b1\'f8\'b4\'da\'aa\'ba\'b8\'71\'b0\'c8\'a9\'ca\'b3\'57\'a9\'77\'a1\'41\'ab\'68\'a8\'e4\'b9\'ef\'b5\'7b\'a6\'a1\'a5\'e7\'a8\'c9\'a6\'b3\'bb\'50\'ab\'65\'a4\'e2\'b9\'42\'a5\'ce\'bd\'64\'b3\'f2\'ac\'db\'a6\'50\'aa\'ba\'a6\'50\'a4\'40\'c5\'76\'a7\'51\'a1\'43 \f1 \ \ @@ -27,26 +29,14 @@ Copyright \'a9 2011-2021 Mengjuei Hsieh et al.\ \f1 \ \ -\f2 \'a6\'5d -\f1 MIT -\f2 \'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'aa\'ba\'b1\'c2\'c5\'76\'bc\'d2\'a6\'a1\'a4\'44\'ac\'4f\'b5\'4c\'c0\'76\'b4\'a3\'a8\'d1\'a1\'41\'ac\'4f\'a5\'48\'a6\'62\'b2\'7b\'a6\'e6\'aa\'6b\'ab\'df\'aa\'ba\'ac\'5b\'ba\'63\'a4\'55\'a5\'69\'a5\'48\'a5\'44\'b1\'69\'a6\'58\'b2\'7a\'aa\'ba\'a7\'4b\'b0\'a3\'be\'e1\'ab\'4f\'b3\'64\'a5\'f4\'a1\'43 -\f1 MIT -\f2 \'b3\'6e\'c5\'e9\'aa\'ba\'b5\'db\'a7\'40\'c5\'76\'a4\'48\'a9\'ce\'a5\'f4\'a6\'f3\'aa\'ba\'ab\'e1\'c4\'f2\'b4\'b2\'a5\'ac\'aa\'cc\'a1\'41\'b9\'ef\'a9\'f3\'a8\'e4\'a9\'d2\'b4\'b2\'a5\'ac\'aa\'ba -\f1 MIT -\f2 \'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'ac\'d2\'a4\'a3\'ad\'74\'a5\'f4\'a6\'f3\'a7\'ce\'a6\'a1\'a4\'57\'b9\'ea\'bd\'e8\'a4\'57\'aa\'ba\'be\'e1\'ab\'4f\'b3\'64\'a5\'f4\'a1\'41\'a9\'fa\'a5\'dc\'a5\'e7\'a9\'ce\'c1\'f4\'b3\'eb\'a1\'42\'b0\'d3\'b7\'7e\'a7\'51\'a5\'ce\'a9\'ca\'a5\'e7\'a9\'ce\'af\'53\'a9\'77\'a5\'d8\'aa\'ba\'a8\'cf\'a5\'ce\'a9\'ca\'a1\'41\'b3\'6f\'a8\'c7\'a7\'a1\'a4\'a3\'a6\'62\'ab\'4f\'bb\'d9\'a4\'a7\'a6\'43\'a1\'43\'a7\'51\'a5\'ce -\f1 MIT -\f2 \'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'aa\'ba\'a9\'d2\'a6\'b3\'ad\'b7\'c0\'49\'a7\'a1\'a5\'d1\'a8\'cf\'a5\'ce\'aa\'cc\'a6\'db\'a6\'e6\'be\'e1\'ad\'74\'a1\'43\'b0\'b2\'a6\'70\'a9\'d2\'a8\'cf\'a5\'ce\'aa\'ba -\f1 MIT -\f2 \'b5\'7b\'a6\'a1\'b5\'6f\'a5\'cd\'af\'ca\'b3\'b4\'a9\'ca\'b0\'dd\'c3\'44\'a1\'41\'a8\'cf\'a5\'ce\'aa\'cc\'bb\'dd\'a6\'db\'a6\'e6\'be\'e1\'ad\'74\'ad\'d7\'a5\'bf\'a1\'42\'a7\'ef\'a5\'bf\'a4\'ce\'a5\'b2\'ad\'6e\'aa\'ba\'aa\'41\'b0\'c8\'a4\'e4\'a5\'58\'a1\'43 -\f1 MIT -\f2 \'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'aa\'ba\'b5\'db\'a7\'40\'c5\'76\'a4\'48\'a4\'a3\'ad\'74\'a5\'f4\'a6\'f3\'a7\'ce\'a6\'a1\'a4\'57\'b9\'ea\'bd\'e8\'a4\'57\'aa\'ba\'be\'e1\'ab\'4f\'b3\'64\'a5\'f4\'a1\'41\'b5\'4c\'bd\'d7\'a5\'f4\'a6\'f3\'a4\'40\'af\'eb\'aa\'ba\'a1\'42\'af\'53\'ae\'ed\'aa\'ba\'a1\'42\'b0\'b8\'b5\'6f\'aa\'ba\'a1\'42\'a6\'5d\'aa\'47\'c3\'f6\'ab\'59\'a6\'a1\'aa\'ba\'b7\'6c\'ae\'60\'a1\'41\'a9\'ce\'ac\'4f -\f1 MIT -\f2 \'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'aa\'ba\'a4\'a3\'be\'41\'a5\'ce\'a9\'ca\'a1\'41\'a7\'a1\'b6\'b7\'a5\'d1\'a8\'cf\'a5\'ce\'aa\'cc\'a6\'db\'a6\'e6\'ad\'74\'be\'e1\'a1\'43 +\f2 \'a6\'5d\'b3\'c2\'b2\'7a\'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'aa\'ba\'b1\'c2\'c5\'76\'bc\'d2\'a6\'a1\'a4\'44\'ac\'4f\'b5\'4c\'c0\'76\'b4\'a3\'a8\'d1\'a1\'41\'ac\'4f\'a5\'48\'a6\'62\'b2\'7b\'a6\'e6\'aa\'6b\'ab\'df\'aa\'ba\'ac\'5b\'ba\'63\'a4\'55\'a5\'69\'a5\'48\'a5\'44\'b1\'69\'a6\'58\'b2\'7a\'aa\'ba\'a7\'4b\'b0\'a3\'be\'e1\'ab\'4f\'b3\'64\'a5\'f4\'a1\'43\'b3\'c2\'b2\'7a\'b3\'6e\'c5\'e9\'aa\'ba\'b5\'db\'a7\'40\'c5\'76\'a4\'48\'a9\'ce\'a5\'f4\'a6\'f3\'aa\'ba\'ab\'e1\'c4\'f2\'b4\'b2\'a5\'ac\'aa\'cc\'a1\'41\'b9\'ef\'a9\'f3\'a8\'e4\'a9\'d2\'b4\'b2\'a5\'ac\'aa\'ba\'b3\'c2\'b2\'7a\'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'ac\'d2\'a4\'a3\'ad\'74\'a5\'f4\'a6\'f3\'a7\'ce\'a6\'a1\'a4\'57\'b9\'ea\'bd\'e8\'a4\'57\'aa\'ba\'be\'e1\'ab\'4f\'b3\'64\'a5\'f4\'a1\'41\'a9\'fa\'a5\'dc\'a5\'e7\'a9\'ce\'c1\'f4\'b3\'eb\'a1\'42\'b0\'d3\'b7\'7e\'a7\'51\'a5\'ce\'a9\'ca\'a5\'e7\'a9\'ce\'af\'53\'a9\'77\'a5\'d8\'aa\'ba\'a8\'cf\'a5\'ce\'a9\'ca\'a1\'41\'b3\'6f\'a8\'c7\'a7\'a1\'a4\'a3\'a6\'62\'ab\'4f\'bb\'d9\'a4\'a7\'a6\'43\'a1\'43\'a7\'51\'a5\'ce\'b3\'c2\'b2\'7a\'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'aa\'ba\'a9\'d2\'a6\'b3\'ad\'b7\'c0\'49\'a7\'a1\'a5\'d1\'a8\'cf\'a5\'ce\'aa\'cc\'a6\'db\'a6\'e6\'be\'e1\'ad\'74\'a1\'43\'b0\'b2\'a6\'70\'a9\'d2\'a8\'cf\'a5\'ce\'aa\'ba\'b3\'c2\'b2\'7a\'b5\'7b\'a6\'a1\'b5\'6f\'a5\'cd\'af\'ca\'b3\'b4\'a9\'ca\'b0\'dd\'c3\'44\'a1\'41\'a8\'cf\'a5\'ce\'aa\'cc\'bb\'dd\'a6\'db\'a6\'e6\'be\'e1\'ad\'74\'ad\'d7\'a5\'bf\'a1\'42\'a7\'ef\'a5\'bf\'a4\'ce\'a5\'b2\'ad\'6e\'aa\'ba\'aa\'41\'b0\'c8\'a4\'e4\'a5\'58\'a1\'43\'b3\'c2\'b2\'7a\'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'aa\'ba\'b5\'db\'a7\'40\'c5\'76\'a4\'48\'a4\'a3\'ad\'74\'a5\'f4\'a6\'f3\'a7\'ce\'a6\'a1\'a4\'57\'b9\'ea\'bd\'e8\'a4\'57\'aa\'ba\'be\'e1\'ab\'4f\'b3\'64\'a5\'f4\'a1\'41\'b5\'4c\'bd\'d7\'a5\'f4\'a6\'f3\'a4\'40\'af\'eb\'aa\'ba\'a1\'42\'af\'53\'ae\'ed\'aa\'ba\'a1\'42\'b0\'b8\'b5\'6f\'aa\'ba\'a1\'42\'a6\'5d\'aa\'47\'c3\'f6\'ab\'59\'a6\'a1\'aa\'ba\'b7\'6c\'ae\'60\'a1\'41\'a9\'ce\'ac\'4f\'b3\'c2\'b2\'7a\'b3\'6e\'c5\'e9\'b5\'7b\'a6\'a1\'aa\'ba\'a4\'a3\'be\'41\'a5\'ce\'a9\'ca\'a1\'41\'a7\'a1\'b6\'b7\'a5\'d1\'a8\'cf\'a5\'ce\'aa\'cc\'a6\'db\'a6\'e6\'ad\'74\'be\'e1\'a1\'43 \f1 \ \ +Copyright \'a9 2011-2021 Mengjuei Hsieh et al.\ +\ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \'93Software\'94), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\ \ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\ \ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\ -} +} \ No newline at end of file diff --git a/Source/Installer/zh-Hant.lproj/Localizable.strings b/Source/Installer/zh-Hant.lproj/Localizable.strings index 5a492caa..3fd65cbb 100644 --- a/Source/Installer/zh-Hant.lproj/Localizable.strings +++ b/Source/Installer/zh-Hant.lproj/Localizable.strings @@ -23,11 +23,11 @@ "OK" = "好"; /* No comment provided by engineer. */ -"McBopomofo is ready to use." = "小麥注音輸入法安裝成功"; +"vChewing is ready to use." = "威注音輸入法安裝成功"; "Finish" = "結束"; "Attention" = "請注意"; -"McBopomofo is upgraded, but please log out or reboot for the new version to be fully functional." = "McBopomofo 安裝完成,但建議您登出或重新開機,以便順利使用新版。"; +"vChewing is upgraded, but please log out or reboot for the new version to be fully functional." = "vChewing 安裝完成,但建議您登出或重新開機,以便順利使用新版。"; "Fatal Error" = "安裝錯誤"; "Abort" = "放棄安裝"; diff --git a/Source/Installer/zh-Hant.lproj/MainMenu.xib b/Source/Installer/zh-Hant.lproj/MainMenu.xib index c9bcd182..bb333e83 100644 --- a/Source/Installer/zh-Hant.lproj/MainMenu.xib +++ b/Source/Installer/zh-Hant.lproj/MainMenu.xib @@ -1,8 +1,8 @@ - + - + @@ -15,10 +15,10 @@ - - + + - + @@ -33,7 +33,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -81,22 +81,23 @@ + - + - + - + - - + + @@ -109,16 +110,16 @@ - - - - + - + - + @@ -166,6 +167,7 @@ Gw + @@ -181,20 +183,20 @@ Gw - + - + - + - + diff --git a/Source/McBopomofo-Prefix.pch b/Source/McBopomofo-Prefix.pch deleted file mode 100644 index ca6fec95..00000000 --- a/Source/McBopomofo-Prefix.pch +++ /dev/null @@ -1,7 +0,0 @@ -// -// Prefix header for all source files of the 'McBopomofo' target in the 'McBopomofo' project -// - -#ifdef __OBJC__ - #import -#endif diff --git a/Source/OpenCCBridge.swift b/Source/OpenCCBridge.swift index a9c63989..72a25740 100644 --- a/Source/OpenCCBridge.swift +++ b/Source/OpenCCBridge.swift @@ -1,7 +1,7 @@ import Foundation import OpenCC -// Since SwiftyOpenCC only provide Swift classes, we create an NSObject subclass +// Since SwiftyLibreCC only provide Swift classes, we create an NSObject subclass // in Swift in order to bridge the Swift classes into our Objective-C++ project. class OpenCCBridge : NSObject { private static let shared = OpenCCBridge() diff --git a/Source/PreferencesWindowController.h b/Source/PreferencesWindowController.h index 538ddd5b..4d04222f 100644 --- a/Source/PreferencesWindowController.h +++ b/Source/PreferencesWindowController.h @@ -1,7 +1,7 @@ // // PreferencesWindowController.h // -// Copyright (c) 2011 The McBopomofo Project. +// Copyright (c) 2021 The vChewing Project. // // Contributors: // Mengjuei Hsieh (@mjhsieh) diff --git a/Source/PreferencesWindowController.m b/Source/PreferencesWindowController.m index 29253196..0dd1feb9 100644 --- a/Source/PreferencesWindowController.m +++ b/Source/PreferencesWindowController.m @@ -1,7 +1,7 @@ // // PreferencesWindowController.m // -// Copyright (c) 2011 The McBopomofo Project. +// Copyright (c) 2021 The vChewing Project. // // Contributors: // Mengjuei Hsieh (@mjhsieh) diff --git a/Source/README b/Source/README index 82384134..9476b1d9 100644 --- a/Source/README +++ b/Source/README @@ -140,7 +140,7 @@ │   ├── Bopomofo@2x.tiff │   ├── BopomofoTextMenu.tiff │   ├── BopomofoTextMenu@2x.tiff -│   ├── McBopomofo.iconset +│   ├── vChewing.iconset │   │   ├── icon_128x128.png │   │   ├── icon_128x128@2x.png │   │   ├── icon_16x16.png @@ -169,13 +169,18 @@ │   │   ├── Localizable.strings │   │   └── MainMenu.xib │   ├── main.m +│   ├── zh-Hans.lproj +│   │   ├── InfoPlist.strings +│   │   ├── License.rtf +│   │   ├── Localizable.strings +│   │   └── MainMenu.xib │   └── zh-Hant.lproj │   ├── InfoPlist.strings │   ├── License.rtf │   ├── Localizable.strings │   └── MainMenu.xib -├── McBopomofo-Info.plist -├── McBopomofo-Prefix.pch +├── vChewing-Info.plist +├── vChewing-Prefix.pch ├── OVInputSourceHelper.h ├── OVInputSourceHelper.m ├── PreferencesWindowController.h @@ -192,6 +197,12 @@ │   ├── MainMenu.xib │   ├── UpdateNotificationController.xib │   └── preferences.xib +├── zh-Hans.lproj +│   ├── InfoPlist.strings +│   ├── Localizable.strings +│   ├── MainMenu.xib +│   ├── UpdateNotificationController.xib +│   └── preferences.xib ├── main.m └── zh-Hant.lproj ├── InfoPlist.strings diff --git a/Source/UpdateNotificationController.h b/Source/UpdateNotificationController.h index 4392bee8..1ad29610 100644 --- a/Source/UpdateNotificationController.h +++ b/Source/UpdateNotificationController.h @@ -1,7 +1,7 @@ // // UpdateNotificationController.h // -// Copyright (c) 2011 The McBopomofo Project. +// Copyright (c) 2021 The vChewing Project. // // Contributors: // Mengjuei Hsieh (@mjhsieh) diff --git a/Source/UpdateNotificationController.m b/Source/UpdateNotificationController.m index 76636592..e69ee317 100644 --- a/Source/UpdateNotificationController.m +++ b/Source/UpdateNotificationController.m @@ -1,7 +1,7 @@ // // UpdateNotificationController.m // -// Copyright (c) 2011 The McBopomofo Project. +// Copyright (c) 2021 The vChewing Project. // // Contributors: // Mengjuei Hsieh (@mjhsieh) diff --git a/Source/UserOverrideModel.cpp b/Source/UserOverrideModel.cpp index 8b2df522..aa0a0b4d 100644 --- a/Source/UserOverrideModel.cpp +++ b/Source/UserOverrideModel.cpp @@ -1,7 +1,7 @@ // // UserOverrideModel.cpp // -// Copyright (c) 2017 The McBopomofo Project. +// Copyright (c) 2017 The vChewing Project. // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation @@ -31,7 +31,7 @@ #include #include -using namespace McBopomofo; +using namespace vChewing; // About 20 generations. static const double DecayThreshould = 1.0 / 1048576.0; diff --git a/Source/UserOverrideModel.h b/Source/UserOverrideModel.h index 0b981923..c0f700b4 100644 --- a/Source/UserOverrideModel.h +++ b/Source/UserOverrideModel.h @@ -1,7 +1,7 @@ // // UserOverrideModel.h // -// Copyright (c) 2017 The McBopomofo Project. +// Copyright (c) 2017 The vChewing Project. // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation @@ -34,7 +34,7 @@ #include "Gramambular.h" -namespace McBopomofo { +namespace vChewing { using namespace Formosa::Gramambular; @@ -75,7 +75,7 @@ private: std::map::iterator> m_lruMap; }; -}; // namespace McBopomofo +}; // namespace vChewing #endif diff --git a/Source/en.lproj/InfoPlist.strings b/Source/en.lproj/InfoPlist.strings index 889f7749..dddeda74 100644 --- a/Source/en.lproj/InfoPlist.strings +++ b/Source/en.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -CFBundleName = "McBopomofo"; -CFBundleDisplayName = "McBopomofo"; +CFBundleName = "vChewing"; +CFBundleDisplayName = "vChewing"; NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; -"org.openvanilla.inputmethod.McBopomofo.Bopomofo" = "Bopomofo"; -"org.openvanilla.inputmethod.McBopomofo.PlainBopomofo" = "Plain Bopomofo"; +"org.openvanilla.inputmethod.vChewing.Bopomofo" = "vChewing"; +"org.openvanilla.inputmethod.vChewing.PlainBopomofo" = "Plain vChewing"; diff --git a/Source/en.lproj/Localizable.strings b/Source/en.lproj/Localizable.strings index 4fdc110c..48445416 100644 --- a/Source/en.lproj/Localizable.strings +++ b/Source/en.lproj/Localizable.strings @@ -1,5 +1,5 @@ /* No comment provided by engineer. */ -"About McBopomofo…" = "About McBopomofo…"; +"About vChewing…" = "About vChewing…"; /* No comment provided by engineer. */ "Clear Learning Dictionary (%ju Items)" = "Clear Learning Dictionary (%ju Items)"; @@ -11,7 +11,7 @@ "Enable Selection Learning" = "Enable Selection Learning"; /* No comment provided by engineer. */ -"McBopomofo Preferences" = "McBopomofo Preferences"; +"vChewing Preferences" = "vChewing Preferences"; /* No comment provided by engineer. */ "Check Later" = "Check Later"; @@ -23,7 +23,7 @@ "Check for Update Completed" = "Check for Update Completed"; /* No comment provided by engineer. */ -"You are already using the latest version of McBopomofo." = "You are already using the latest version of McBopomofo."; +"You are already using the latest version of vChewing." = "You are already using the latest version of vChewing."; /* No comment provided by engineer. */ "Update Check Failed" = "Update Check Failed"; @@ -47,6 +47,6 @@ "Visit Website" = "Visit Website"; /* No comment provided by engineer. */ -"You're currently using McBopomofo %@ (%@), a new version %@ (%@) is now available. Do you want to visit McBopomofo's website to download the version?%@" = "You're currently using McBopomofo %@ (%@), a new version %@ (%@) is now available. Do you want to visit McBopomofo's website to download the version?%@"; +"You're currently using vChewing %@ (%@), a new version %@ (%@) is now available. Do you want to visit vChewing's website to download the version?%@" = "You're currently using vChewing %@ (%@), a new version %@ (%@) is now available. Do you want to visit vChewing's website to download the version?%@"; "Chinese Conversion" = "Convert to Simplified Chinese"; diff --git a/Source/main.m b/Source/main.m index bca49bd0..1dd9cdff 100644 --- a/Source/main.m +++ b/Source/main.m @@ -1,7 +1,7 @@ // // main.m // -// Copyright (c) 2011 The McBopomofo Project. +// Copyright (c) 2021 The vChewing Project. // // Contributors: // Mengjuei Hsieh (@mjhsieh) @@ -35,7 +35,7 @@ #import #import "OVInputSourceHelper.h" -static NSString *const kConnectionName = @"McBopomofo_1_Connection"; +static NSString *const kConnectionName = @"vChewing_1_Connection"; int main(int argc, char *argv[]) { diff --git a/Source/McBopomofo-Bridging-Header.h b/Source/vChewing-Bridging-Header.h similarity index 100% rename from Source/McBopomofo-Bridging-Header.h rename to Source/vChewing-Bridging-Header.h diff --git a/Source/McBopomofo-Info.plist b/Source/vChewing-Info.plist similarity index 84% rename from Source/McBopomofo-Info.plist rename to Source/vChewing-Info.plist index 199cc007..28d16f61 100644 --- a/Source/McBopomofo-Info.plist +++ b/Source/vChewing-Info.plist @@ -24,7 +24,7 @@ tsInputModeListKey - org.openvanilla.inputmethod.McBopomofo.Bopomofo + org.openvanilla.inputmethod.vChewing.Bopomofo TISDoubleSpaceSubstitution @@ -32,6 +32,7 @@ Bopomofo.tiff tsInputModeCharacterRepertoireKey + Hans Hant Han @@ -50,7 +51,7 @@ tsInputModeScriptKey smTradChinese TISIntendedLanguage - zh-Hant + zh-Hans tsInputModeCharacterRepertoireKey Hant @@ -59,7 +60,7 @@ tsInputModeKeyEquivalentModifiersKey 4608 - org.openvanilla.inputmethod.McBopomofo.PlainBopomofo + org.openvanilla.inputmethod.vChewing.PlainBopomofo TISDoubleSpaceSubstitution @@ -67,6 +68,7 @@ PlainBopomofo.tiff tsInputModeCharacterRepertoireKey + Hans Hant Han @@ -85,7 +87,7 @@ tsInputModeScriptKey smTradChinese TISIntendedLanguage - zh-Hant + zh-Hans tsInputModeCharacterRepertoireKey Hant @@ -97,16 +99,16 @@ tsVisibleInputModeOrderedArrayKey - org.openvanilla.inputmethod.McBopomofo.Bopomofo - org.openvanilla.inputmethod.McBopomofo.PlainBopomofo + org.openvanilla.inputmethod.vChewing.Bopomofo + org.openvanilla.inputmethod.vChewing.PlainBopomofo InputMethodConnectionName - McBopomofo_1_Connection + vChewing_1_Connection InputMethodServerControllerClass - McBopomofoInputMethodController + vChewingInputMethodController InputMethodServerDelegateClass - McBopomofoInputMethodController + vChewingInputMethodController InputMethodServerPreferencesWindowControllerClass PreferencesWindowController LSApplicationCategoryType @@ -126,19 +128,20 @@ TICapsLockLanguageSwitchCapable TISInputSourceID - org.openvanilla.inputmethod.McBopomofo + org.openvanilla.inputmethod.vChewing TISIntendedLanguage - zh-Hant + zh-Hans TISParticipatesInTouchBar UpdateInfoEndpoint - https://mcbopomofo.openvanilla.org/updates/Info.plist + https://vchewing.openvanilla.org/updates/Info.plist UpdateInfoSite - https://mcbopomofo.openvanilla.org/ + https://vchewing.openvanilla.org/ tsInputMethodCharacterRepertoireKey - Hant Hans + Hant + Han tsInputMethodIconFileKey Bopomofo.tiff diff --git a/Source/vChewing-Prefix.pch b/Source/vChewing-Prefix.pch new file mode 100644 index 00000000..fe236fd9 --- /dev/null +++ b/Source/vChewing-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'vChewing' target in the 'vChewing' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/Source/zh-Hans.lproj/InfoPlist.strings b/Source/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 00000000..83b9178f --- /dev/null +++ b/Source/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,5 @@ +CFBundleName = "威注音"; +CFBundleDisplayName = "威注音"; +NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; +"org.openvanilla.inputmethod.vChewing.Bopomofo" = "威注音"; +"org.openvanilla.inputmethod.vChewing.PlainBopomofo" = "ㄅ半全注"; diff --git a/Source/zh-Hans.lproj/Localizable.strings b/Source/zh-Hans.lproj/Localizable.strings new file mode 100644 index 00000000..2855d232 --- /dev/null +++ b/Source/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,52 @@ +/* No comment provided by engineer. */ +"About vChewing…" = "关于威注音…"; + +/* No comment provided by engineer. */ +"Clear Learning Dictionary (%ju Items)" = "清除学习辞典 (%ju 个项目)"; + +/* No comment provided by engineer. */ +"Dump Learning Data to Console" = "将学习辞典内容输出到 Console 上"; + +/* No comment provided by engineer. */ +"Enable Selection Learning" = "使用自动学习功能"; + +/* No comment provided by engineer. */ +"vChewing Preferences" = "威注音偏好设定"; + +/* No comment provided by engineer. */ +"Check Later" = "晚点再通知我"; + +/* No comment provided by engineer. */ +"Check for Updates…" = "检查是否有新版…"; + +/* No comment provided by engineer. */ +"Check for Update Completed" = "新版检查完毕"; + +/* No comment provided by engineer. */ +"You are already using the latest version of vChewing." = "目前使用的已经是最新版本。"; + +/* No comment provided by engineer. */ +"Update Check Failed" = "无法检查新版"; + +/* No comment provided by engineer. */ +"There may be no internet connection or the server failed to respond.\n\nError message: %@" = "网路连线失败,或是伺服器没有回应。\n\n错误说明:%@"; + +/* No comment provided by engineer. */ +"OK" = "好"; + +/* No comment provided by engineer. */ +"Dismiss" = "关闭本视窗"; + +/* No comment provided by engineer. */ +"New Version Available" = "有新版可下载"; + +/* No comment provided by engineer. */ +"Not Now" = "以后再说"; + +/* No comment provided by engineer. */ +"Visit Website" = "前往网站"; + +/* No comment provided by engineer. */ +"You're currently using vChewing %@ (%@), a new version %@ (%@) is now available. Do you want to visit vChewing's website to download the version?%@" = "目前使用的威注音版本是 %1$@ (%2$@),网路上有更新版本 %3$@ (%4$@) 可供下载。是否要前往威注音网站下载新版来安装?%5$@"; + +"Chinese Conversion" = "强制简体字输出"; diff --git a/Source/zh-Hans.lproj/MainMenu.xib b/Source/zh-Hans.lproj/MainMenu.xib new file mode 100644 index 00000000..4c79f2b9 --- /dev/null +++ b/Source/zh-Hans.lproj/MainMenu.xib @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/zh-Hans.lproj/preferences.xib b/Source/zh-Hans.lproj/preferences.xib new file mode 100644 index 00000000..b6c6b13e --- /dev/null +++ b/Source/zh-Hans.lproj/preferences.xib @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Item 1 + Item 2 + Item 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/zh-Hant.lproj/InfoPlist.strings b/Source/zh-Hant.lproj/InfoPlist.strings index a3286784..83b9178f 100644 --- a/Source/zh-Hant.lproj/InfoPlist.strings +++ b/Source/zh-Hant.lproj/InfoPlist.strings @@ -1,5 +1,5 @@ -CFBundleName = "小麥注音"; -CFBundleDisplayName = "小麥注音"; +CFBundleName = "威注音"; +CFBundleDisplayName = "威注音"; NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; -"org.openvanilla.inputmethod.McBopomofo.Bopomofo" = "小麥注音"; -"org.openvanilla.inputmethod.McBopomofo.PlainBopomofo" = "傳統注音"; +"org.openvanilla.inputmethod.vChewing.Bopomofo" = "威注音"; +"org.openvanilla.inputmethod.vChewing.PlainBopomofo" = "ㄅ半全注"; diff --git a/Source/zh-Hant.lproj/Localizable.strings b/Source/zh-Hant.lproj/Localizable.strings index e49af527..ebfa32d0 100644 --- a/Source/zh-Hant.lproj/Localizable.strings +++ b/Source/zh-Hant.lproj/Localizable.strings @@ -1,5 +1,5 @@ /* No comment provided by engineer. */ -"About McBopomofo…" = "關於小麥注音…"; +"About vChewing…" = "關於威注音…"; /* No comment provided by engineer. */ "Clear Learning Dictionary (%ju Items)" = "清除學習辭典 (%ju 個項目)"; @@ -11,7 +11,7 @@ "Enable Selection Learning" = "使用自動學習功能"; /* No comment provided by engineer. */ -"McBopomofo Preferences" = "小麥注音偏好設定"; +"vChewing Preferences" = "威注音偏好設定"; /* No comment provided by engineer. */ "Check Later" = "晚點再通知我"; @@ -23,7 +23,7 @@ "Check for Update Completed" = "新版檢查完畢"; /* No comment provided by engineer. */ -"You are already using the latest version of McBopomofo." = "目前使用的已經是最新版本。"; +"You are already using the latest version of vChewing." = "目前使用的已經是最新版本。"; /* No comment provided by engineer. */ "Update Check Failed" = "無法檢查新版"; @@ -47,6 +47,6 @@ "Visit Website" = "前往網站"; /* No comment provided by engineer. */ -"You're currently using McBopomofo %@ (%@), a new version %@ (%@) is now available. Do you want to visit McBopomofo's website to download the version?%@" = "目前使用的小麥注音版本是 %1$@ (%2$@),網路上有更新版本 %3$@ (%4$@) 可供下載。是否要前往小麥注音網站下載新版來安裝?%5$@"; +"You're currently using vChewing %@ (%@), a new version %@ (%@) is now available. Do you want to visit vChewing's website to download the version?%@" = "目前使用的威注音版本是 %1$@ (%2$@),網路上有更新版本 %3$@ (%4$@) 可供下載。是否要前往威注音網站下載新版來安裝?%5$@"; "Chinese Conversion" = "輸出簡體中文"; diff --git a/Source/zh-Hant.lproj/MainMenu.xib b/Source/zh-Hant.lproj/MainMenu.xib index 5f7bcf12..4c79f2b9 100644 --- a/Source/zh-Hant.lproj/MainMenu.xib +++ b/Source/zh-Hant.lproj/MainMenu.xib @@ -14,10 +14,10 @@ - - + + - + @@ -32,7 +32,7 @@ - + diff --git a/Source/zh-Hant.lproj/preferences.xib b/Source/zh-Hant.lproj/preferences.xib index 17e6e2c9..37397ed0 100644 --- a/Source/zh-Hant.lproj/preferences.xib +++ b/Source/zh-Hant.lproj/preferences.xib @@ -20,7 +20,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -79,7 +79,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -106,10 +106,10 @@ - + - + @@ -181,7 +181,7 @@