From ad31466bb18241fff11e56ba5340178afe5184a3 Mon Sep 17 00:00:00 2001 From: ahdg <36436808+ahdg6@users.noreply.github.com> Date: Thu, 11 Feb 2021 06:39:36 +0800 Subject: [PATCH] Fix zh_CN not being loaded (#369) --- .../category/MessageCategory.java | 2 +- .../src/main/resources/assets/lang/zh_CN.conf | 108 +++++++++--------- .../category/MessageCategory.java | 2 +- 3 files changed, 57 insertions(+), 55 deletions(-) diff --git a/bukkit/src/main/java/com/griefdefender/configuration/category/MessageCategory.java b/bukkit/src/main/java/com/griefdefender/configuration/category/MessageCategory.java index a199247..59ea5b8 100644 --- a/bukkit/src/main/java/com/griefdefender/configuration/category/MessageCategory.java +++ b/bukkit/src/main/java/com/griefdefender/configuration/category/MessageCategory.java @@ -31,7 +31,7 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable; public class MessageCategory extends ConfigCategory { @Setting(value = "locale", comment = "Set the locale to use for GD messages. (Default: en_US)\n" + - "Available languages: de_DE, en_US, es_ES, fr_FR, pl_PL, ru_RU. The data is stored under assets in jar.\n" + + "Available languages: de_DE, en_US, es_ES, fr_FR, pl_PL, ru_RU, zh_CN, zh_HK. The data is stored under assets in jar.\n" + "Note: The language code must be lowercase and the country code must be uppercase.") public String locale = "en_US"; diff --git a/common/src/main/resources/assets/lang/zh_CN.conf b/common/src/main/resources/assets/lang/zh_CN.conf index c9ac32d..cbb473b 100644 --- a/common/src/main/resources/assets/lang/zh_CN.conf +++ b/common/src/main/resources/assets/lang/zh_CN.conf @@ -72,13 +72,13 @@ GriefDefender { trapped="如果玩家被卡住并且无法放置方块,这将传送玩家到一个安全的位置。" trust-access="授予玩家 除容器之外 的所有方块的交互权限。" trust-container="授予玩家 包括容器在内 的所有方块的交互权限。" - trust-group="在您目前所处的领地上授予单个权限组所有成员权限。\nAccessor: 允许与 除容器之外 的所有方块进行交互。\nContainer: 允许与 包括容器在内 的所有方块进行交互。\nBuilder: 允许一切建立在 方块的放置与破坏 上的行为。\nManager: 允许一切(包括领地标签管理)行为。" - trust-group-all="在您所有的领地上授予单个权限组所有成员权限。\nAccessor: 允许与 除容器之外 的所有方块进行交互。\nContainer: 允许与 包括容器在内 的所有方块进行交互。\nBuilder: 允许一切建立在 方块的放置与破坏 上的行为。\nManager: 允许一切(包括领地标签管理)行为。" + trust-group="在您目前所处的领地上授予单个权限组所有成员权限。\n非容器交互身份: 允许与 除容器之外 的所有方块进行交互。\n容器交互身份: 允许与 包括容器在内 的所有方块进行交互。\n领地建筑师: 允许一切建立在 方块的放置与破坏 上的行为。\n领地管理者: 允许一切(包括领地标签管理)行为。" + trust-group-all="在您所有的领地上授予单个权限组所有成员权限。\n非容器交互身份: 允许与 除容器之外 的所有方块进行交互。\n容器交互身份: 允许与 包括容器在内 的所有方块进行交互。\n领地建筑师: 允许一切建立在 方块的放置与破坏 上的行为。\n领地管理者: 允许一切(包括领地标签管理)行为。" trust-list="管理您目前所处的领地的信任列表。" - trust-player="在您目前所处的领地上授予一名玩家权限。\nAccessor: 允许与 除容器之外 的所有方块进行交互。\nContainer: 允许与 包括容器在内 的所有方块进行交互。\nBuilder: 允许一切建立在 方块的放置与破坏 上的行为。\nManager: 允许一切(包括领地标签管理)行为。" - trust-player-all="在您所有的领地上授予一名玩家权限。\nAccessor: 允许与 除容器之外 的所有方块进行交互。\nContainer: 允许与 包括容器在内 的所有方块进行交互。\nBuilder: 允许一切建立在 方块的放置与破坏 上的行为。\nManager: 允许一切(包括领地标签管理)行为。" - untrust-group="移除一个群组在您目前所处领地上的权限。" - untrust-group-all="移除一个群组在您所有领地上的权限。" + trust-player="在您目前所处的领地上授予一名玩家权限。\n非容器交互身份: 允许与 除容器之外 的所有方块进行交互。\n容器交互身份: 允许与 包括容器在内 的所有方块进行交互。\n领地建筑师: 允许一切建立在 方块的放置与破坏 上的行为。\n领地管理者: 允许一切(包括领地标签管理)行为。" + trust-player-all="在您所有的领地上授予一名玩家权限。\n非容器交互身份: 允许与 除容器之外 的所有方块进行交互。\n容器交互身份: 允许与 包括容器在内 的所有方块进行交互。\n领地建筑师: 允许一切建立在 方块的放置与破坏 上的行为。\n领地管理者: 允许一切(包括领地标签管理)行为。" + untrust-group="移除一个LP权限组在您目前所处领地上的权限。" + untrust-group-all="移除一个LP权限组在您所有领地上的权限。" untrust-player="移除一名玩家在您目前所处领地上的权限。" untrust-player-all="移除一名玩家在您所有领地上的权限。" version="显示 GriefDefender 的版本信息。" @@ -125,6 +125,7 @@ GriefDefender { claim-children-warning="&6这个领地包含子领地。如果您想移除,请再次使用 &f/deleteclaim&6 。" claim-context-not-found="&c情境 &f{context}&c 不能被找到。" claim-disabled-world="&c领地在这个世界被禁用。" + claim-display-name="&a设置领地显示名为 {name}&a。" claim-expired-inactivity="&6{player} &c的领地(ID:&f{uuid})&c 由于长期不上线而过期被移除。" claim-farewell="&a设置领地告别信息为 {farewell}&a." claim-farewell-clear="&a领地告别信息已被清除。" @@ -134,7 +135,6 @@ GriefDefender { claim-ignore="&a现在正在无视领地保护。" claim-last-active="&a领地上次活跃时间 &6{date}&a。" claim-mode-start="{type}&a 领地的首个对角选点已确定! 在对角进行右击选定区域就可以完成领地的创建。如果您想取消操作,请输入 &f/claim&a 以退出圈地模式。" - claim-display-name="&a设置领地显示名为 {name}&a。" claim-no-claims="&c您没有任何领地。" claim-no-set-home="&c您必须在此处被信任才能使用 /sethome 。" claim-not-found="&c这里没有任何领地。" @@ -166,16 +166,16 @@ GriefDefender { claiminfo-ui-claim-expiration="领地到期时限" claiminfo-ui-click-admin="点击此处查看管理员设置" claiminfo-ui-click-bank="点击此处查看银行信息" - claiminfo-ui-click-change-claim="点击以将领地类型切换为 {type}" + claiminfo-ui-click-change-claim="点击以将领地类型切换为 {type}" claiminfo-ui-click-farewell="点击以更改告别信息" claiminfo-ui-click-greeting="点击以更改问候信息" claiminfo-ui-click-name="点击以更改领地名称" claiminfo-ui-click-toggle="点击以切换数据值" - claiminfo-ui-deny-messages="拒绝信息" + claiminfo-ui-deny-messages="权限拒绝信息" claiminfo-ui-flag-overrides="覆写标签" claiminfo-ui-for-sale="待售" claiminfo-ui-inherit-parent="继承父母设定" - claiminfo-ui-last-active="最后上线" + claiminfo-ui-last-active="最后上线于" claiminfo-ui-north-corners="北面角落" claiminfo-ui-pvp-override="PvP 设定" claiminfo-ui-requires-claim-blocks="需要领地方块" @@ -185,7 +185,7 @@ GriefDefender { claiminfo-ui-size-restrictions="尺寸限制" claiminfo-ui-south-corners="南面角落" claiminfo-ui-teleport-direction="点击以传送至领地的 {direction}&f 面角落。" - claiminfo-ui-teleport-feature="您没有在此领地中使用传送功能的权限" + claiminfo-ui-teleport-feature="您没有在此领地中使用传送功能的权限。" claiminfo-ui-teleport-spawn="点击传送至领地重生点" claiminfo-ui-title-claiminfo="领地信息" claiminfo-ui-town-settings="城镇设置" @@ -237,7 +237,7 @@ GriefDefender { command-invalid-claim="&c这个命令无法在类型为 {type}&c 的领地使用。" command-invalid-group="&c权限组 &6{group}&c 不是有效参数。" command-invalid-input="&c无效的命令键入 '{input}&c'。" - command-invalid-player="&c玩家 &6{player}&c 不是有效的。." + command-invalid-player="&c玩家 &6{player}&c 不是有效的。" command-invalid-player-group="&c不是一个有效的权限组和玩家。" command-invalid-type="&c无效类型 {type}&c 被指定。" command-not-available-economy="&c该命令无法在服务器使用货币领地模式下适用。" @@ -274,8 +274,8 @@ GriefDefender { debug-error-upload="&c在上传内容时出错 {content}&c。" debug-no-records="&c没有debug 报告能被上传!" debug-paste-success="&a报告上传成功!" - debug-record-end="报告记录结束" - debug-record-start="报告记录开始" + debug-record-end="调式报告记录结束" + debug-record-start="调试报告记录开始" debug-time-elapsed="记录已持续的时间" delete-all-player-failed="&a无法删除玩家 &6{player}&a 的所有领地。领地处理结果为 &f{result}&a。" delete-all-player-success="&a已删除玩家 &6{player}&a 的所有领地。" @@ -382,7 +382,7 @@ GriefDefender { flag-description-collide-entity="控制实体是否可与实体有碰撞箱。\n&d示例&f : 要防止实体与物品展示框产生交互,请输入\n&a/cf collide-entity minecraft:item_frame false\n&b注意&f : minecraft 代表 modid,item_frame 代表 实体id,输入以注册名呈现。\n若不做指定,那么modid默认为minecraft。" flag-description-command-execute="控制命令是否可被执行。\n&d示例&f : 要防止神奇宝贝mod的 '/shop select' 指令被执行,请输入\n&a/cf command-execute pixelmon:shop[select] false\n&b注意&f : &o&6pixelmon&f 代表 modid,&o&6shop&f 代表一级命令,而 &o&6select&f 代表二级命令参数。\n若不做指定,那么modid默认为minecraft。" flag-description-command-execute-pvp="控制PVP时指令是否能被执行。\n&d示例&f : 要防止神奇宝贝mod的 '/shop select' 指令在PVP时被执行,请输入\n&a/cf command-execute pixelmon:shop[select] false\n&b注意&f : &o&6pixelmon&f 代表 modid,&o&6shop&f 代表一级命令,而 &o&6select&f 代表二级命令阐述。\n若不做指定,那么modid默认为minecraft。" - flag-description-custom-animal-block-modify="控制动物行为是否能对方块进行更改。" + flag-description-custom-animal-block-modify="控制动物行为是否能对方块进行更改。" flag-description-custom-armorstand-use="控制盔甲架是否可被放置或破坏。" flag-description-custom-block-trampling="控制农田和海龟蛋是否可以被践踏。" flag-description-custom-build="控制是否允许对方块和实体执行操作,例如挖掘、放置和交互。" @@ -438,9 +438,9 @@ GriefDefender { flag-description-custom-player-teleport-to="控制玩家能否传送至这个领地。" flag-description-custom-player-villager-damage="控制玩家能否对村民造成伤害。" flag-description-custom-pvp="控制领地内是否允许PVP。" - flag-description-custom-ravager-block-break="控制 掠夺者 在突袭过程中是否可以破坏方块。" + flag-description-custom-ravager-block-break="控制 掠夺者 在突袭过程中是否可以破坏方块。" flag-description-custom-ride="控制能否在领地内对载体(包括动物)进行骑乘。" - flag-description-custom-silverfish-block-infest="控制 蠹虫 是否能寄宿于原石等方块体。" + flag-description-custom-silverfish-block-infest="控制 蠹虫 是否能寄宿于原石等方块体。" flag-description-custom-sleep="控制玩家能否在床上睡觉。" flag-description-custom-snow-fall="控制雪是否可以堆积。" flag-description-custom-snow-melt="控制雪是否可以融化。" @@ -498,8 +498,8 @@ GriefDefender { flag-reset-success="&a领地标签数据值已被成功恢复为默认。" flag-reset-warning="&6您确定您要将这个领地的标签数据恢复为默认预设?" flag-set-permission-target="&a已对目标 &6{target}&a 于情境 &7{contexts}&a 中类型为 {type}&a 的权限 &b{permission}&a 的值设置为 {value}&a。" - flag-ui-click-allow="点击这里以允许这个标签。" - flag-ui-click-deny="点击这里以拒绝这个标签。" + flag-ui-click-allow="点击这里以开启这个标签。" + flag-ui-click-deny="点击这里以关闭这个标签。" flag-ui-click-remove="点击这里来移除这个标签。" flag-ui-click-toggle="点击这里以切换 {flag}&f 的值。" flag-ui-event-cancel="无法切换标签定义! 事件被一个插件取消。" @@ -515,19 +515,20 @@ GriefDefender { flag-ui-override-no-permission="这个标签已由管理员覆写并且 &n&c不能&f 被改变。" flag-ui-override-permission="{flag}&f 当前正在被管理员进行 &c覆写&f 。\n点击这里以移除这个标签。" flag-ui-return-flags="返回到标签界面" - label-accessors=Accessors + label-accessors=非容器交互身份组 label-all=全体 label-area=区域 label-available=可用的 label-balance=余额 + label-basic=基础 label-blocks=领地方块 - label-builders=Builders + label-builders=领地建筑组 label-buy=购买 label-cancel=取消 label-children=子领地们 label-claim=领地 label-confirm=确认 - label-containers=Containers + label-containers=容器交互身份组 label-context=情境 label-created=创建 label-day=天 @@ -539,16 +540,16 @@ GriefDefender { label-filter=过滤器 label-flag=标签 label-greeting=问候信息 - label-group=群组 + label-group=LP权限组 label-hour=时 label-hours=多小时 label-inherit=继承 label-location=位置 - label-managers=Managers + label-managers=领地管理组 label-minute=分 label-minutes=多分钟 label-name=名称 - label-no=无 + label-no=否 label-none=空 label-output=输出 label-owner=所有者 @@ -561,7 +562,7 @@ GriefDefender { label-renter=租客 label-resizable=尺寸可调 label-result=结果 - label-schematic=Schematic图 + label-schematic=Schematic图表 label-source=来源 label-spawn=生成 label-status=状态 @@ -640,7 +641,7 @@ GriefDefender { option-ui-not-defined="这个值不能被那么定义且无法再低。" option-ui-overridden="&c设置选项配置失败。选项配置 &f{option}&c 已被管理员强制覆写。" option-ui-override-no-permission="这个选项配置已被管理员覆写且 &n&c不能&f 被更改。" - owner-admin="一名管理员" + owner-admin="管理员" permission-access="&c您没有来自 &6{player}&c 的权限来那么做。" permission-assign-without-having="&c您不能分配您没有的权限。" permission-ban-block="&c方块 {id}&c 已被 &l&n禁用&c 且不能使用。" @@ -675,7 +676,7 @@ GriefDefender { permission-flow-liquid="&c您没有权限让流体在这个领地流动。" permission-global-option="&c您没有权限来管理全局选项配置。" permission-grant="&c您不能提权您没有的权限。" - permission-group-option="&c您没有权限来分配选项配置到群组。" + permission-group-option="&c您没有权限来分配选项配置到LP权限组。" permission-interact-block="&c您没有来自 &6{player} &c的权限来与方块 &d{block}&c 进行交互。" permission-interact-entity="&c您没有来自 &6{player}'s &c的权限來与实体 &d{entity}&c 进行交互。" permission-interact-item="&c您没有来自 &6{player} &c的权限來与物品 &d{item}&c 进行交互。" @@ -700,8 +701,8 @@ GriefDefender { permission-true="是" permission-trust="&c您没有来自 &6{player}&c 的权限来管理这里的权限设置。" permission-undefined="尚未定义" - permission-visual-claims-nearby="&c您没有权限以可视化附加领地。" - player-accrued-blocks-exceeded="&c玩家&6{player}&c共计拥有&6{total}&c,如果允许扩张&6{amount}&c个方块,将会超过所允许的最大领地方块所有数。\n请减少方块所有数或拥有管理员给予的无限扩张授权。" + permission-visual-claims-nearby="&c您没有权限以可视化附近领地。" + player-accrued-blocks-exceeded="&c玩家&6{player}&c共计拥有&6{total}&c,如果允许其继续扩张&6{amount}&c个方块,将会超过所允许的最大领地方块所有数。\n请减少领地方块所有数或使其拥有管理员给予的无限扩张权限。" player-item-drops-lock="&a您的掉落物品已被保护。请输入&f/unlockdrops&a来允许其他玩家拾取他们。" player-no-claims-to-delete="&a玩家&6{player}&a没有领地来删除。" player-remaining-blocks-2d="&a您可以将领地扩张&6{block-amount}&a个领地方块的地。" @@ -743,7 +744,7 @@ GriefDefender { registry-entity-not-found="&c在注册表内找不到ID为 {id} &c的实体。" registry-item-not-found="&c在注册表内找不到ID为 {id} &c的物品。" rent-system-disabled="&c租赁系统未启用。" - rent-ui-click-cancel="点击此处取消 " + rent-ui-click-cancel="点击此处取消" rent-ui-click-rent="点击此处租赁" rent-ui-end-date="终止日期" rent-ui-hover-end-date="领地租赁将会在该时间终止。若想要续租,请与领地所有者交涉。" @@ -766,21 +767,21 @@ GriefDefender { result-type-child-same="{type}&c类型的领地不能有指向{type}&c 类型的子空间。" result-type-create-deny="{type}'s&c 不能在 {target_type}下创建。" result-type-fail=失败 - result-type-no-children="{type}'s&c不能包含子领地。" - result-type-only-subdivision="{type}'s&c只能包含子空间。" + result-type-no-children="{type} &c不能包含子领地。" + result-type-only-subdivision="{type} &c只能包含子空间。" result-type-requires-owner="&c无法将领地类型从 {type}转换为{target_type}。需要所有者权限。" result-type-success=成功 schematic-abandon-all-restore-warning="&6您确定要&n放弃&6 您的&c所有&6领地? &c所有数据将会丢失&f!!&6 在确认后您的领地将会被恢复至初始状态。" schematic-abandon-all-restore-warning-world="&6您确定要 &n放弃&6 您在世界&a{world}中的&c所有&6领地? &c所有数据将会丢失&f!!&6 在确认后您的领地将会被恢复至初始状态。" schematic-abandon-restore-warning="&6您确定要&n放弃&6该领地? &c所有数据将会丢失&f!!&6在确认后该领地将被恢复至初始状态。" - schematic-create="&a正在创建图表备份。。。" - schematic-create-complete="&a图表备份已完成。" - schematic-create-fail="&c图表无法创建。" - schematic-deleted="&a图表 {name} 已被删除。" - schematic-none="&a该领地没有图表备份。" - schematic-restore-click="&a点击此处恢复领地图表。\nName: {name}\n创建日期: {date}" - schematic-restore-confirmation="&6您确定您想要恢复? 点击确认从图表备份恢复 &c所有&6 领地数据。请谨慎使用!" - schematic-restore-confirmed="&a您已成功从图表备份&b{name}&a恢复您的领地。" + schematic-create="&a正在创建Schematic图表备份..." + schematic-create-complete="&aSchematic图表备份已完成。" + schematic-create-fail="&cSchematic图表无法创建。" + schematic-deleted="&aSchematic图表 {name} 已被删除。" + schematic-none="&a该领地没有Schematic图表备份。" + schematic-restore-click="&a点击此处恢复领地Schematic图表。\nName: {name}\n创建日期: {date}" + schematic-restore-confirmation="&6您确定您想要恢复? 点击确认从Schematic图表备份恢复 &c所有&6 领地数据。请谨慎使用!" + schematic-restore-confirmed="&a您已成功从Schematic图表备份&b{name}&a恢复您的领地。" spawn-not-set="&c领地传送点未设置。" spawn-set-success="&aS已成功设置领地传送点&b{location}&a。" spawn-teleport="&a已传送至领地传送点:&b{location}&a。" @@ -797,20 +798,21 @@ GriefDefender { teleport-move-cancel="&c传送取消! 请勿在等待传送时移动。" teleport-no-safe-location="&c领地内没有安全的位置来传送!\n&a请使用命令'&f/claiminfo&a' 来设置一个替代传送点。" teleport-success="&a您已被传送至{name}&a。" - title-accessor=ACCESSOR + title-accessor=非容器交互身份组 title-admin=管理员 title-advanced=高级 title-all=全部 - title-builder=BUILDER + title-basic=基础 + title-builder=领地建筑师 title-buy=购买 title-claim=领地 - title-container=CONTAINER + title-container=容器交互身份组 title-default=默认 title-group=小组 title-inherit=继承 - title-manager=MANAGER + title-manager=领地管理者 title-override=覆写 - title-own=所有者 + title-own=自身所有 title-preset=预设 title-rent=租金 tool-not-equipped="&c您未配备有工具 {tool}&c。" @@ -826,25 +828,25 @@ GriefDefender { town-tax-no-claims="&c如果想要上税,您必须在此城镇内有财产。" trust-already-has="&c{target} 已经拥有 {type}&c 权限。" trust-click-show-list="点击此处查看领地内所有信任玩家的名单。" - trust-grant="&a已给予&6{target}&a {type}&a 在当前领地内的信任权限。" + trust-grant="&a已给予 &6{target} &a在当前领地内的 &6{type}&a 信任权限。" trust-individual-all-claims="&a已给予 &6{player}'s&a在您所有领地内的完全信任权限。想要移除在您所有领地内的信任权限,请使用 &f/untrustall&a。" - trust-invalid="&c输入了无效的信任权限。\n有效的权限如下 : accessor,builder,container,以及 manager。" + trust-invalid="&c输入了无效的信任权限。\n有效的权限如下 : accessor(非容器交互身份),builder(领地建筑师),container(容器交互身份),以及 manager(领地管理组)。" trust-list-header="权限显示:" trust-no-claims="&c您没有领地来添加信任权限。" - trust-plugin-cancel="&c不能为{target}添加信任权限&c。因为被一个插件阻止了。" + trust-plugin-cancel="&c由于第三方插件的阻止,不能为 &6{target} &c添加信任权限。" trust-self="&c您不能为您自己添加信任权限。" tutorial-claim-basic="&e点击此处获取Land Claim的帮助: &ahttp://bit.ly/mcgpuser" ui-click-add="点击此处添加" - ui-click-add-target="点击此处添加&6{target}&f" + ui-click-add-target="点击此处添加 &6{target}&f" ui-click-confirm="点击此处确认" - ui-click-filter-type="点击此处用{type}筛选&f" + ui-click-filter-type="点击此处用 {type} &f筛选" ui-click-record-chat="点击此处查看消息记录。" ui-click-remove="点击此处来移除" ui-click-return-command="&b返回 &6{command}" - ui-click-view="点击此处查看{target}" + ui-click-view="点击此处查看 {target}" ui-click-view-transactions="点击此处查看交易。" ui-conflict-data="冲突数据" - ui-record-chat="记录聊天" + ui-record-chat="聊天记录" untrust-individual-all-claims="&a已移除 &6{target}&a 于您所有领地内的权限。如果您只想移除在单个领地内的权限,请站在那个领地内并使用 &f/untrust&a。" untrust-individual-single-claim="&a已移除 &6{target}&a 于该领地的权限。如果您想要移除在您所有领地内的权限,请使用 &f/untrustall&a。" untrust-no-claims="&c您没有可取消信任权限的领地。" diff --git a/sponge/src/main/java/com/griefdefender/configuration/category/MessageCategory.java b/sponge/src/main/java/com/griefdefender/configuration/category/MessageCategory.java index a199247..59ea5b8 100644 --- a/sponge/src/main/java/com/griefdefender/configuration/category/MessageCategory.java +++ b/sponge/src/main/java/com/griefdefender/configuration/category/MessageCategory.java @@ -31,7 +31,7 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable; public class MessageCategory extends ConfigCategory { @Setting(value = "locale", comment = "Set the locale to use for GD messages. (Default: en_US)\n" + - "Available languages: de_DE, en_US, es_ES, fr_FR, pl_PL, ru_RU. The data is stored under assets in jar.\n" + + "Available languages: de_DE, en_US, es_ES, fr_FR, pl_PL, ru_RU, zh_CN, zh_HK. The data is stored under assets in jar.\n" + "Note: The language code must be lowercase and the country code must be uppercase.") public String locale = "en_US";