diff --git a/main/ui/src/main/java/org/cryptomator/ui/settings/Localization.java b/main/ui/src/main/java/org/cryptomator/ui/settings/Localization.java index c13000625..b51382fcd 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/settings/Localization.java +++ b/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); } } diff --git a/main/ui/src/main/resources/localization/nl.txt b/main/ui/src/main/resources/localization/nl.txt index f037ef101..001920dbc 100644 --- a/main/ui/src/main/resources/localization/nl.txt +++ b/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. \ No newline at end of file +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 \ No newline at end of file diff --git a/main/ui/src/main/resources/localization/zh.txt b/main/ui/src/main/resources/localization/zh.txt new file mode 100644 index 000000000..f2b47e554 --- /dev/null +++ b/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 = 无法验证消息验证代码的版本。 \ No newline at end of file diff --git a/main/ui/src/main/resources/localization/zh_HK.txt b/main/ui/src/main/resources/localization/zh_HK.txt new file mode 100644 index 000000000..777e7a168 --- /dev/null +++ b/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 = 無法認證消息驗證碼版本。 \ No newline at end of file diff --git a/main/ui/src/main/resources/localization/zh_TW.txt b/main/ui/src/main/resources/localization/zh_TW.txt new file mode 100644 index 000000000..4eb8df637 --- /dev/null +++ b/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 = 無法認證消息驗證碼版本。 \ No newline at end of file diff --git a/main/ui/src/test/java/org/cryptomator/ui/LocalizationTest.java b/main/ui/src/test/java/org/cryptomator/ui/settings/LocalizationTest.java similarity index 96% rename from main/ui/src/test/java/org/cryptomator/ui/LocalizationTest.java rename to main/ui/src/test/java/org/cryptomator/ui/settings/LocalizationTest.java index 6f086064c..82899c64b 100644 --- a/main/ui/src/test/java/org/cryptomator/ui/LocalizationTest.java +++ b/main/ui/src/test/java/org/cryptomator/ui/settings/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