浏览代码

Added chinese localizations, updated dutch localization

Sebastian Stenzel 8 年之前
父节点
当前提交
c64294ac3e

+ 31 - 11
main/ui/src/main/java/org/cryptomator/ui/settings/Localization.java

@@ -18,6 +18,7 @@ import javax.inject.Inject;
 import javax.inject.Singleton;
 
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -28,31 +29,50 @@ public class Localization extends ResourceBundle {
 
 	private static final String LOCALIZATION_DEFAULT_FILE = "/localization/en.txt";
 	private static final String LOCALIZATION_FILENAME_FMT = "/localization/%s.txt";
-	private static final String LOCALIZATION_FILE = String.format(LOCALIZATION_FILENAME_FMT, Locale.getDefault().getLanguage());
 
 	private final ResourceBundle fallback;
 	private final ResourceBundle localized;
 
 	@Inject
 	public Localization() {
-		try (InputStream in = getClass().getResourceAsStream(LOCALIZATION_DEFAULT_FILE)) {
-			Objects.requireNonNull(in);
-			Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
-			this.fallback = new PropertyResourceBundle(reader);
-			LOG.info("Loaded localization from bundle:{}", LOCALIZATION_FILE);
+		try {
+			this.fallback = Objects.requireNonNull(loadLocalizationFile(LOCALIZATION_DEFAULT_FILE));
+			LOG.debug("Loaded localization default file: {}", LOCALIZATION_DEFAULT_FILE);
+
+			String language = Locale.getDefault().getLanguage();
+			String region = Locale.getDefault().getCountry();
+			LOG.info("Detected language \"{}\" and region \"{}\"", language, region);
+
+			ResourceBundle localizationBundle = null;
+			if (StringUtils.isNotEmpty(language) && StringUtils.isNotEmpty(region)) {
+				String file = String.format(LOCALIZATION_FILENAME_FMT, language + "_" + region);
+				LOG.info("Attempting to load localization from: {}", file);
+				localizationBundle = loadLocalizationFile(file);
+			}
+			if (StringUtils.isNotEmpty(language) && localizationBundle == null) {
+				String file = String.format(LOCALIZATION_FILENAME_FMT, language);
+				LOG.info("Attempting to load localization from: {}", file);
+				localizationBundle = loadLocalizationFile(file);
+			}
+			if (localizationBundle == null) {
+				LOG.info("No localization found. Falling back to default language.");
+				localizationBundle = this.fallback;
+			}
+			this.localized = Objects.requireNonNull(localizationBundle);
 		} catch (IOException e) {
 			throw new UncheckedIOException(e);
 		}
+	}
 
-		try (InputStream in = getClass().getResourceAsStream(LOCALIZATION_FILE)) {
+	// returns null if no resource for given path
+	private ResourceBundle loadLocalizationFile(String resourcePath) throws IOException {
+		try (InputStream in = getClass().getResourceAsStream(resourcePath)) {
 			if (in != null) {
 				Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
-				this.localized = new PropertyResourceBundle(reader);
+				return new PropertyResourceBundle(reader);
 			} else {
-				this.localized = this.fallback;
+				return null;
 			}
-		} catch (IOException e) {
-			throw new UncheckedIOException(e);
 		}
 	}
 

+ 12 - 13
main/ui/src/main/resources/localization/nl.txt

@@ -3,10 +3,10 @@ app.name = Cryptomator
 main.emptyListInstructions = Klik hier om een kluis toe te voegen
 main.directoryList.contextMenu.remove = Verwijder van lijst
 main.directoryList.contextMenu.changePassword = Verander wachtwoord
-main.addDirectory.contextMenu.new = Creeer nieuwe kluis
+main.addDirectory.contextMenu.new = Creëer nieuwe kluis
 main.addDirectory.contextMenu.open = Open bestaande kluis
 # welcome.fxml
-welcome.checkForUpdates.label.currentlyChecking = Controleren op Updates...
+welcome.checkForUpdates.label.currentlyChecking = Controleren op updates...
 welcome.newVersionMessage = Versie %1$s kan worden gedownload.\nDit is %2$s.
 # initialize.fxml
 initialize.label.password = Wachtwoord
@@ -32,8 +32,8 @@ unlock.button.advancedOptions.hide = Minder opties
 unlock.choicebox.winDriveLetter.auto = Automatisch toekennen
 unlock.errorMessage.wrongPassword = Verkeerd wachtwoord
 unlock.errorMessage.mountingFailed = Mounten mislukt. Zie logbestand voor details.
-unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Niet ondersteunde kluis. Deze kluis is gecreëerd met een oudere versie van Cryptomator.
-unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Niet ondersteunde kluis. Deze kluis is gecreëerd met een nieuwere versie van Cryptomator.
+unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Kluis ontoegankelijk. Deze kluis is gecreëerd met een oudere versie van Cryptomator.
+unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Kluis ontoegankelijk. Deze kluis is gecreëerd met een nieuwere versie van Cryptomator.
 unlock.messageLabel.startServerFailed = WebDAV server starten mislukt.
 # change_password.fxml
 changePassword.label.oldPassword = Huidig wachtwoord
@@ -43,12 +43,11 @@ changePassword.label.downloadsPageLink = Alle Cryptomator versies
 changePassword.button.change = Verander wachtwoord
 changePassword.errorMessage.wrongPassword = Alle Cryptomator versies
 changePassword.errorMessage.decryptionFailed = Decoderen mislukt
-changePassword.infoMessage.success = Wachtwoord verandert
 # unlocked.fxml
 unlocked.button.lock = Vergrendel kluis
 unlocked.moreOptions.reveal = Maak schijf zichtbaar
 unlocked.moreOptions.copyUrl = Kopieer WebDAV URL
-unlocked.label.revealFailed = Commando mislukt
+unlocked.label.revealFailed = Opdracht mislukt
 unlocked.label.unmountFailed = Uitwerpen schijf mislukt
 unlocked.label.statsEncrypted = versleuteld
 unlocked.label.statsDecrypted = gedecodeerd
@@ -57,7 +56,7 @@ unlocked.ioGraph.yAxis.label = Doorvoer (MiB/s)
 macWarnings.windowTitle = Pas op - Corrupt bestand in %s
 macWarnings.message = Cryptomator heeft mogelijk kwaadwillende corrupte items aangetroffen in de volgende bestanden\:
 macWarnings.moreInformationButton = Leer meer
-macWarnings.whitelistButton = Doorgaan met decoderen van selectie
+macWarnings.whitelistButton = Desondanks selectie decoderen
 # settings.fxml
 settings.version.label = Versie %s
 settings.checkForUpdates.label = Controleer op updates
@@ -81,10 +80,10 @@ main.directoryList.remove.confirmation.title = Verwijder Kluis
 main.directoryList.remove.confirmation.header = Weet je zeker dat je deze kluis wilt verwijderen?
 main.directoryList.remove.confirmation.content = De kluis zal alleen van de lijst worden verwijdert. Verwijder de bestanden van het bestandssysteem voor permanente verwijdering.
 upgrade.version3to4.msg = Deze kluis dient gemigreerd te worden naar een nieuwer type. \nVersleutelde mapnamen zullen worden geüpdatet. \nZorg ervoor dat de synchronisatie voltooid is alvorens door te gaan.
-upgrade.version3to4.err.io = Migratie mislukt door een I/O Exception. Zie logbestand voor details.
-settings.prefGvfsScheme.label = WebDAV scheme
+upgrade.version3to4.err.io = I/O Exception\: migratie mislukt. Zie logbestand voor details.
+settings.prefGvfsScheme.label = WebDAV schema
 # upgrade.fxml
-upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
-initialize.messageLabel.notEmpty = Vault not empty
-unlock.label.savePassword = Save password
-unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
+upgrade.confirmation.label = Ja, ik heb geverifieerd dat de synchronisatie voltooid is
+initialize.messageLabel.notEmpty = Kluis niet leeg
+unlock.label.savePassword = Wachtwoord bewaren
+unlock.errorMessage.unauthenticVersionMac = MAC authenticatie mislukt

+ 91 - 0
main/ui/src/main/resources/localization/zh.txt

@@ -0,0 +1,91 @@
+app.name = Cryptomator
+# main.fxml
+main.emptyListInstructions = 单击此处添加保管库
+main.directoryList.contextMenu.remove = 从列表中删除
+main.directoryList.contextMenu.changePassword = 更改密码
+main.addDirectory.contextMenu.new = 创建新保管库
+main.addDirectory.contextMenu.open = 打开现有保管库
+# welcome.fxml
+welcome.checkForUpdates.label.currentlyChecking = 正在检查更新……
+welcome.newVersionMessage = 发现新版本版本%1$s\n当前版本%2$s
+# initialize.fxml
+initialize.label.password = 密码
+initialize.label.retypePassword = 确认密码
+initialize.button.ok = 创建保管库
+initialize.messageLabel.alreadyInitialized = 保管库已初始化
+initialize.messageLabel.initializationFailed = 无法初始化保管库。 有关详情,请参阅日志文件。
+# notfound.fxml
+notfound.label = 找不到保险柜。 是否已被移动?
+# upgrade.fxml
+upgrade.button = 升级保险柜
+upgrade.version3dropBundleExtension.msg = 此保管库需要迁移到较新的格式。\n"%1$s"将重命名为"%2$s"。\n请确保同步已完成,然后再继续。
+upgrade.version3dropBundleExtension.err.alreadyExists = 自动迁移失败。\n"%s"已存在
+# unlock.fxml
+unlock.label.password = 密码
+unlock.label.mountName = 驱动器名称
+unlock.label.winDriveLetter = 驱动器号
+unlock.label.downloadsPageLink = 所有Cryptomator版本
+unlock.label.advancedHeading = 高级选项
+unlock.button.unlock = 保险柜解锁
+unlock.button.advancedOptions.show = 更多选项
+unlock.button.advancedOptions.hide = 更少选项
+unlock.choicebox.winDriveLetter.auto = 自动分配
+unlock.errorMessage.wrongPassword = 密码错误
+unlock.errorMessage.mountingFailed = 挂载失败。有关详情,请参阅日志文件。
+unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = 不支持的保管库。 此保管库由旧版本的Cryptomator创建。
+unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = 不支持的保管库。 此保管库由较新版本的Cryptomator创建。
+unlock.messageLabel.startServerFailed = 启动WebDAV服务器失败。
+# change_password.fxml
+changePassword.label.oldPassword = 旧密码
+changePassword.label.newPassword = 新密码
+changePassword.label.retypePassword = 确认新密码
+changePassword.label.downloadsPageLink = 所有Cryptomator版本
+changePassword.button.change = 更改密码
+changePassword.errorMessage.wrongPassword = 密码错误
+changePassword.errorMessage.decryptionFailed = 解密失败
+# unlocked.fxml
+unlocked.button.lock = 保险柜上锁
+unlocked.moreOptions.reveal = 显示驱动器
+unlocked.moreOptions.copyUrl = 复制WebDAV地址(URL)
+unlocked.label.revealFailed = 命令失败
+unlocked.label.unmountFailed = 弹出驱动器失败
+unlocked.label.statsEncrypted = 加密
+unlocked.label.statsDecrypted = 解密
+unlocked.ioGraph.yAxis.label = 吞吐量(Mib/s)
+# mac_warnings.fxml
+macWarnings.windowTitle = 危险 - 在%s有文件损坏
+macWarnings.message = Cryptomator检测到以下文件中的潜在恶意损坏:
+macWarnings.moreInformationButton = 了解更多
+macWarnings.whitelistButton = 任然解密选择项
+# settings.fxml
+settings.version.label = 版本%s
+settings.checkForUpdates.label = 检查更新
+# What's the "*" mean?
+settings.port.label = WebDAV 端口 *
+settings.port.prompt = 0 \=自动选择
+settings.useipv6.label = 使用IPv6
+settings.requiresRestartLabel = * Cryptomator需要重新启动
+# tray icon
+tray.menu.open = 打开
+tray.menu.quit = 退出
+tray.infoMsg.title = 仍在运行
+tray.infoMsg.msg = Cryptomator仍在运行。 从托盘图标中退出。
+tray.infoMsg.msg.osx = Cryptomator仍在运行。 从菜单栏图标中退出。
+initialize.messageLabel.passwordStrength.0 = 非常简单
+initialize.messageLabel.passwordStrength.1 = 简单
+initialize.messageLabel.passwordStrength.2 = 平均水平
+initialize.messageLabel.passwordStrength.3 = 强壮
+initialize.messageLabel.passwordStrength.4 = 非常强壮
+initialize.label.doNotForget = 重要信息:如果您忘记了密码,将无法恢复您的数据。
+main.directoryList.remove.confirmation.title = 移除保险柜
+main.directoryList.remove.confirmation.header = 您确定要删除此保管库吗?
+main.directoryList.remove.confirmation.content = 文件库将仅从列表中删除。 要永久删除它,请从文件系统中删除这些文件。
+upgrade.version3to4.msg = 此保管库需要迁移到较新的格式。\n加密的文件夹名称将更新。\n请确保同步已完成,然后再继续。
+upgrade.version3to4.err.io = 由于I/O异常,迁移失败。有关详情,请参阅日志文件。
+settings.prefGvfsScheme.label = WebDAV方案
+# upgrade.fxml
+upgrade.confirmation.label = 是的,我确保同步已完成
+initialize.messageLabel.notEmpty = 保险柜非空
+unlock.label.savePassword = 保存密码
+# This Mac means Mac(Apple) or Mac address?
+unlock.errorMessage.unauthenticVersionMac = 无法验证消息验证代码的版本。

+ 89 - 0
main/ui/src/main/resources/localization/zh_HK.txt

@@ -0,0 +1,89 @@
+app.name = Cryptomator
+# main.fxml
+main.emptyListInstructions = 按這裡新增檔案庫
+main.directoryList.contextMenu.remove = 從清單移除
+main.directoryList.contextMenu.changePassword = 變更密碼
+main.addDirectory.contextMenu.new = 建立新的檔案庫
+main.addDirectory.contextMenu.open = 打開現有的檔案庫
+# welcome.fxml
+welcome.checkForUpdates.label.currentlyChecking = 檢查更新...
+welcome.newVersionMessage = 版本%1$s可下載。這是%2$s。
+# initialize.fxml
+initialize.label.password = 密碼
+initialize.label.retypePassword = 重新輸入密碼
+initialize.button.ok = 建立檔案庫
+initialize.messageLabel.alreadyInitialized = 已初始化檔案庫
+initialize.messageLabel.initializationFailed = 無法初始化檔案庫。取得詳細資訊,請查看紀錄。
+# notfound.fxml
+notfound.label = 無法找到檔案庫。已經移置別的地方?
+# upgrade.fxml
+upgrade.button = 升級檔案庫
+upgrade.version3dropBundleExtension.msg = 這個檔案庫需要被轉移到新的格式。\n"%1$s"將會重新命名為"%2$s"。\n在進行之前,請確認同步已完成。
+upgrade.version3dropBundleExtension.err.alreadyExists = 自動轉移失敗。\n"%s"已存在。
+# unlock.fxml
+unlock.label.password = 密碼
+unlock.label.mountName = 磁碟名稱
+unlock.label.winDriveLetter = 磁碟代號
+unlock.label.downloadsPageLink = 所有的Cryptomator版本
+unlock.label.advancedHeading = 進階選項
+unlock.button.unlock = 解鎖檔案庫
+unlock.button.advancedOptions.show = 更多選項
+unlock.button.advancedOptions.hide = 更少選項
+unlock.choicebox.winDriveLetter.auto = 自動指定
+unlock.errorMessage.wrongPassword = 錯誤的密碼
+unlock.errorMessage.mountingFailed = 掛載失敗。取得詳細資訊,請查看紀錄。
+unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = 不支援的檔案庫。這個檔案庫是由舊版本的Cryptomator所建立的。
+unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = 不支援的檔案庫。這個檔案庫是由新版本的Cryptomator所建立的。
+unlock.messageLabel.startServerFailed = 啟動WebDAV的伺服器失敗。
+# change_password.fxml
+changePassword.label.oldPassword = 舊密碼
+changePassword.label.newPassword = 新密碼
+changePassword.label.retypePassword = 重新輸入密碼
+changePassword.label.downloadsPageLink = 所有的Cryptomator版本
+changePassword.button.change = 變更密碼
+changePassword.errorMessage.wrongPassword = 錯誤的密碼
+changePassword.errorMessage.decryptionFailed = 解密失敗
+# unlocked.fxml
+unlocked.button.lock = 鎖住檔案庫
+unlocked.moreOptions.reveal = 打開磁碟
+unlocked.moreOptions.copyUrl = 複製WebDAV的網址
+unlocked.label.revealFailed = 指令錯誤
+unlocked.label.unmountFailed = 插入磁碟錯誤
+unlocked.label.statsEncrypted = 加密的
+unlocked.label.statsDecrypted = 解密的
+unlocked.ioGraph.yAxis.label = 傳輸量(MIB / S)
+# mac_warnings.fxml
+macWarnings.windowTitle = 危險 - 損壞的檔案在%s
+macWarnings.message = Cryptomator在下列檔案中,偵測到潛在的損壞威脅:
+macWarnings.moreInformationButton = 取得更多
+macWarnings.whitelistButton = 總是解密所選的
+# settings.fxml
+settings.version.label = 版本%s
+settings.checkForUpdates.label = 檢查更新
+settings.port.label = WebDAV的埠號*
+settings.port.prompt = 0 \=自動選擇
+settings.useipv6.label = 使用IPv6
+settings.requiresRestartLabel = * Cryptomator需要更新
+# tray icon
+tray.menu.open = 打開
+tray.menu.quit = 離開
+tray.infoMsg.title = 仍然在執行
+tray.infoMsg.msg = Cryptomator仍然在運作。從工具列的圖示點選離開。
+tray.infoMsg.msg.osx = Cryptomator仍然在運作。從選單列上點選離開。
+initialize.messageLabel.passwordStrength.0 = 非常弱的
+initialize.messageLabel.passwordStrength.1 = 弱的
+initialize.messageLabel.passwordStrength.2 = 正常的
+initialize.messageLabel.passwordStrength.3 = 強的
+initialize.messageLabel.passwordStrength.4 = 非常強的
+initialize.label.doNotForget = 重要:如果你忘記的密碼,就無法還原你的資料。
+main.directoryList.remove.confirmation.title = 移除檔案庫
+main.directoryList.remove.confirmation.header = 你真的想要移除這個檔案庫?
+main.directoryList.remove.confirmation.content = 這個檔案庫只會從清單中移除。如果要永久刪除,請從檔案系統中刪除。
+upgrade.version3to4.msg = 這個檔案庫需要被轉移到新的格式。\n加密的資料夾名稱將會被更新。\n在進行之前,請確認同步已完成。
+upgrade.version3to4.err.io = 由於I/O的例外,轉移失敗。取得詳細資訊,請查看紀錄。
+settings.prefGvfsScheme.label = WebDAV的格式
+# upgrade.fxml
+upgrade.confirmation.label = 是的,請確認同步已完成。
+initialize.messageLabel.notEmpty = 檔案庫不是空的
+unlock.label.savePassword = 儲存密碼
+unlock.errorMessage.unauthenticVersionMac = 無法認證消息驗證碼版本。

+ 89 - 0
main/ui/src/main/resources/localization/zh_TW.txt

@@ -0,0 +1,89 @@
+app.name = Cryptomator
+# main.fxml
+main.emptyListInstructions = 按這裡新增檔案庫
+main.directoryList.contextMenu.remove = 從清單移除
+main.directoryList.contextMenu.changePassword = 變更密碼
+main.addDirectory.contextMenu.new = 建立新的檔案庫
+main.addDirectory.contextMenu.open = 打開現有的檔案庫
+# welcome.fxml
+welcome.checkForUpdates.label.currentlyChecking = 檢查更新...
+welcome.newVersionMessage = 版本 %1$s 可下載。這是 %2$s 。
+# initialize.fxml
+initialize.label.password = 密碼
+initialize.label.retypePassword = 重新輸入密碼
+initialize.button.ok = 建立檔案庫
+initialize.messageLabel.alreadyInitialized = 已初始化檔案庫
+initialize.messageLabel.initializationFailed = 無法初始化檔案庫。取得詳細資訊,請查看紀錄。
+# notfound.fxml
+notfound.label = 無法找到檔案庫。已經移置別的地方?
+# upgrade.fxml
+upgrade.button = 升級檔案庫
+upgrade.version3dropBundleExtension.msg = 這個檔案庫需要被轉移到新的格式。\n"%1$s" 將會重新命名為 "%2$s"。\n在進行之前,請確認同步已完成。
+upgrade.version3dropBundleExtension.err.alreadyExists = 自動轉移失敗。\n"%s" 已存在。
+# unlock.fxml
+unlock.label.password = 密碼
+unlock.label.mountName = 磁碟名稱
+unlock.label.winDriveLetter = 磁碟代號
+unlock.label.downloadsPageLink = 所有的 Cryptomator 版本
+unlock.label.advancedHeading = 進階選項
+unlock.button.unlock = 解鎖檔案庫
+unlock.button.advancedOptions.show = 更多選項
+unlock.button.advancedOptions.hide = 更少選項
+unlock.choicebox.winDriveLetter.auto = 自動指定
+unlock.errorMessage.wrongPassword = 錯誤的密碼
+unlock.errorMessage.mountingFailed = 掛載失敗。取得詳細資訊,請查看紀錄。
+unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = 不支援的檔案庫。這個檔案庫是由舊版本的 Cryptomator 所建立的。
+unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = 不支援的檔案庫。這個檔案庫是由新版本的 Cryptomator 所建立的。
+unlock.messageLabel.startServerFailed = 啟動 WebDAV 伺服器失敗。
+# change_password.fxml
+changePassword.label.oldPassword = 舊密碼
+changePassword.label.newPassword = 新密碼
+changePassword.label.retypePassword = 重新輸入密碼
+changePassword.label.downloadsPageLink = 所有的 Cryptomator 版本
+changePassword.button.change = 變更密碼
+changePassword.errorMessage.wrongPassword = 錯誤的密碼
+changePassword.errorMessage.decryptionFailed = 解密失敗
+# unlocked.fxml
+unlocked.button.lock = 鎖住檔案庫
+unlocked.moreOptions.reveal = 打開磁碟
+unlocked.moreOptions.copyUrl = 複製 WebDAV 網址
+unlocked.label.revealFailed = 指令錯誤
+unlocked.label.unmountFailed = 插入磁碟錯誤
+unlocked.label.statsEncrypted = 加密的
+unlocked.label.statsDecrypted = 解密的
+unlocked.ioGraph.yAxis.label = 傳輸量 (MiB/s)
+# mac_warnings.fxml
+macWarnings.windowTitle = 危險 - 損壞的檔案在 %s
+macWarnings.message = Cryptomator 在下列檔案中,偵測到潛在的損壞威脅:
+macWarnings.moreInformationButton = 取得更多
+macWarnings.whitelistButton = 總是解密所選的
+# settings.fxml
+settings.version.label = 版本 %s
+settings.checkForUpdates.label = 檢查更新
+settings.port.label = WebDAV 埠號 *
+settings.port.prompt = 0 \= 自動選擇
+settings.useipv6.label = 使用 IPv6 literal
+settings.requiresRestartLabel = * Cryptomator 需要更新 
+# tray icon
+tray.menu.open = 打開
+tray.menu.quit = 離開
+tray.infoMsg.title = 仍然在執行
+tray.infoMsg.msg = Cryptomator 仍然在運作。從工具列的圖示點選離開。
+tray.infoMsg.msg.osx = Cryptomator 仍然在運作。從選單列上點選離開。
+initialize.messageLabel.passwordStrength.0 = 非常弱的
+initialize.messageLabel.passwordStrength.1 = 弱的
+initialize.messageLabel.passwordStrength.2 = 正常的
+initialize.messageLabel.passwordStrength.3 = 強的
+initialize.messageLabel.passwordStrength.4 = 非常強的
+initialize.label.doNotForget = 重要:如果你忘記的密碼,就無法還原你的資料。
+main.directoryList.remove.confirmation.title = 移除檔案庫
+main.directoryList.remove.confirmation.header = 你真的想要移除這個檔案庫?
+main.directoryList.remove.confirmation.content = 這個檔案庫只會從清單中移除。如果要永久刪除,請從檔案系統中刪除。
+upgrade.version3to4.msg = 這個檔案庫需要被轉移到新的格式。\n加密的資料夾名稱將會被更新。\n在進行之前,請確認同步已完成。
+upgrade.version3to4.err.io = 由於 I/O 的例外,轉移失敗。取得詳細資訊,請查看紀錄。
+settings.prefGvfsScheme.label = WebDAV 格式
+# upgrade.fxml
+upgrade.confirmation.label = 是的,請確認同步已完成。
+initialize.messageLabel.notEmpty = 檔案庫不是空的
+unlock.label.savePassword = 儲存密碼
+unlock.errorMessage.unauthenticVersionMac = 無法認證消息驗證碼版本。

+ 3 - 2
main/ui/src/test/java/org/cryptomator/ui/LocalizationTest.java

@@ -6,7 +6,7 @@
  * Contributors:
  *     Sebastian Stenzel - initial API and implementation
  *******************************************************************************/
-package org.cryptomator.ui;
+package org.cryptomator.ui.settings;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -31,7 +31,8 @@ public class LocalizationTest {
 	private static final Logger LOG = LoggerFactory.getLogger(LocalizationTest.class);
 	private static final String RESOURCE_FOLDER_PATH = "/localization/";
 	private static final String REF_FILE_NAME = "en.txt";
-	private static final String[] LANG_FILE_NAMES = {"de.txt", "es.txt", "fr.txt", "hu.txt", "it.txt", "kr.txt", "lv.txt", "nl.txt", "pl.txt", "pt.txt", "ru.txt", "sk.txt", "tr.txt", "uk.txt"};
+	private static final String[] LANG_FILE_NAMES = {"de.txt", "es.txt", "fr.txt", "hu.txt", "it.txt", "kr.txt", "lv.txt", "nl.txt", "pl.txt", "pt.txt", "ru.txt", "sk.txt", "tr.txt", "uk.txt", "zh_HK.txt", "zh_TW.txt",
+			"zh.txt"};
 
 	/*
 	 * @see Formatter