Skip to content

Commit

Permalink
WorldVoice v1.6
Browse files Browse the repository at this point in the history
  • Loading branch information
tsengwoody committed Feb 3, 2021
1 parent 6d0c2ba commit ab61b46
Show file tree
Hide file tree
Showing 13 changed files with 267 additions and 170 deletions.
16 changes: 13 additions & 3 deletions addon/doc/zh_CN/readme.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# WorldVoice

WorldVoice 是依据 VE driver 为基础开发而成的 addon。运行于 NVDA 2019.3 以上
WorldVoice 是依据 VE driver 为基础开发而成的 addon。运行于 NVDA 2019.3 以上版本

主要包括有多国语音自动切换、各别语音速度设定、朗读行为客制(数字读法、中文空格间隔)、自定义文字地区等功能。

Expand All @@ -11,7 +11,7 @@ WorldVoice 是依据 VE driver 为基础开发而成的 addon。运行于 NVDA 2
* 核心包可透过 WorldVoice -> 档案汇入将 zip 压缩包汇入语音组件工作区。
* 语音包安装方式
* 基本:使用兼容于 Vocalizer for NVDA 的语音包addon,[官方下载点](https://vocalizer-nvda.com/downloads)。
* 进阶:可透过各种语音包内直接复制其内的地区文件夹(ex: en, mnc, mnt)等并将其压成 zip 压缩包后透过 WorldVoice 接口的档案汇入功能汇入addon内,与核心包相同需留意汇入之工作区,如无特殊需求建议使用 addon 版本安装,因 addon 版本可共享同时提供第 1 驱动与第 2 驱动使用
* 进阶:可透过各种语音包内直接复制其内的地区文件夹(ex: en, mnc, mnt)等并将其压成 zip 压缩包后透过 WorldVoice 接口的档案汇入功能汇入 addon 内,如无特殊需求建议使用 addon 版本安装,因当 WorldVoice 升级版本时 addon 版本语音包不会被删除亦无需重新安装

## 相依性套件

Expand All @@ -22,7 +22,9 @@ WorldVoice 是依据 VE driver 为基础开发而成的 addon。运行于 NVDA 2
* NVDA+ctrl+S 选择 WorldVoice 语音合成器。
* NVDA+ctrl+V 有基本语音速度、音调、音量等基本设定,其中数字模式、中文空白间隔为 WorldVoice 多的客制设定。
* 数字读法:分为 2 个维度设定选项「数字语言」与「数字模式」,数字语言设定数字朗读时使用的地区语音、数字模式分为数值与数字两种
* 中文空白间隔:可设定中文间有空白时,欲停顿长度,数字愈小停顿愈短, 0 为不停顿。
* 「当遇到中文与中文间的空白时暂停长度」:可设定中文间有空白时,欲停顿长度,数字愈小停顿愈短, 0 为不停顿。
* 「忽略在数字间的逗号」选项勾选时,可让数字位数的逗号标错位置仍能正常朗读数值。
* 「启用 WorldVoice 设定规则来侦测文字语言」勾选时,会使用语音设定内的规则来侦测文字语言并切换语音朗读。
* WorldVoice -> 语音设定:可设定不同地区所使用的语音角色、各别语音角色速度、音调、音量、自动语音切换设定。
* 先选择地区后语音列表会列出该地区可用的语音角色,选择后即完成该地区与语音角色的对应纪录。
* 当语音角色有选择时,下方速度、音调、音量滑杆会变为该语音角色的设定值。
Expand Down Expand Up @@ -80,3 +82,11 @@ WorldVoice 是依据 VE driver 为基础开发而成的 addon。运行于 NVDA 2
* 将自动语言切换设定与语音设定窗口合并
* 地区与语音对应加入 no-select 用来取消对应
* 支持快捷键弹出语音设定与 Unicode 设定

### v1.6

* 修正数字模式下小数点不朗读问题
* 更新 VE 核心包工作目录,未来更新时可无需重新汇入
* 将「使用 WorldVoice 设定规则针测语言」的开关与「自动切换语言」的开关分开,避免部份情境两者不兼容问题。
* 修正启用 unicode 自动语言针测时,默认语音与 NVDA 语言地区不相同但同语系时无法切换的问题
* 修正自动切换语言无勾选时 WorldVoice 变更语音语言命令被滤掉的问题
16 changes: 13 additions & 3 deletions addon/doc/zh_HK/readme.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# WorldVoice

WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2019.3 以上
WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2019.3 以上版本

主要包括有多國語音自動切換、各別語音速度設定、朗讀行為客製(數字讀法、中文空格間隔)、自訂文字地區等功能。

Expand All @@ -11,7 +11,7 @@ WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2
* 核心包可透過 WorldVoice -> 檔案匯入將 zip 壓縮包匯入語音元件工作區。
* 語音包安裝方式
* 基本:使用兼容於 Vocalizer for NVDA 的語音包addon,[官方下載點](https://vocalizer-nvda.com/downloads)。
* 進階:可透過各種語音包內直接複製其內的地區資料夾(ex: en, mnc, mnt)等並將其壓成 zip 壓縮包後透過 WorldVoice 介面的檔案匯入功能匯入addon內,與核心包相同需留意匯入之工作區,如無特殊需求建議使用 addon 版本安裝,因 addon 版本可共享同時提供第 1 驅動與第 2 驅動使用
* 進階:可透過各種語音包內直接複製其內的地區資料夾(ex: en, mnc, mnt)等並將其壓成 zip 壓縮包後透過 WorldVoice 介面的檔案匯入功能匯入 addon 內,如無特殊需求建議使用 addon 版本安裝,因當 WorldVoice 升級版本時 addon 版本語音包不會被刪除亦無需重新安裝

## 相依性套件

Expand All @@ -22,7 +22,9 @@ WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2
* NVDA+ctrl+S 選擇 WorldVoice 語音合成器。
* NVDA+ctrl+V 有基本語音速度、音調、音量等基本設定,其中數字模式、中文空白間隔為 WorldVoice 多的客製設定。
* 數字讀法:分為 2 個維度設定選項「數字語言」與「數字模式」,數字語言設定數字朗讀時使用的地區語音、數字模式分為數值與數字兩種
* 中文空白間隔:可設定中文間有空白時,欲停頓長度,數字愈小停頓愈短, 0 為不停頓。
* 「當遇到中文與中文間的空白時暫停長度」:可設定中文間有空白時,欲停頓長度,數字愈小停頓愈短, 0 為不停頓。
* 「忽略在數字間的逗號」選項勾選時,可讓數字位數的逗號標錯位置仍能正常朗讀數值。
* 「啟用 WorldVoice 設定規則來偵測文字語言」勾選時,會使用語音設定內的規則來偵測文字語言並切換語音朗讀。
* WorldVoice -> 語音設定:可設定不同地區所使用的語音角色、各別語音角色速度、音調、音量、自動語音切換設定。
* 先選擇地區後語音列表會列出該地區可用的語音角色,選擇後即完成該地區與語音角色的對應紀錄。
* 當語音角色有選擇時,下方速度、音調、音量滑桿會變為該語音角色的設定值。
Expand Down Expand Up @@ -80,3 +82,11 @@ WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2
* 將自動語言切換設定與語音設定視窗合併
* 地區與語音對應加入 no-select 用來取消對應
* 支援快速鍵彈出語音設定與 Unicode 設定

### v1.6

* 修正數字模式下小數點不朗讀問題
* 更新 VE 核心包工作目錄,未來更新時可無需重新匯入
* 將「使用 WorldVoice 設定規則針測語言」的開關與「自動切換語言」的開關分開,避免部份情境兩者不相容問題。
* 修正啟用 unicode 自動語言針測時,預設語音與 NVDA 語言地區不相同但同語系時無法切換的問題
* 修正自動切換語言無勾選時 WorldVoice 變更語音語言命令被濾掉的問題
16 changes: 13 additions & 3 deletions addon/doc/zh_TW/readme.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# WorldVoice

WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2019.3 以上
WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2019.3 以上版本

主要包括有多國語音自動切換、各別語音速度設定、朗讀行為客製(數字讀法、中文空格間隔)、自訂文字地區等功能。

Expand All @@ -11,7 +11,7 @@ WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2
* 核心包可透過 WorldVoice -> 檔案匯入將 zip 壓縮包匯入語音元件工作區。
* 語音包安裝方式
* 基本:使用兼容於 Vocalizer for NVDA 的語音包addon,[官方下載點](https://vocalizer-nvda.com/downloads)。
* 進階:可透過各種語音包內直接複製其內的地區資料夾(ex: en, mnc, mnt)等並將其壓成 zip 壓縮包後透過 WorldVoice 介面的檔案匯入功能匯入addon內,與核心包相同需留意匯入之工作區,如無特殊需求建議使用 addon 版本安裝,因 addon 版本可共享同時提供第 1 驅動與第 2 驅動使用
* 進階:可透過各種語音包內直接複製其內的地區資料夾(ex: en, mnc, mnt)等並將其壓成 zip 壓縮包後透過 WorldVoice 介面的檔案匯入功能匯入 addon 內,如無特殊需求建議使用 addon 版本安裝,因當 WorldVoice 升級版本時 addon 版本語音包不會被刪除亦無需重新安裝

## 相依性套件

Expand All @@ -22,7 +22,9 @@ WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2
* NVDA+ctrl+S 選擇 WorldVoice 語音合成器。
* NVDA+ctrl+V 有基本語音速度、音調、音量等基本設定,其中數字模式、中文空白間隔為 WorldVoice 多的客製設定。
* 數字讀法:分為 2 個維度設定選項「數字語言」與「數字模式」,數字語言設定數字朗讀時使用的地區語音、數字模式分為數值與數字兩種
* 中文空白間隔:可設定中文間有空白時,欲停頓長度,數字愈小停頓愈短, 0 為不停頓。
* 「當遇到中文與中文間的空白時暫停長度」:可設定中文間有空白時,欲停頓長度,數字愈小停頓愈短, 0 為不停頓。
* 「忽略在數字間的逗號」選項勾選時,可讓數字位數的逗號標錯位置仍能正常朗讀數值。
* 「啟用 WorldVoice 設定規則來偵測文字語言」勾選時,會使用語音設定內的規則來偵測文字語言並切換語音朗讀。
* WorldVoice -> 語音設定:可設定不同地區所使用的語音角色、各別語音角色速度、音調、音量、自動語音切換設定。
* 先選擇地區後語音列表會列出該地區可用的語音角色,選擇後即完成該地區與語音角色的對應紀錄。
* 當語音角色有選擇時,下方速度、音調、音量滑桿會變為該語音角色的設定值。
Expand Down Expand Up @@ -80,3 +82,11 @@ WorldVoice 是依據 VE driver 為基礎開發而成的 addon。運行於 NVDA 2
* 將自動語言切換設定與語音設定視窗合併
* 地區與語音對應加入 no-select 用來取消對應
* 支援快速鍵彈出語音設定與 Unicode 設定

### v1.6

* 修正數字模式下小數點不朗讀問題
* 更新 VE 核心包工作目錄,未來更新時可無需重新匯入
* 將「使用 WorldVoice 設定規則針測語言」的開關與「自動切換語言」的開關分開,避免部份情境兩者不相容問題。
* 修正啟用 unicode 自動語言針測時,預設語音與 NVDA 語言地區不相同但同語系時無法切換的問題
* 修正自動切換語言無勾選時 WorldVoice 變更語音語言命令被濾掉的問題
4 changes: 3 additions & 1 deletion addon/globalPlugins/WorldVoiceXVED2/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
from .speechSettingsDialog import SpeechSettingsDialog
from generics.views import SpeechSymbolsDialog

workspace_path = os.path.join(globalVars.appArgs.configPath, "WorldVoice-workspace")
ADDON_SUMMARY = addonHandler.getCodeAddon().manifest["summary"]
SpeechSettingsDialog = SpeechSettingsDialog()

Expand All @@ -35,7 +36,7 @@ def __init__(self):
def initialize(self):
if globalVars.appArgs.secure:
return
if not os.path.isdir(os.path.join(synth_drivers_path, 'common')):
if (not os.path.isdir(os.path.join(workspace_path, 'common'))) and (not os.path.isdir(os.path.join(synth_drivers_path, 'common'))):
self.createMenu()
wx.CallLater(2000, self.onNoCoreInstalled)
return
Expand Down Expand Up @@ -74,6 +75,7 @@ def onFileImport(self, event):
from zipfile import ZipFile
with ZipFile(path, 'r') as core_file:
core_file.testzip()
core_file.extractall(workspace_path)
core_file.extractall(synth_drivers_path)
except:
gui.messageBox(
Expand Down
81 changes: 46 additions & 35 deletions addon/locale/zh_CN/LC_MESSAGES/nvda.po
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: 'WorldVoiceXVE' '1.5'\n"
"Project-Id-Version: 'WorldVoiceXVE' '1.6'\n"
"Report-Msgid-Bugs-To: '[email protected]'\n"
"POT-Creation-Date: 2020-12-28 20:55+0800\n"
"PO-Revision-Date: 2020-12-28 21:02+0800\n"
"POT-Creation-Date: 2021-02-03 08:50+0800\n"
"PO-Revision-Date: 2021-02-03 08:52+0800\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: zh_CN\n"
Expand Down Expand Up @@ -111,78 +111,78 @@ msgstr "为了让已编辑的 Unicode 生效,必须重新启动 NVDA,您要
msgid "unicode rule edited"
msgstr "unicode 规则已编辑"

#: globalPlugins/WorldVoiceXVED2/__init__.py:51
#: globalPlugins/WorldVoiceXVED2/__init__.py:52
msgid "&Speech Settings"
msgstr "语音设置(&S)"

#: globalPlugins/WorldVoiceXVED2/__init__.py:51
#: globalPlugins/WorldVoiceXVED2/__init__.py:52
msgid "Speech Settings."
msgstr "语音设置(&S)"

#: globalPlugins/WorldVoiceXVED2/__init__.py:53
#: globalPlugins/WorldVoiceXVED2/__init__.py:54
msgid "&Unicode Settings"
msgstr "Unicode 设置(&U)"

#: globalPlugins/WorldVoiceXVED2/__init__.py:53
#: globalPlugins/WorldVoiceXVED2/__init__.py:54
msgid "Unicode Settings."
msgstr "Unicode 设置"

#: globalPlugins/WorldVoiceXVED2/__init__.py:55
#: globalPlugins/WorldVoiceXVED2/__init__.py:56
msgid "&File Import"
msgstr "导入文件(&F)"

#: globalPlugins/WorldVoiceXVED2/__init__.py:55
#: globalPlugins/WorldVoiceXVED2/__init__.py:56
msgid "Import File."
msgstr "导入文件"

#: globalPlugins/WorldVoiceXVED2/__init__.py:57
#: globalPlugins/WorldVoiceXVED2/__init__.py:58
msgid "WorldVoice(VE)"
msgstr "WorldVoice(VE)"

#: globalPlugins/WorldVoiceXVED2/__init__.py:68
#: globalPlugins/WorldVoiceXVED2/__init__.py:69
msgid "Import file..."
msgstr "导入文件"

#: globalPlugins/WorldVoiceXVED2/__init__.py:80
#: globalPlugins/WorldVoiceXVED2/__init__.py:82
msgid "Import fail"
msgstr "导入失败"

#: globalPlugins/WorldVoiceXVED2/__init__.py:81
#: globalPlugins/WorldVoiceXVED2/__init__.py:86
#: globalPlugins/WorldVoiceXVED2/__init__.py:83
#: globalPlugins/WorldVoiceXVED2/__init__.py:88
msgid "Import File"
msgstr "导入文件"

#: globalPlugins/WorldVoiceXVED2/__init__.py:85
#: globalPlugins/WorldVoiceXVED2/__init__.py:87
msgid ""
"For the new file to import, NVDA must be restarted. Are you want to restart "
"NVDA now ?"
msgstr "为了使导入的文件生效, NVDA 必需重新启动。您要立即重新启动吗?"

#: globalPlugins/WorldVoiceXVED2/__init__.py:93
#: globalPlugins/WorldVoiceXVED2/__init__.py:95
msgid ""
"You have no core(driver 2) installed.\n"
"Do you want to install the core(driver 2) now?"
msgstr ""
"您尚未安装(driver 2)核心。\n"
"您是否要现在安装?"

#: globalPlugins/WorldVoiceXVED2/__init__.py:95
#: globalPlugins/WorldVoiceXVED2/__init__.py:97
msgid "No core installed."
msgstr "尚未安装核心"

#: globalPlugins/WorldVoiceXVED2/__init__.py:108
#: globalPlugins/WorldVoiceXVED2/__init__.py:110
msgid "SpeechSettingsDialog have already been opened"
msgstr "语音设置(&S)對話框已開啟"
msgstr "语音设置對話框已開啟"

#: globalPlugins/WorldVoiceXVED2/__init__.py:114
#: globalPlugins/WorldVoiceXVED2/__init__.py:116
msgid "SpeechSymbolsDialog have already been opened"
msgstr "Unicode 設定對話框已開啟"
msgstr "Unicode 设置對話框已開啟"

#: globalPlugins/WorldVoiceXVED2/__init__.py:118
#: globalPlugins/WorldVoiceXVED2/__init__.py:120
msgid "popup SpeechSettingsDialog"
msgstr "弹出语音设置对话框(&S)"

#: globalPlugins/WorldVoiceXVED2/__init__.py:126
#: globalPlugins/WorldVoiceXVED2/__init__.py:128
msgid "popup SpeechSymbolsDialog"
msgstr "弹出 标点符号读音对话框"

Expand Down Expand Up @@ -242,40 +242,51 @@ msgstr "拉丁字符对应的语言"
msgid "Language assumed for CJK characters:"
msgstr "中日韩字符对应的语言:"

#: synthDrivers/WorldVoiceXVED2/__init__.py:71
#: synthDrivers/WorldVoiceXVED2/__init__.py:44
msgid "Number &Language"
msgstr "数字语言(&M)"

#: synthDrivers/WorldVoiceXVED2/__init__.py:75
#: synthDrivers/WorldVoiceXVED2/__init__.py:84
msgid "Number Mode"
msgstr "数字模式"
#: synthDrivers/WorldVoiceXVED2/__init__.py:48
msgid "Number Language"
msgstr "数字语言"

#: synthDrivers/WorldVoiceXVED2/__init__.py:80
#: synthDrivers/WorldVoiceXVED2/__init__.py:53
msgid "Number &Mode"
msgstr "数字模式(&M)"

#: synthDrivers/WorldVoiceXVED2/__init__.py:89
#: synthDrivers/WorldVoiceXVED2/__init__.py:57
msgid "Number Mode"
msgstr "数字模式"

#: synthDrivers/WorldVoiceXVED2/__init__.py:62
msgid "Pause time when encountering spaces between Chinese"
msgstr "中文空格暂停时间"

#: synthDrivers/WorldVoiceXVED2/__init__.py:95
#: synthDrivers/WorldVoiceXVED2/__init__.py:68
msgid "Ignore comma between number"
msgstr "忽略数字中的逗号"

#: synthDrivers/WorldVoiceXVED2/__init__.py:100
#: synthDrivers/WorldVoiceXVED2/__init__.py:73
msgid "Ignore language information of document"
msgstr "忽略文档中的语言信息"

#: synthDrivers/WorldVoiceXVED2/__init__.py:354
#: synthDrivers/WorldVoiceXVED2/__init__.py:78
msgid "Enable WorldVoice setting rules to detect text language"
msgstr "启用 WorldVoice 设定规则来检测文本语言"

#: synthDrivers/WorldVoiceXVED2/__init__.py:81
msgid "Enable WorldVoice rules"
msgstr "启用 WorldVoice 规则"

#: synthDrivers/WorldVoiceXVED2/__init__.py:338
msgid "default"
msgstr "默认"

#: synthDrivers/WorldVoiceXVED2/__init__.py:370
#: synthDrivers/WorldVoiceXVED2/__init__.py:351
msgid "value"
msgstr "数值"

#: synthDrivers/WorldVoiceXVED2/__init__.py:371
#: synthDrivers/WorldVoiceXVED2/__init__.py:352
msgid "number"
msgstr "数字"

Expand Down
Loading

0 comments on commit ab61b46

Please sign in to comment.