diff --git a/Installer/AppDelegate.swift b/Installer/AppDelegate.swift
index 5ae8d06e..d5a9e77a 100644
--- a/Installer/AppDelegate.swift
+++ b/Installer/AppDelegate.swift
@@ -333,7 +333,7 @@ class AppDelegate: NSWindowController, NSApplicationDelegate {
"Installation Successful", comment: ""
)
ntfPostInstall.informativeText = NSLocalizedString(
- "vChewing is ready to use.", comment: ""
+ "vChewing is ready to use. \n\nPlease relogin if this is the first time you install it in this user account.", comment: ""
)
ntfPostInstall.addButton(withTitle: NSLocalizedString("OK", comment: ""))
}
diff --git a/Installer/Resources/en.lproj/Localizable.strings b/Installer/Resources/en.lproj/Localizable.strings
index 97c17897..611fa47f 100644
--- a/Installer/Resources/en.lproj/Localizable.strings
+++ b/Installer/Resources/en.lproj/Localizable.strings
@@ -6,7 +6,7 @@
"Install Failed" = "Install Failed";
"Installation Successful" = "Installation Successful";
"OK" = "OK";
-"vChewing is ready to use." = "vChewing is ready to use.";
+"vChewing is ready to use. \n\nPlease relogin if this is the first time you install it in this user account." = "vChewing is ready to use. \n\nPlease relogin if this is the first time you install it in this user account.";
"Stopping the old version. This may take up to one minute…" = "Stopping the old version. This may take up to one minute…";
"Attention" = "Attention";
"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.";
diff --git a/Installer/Resources/ja.lproj/Localizable.strings b/Installer/Resources/ja.lproj/Localizable.strings
index 35bf5714..33ade817 100644
--- a/Installer/Resources/ja.lproj/Localizable.strings
+++ b/Installer/Resources/ja.lproj/Localizable.strings
@@ -6,7 +6,7 @@
"Install Failed" = "実装失敗。";
"Installation Successful" = "実装完了";
"OK" = "うむ";
-"vChewing is ready to use." = "威注音入力、利用準備完了。";
+"vChewing is ready to use. \n\nPlease relogin if this is the first time you install it in this user account." = "威注音入力、利用準備完了。\n\nこのシステムユーザーアカウントで初めて実装した場合、再ログインしてください。";
"Stopping the old version. This may take up to one minute…" = "古いバージョンを強制停止中。1分かかると恐れ入りますが……";
"Attention" = "ご注意";
"vChewing is upgraded, but please log out or reboot for the new version to be fully functional." = "威注音入力の更新は実装完了しましたが、うまく作動できるために、このパソコンの再起動および再ログインが必要だと恐れ入ります。";
diff --git a/Installer/Resources/zh-Hans.lproj/Localizable.strings b/Installer/Resources/zh-Hans.lproj/Localizable.strings
index 616afa52..05f6660c 100644
--- a/Installer/Resources/zh-Hans.lproj/Localizable.strings
+++ b/Installer/Resources/zh-Hans.lproj/Localizable.strings
@@ -6,7 +6,7 @@
"Install Failed" = "安装失败";
"Installation Successful" = "安装成功";
"OK" = "确定";
-"vChewing is ready to use." = "威注音输入法安装成功";
+"vChewing is ready to use. \n\nPlease relogin if this is the first time you install it in this user account." = "威注音输入法安装成功。\n\n若是在當前使用者帳戶內首次安裝的話,請重新登入。";
"Stopping the old version. This may take up to one minute…" = "正在试图结束正在运行的旧版输入法,大概需要一分钟…";
"Attention" = "请注意";
"vChewing is upgraded, but please log out or reboot for the new version to be fully functional." = "vChewing 安装完成,但建议您登出或重新开机,以便顺利使用新版。";
diff --git a/Installer/Resources/zh-Hant.lproj/Localizable.strings b/Installer/Resources/zh-Hant.lproj/Localizable.strings
index 1ed5caf0..f88236c6 100644
--- a/Installer/Resources/zh-Hant.lproj/Localizable.strings
+++ b/Installer/Resources/zh-Hant.lproj/Localizable.strings
@@ -6,7 +6,7 @@
"Install Failed" = "安裝失敗";
"Installation Successful" = "安裝成功";
"OK" = "確定";
-"vChewing is ready to use." = "威注音輸入法安裝成功";
+"vChewing is ready to use. \n\nPlease relogin if this is the first time you install it in this user account." = "威注音輸入法安裝成功。\n\n若是在当前使用者帐户内首次安装的话,请重新登入。";
"Stopping the old version. This may take up to one minute…" = "正在試圖結束正在運行的舊版輸入法,大概需要一分鐘…";
"Attention" = "請注意";
"vChewing is upgraded, but please log out or reboot for the new version to be fully functional." = "vChewing 安裝完成,但建議您登出或重新開機,以便順利使用新版。";
diff --git a/Installer/pkgTextSuccessful-CHS.rtf b/Installer/pkgTextSuccessful-CHS.rtf
new file mode 100644
index 00000000..b2513751
--- /dev/null
+++ b/Installer/pkgTextSuccessful-CHS.rtf
@@ -0,0 +1,26 @@
+{\rtf1\ansi\ansicpg950\cocoartf2702
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Tahoma;\f1\fnil\fcharset0 AppleColorEmoji;\f2\fnil\fcharset134 PingFangSC-Semibold;
+\f3\fnil\fcharset134 PingFangSC-Regular;\f4\fnil\fcharset128 HiraginoSans-W4;}
+{\colortbl;\red255\green255\blue255;\red251\green0\blue7;}
+{\*\expandedcolortbl;;\cssrgb\c100000\c12195\c0;}
+\paperw11900\paperh16840\vieww12000\viewh15140\viewkind0
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f0\fs24 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f1\fs144 \cf0 \uc0\u9989
+\f0\fs24 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f2\b\fs48 \cf0 \'b0\'b2\'d7\'b0\'cd\'ea\'b1\'cf
+\f3\b0\fs24 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\fs28 \cf0 \'c8\'f4\'ca\'c7\'d4\'da\'b5\'b1\'c7\'b0\'ca\'b9\'d3\'c3\'d5\'df\'d5\'ca\'bb\'a7\'c4\'da\
+\ul \'ca\'d7\'b4\'ce\'b0\'b2\'d7\'b0\ulnone \'b5\'c4\'bb\'b0\'a3\'ac\'c7\'eb
+\f4 \uc0\u9888 \u65039
+\f2\b \cf2 \ul \ulc2 \'d6\'d8\'d0\'c2\'b5\'c7\'c8\'eb
+\f4\b0 \cf0 \ulnone \uc0\u9888 \u65039
+\f3 \'a1\'a3}
\ No newline at end of file
diff --git a/Installer/pkgTextSuccessful-CHT.rtf b/Installer/pkgTextSuccessful-CHT.rtf
new file mode 100644
index 00000000..e9cac821
--- /dev/null
+++ b/Installer/pkgTextSuccessful-CHT.rtf
@@ -0,0 +1,26 @@
+{\rtf1\ansi\ansicpg950\cocoartf2702
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Tahoma;\f1\fnil\fcharset0 AppleColorEmoji;\f2\fnil\fcharset136 PingFangTC-Semibold;
+\f3\fnil\fcharset136 PingFangTC-Regular;\f4\fnil\fcharset128 HiraginoSans-W4;}
+{\colortbl;\red255\green255\blue255;\red251\green0\blue7;}
+{\*\expandedcolortbl;;\cssrgb\c100000\c12195\c0;}
+\paperw11900\paperh16840\vieww12000\viewh15140\viewkind0
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f0\fs24 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f1\fs144 \cf0 \uc0\u9989
+\f0\fs24 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f2\b\fs48 \cf0 \'a6\'77\'b8\'cb\'a7\'b9\'b2\'a6
+\f3\b0\fs24 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\fs28 \cf0 \'ad\'59\'ac\'4f\'a6\'62\'b7\'ed\'ab\'65\'a8\'cf\'a5\'ce\'aa\'cc\'b1\'62\'a4\'e1\'a4\'ba\
+\ul \'ad\'ba\'a6\'b8\'a6\'77\'b8\'cb\ulnone \'aa\'ba\'b8\'dc\'a1\'41\'bd\'d0
+\f4 \uc0\u9888 \u65039
+\f2\b \cf2 \ul \ulc2 \'ad\'ab\'b7\'73\'b5\'6e\'a4\'4a
+\f4\b0 \cf0 \ulnone \uc0\u9888 \u65039
+\f3 \'a1\'43}
\ No newline at end of file
diff --git a/Installer/pkgTextSuccessful-ENU.rtf b/Installer/pkgTextSuccessful-ENU.rtf
new file mode 100644
index 00000000..72ee550e
--- /dev/null
+++ b/Installer/pkgTextSuccessful-ENU.rtf
@@ -0,0 +1,25 @@
+{\rtf1\ansi\ansicpg950\cocoartf2702
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Tahoma;\f1\fnil\fcharset0 AppleColorEmoji;\f2\fnil\fcharset0 Tahoma-Bold;
+\f3\fnil\fcharset128 HiraginoSans-W4;}
+{\colortbl;\red255\green255\blue255;\red251\green0\blue7;}
+{\*\expandedcolortbl;;\cssrgb\c100000\c12195\c0;}
+\paperw11900\paperh16840\vieww12000\viewh15140\viewkind0
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f0\fs24 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f1\fs144 \cf0 \uc0\u9989
+\f0\fs24 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f2\b\fs48 \cf0 Installation Successful
+\f0\b0\fs24 \
+\
+
+\fs28 Please
+\f3 \uc0\u9888 \u65039
+\f2\b \cf2 \ul \ulc2 relogin
+\f3\b0 \cf0 \ulnone \uc0\u9888 \u65039
+\f0 \ul if this is the first time\ulnone \
+you install it in this user account.}
\ No newline at end of file
diff --git a/Installer/pkgTextSuccessful-JPN.rtf b/Installer/pkgTextSuccessful-JPN.rtf
new file mode 100644
index 00000000..0a27154f
--- /dev/null
+++ b/Installer/pkgTextSuccessful-JPN.rtf
@@ -0,0 +1,25 @@
+{\rtf1\ansi\ansicpg950\cocoartf2702
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Tahoma;\f1\fnil\fcharset0 AppleColorEmoji;\f2\fnil\fcharset128 HiraginoSans-W6;
+\f3\fnil\fcharset128 HiraginoSans-W4;}
+{\colortbl;\red255\green255\blue255;\red251\green0\blue7;}
+{\*\expandedcolortbl;;\cssrgb\c100000\c12195\c0;}
+\paperw11900\paperh16840\vieww12000\viewh15140\viewkind0
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f0\fs24 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f1\fs144 \cf0 \uc0\u9989
+\f0\fs24 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\f2\b\fs48 \cf0 \'8e\'c0\'91\'95\'8a\'ae\'97\'b9
+\f3\b0\fs24 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
+
+\fs18 \cf0
+\fs28 \
+\'82\'b1\'82\'cc\'83\'56\'83\'58\'83\'65\'83\'80\'83\'86\'81\'5b\'83\'55\'81\'5b\'83\'41\'83\'4a\'83\'45\'83\'93\'83\'67\'82\'c5\
+\ul \'8f\'89\'82\'df\'82\'c4\'8e\'c0\'91\'95\'82\'b5\'82\'bd\ulnone \'8f\'ea\'8d\'87\'81\'41\uc0\u9888 \u65039
+\f2\b \cf2 \ul \ulc2 \'8d\'c4\'83\'8d\'83\'4f\'83\'43\'83\'93
+\f3\b0 \cf0 \ulnone \uc0\u9888 \u65039 \'82\'b5\'82\'c4\'82\'ad\'82\'be\'82\'b3\'82\'a2\'81\'42}
\ No newline at end of file
diff --git a/Installer/pkgTextWarning-CHS.txt b/Installer/pkgTextWarning-CHS.txt
index d7e993be..67d517cb 100644
--- a/Installer/pkgTextWarning-CHS.txt
+++ b/Installer/pkgTextWarning-CHS.txt
@@ -1,8 +1,8 @@
注意事项:
-一、macOS 10.x-11.x 系统有 Bug、令该安装程式无法自动将安装目标设为当前使用者资料夹。如果您在 macOS 12 Monterey 之前的系统安装该输入法的话,请务必「手动」将安装目的地设为当前使用者资料夹。否则,当您今后(在升级系统之后)升级输入法的时候,可能会出现各种混乱情况。下述 sudo 指令会将任何安装到错误位置的档案全部移除:
- sudo bash /Users/$(stat -f%Su /dev/console)/Library/Input\ Methods/vChewing.app/Contents/Resources/fixinstall.sh
+一、安装完毕之后,如果输入法无法正常使用的话,请重新登入即可。
-二、安装完毕之后,如果输入法无法正常使用的话,请重新登入即可。
+二、macOS 10.x-11.x 系统有 Bug、令该安装程式无法自动将安装目标设为当前使用者资料夹。如果您在 macOS 12 Monterey 之前的系统安装该输入法的话,请务必“手动”将安装目的地设为当前使用者资料夹。否则,当您今后(在升级系统之后)升级输入法的时候,可能会出现各种混乱情况。下述 sudo 指令会将任何安装到错误位置的档案全部移除:
+ sudo bash /Users/$(stat -f%Su /dev/console)/Library/Input\ Methods/vChewing.app/Contents/Resources/fixinstall.sh
三、终端部署指令(不限作业系统版本):
installer -pkg ~/Downloads/vChewing-macOS-?.?.?-unsigned.pkg -target CurrentUserHomeDirectory
diff --git a/Installer/pkgTextWarning-CHT.txt b/Installer/pkgTextWarning-CHT.txt
index d6d26e0e..8d88a547 100644
--- a/Installer/pkgTextWarning-CHT.txt
+++ b/Installer/pkgTextWarning-CHT.txt
@@ -1,8 +1,8 @@
注意事項:
-一、macOS 10.x-11.x 系統有 Bug、令該安裝程式無法自動將安裝目標設為當前使用者資料夾。如果您在 macOS 12 Monterey 之前的系統安裝該輸入法的話,請務必「手動」將安裝目的地設為當前使用者資料夾。否則,當您今後(在升級系統之後)升級輸入法的時候,可能會出現各種混亂情況。下述 sudo 指令會將任何安裝到錯誤位置的檔案全部移除:
- sudo bash /Users/$(stat -f%Su /dev/console)/Library/Input\ Methods/vChewing.app/Contents/Resources/fixinstall.sh
+一、安裝完畢之後,如果輸入法無法正常使用的話,請重新登入即可。
-二、安裝完畢之後,如果輸入法無法正常使用的話,請重新登入即可。
+二、macOS 10.x-11.x 系統有 Bug、令該安裝程式無法自動將安裝目標設為當前使用者資料夾。如果您在 macOS 12 Monterey 之前的系統安裝該輸入法的話,請務必「手動」將安裝目的地設為當前使用者資料夾。否則,當您今後(在升級系統之後)升級輸入法的時候,可能會出現各種混亂情況。下述 sudo 指令會將任何安裝到錯誤位置的檔案全部移除:
+ sudo bash /Users/$(stat -f%Su /dev/console)/Library/Input\ Methods/vChewing.app/Contents/Resources/fixinstall.sh
三、終端部署指令(不限作業系統版本):
installer -pkg ~/Downloads/vChewing-macOS-?.?.?-unsigned.pkg -target CurrentUserHomeDirectory
diff --git a/Installer/pkgTextWarning-ENU.txt b/Installer/pkgTextWarning-ENU.txt
index 6244bc1e..56747cbf 100644
--- a/Installer/pkgTextWarning-ENU.txt
+++ b/Installer/pkgTextWarning-ENU.txt
@@ -1,8 +1,8 @@
Notice:
-1. Due to a bug in macOS 10.x and 11.x, if you are trying to install this input method on macOS releases earlier than macOS 12 Monterey, PLEASE manually choose the install target to the user folder. Otherwise, there will be problems when you are trying to install this input method to later versions when your OS gets upgraded to macOS 12 Monterey or later. The following terminal command can solve such probelems by removing all incorrectly-installed files (must use sudo):
- sudo bash /Users/$(stat -f%Su /dev/console)/Library/Input\ Methods/vChewing.app/Contents/Resources/fixinstall.sh
+1. Relogin is strongly recommended if this is the first time you install vChewing to this system account.
-2. Feel free to logout and re-login if the input method doesn't work after installation.
+2. Due to a bug in macOS 10.x and 11.x, if you are trying to install this input method on macOS releases earlier than macOS 12 Monterey, PLEASE manually choose the install target to the user folder. Otherwise, there will be problems when you are trying to install this input method to later versions when your OS gets upgraded to macOS 12 Monterey or later. The following terminal command can solve such probelems by removing all incorrectly-installed files (must use sudo):
+ sudo bash /Users/$(stat -f%Su /dev/console)/Library/Input\ Methods/vChewing.app/Contents/Resources/fixinstall.sh
3. IT maintainers can also use this terminal deploy command, regardless the macOS version:
installer -pkg ~/Downloads/vChewing-macOS-?.?.?-unsigned.pkg -target CurrentUserHomeDirectory
diff --git a/Installer/pkgTextWarning-JPN.txt b/Installer/pkgTextWarning-JPN.txt
index 6ccd740b..03f0ec70 100644
--- a/Installer/pkgTextWarning-JPN.txt
+++ b/Installer/pkgTextWarning-JPN.txt
@@ -1,9 +1,9 @@
ご注意:
+● 初めてインストールの直後、再ログインしてください。しないと、入力アプリがすぐに使えない場合はございます。
+
● macOS 12 Monterey 以前の OS(macOS 10.x-11.x)のバグのため、macOS 10.x-11.x でインストールする場合、この入力アプリ必ずご自分でユーザーフォルダをインストール先と設定してください。然もないと、いずれ macOS 12 にアップデートし、この入力アプリのもっと新しいバージョンをインストールする時に、予測できない支障が生ずる恐れがあります。下記のターミナル指令を(必ず下記のまま sudo で)実行すれば、この様な支障を解決することができます:
sudo bash /Users/$(stat -f%Su /dev/console)/Library/Input\ Methods/vChewing.app/Contents/Resources/fixinstall.sh
-● そして、インストール直後、入力アプリがうまく使えない場合、再ログインすれば済ませることです。
-
● あと、IT 担当者は、Terminal で実装したい場合、OS バージョンを問わずに、下記の指令をご参考ください:
installer -pkg ~/Downloads/vChewing-macOS-?.?.?-unsigned.pkg -target CurrentUserHomeDirectory
diff --git a/Source/Data b/Source/Data
index b302a5dd..259a2a0b 160000
--- a/Source/Data
+++ b/Source/Data
@@ -1 +1 @@
-Subproject commit b302a5dd0f13eb3a6b1f94e5a662b2fa1c0ece6a
+Subproject commit 259a2a0b4c549e8b0cbc7ef31f47f766b26ad6a0
diff --git a/Source/Modules/SessionCtl_Core.swift b/Source/Modules/SessionCtl_Core.swift
index df81064e..0d3a4243 100644
--- a/Source/Modules/SessionCtl_Core.swift
+++ b/Source/Modules/SessionCtl_Core.swift
@@ -175,8 +175,20 @@ extension SessionCtl {
keyHandler.ensureKeyboardParser()
Self.theShiftKeyDetector.alsoToggleWithLShift = PrefMgr.shared.togglingAlphanumericalModeWithLShift
- if isASCIIMode, !isCapsLocked, PrefMgr.shared.disableShiftTogglingAlphanumericalMode { isASCIIMode = false }
- if isCapsLocked { isASCIIMode = isCapsLocked } // 同步 Caps Lock 狀態。
+
+ if #unavailable(macOS 12) {
+ if #available(macOS 10.15, *) {
+ if isASCIIMode, PrefMgr.shared.disableShiftTogglingAlphanumericalMode { isASCIIMode = false }
+ }
+ } else {
+ if isASCIIMode, !isCapsLocked, PrefMgr.shared.disableShiftTogglingAlphanumericalMode {
+ isASCIIMode = false
+ }
+ // 同步 Caps Lock 狀態。
+ else if isCapsLocked || PrefMgr.shared.disableShiftTogglingAlphanumericalMode {
+ isASCIIMode = isCapsLocked
+ }
+ }
/// 必須加上下述條件,否則會在每次切換至輸入法本體的視窗(比如偏好設定視窗)時會卡死。
/// 這是很多 macOS 副廠輸入法的常見失誤之處。
diff --git a/Source/Modules/SessionCtl_HandleEvent.swift b/Source/Modules/SessionCtl_HandleEvent.swift
index e9d6b01b..0c6ddd37 100644
--- a/Source/Modules/SessionCtl_HandleEvent.swift
+++ b/Source/Modules/SessionCtl_HandleEvent.swift
@@ -35,19 +35,21 @@ extension SessionCtl {
return false
}
- // Caps Lock 通知與切換處理。
- if event.type == .flagsChanged, event.keyCode == KeyCode.kCapsLock.rawValue {
- DispatchQueue.main.async {
- let isCapsLockTurnedOn = event.modifierFlags.intersection(.deviceIndependentFlagsMask).contains(.capsLock)
- let status = NSLocalizedString("NotificationSwitchASCII", comment: "")
- if PrefMgr.shared.showNotificationsWhenTogglingCapsLock {
- Notifier.notify(
- message: isCapsLockTurnedOn
- ? "Caps Lock" + NSLocalizedString("Alphanumerical Input Mode", comment: "") + "\n" + status
- : NSLocalizedString("Chinese Input Mode", comment: "") + "\n" + status
- )
+ // Caps Lock 通知與切換處理,要求至少 macOS 12 Monterey。
+ if #available(macOS 12, *) {
+ if event.type == .flagsChanged, event.keyCode == KeyCode.kCapsLock.rawValue {
+ DispatchQueue.main.async {
+ let isCapsLockTurnedOn = event.modifierFlags.intersection(.deviceIndependentFlagsMask).contains(.capsLock)
+ let status = NSLocalizedString("NotificationSwitchASCII", comment: "")
+ if PrefMgr.shared.showNotificationsWhenTogglingCapsLock {
+ Notifier.notify(
+ message: isCapsLockTurnedOn
+ ? "Caps Lock" + NSLocalizedString("Alphanumerical Input Mode", comment: "") + "\n" + status
+ : NSLocalizedString("Chinese Input Mode", comment: "") + "\n" + status
+ )
+ }
+ self.isASCIIMode = isCapsLockTurnedOn
}
- self.isASCIIMode = isCapsLockTurnedOn
}
}
diff --git a/Source/Modules/UIModules/PrefUI/suiPrefPaneExperience.swift b/Source/Modules/UIModules/PrefUI/suiPrefPaneExperience.swift
index 2afb228c..f5ee671b 100644
--- a/Source/Modules/UIModules/PrefUI/suiPrefPaneExperience.swift
+++ b/Source/Modules/UIModules/PrefUI/suiPrefPaneExperience.swift
@@ -64,6 +64,13 @@ struct suiPrefPaneExperience: View {
}
}()
+ var macOSMontereyOrLaterDetected: Bool {
+ if #available(macOS 12, *) {
+ return true
+ }
+ return false
+ }
+
var body: some View {
ScrollView {
VStack {
@@ -203,7 +210,7 @@ struct suiPrefPaneExperience: View {
isOn: $selShowNotificationsWhenTogglingCapsLock.onChange {
PrefMgr.shared.showNotificationsWhenTogglingCapsLock = selShowNotificationsWhenTogglingCapsLock
}
- )
+ ).disabled(!macOSMontereyOrLaterDetected)
}
Preferences.Section(label: { Text(LocalizedStringKey("Misc Settings:")) }) {
Toggle(
diff --git a/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib b/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib
index 496e6a54..5ee176fe 100644
--- a/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib
+++ b/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib
@@ -41,10 +41,10 @@
-
+
-
+
@@ -267,10 +267,10 @@
-
+
-
+
@@ -320,7 +320,7 @@
-
+
@@ -366,10 +366,10 @@
-
+
-
@@ -475,7 +458,6 @@
-
@@ -486,7 +468,6 @@
-
diff --git a/Update-Info.plist b/Update-Info.plist
index abbb0762..727ca8b2 100644
--- a/Update-Info.plist
+++ b/Update-Info.plist
@@ -5,7 +5,7 @@
CFBundleShortVersionString
2.8.5
CFBundleVersion
- 2852
+ 2853
UpdateInfoEndpoint
https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist
UpdateInfoSite
diff --git a/vChewing.pkgproj b/vChewing.pkgproj
index 91eda5ef..15f39532 100644
--- a/vChewing.pkgproj
+++ b/vChewing.pkgproj
@@ -941,11 +941,11 @@
LANGUAGE
- Traditional Chinese
+ Simplified Chinese
VALUE
PATH
- Installer/pkgTextWarning-CHT.txt
+ Installer/pkgTextWarning-CHS.txt
PATH_TYPE
1
@@ -963,11 +963,11 @@
LANGUAGE
- Simplified Chinese
+ Traditional Chinese
VALUE
PATH
- Installer/pkgTextWarning-CHS.txt
+ Installer/pkgTextWarning-CHT.txt
PATH_TYPE
1
@@ -991,11 +991,11 @@
LANGUAGE
- Traditional Chinese
+ Simplified Chinese
VALUE
PATH
- LICENSE-CHT.txt
+ LICENSE-CHS.txt
PATH_TYPE
1
@@ -1013,11 +1013,11 @@
LANGUAGE
- Simplified Chinese
+ Traditional Chinese
VALUE
PATH
- LICENSE-CHS.txt
+ LICENSE-CHT.txt
PATH_TYPE
1
@@ -1034,7 +1034,52 @@
SUMMARY
LOCALIZATIONS
-
+
+
+ LANGUAGE
+ English
+ VALUE
+
+ PATH
+ Installer/pkgTextSuccessful-ENU.rtf
+ PATH_TYPE
+ 1
+
+
+
+ LANGUAGE
+ Simplified Chinese
+ VALUE
+
+ PATH
+ Installer/pkgTextSuccessful-CHS.rtf
+ PATH_TYPE
+ 1
+
+
+
+ LANGUAGE
+ Japanese
+ VALUE
+
+ PATH
+ Installer/pkgTextSuccessful-JPN.rtf
+ PATH_TYPE
+ 1
+
+
+
+ LANGUAGE
+ Traditional Chinese
+ VALUE
+
+ PATH
+ Installer/pkgTextSuccessful-CHT.rtf
+ PATH_TYPE
+ 1
+
+
+
TITLE
@@ -1048,9 +1093,9 @@
LANGUAGE
- Simplified Chinese
+ Traditional Chinese
VALUE
- 威注音输入法
+ 威注音輸入法
LANGUAGE
@@ -1060,9 +1105,9 @@
LANGUAGE
- Traditional Chinese
+ Simplified Chinese
VALUE
- 威注音輸入法
+ 威注音输入法
@@ -1099,11 +1144,11 @@
LANGUAGE
- Simplified Chinese
+ Traditional Chinese
SECONDARY_VALUE
- 当前系统版本低于 macOS 10.13。
+ 當前系統版本低於 macOS 10.13。
VALUE
- 作业系统版本太旧
+ 作業系統版本太舊
LANGUAGE
@@ -1115,11 +1160,11 @@
LANGUAGE
- Traditional Chinese
+ Simplified Chinese
SECONDARY_VALUE
- 當前系統版本低於 macOS 10.13。
+ 当前系统版本低于 macOS 10.13。
VALUE
- 作業系統版本太舊
+ 作业系统版本太旧
NAME
diff --git a/vChewing.xcodeproj/project.pbxproj b/vChewing.xcodeproj/project.pbxproj
index 90c49e48..31a30fe2 100644
--- a/vChewing.xcodeproj/project.pbxproj
+++ b/vChewing.xcodeproj/project.pbxproj
@@ -1272,7 +1272,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 2852;
+ CURRENT_PROJECT_VERSION = 2853;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -1312,7 +1312,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 2852;
+ CURRENT_PROJECT_VERSION = 2853;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@@ -1351,7 +1351,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 2852;
+ CURRENT_PROJECT_VERSION = 2853;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -1404,7 +1404,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 2852;
+ CURRENT_PROJECT_VERSION = 2853;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_NS_ASSERTIONS = NO;
@@ -1539,7 +1539,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 2852;
+ CURRENT_PROJECT_VERSION = 2853;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
@@ -1600,7 +1600,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 2852;
+ CURRENT_PROJECT_VERSION = 2853;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
@@ -1648,7 +1648,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 2852;
+ CURRENT_PROJECT_VERSION = 2853;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = YES;
@@ -1694,7 +1694,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 2852;
+ CURRENT_PROJECT_VERSION = 2853;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = YES;