Optimize Chinese Localization, Add Time Units, and Fix Italic Bug (#796)
* add time unit to language file * Fixed a bug where the font following a blocktype name was incorrectly rendered in italics. * Collected time unit abbreviations * Update pom.xml --------- Co-authored-by: Intelli <6790859+Intelli@users.noreply.github.com>
This commit is contained in:
parent
8b3e37774a
commit
abb0ece3e5
7 changed files with 156 additions and 147 deletions
|
|
@ -194,6 +194,7 @@ TIME_HOURS: "{0} {hour|hours}"
|
||||||
TIME_MINUTES: "{0} {minute|minutes}"
|
TIME_MINUTES: "{0} {minute|minutes}"
|
||||||
TIME_MONTHS: "{0} {month|months}"
|
TIME_MONTHS: "{0} {month|months}"
|
||||||
TIME_SECONDS: "{0} {second|seconds}"
|
TIME_SECONDS: "{0} {second|seconds}"
|
||||||
|
TIME_UNITS: "{/m|/h|/d}"
|
||||||
TIME_WEEKS: "{0} {week|weeks}"
|
TIME_WEEKS: "{0} {week|weeks}"
|
||||||
TIME_YEARS: "{0} {year|years}"
|
TIME_YEARS: "{0} {year|years}"
|
||||||
UPDATE_ERROR: "An error occurred while checking for updates."
|
UPDATE_ERROR: "An error occurred while checking for updates."
|
||||||
|
|
|
||||||
249
lang/zh-cn.yml
249
lang/zh-cn.yml
|
|
@ -1,202 +1,213 @@
|
||||||
# CoreProtect Language File (zh-CN)
|
# CoreProtect Language File (zh-CN)
|
||||||
# Origin: Intelli, Translator: DreamVoid, StarWishsama, YuanYuanOwO
|
# Origin: Intelli, Translator: DreamVoid, StarWishsama, YuanYuanOwO, Halogly
|
||||||
|
|
||||||
ACTION_NOT_SUPPORTED: "该命令不支持该操作。"
|
ACTION_NOT_SUPPORTED: "此命令不支持该操作。"
|
||||||
AMOUNT_BLOCK: "{0}个{方块|方块}"
|
AMOUNT_BLOCK: "{0}个{方块|方块}"
|
||||||
AMOUNT_CHUNK: "{0}个{区块|区块}"
|
AMOUNT_CHUNK: "{0}个{区块|区块}"
|
||||||
AMOUNT_ENTITY: "{0}个{实体|实体}"
|
AMOUNT_ENTITY: "{0}个{实体|实体}"
|
||||||
AMOUNT_ITEM: "{0}个{物品|物品}"
|
AMOUNT_ITEM: "{0}个{物品|物品}"
|
||||||
API_TEST: "API 测试成功。"
|
API_TEST: "API 测试成功。"
|
||||||
CACHE_ERROR: "警告: 验证缓存 {0} 时出错。"
|
CACHE_ERROR: "警告:验证缓存 {0} 时出错。"
|
||||||
CACHE_RELOAD: "正在强制从数据库中重新加载{映射|世界}的缓存。"
|
CACHE_RELOAD: "正在强制从数据库中重新加载{映射|世界}缓存。"
|
||||||
CHECK_CONFIG: "请检查 config.yml 文件"
|
CHECK_CONFIG: "请检查 config.yml 文件"
|
||||||
COMMAND_CONSOLE: "请在控制台中运行此命令。"
|
COMMAND_CONSOLE: "请在控制台中运行此命令。"
|
||||||
COMMAND_NOT_FOUND: "找不到命令 \"{0}\""
|
COMMAND_NOT_FOUND: "命令 \"{0}\" 未找到。"
|
||||||
COMMAND_THROTTLED: "请稍等片刻,然后重试。"
|
COMMAND_THROTTLED: "请稍后再试。"
|
||||||
CONSUMER_ERROR: "数据处理队列已经{暂停|恢复}。"
|
CONSUMER_ERROR: "数据处理队列已经{暂停|恢复}。"
|
||||||
CONSUMER_TOGGLED: "数据处理队列现已{暂停|恢复}。"
|
CONSUMER_TOGGLED: "数据处理队列已{暂停|恢复}。"
|
||||||
CONTAINER_HEADER: "容器物品变更记录"
|
CONTAINER_HEADER: "容器物品变更记录"
|
||||||
DATABASE_BUSY: "数据库繁忙,请稍后重试。"
|
CPU_CORES: "CPU 核心。"
|
||||||
|
DATABASE_BUSY: "数据库繁忙,请稍后再试。"
|
||||||
DATABASE_INDEX_ERROR: "无法验证数据库索引。"
|
DATABASE_INDEX_ERROR: "无法验证数据库索引。"
|
||||||
DATABASE_LOCKED_1: "数据库已被锁定,请等待至少15秒后重试..."
|
DATABASE_LOCKED_1: "数据库已锁定,请等待约15秒后再试..."
|
||||||
DATABASE_LOCKED_2: "数据库已在使用,请再试一次。"
|
DATABASE_LOCKED_2: "数据库正在使用中,请稍后再试。"
|
||||||
DATABASE_LOCKED_3: "禁用数据库锁定,请在配置文件中设置 \"database-lock: false\"。"
|
DATABASE_LOCKED_3: "要禁用数据库锁定,请在配置文件中设置 \"database-lock: false\"。"
|
||||||
DATABASE_LOCKED_4: "禁用数据库锁定可能会导致数据损坏。"
|
DATABASE_LOCKED_4: "禁用数据库锁定可能会导致数据损坏。"
|
||||||
DATABASE_UNREACHABLE: "数据库无法访问。正在丢弃数据并关闭。"
|
DATABASE_UNREACHABLE: "数据库连接失败,正在丢弃数据并关闭。"
|
||||||
DEVELOPMENT_BRANCH: "检测到正在使用开发分支的版本,跳过使用补丁脚本。"
|
DEVELOPMENT_BRANCH: "检测到正在使用开发分支的版本,跳过使用补丁脚本。"
|
||||||
DIRT_BLOCK: "已在你的下方放置了一个泥土。"
|
DIRT_BLOCK: "已在你的下方放置了一个泥土。"
|
||||||
DISABLE_SUCCESS: "禁用 {0} 成功!"
|
DISABLE_SUCCESS: "已成功禁用 {0}!"
|
||||||
ENABLE_FAILED: "无法启用 {0}!"
|
DONATION_KEY_REQUIRED: "需要有效的捐赠密钥才能执行此命令。"
|
||||||
ENABLE_SUCCESS: "{0} 已成功启用!"
|
ENABLE_FAILED: "无法启用 {0}。"
|
||||||
|
ENABLE_SUCCESS: "已成功启用 {0}!"
|
||||||
ENJOY_COREPROTECT: "对 {0} 感到满意吗?请加入我们的 Discord 频道!"
|
ENJOY_COREPROTECT: "对 {0} 感到满意吗?请加入我们的 Discord 频道!"
|
||||||
FINISHING_CONVERSION: "正在完成数据转换,请稍等..."
|
FINISHING_CONVERSION: "正在完成数据转换,请稍候..."
|
||||||
FINISHING_LOGGING: "正在完成数据记录,请稍等..."
|
FINISHING_LOGGING: "正在完成数据记录,请稍候..."
|
||||||
FIRST_VERSION: "初始化数据库: {0}"
|
FIRST_VERSION: "初始化数据库:{0}"
|
||||||
GLOBAL_LOOKUP: "请勿在执行全局查询时指定半径。"
|
GLOBAL_LOOKUP: "请勿在执行全局查询时指定半径。"
|
||||||
GLOBAL_ROLLBACK: "使用 \"{0}\" 进行全局{回滚|恢复}操作"
|
GLOBAL_ROLLBACK: "使用 \"{0}\" 进行全局{回滚|恢复}操作"
|
||||||
HELP_ACTION_1: "将查询限制为一个动作。"
|
HELP_ACTION_1: "将查询限制为一个操作。"
|
||||||
HELP_ACTION_2: "例子: [a:block], [a:+block], [a:-block] [a:click], [a:container], [a:inventory], [a:item], [a:kill], [a:chat], [a:command], [a:sign], [a:session], [a:username]"
|
HELP_ACTION_2: "例子:[a:block],[a:+block],[a:-block],[a:click],[a:container],[a:inventory],[a:item],[a:kill],[a:chat],[a:command],[a:sign],[a:session],[a:username]"
|
||||||
HELP_COMMAND: "显示附加信息。"
|
HELP_COMMAND: "显示附加信息。"
|
||||||
HELP_EXCLUDE_1: "排除方块/玩家。"
|
HELP_EXCLUDE_1: "排除方块/玩家。"
|
||||||
HELP_EXCLUDE_2: "例子: [e:stone], [e:Notch], [e:stone,Notch]"
|
HELP_EXCLUDE_2: "例子:[e:stone],[e:Notch],[e:stone,Notch]"
|
||||||
HELP_HEADER: "{0} 帮助"
|
HELP_HEADER: "{0} 帮助"
|
||||||
HELP_INCLUDE_1: "包括方块/实体。"
|
HELP_INCLUDE_1: "包括方块/实体。"
|
||||||
HELP_INCLUDE_2: "例子: [i:stone], [i:zombie], [i:stone,wood,bedrock]"
|
HELP_INCLUDE_2: "例子:[i:stone],[i:zombie],[i:stone,wood,bedrock]"
|
||||||
HELP_INSPECT_1: "启用检查器后,你可以:"
|
HELP_INSPECT_1: "启用检查器后,你可以:"
|
||||||
HELP_INSPECT_2: "左键单击以查看方块放置记录。"
|
HELP_INSPECT_2: "左键单击以查看方块放置记录。"
|
||||||
HELP_INSPECT_3: "右键单击以查看相邻方块破坏记录。"
|
HELP_INSPECT_3: "右键单击以查看相邻方块破坏记录。"
|
||||||
HELP_INSPECT_4: "放置一个方块以查看放置位置的破坏记录。"
|
HELP_INSPECT_4: "放置一个方块以查看放置位置的破坏记录。"
|
||||||
HELP_INSPECT_5: "在液体中放置一个方块以查看液体变更记录。"
|
HELP_INSPECT_5: "在液体中放置一个方块以查看液体变更记录。"
|
||||||
HELP_INSPECT_6: "右键单击门、箱子等以查看交互记录。"
|
HELP_INSPECT_6: "右键单击门、箱子等以查看交互记录。"
|
||||||
HELP_INSPECT_7: "提示: 你可以使用 \"/co i\" 进行快速查询。"
|
HELP_INSPECT_7: "提示:你可以使用 \"/co i\" 进行快速查询。"
|
||||||
HELP_INSPECT_COMMAND: "开启或关闭方块检查状态。"
|
HELP_INSPECT_COMMAND: "开启或关闭方块检查器。"
|
||||||
HELP_LIST: "显示所有命令的列表。"
|
HELP_LIST: "列出所有命令。"
|
||||||
HELP_LOOKUP_1: "命令快捷方式。"
|
HELP_LOOKUP_1: "命令快捷方式。"
|
||||||
HELP_LOOKUP_2: "在查询记录后使用以查看日志"
|
HELP_LOOKUP_2: "检查方块后使用以查看日志。"
|
||||||
HELP_LOOKUP_COMMAND: "高级方块数据查询。"
|
HELP_LOOKUP_COMMAND: "高级方块数据查询。"
|
||||||
HELP_NO_INFO: "命令的信息 \"{0}\" 未找到。"
|
HELP_NO_INFO: "未找到命令 \"{0}\" 的信息。"
|
||||||
HELP_PARAMETER: "请参阅 \"{0}\" 了解详细的参数信息。"
|
HELP_PARAMETER: "请参阅 \"{0}\" 了解详细的参数信息。"
|
||||||
HELP_PARAMS_1: "执行{查找|回滚|恢复}操作。"
|
HELP_PARAMS_1: "执行{查找|回滚|恢复}操作。"
|
||||||
HELP_PARAMS_2: "指定{查找|回滚|恢复}的玩家。"
|
HELP_PARAMS_2: "指定要{查找|回滚|恢复}的玩家。"
|
||||||
HELP_PARAMS_3: "指定{查找|回滚|恢复}的时间。"
|
HELP_PARAMS_3: "指定要{查找|回滚|恢复}的时间。"
|
||||||
HELP_PARAMS_4: "限制{查找|回滚|恢复}的作用范围。"
|
HELP_PARAMS_4: "指定一个半径区域以限制{查找|回滚|恢复}的范围。"
|
||||||
HELP_PARAMS_5: "限制{查找|回滚|恢复}的动作。"
|
HELP_PARAMS_5: "将{查找|回滚|恢复}限制为一个操作。"
|
||||||
HELP_PARAMS_6: "{查找|回滚|恢复}时包括方块/实体。"
|
HELP_PARAMS_6: "{查找|回滚|恢复}时包括指定的方块/实体。"
|
||||||
HELP_PARAMS_7: "{查找|回滚|恢复}时排除方块/玩家。"
|
HELP_PARAMS_7: "{查找|回滚|恢复}时排除指定的方块/玩家。"
|
||||||
HELP_PURGE_1: "删除指定时间的数据。"
|
HELP_PURGE_1: "删除早于指定时间的数据。"
|
||||||
HELP_PURGE_2: "例如,\"{0}\" 将删除超过一个月的所有数据,只保留最近30天的数据。"
|
HELP_PURGE_2: "例如,\"{0}\" 将删除超过一个月以上的所有数据,只保留最近30天的数据。"
|
||||||
HELP_PURGE_COMMAND: "删除旧的方块数据。"
|
HELP_PURGE_COMMAND: "删除旧的方块数据。"
|
||||||
HELP_RADIUS_1: "指定半径区域。"
|
HELP_RADIUS_1: "指定半径区域。"
|
||||||
HELP_RADIUS_2: "例子: [r:10] (只会影响你周围十格方块的范围)"
|
HELP_RADIUS_2: "例子:[r:10](只会影响你周围十格方块的范围)"
|
||||||
HELP_RELOAD_COMMAND: "重新加载配置文件。"
|
HELP_RELOAD_COMMAND: "重新加载配置文件。"
|
||||||
HELP_RESTORE_COMMAND: "恢复方块数据。"
|
HELP_RESTORE_COMMAND: "恢复方块数据。"
|
||||||
HELP_ROLLBACK_COMMAND: "回滚方块数据。"
|
HELP_ROLLBACK_COMMAND: "回滚方块数据。"
|
||||||
HELP_STATUS: "查看插件状态与版本信息。"
|
HELP_STATUS: "查看插件状态与版本信息。"
|
||||||
HELP_STATUS_COMMAND: "显示插件状态。"
|
HELP_STATUS_COMMAND: "显示插件状态。"
|
||||||
HELP_TELEPORT: "传送到一个地点。"
|
HELP_TELEPORT: "传送到一个地点。"
|
||||||
HELP_TIME_1: "指定时间。"
|
HELP_TIME_1: "指定要查找的时间。"
|
||||||
HELP_TIME_2: "例子: [t:2w,5d,7h,2m,10s], [t:5d2h], [t:2.50h]"
|
HELP_TIME_2: "例子:[t:2w,5d,7h,2m,10s],[t:5d2h],[t:2.50h]"
|
||||||
HELP_USER_1: "指定玩家。"
|
HELP_USER_1: "指定要查找的玩家。"
|
||||||
HELP_USER_2: "例子: [u:Notch], [u:Notch,#enderman]"
|
HELP_USER_2: "例子:[u:Notch],[u:Notch,#enderman]"
|
||||||
INCOMPATIBLE_ACTION: "\"{0}\" 不能与那个动作一起使用。"
|
INCOMPATIBLE_ACTION: "\"{0}\" 不能与那个操作一起使用。"
|
||||||
INSPECTOR_ERROR: "检查器已经{启用|禁用}了。"
|
INSPECTOR_ERROR: "检查器已经{启用|禁用}。"
|
||||||
INSPECTOR_TOGGLED: "检查器已{启用|禁用}。"
|
INSPECTOR_TOGGLED: "检查器已{启用|禁用}。"
|
||||||
INTEGRATION_ERROR: "无法{初始化|禁用}与插件 {0} 的交互。"
|
INTEGRATION_ERROR: "无法{初始化|禁用} {0} 的日志记录。"
|
||||||
INTEGRATION_SUCCESS: "与 {0} 的交互已成功{初始化|禁用}。"
|
INTEGRATION_SUCCESS: "已成功{初始化|禁用} {0} 的日志记录。"
|
||||||
INTEGRATION_VERSION: "发现 {0} 的版本不兼容。"
|
INTEGRATION_VERSION: "{0} 版本无效。"
|
||||||
INTERACTIONS_HEADER: "玩家交互"
|
INTERACTIONS_HEADER: "玩家交互"
|
||||||
INVALID_ACTION: "这不是有效的动作。"
|
INVALID_ACTION: "这不是一个有效的操作。"
|
||||||
INVALID_BRANCH_1: "插件版本无效(未设置分支)。"
|
INVALID_BRANCH_1: "插件版本无效(尚未设置分支)。"
|
||||||
INVALID_BRANCH_2: "要继续,请将项目分支设置为 \"开发\"。"
|
INVALID_BRANCH_2: "请将项目分支设置为 \"development\" 以继续。"
|
||||||
INVALID_BRANCH_3: "运行开发版本的插件可能会导致数据损坏。"
|
INVALID_BRANCH_3: "运行开发版本的插件可能会导致数据损坏。"
|
||||||
INVALID_CONTAINER: "请检查有效的容器。"
|
INVALID_CONTAINER: "请先检查一个有效的容器。"
|
||||||
INVALID_DONATION_KEY: "无效的捐赠密钥。"
|
INVALID_DONATION_KEY: "无效的捐赠密钥。"
|
||||||
INVALID_INCLUDE: "\"{0}\" 是无效的方块/实体名称。"
|
INVALID_INCLUDE: "\"{0}\" 是无效的方块/实体名称。"
|
||||||
INVALID_INCLUDE_COMBO: "那是无效的方块/实体组合。"
|
INVALID_INCLUDE_COMBO: "那是无效的方块/实体组合。"
|
||||||
INVALID_RADIUS: "请输入有效的半径。"
|
INVALID_RADIUS: "请输入有效的半径。"
|
||||||
INVALID_SELECTION: "没有找到 {0} 的选择。"
|
INVALID_SELECTION: "未找到 {0} 的选择。"
|
||||||
INVALID_USERNAME: "玩家名 \"{0}\" 不存在或已离线。"
|
INVALID_USERNAME: "玩家名 \"{0}\" 无效。"
|
||||||
INVALID_WORLD: "请指定一个有效的世界。"
|
INVALID_WORLD: "请指定一个有效的世界。"
|
||||||
LATEST_VERSION: "最新版本: {0}"
|
LATEST_VERSION: "最新版本:{0}"
|
||||||
LINK_DISCORD: "Discord: {0}"
|
LINK_DISCORD: "Discord:{0}"
|
||||||
LINK_DOWNLOAD: "下载: {0}"
|
LINK_DOWNLOAD: "下载:{0}"
|
||||||
LINK_PATREON: "Patreon 页面: {0}"
|
LINK_PATREON: "Patreon:{0}"
|
||||||
LINK_WIKI_BLOCK: "方块名称: {0}"
|
LINK_WIKI_BLOCK: "方块名称:{0}"
|
||||||
LINK_WIKI_ENTITY: "实体名称: {0}"
|
LINK_WIKI_ENTITY: "实体名称:{0}"
|
||||||
LOGGING_ITEMS: "{0} 物品等待记录,请稍等..."
|
LOGGING_ITEMS: "{0}个物品等待记录,请稍候..."
|
||||||
LOGGING_TIME_LIMIT: "已达到数据记录时间限制。正在丢弃剩余的数据并关闭。"
|
LOGGING_TIME_LIMIT: "已达到日志时间限制,正在丢弃剩余的数据并关闭。"
|
||||||
LOOKUP_BLOCK: "{0} {放置|破坏} {1}。"
|
LOOKUP_BLOCK: "{0} {放置|破坏}了 {1}。"
|
||||||
LOOKUP_CONTAINER: "{0} {放入|取出} {1} {2}。"
|
LOOKUP_CONTAINER: "{0} {放入|取出}了 {1} {2}。"
|
||||||
LOOKUP_HEADER: "{0} 查询结果"
|
LOOKUP_HEADER: "{0} 查询结果"
|
||||||
LOOKUP_INTERACTION: "{0} {点击|击杀} {1}."
|
LOOKUP_INTERACTION: "{0} {点击|击杀}了 {1}。"
|
||||||
LOOKUP_ITEM: "{0} {拾起|丢弃} {1} {2}."
|
LOOKUP_ITEM: "{0} {拾起|丢弃}了 {1} {2}。"
|
||||||
LOOKUP_LOGIN: "{0} {登入|离开}."
|
LOOKUP_LOGIN: "{0} 已{登录|离开}。"
|
||||||
LOOKUP_PAGE: "第 {0} 页"
|
LOOKUP_PAGE: "第 {0} 页"
|
||||||
LOOKUP_PROJECTILE: "{0} {扔出|发射} {1} {2}."
|
LOOKUP_PROJECTILE: "{0} {扔出|发射}了 {1} {2}。"
|
||||||
LOOKUP_ROWS_FOUND: "已找到 {0}{行|行}。"
|
LOOKUP_ROWS_FOUND: "{0} {行|行}已找到。"
|
||||||
LOOKUP_SEARCHING: "正在搜索,请稍等..."
|
LOOKUP_SEARCHING: "正在搜索,请稍候..."
|
||||||
LOOKUP_STORAGE: "{0} {放入|取出} {1} {2}."
|
LOOKUP_STORAGE: "{0} {放入|取出}了 {1} {2}。"
|
||||||
LOOKUP_TIME: "{0} 前"
|
LOOKUP_TIME: "{0}前"
|
||||||
LOOKUP_USERNAME: "{0} 已登入为 {1}."
|
LOOKUP_USERNAME: "{0} 已登录为 {1}。"
|
||||||
MAXIMUM_RADIUS: "最大{查找|回滚|恢复}半径是 {0}."
|
MAXIMUM_RADIUS: "最大{查找|回滚|恢复}半径是 {0}。"
|
||||||
MISSING_ACTION_USER: "要使用该标识符,请指定玩家名。"
|
MISSING_ACTION_USER: "要使用该标识符,请指定玩家名。"
|
||||||
MISSING_LOOKUP_TIME: "请指定{查找|回滚|恢复}时间."
|
MISSING_LOOKUP_TIME: "请指定要{查找|回滚|恢复}的时间。"
|
||||||
MISSING_LOOKUP_USER: "请指定查找玩家或查找{方块|半径}."
|
MISSING_LOOKUP_USER: "请指定要查找的玩家或{方块|半径}。"
|
||||||
MISSING_PARAMETERS: "请使用 \"{0}\"。"
|
MISSING_PARAMETERS: "请使用 \"{0}\"。"
|
||||||
MISSING_ROLLBACK_RADIUS: "你没有指定{回滚|恢复}半径。"
|
MISSING_ROLLBACK_RADIUS: "你没有指定{回滚|恢复}的半径。"
|
||||||
MISSING_ROLLBACK_USER: "你没有指定{回滚|恢复}的玩家操作。"
|
MISSING_ROLLBACK_USER: "你没有指定{回滚|恢复}的玩家。"
|
||||||
MYSQL_UNAVAILABLE: "无法连接到 MySQL 服务器。"
|
MYSQL_UNAVAILABLE: "无法连接到 MySQL 服务器。"
|
||||||
NO_DATA: "没有在 {0} 中找到数据"
|
NETWORK_CONNECTION: "{0} 连接{成功|失败},正在使用 {1} {2}。"
|
||||||
NO_DATA_LOCATION: "此位置找不到任何{数据|存取|交互|消息}的记录。"
|
NETWORK_TEST: "网络测试数据已成功发送。"
|
||||||
|
NO_DATA: "没有在 {0} 中找到数据。"
|
||||||
|
NO_DATA_LOCATION: "此位置找不到任何{数据|存取|交互|消息}记录。"
|
||||||
NO_PERMISSION: "你没有权限执行此操作。"
|
NO_PERMISSION: "你没有权限执行此操作。"
|
||||||
NO_RESULTS: "未找到结果。"
|
NO_RESULTS: "未找到结果。"
|
||||||
NO_RESULTS_PAGE: "没有在指定页面找到{结果|数据}。"
|
NO_RESULTS_PAGE: "没有在指定页面找到{结果|数据}。"
|
||||||
NO_ROLLBACK: "没有找到{等待的|上一个}回滚/恢复。"
|
NO_ROLLBACK: "未找到{待处理的|上一个}回滚/恢复。"
|
||||||
PATCH_INTERRUPTED: "升级已中断,将在服务器重新启动时重试。"
|
PATCH_INTERRUPTED: "升级已中断,将在服务器重新启动时重试。"
|
||||||
PATCH_OUTDATED_1: "无法升级早于 {0} 的数据库。"
|
PATCH_OUTDATED_1: "无法升级早于 {0} 的数据库。"
|
||||||
PATCH_OUTDATED_2: "请升级到受支持的 CoreProtect 版本。"
|
PATCH_OUTDATED_2: "请升级到受支持的 CoreProtect 版本。"
|
||||||
PATCH_PROCESSING: "正在处理新数据,请稍等..."
|
PATCH_PROCESSING: "正在处理新数据,请稍候..."
|
||||||
PATCH_SKIP_UPDATE: "在 {0} 跳过{表|索引}的{更新|创建|删除}。"
|
PATCH_SKIP_UPDATE: "正在跳过 {0} 的{表格|索引}{更新|创建|删除}操作。"
|
||||||
PATCH_STARTED: "正在准备更新到版本 {0},请稍等..."
|
PATCH_STARTED: "正在进行 {0} 升级,请稍候..."
|
||||||
PATCH_SUCCESS: "成功升级到版本 {0}。"
|
PATCH_SUCCESS: "成功升级到 {0}。"
|
||||||
PATCH_UPGRADING: "正在进行数据库升级,请稍等..."
|
PATCH_UPGRADING: "正在进行数据库升级,请稍候..."
|
||||||
PLEASE_SELECT: "请选择: \"{0}\"或\"{1}\"。"
|
PLEASE_SELECT: "请选择:\"{0}\" 或 \"{1}\"。"
|
||||||
PREVIEW_CANCELLED: "预览已取消。"
|
PREVIEW_CANCELLED: "预览已取消。"
|
||||||
PREVIEW_CANCELLING: "正在取消预览..."
|
PREVIEW_CANCELLING: "正在取消预览..."
|
||||||
PREVIEW_IN_GAME: "你只能在游戏中预览回滚操作。"
|
PREVIEW_IN_GAME: "你只能在游戏中预览回滚操作。"
|
||||||
PREVIEW_TRANSACTION: "你不能预览{容器|背包}物品交换。"
|
PREVIEW_TRANSACTION: "你不能预览{容器|背包}物品交换。"
|
||||||
|
PRIMARY_THREAD_ERROR: "该 API 方法不能在主线程上使用。"
|
||||||
PURGE_ABORTED: "清除失败,数据库可能已损坏。"
|
PURGE_ABORTED: "清除失败,数据库可能已损坏。"
|
||||||
PURGE_ERROR: "无法处理 {0} 数据!"
|
PURGE_ERROR: "无法处理 {0} 数据!"
|
||||||
PURGE_FAILED: "数据清除失败,请稍后再试。"
|
PURGE_FAILED: "清除失败,请稍后再试。"
|
||||||
PURGE_IN_PROGRESS: "正在清除数据,请稍后再试。"
|
PURGE_IN_PROGRESS: "正在清除数据,请稍后再试。"
|
||||||
PURGE_MINIMUM_TIME: "你只能清除早于 {0} {天|小时}的数据."
|
PURGE_MINIMUM_TIME: "你只能清除{0}{天|小时}之前的数据。"
|
||||||
PURGE_NOTICE_1: "请注意,这可能需要一些时间。"
|
PURGE_NOTICE_1: "请注意,这可能需要一些时间。"
|
||||||
PURGE_NOTICE_2: "完成前不要重新启动服务器。"
|
PURGE_NOTICE_2: "完成前请勿重新启动服务器。"
|
||||||
PURGE_OPTIMIZING: "正在优化数据库,请稍等..."
|
PURGE_OPTIMIZING: "正在优化数据库,请稍候..."
|
||||||
PURGE_PROCESSING: "正在处理表 {0} 中的数据..."
|
PURGE_PROCESSING: "正在处理 {0} 的数据..."
|
||||||
PURGE_REPAIRING: "正在尝试修复,这可能需要一定的时间..."
|
PURGE_REPAIRING: "正在尝试修复。这可能需要一些时间..."
|
||||||
PURGE_ROWS: "已删除 {0} {行|行}数据。"
|
PURGE_ROWS: "{0}{行|行}数据已删除。"
|
||||||
PURGE_STARTED: "数据清除开始于\"{0}\"。"
|
PURGE_STARTED: "数据清除开始于 \"{0}\"。"
|
||||||
PURGE_SUCCESS: "数据清除成功。"
|
PURGE_SUCCESS: "数据已清除。"
|
||||||
|
RAM_STATS: "{0}GB / {1}GB 内存"
|
||||||
RELOAD_STARTED: "正在重新加载配置文件 - 请稍候。"
|
RELOAD_STARTED: "正在重新加载配置文件 - 请稍候。"
|
||||||
RELOAD_SUCCESS: "配置文件已重新加载成功。"
|
RELOAD_SUCCESS: "配置文件已重新加载。"
|
||||||
ROLLBACK_ABORTED: "回滚或恢复已中止。"
|
ROLLBACK_ABORTED: "回滚或恢复已中止。"
|
||||||
ROLLBACK_CHUNKS_FOUND: "找到 {0} 个{区块|区块}需要更改。"
|
ROLLBACK_CHUNKS_FOUND: "找到{0}个待修改的{区块|区块}。"
|
||||||
ROLLBACK_CHUNKS_MODIFIED: "已修改 {0}/{1} 个{区块|区块}."
|
ROLLBACK_CHUNKS_MODIFIED: "{0}/{1}个{区块|区块}已修改。"
|
||||||
ROLLBACK_COMPLETED: "{回滚|恢复|预览}已对以下对象完成: {0}。"
|
ROLLBACK_COMPLETED: "{0} 的{回滚|恢复|预览}操作已完成。"
|
||||||
ROLLBACK_EXCLUDED_USERS: "已排除{玩家|玩家}: \"{0}\"。"
|
ROLLBACK_EXCLUDED_USERS: "已排除{玩家|玩家}:\"{0}\"。"
|
||||||
ROLLBACK_INCLUDE: "{包括|不包括}{方块|实体|目标}{类型|类型}: \"{0}\"。"
|
ROLLBACK_INCLUDE: "{包括|不包括}的{方块|实体|目标}{类型|类型}:\"{0}\"。"
|
||||||
ROLLBACK_IN_PROGRESS: "一个回滚/恢复操作已在进行。"
|
ROLLBACK_IN_PROGRESS: "一个回滚/恢复操作已在进行。"
|
||||||
ROLLBACK_LENGTH: "花费时间: {0}{秒|秒}."
|
ROLLBACK_LENGTH: "花费时间:{0}{秒|秒}。"
|
||||||
ROLLBACK_MODIFIED: "{已修改|正在修改}{0}."
|
ROLLBACK_MODIFIED: "{已修改|正在修改} {0}。"
|
||||||
ROLLBACK_RADIUS: "半径: {0}个{方块|方块}."
|
ROLLBACK_RADIUS: "半径:{0}个{方块|方块}。"
|
||||||
ROLLBACK_SELECTION: "半径设置为\"{0}\"。"
|
ROLLBACK_SELECTION: "半径设置为 {0}\"。"
|
||||||
ROLLBACK_STARTED: "{回滚|恢复|预览}于 \"{0}\" 开始。"
|
ROLLBACK_STARTED: "{回滚|恢复|预览}开始于 \"{0}\"。"
|
||||||
ROLLBACK_TIME: "时间范围: {0}."
|
ROLLBACK_TIME: "时间范围:{0}。"
|
||||||
ROLLBACK_WORLD_ACTION: "限制{世界|动作}为 \"{0}\"。"
|
ROLLBACK_WORLD_ACTION: "限制为{世界|操作} \"{0}\"。"
|
||||||
SIGN_HEADER: "木牌消息"
|
SIGN_HEADER: "告示牌消息"
|
||||||
STATUS_CONSUMER: "数据处理器: {0}个{数据|数据}待处理。"
|
STATUS_CONSUMER: "数据处理器:{0}个{数据|数据}待处理。"
|
||||||
STATUS_DATABASE: "数据库: 正在使用 {0}."
|
STATUS_DATABASE: "数据库:正在使用 {0}。"
|
||||||
STATUS_INTEGRATION: "{0}: 合并{启用|禁用}."
|
STATUS_INTEGRATION: "{0}:{启用|禁用}合并。"
|
||||||
STATUS_LICENSE: "协议: {0}"
|
STATUS_LICENSE: "协议:{0}"
|
||||||
STATUS_VERSION: "版本: {0}"
|
STATUS_SYSTEM: "系统:{0}"
|
||||||
TELEPORTED: "传送到 {0}."
|
STATUS_VERSION: "版本:{0}"
|
||||||
TELEPORTED_SAFETY: "将你传送到安全地点。"
|
TELEPORTED: "传送到 {0}。"
|
||||||
|
TELEPORTED_SAFETY: "将你传送到安全的位置。"
|
||||||
TELEPORT_PLAYERS: "只有玩家才能使用传送命令。"
|
TELEPORT_PLAYERS: "只有玩家才能使用传送命令。"
|
||||||
TIME_DAYS: "{0}{天|天}"
|
TIME_DAYS: "{0}{天|天}"
|
||||||
TIME_HOURS: "{0}{小时|小时}"
|
TIME_HOURS: "{0}{小时|小时}"
|
||||||
TIME_MINUTES: "{0}{分钟|分钟}"
|
TIME_MINUTES: "{0}{分钟|分钟}"
|
||||||
|
TIME_MONTHS: "{0} {月|月}"
|
||||||
TIME_SECONDS: "{0}{秒|秒}"
|
TIME_SECONDS: "{0}{秒|秒}"
|
||||||
|
TIME_UNITS: "{分钟|小时|天}"
|
||||||
TIME_WEEKS: "{0}{周|周}"
|
TIME_WEEKS: "{0}{周|周}"
|
||||||
|
TIME_YEARS: "{0} {年|年}"
|
||||||
UPDATE_ERROR: "检查更新时出错。"
|
UPDATE_ERROR: "检查更新时出错。"
|
||||||
UPDATE_HEADER: "{0} 更新"
|
UPDATE_HEADER: "{0} 更新"
|
||||||
UPDATE_NOTICE: "注意: {0} 现在可用。"
|
UPDATE_NOTICE: "注意:{0} 现在可用。"
|
||||||
UPGRADE_IN_PROGRESS: "正在进行升级,请稍后再试。"
|
UPGRADE_IN_PROGRESS: "正在进行升级,请稍后再试。"
|
||||||
USER_NOT_FOUND: "玩家\"{0}\"未找到。"
|
USER_NOT_FOUND: "玩家 \"{0}\" 未找到。"
|
||||||
USER_OFFLINE: "玩家\"{0}\"不在线。"
|
USER_OFFLINE: "玩家 \"{0}\" 不在线。"
|
||||||
USING_MYSQL: "使用 MySQL 用于数据存储。"
|
USING_MYSQL: "使用 MySQL 用于数据存储。"
|
||||||
USING_SQLITE: "使用 SQLite 用于数据存储。"
|
USING_SQLITE: "使用 SQLite 用于数据存储。"
|
||||||
VALID_DONATION_KEY: "有效的捐赠密钥。"
|
VALID_DONATION_KEY: "有效的捐赠密钥。"
|
||||||
|
VERSION_INCOMPATIBLE: "{0} {1} 不受支持。"
|
||||||
VERSION_NOTICE: "版本 {0} 现在可用。"
|
VERSION_NOTICE: "版本 {0} 现在可用。"
|
||||||
VERSION_REQUIRED: "{0} 需要使用 {1} 或更高版本。"
|
VERSION_REQUIRED: "{0} 需要使用 {1} 或更高版本。"
|
||||||
WORLD_NOT_FOUND: "找不到世界 \"{0}\"。"
|
WORLD_NOT_FOUND: "世界 \"{0}\" 未找到。"
|
||||||
2
pom.xml
2
pom.xml
|
|
@ -306,4 +306,4 @@
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,18 @@
|
||||||
package net.coreprotect.database.lookup;
|
package net.coreprotect.database.lookup;
|
||||||
|
|
||||||
import java.sql.ResultSet;
|
|
||||||
import java.sql.Statement;
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.BlockState;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
|
|
||||||
import net.coreprotect.config.ConfigHandler;
|
import net.coreprotect.config.ConfigHandler;
|
||||||
import net.coreprotect.database.statement.UserStatement;
|
import net.coreprotect.database.statement.UserStatement;
|
||||||
import net.coreprotect.language.Phrase;
|
import net.coreprotect.language.Phrase;
|
||||||
import net.coreprotect.language.Selector;
|
import net.coreprotect.language.Selector;
|
||||||
import net.coreprotect.listener.channel.PluginChannelListener;
|
import net.coreprotect.listener.channel.PluginChannelListener;
|
||||||
import net.coreprotect.utility.ChatUtils;
|
import net.coreprotect.utility.*;
|
||||||
import net.coreprotect.utility.Color;
|
import org.bukkit.Material;
|
||||||
import net.coreprotect.utility.EntityUtils;
|
import org.bukkit.block.BlockState;
|
||||||
import net.coreprotect.utility.MaterialUtils;
|
import org.bukkit.command.CommandSender;
|
||||||
import net.coreprotect.utility.StringUtils;
|
|
||||||
import net.coreprotect.utility.Util;
|
import java.sql.ResultSet;
|
||||||
import net.coreprotect.utility.WorldUtils;
|
import java.sql.Statement;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
public class BlockLookup {
|
public class BlockLookup {
|
||||||
|
|
||||||
|
|
@ -157,7 +150,7 @@ public class BlockLookup {
|
||||||
// resultText = Color.DARK_AQUA + "CoreProtect " + Color.WHITE + "- " + Color.WHITE + "No block data found at " + Color.ITALIC + "x" + x + "/y" + y + "/z" + z + ".";
|
// resultText = Color.DARK_AQUA + "CoreProtect " + Color.WHITE + "- " + Color.WHITE + "No block data found at " + Color.ITALIC + "x" + x + "/y" + y + "/z" + z + ".";
|
||||||
resultText = Color.DARK_AQUA + "CoreProtect " + Color.WHITE + "- " + Phrase.build(Phrase.NO_DATA_LOCATION, Selector.FIRST);
|
resultText = Color.DARK_AQUA + "CoreProtect " + Color.WHITE + "- " + Phrase.build(Phrase.NO_DATA_LOCATION, Selector.FIRST);
|
||||||
if (!blockName.equals("air") && !blockName.equals("cave_air")) {
|
if (!blockName.equals("air") && !blockName.equals("cave_air")) {
|
||||||
resultText = Color.DARK_AQUA + "CoreProtect " + Color.WHITE + "- " + Phrase.build(Phrase.NO_DATA, Color.ITALIC + block.getType().name().toLowerCase(Locale.ROOT)) + "\n";
|
resultText = Color.DARK_AQUA + "CoreProtect " + Color.WHITE + "- " + Phrase.build(Phrase.NO_DATA, Color.ITALIC + block.getType().name().toLowerCase(Locale.ROOT) + Color.WHITE) + "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -223,6 +223,7 @@ public class Language {
|
||||||
phrases.put(Phrase.TIME_MINUTES, "{0} {minute|minutes}");
|
phrases.put(Phrase.TIME_MINUTES, "{0} {minute|minutes}");
|
||||||
phrases.put(Phrase.TIME_MONTHS, "{0} {month|months}");
|
phrases.put(Phrase.TIME_MONTHS, "{0} {month|months}");
|
||||||
phrases.put(Phrase.TIME_SECONDS, "{0} {second|seconds}");
|
phrases.put(Phrase.TIME_SECONDS, "{0} {second|seconds}");
|
||||||
|
phrases.put(Phrase.TIME_UNITS, "{/m|/h|/d}");
|
||||||
phrases.put(Phrase.TIME_WEEKS, "{0} {week|weeks}");
|
phrases.put(Phrase.TIME_WEEKS, "{0} {week|weeks}");
|
||||||
phrases.put(Phrase.TIME_YEARS, "{0} {year|years}");
|
phrases.put(Phrase.TIME_YEARS, "{0} {year|years}");
|
||||||
phrases.put(Phrase.UPDATE_ERROR, "An error occurred while checking for updates.");
|
phrases.put(Phrase.UPDATE_ERROR, "An error occurred while checking for updates.");
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
package net.coreprotect.language;
|
package net.coreprotect.language;
|
||||||
|
|
||||||
|
import net.coreprotect.utility.ChatMessage;
|
||||||
|
import net.coreprotect.utility.Color;
|
||||||
|
import net.coreprotect.utility.StringUtils;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import net.coreprotect.utility.ChatMessage;
|
|
||||||
import net.coreprotect.utility.Color;
|
|
||||||
import net.coreprotect.utility.StringUtils;
|
|
||||||
|
|
||||||
public enum Phrase {
|
public enum Phrase {
|
||||||
|
|
||||||
ACTION_NOT_SUPPORTED,
|
ACTION_NOT_SUPPORTED,
|
||||||
|
|
@ -206,6 +206,7 @@ public enum Phrase {
|
||||||
TIME_MINUTES,
|
TIME_MINUTES,
|
||||||
TIME_MONTHS,
|
TIME_MONTHS,
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
|
TIME_UNITS,
|
||||||
TIME_WEEKS,
|
TIME_WEEKS,
|
||||||
TIME_YEARS,
|
TIME_YEARS,
|
||||||
UPDATE_ERROR,
|
UPDATE_ERROR,
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
package net.coreprotect.utility;
|
package net.coreprotect.utility;
|
||||||
|
|
||||||
|
import net.coreprotect.language.Phrase;
|
||||||
|
import net.coreprotect.language.Selector;
|
||||||
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.DecimalFormatSymbols;
|
import java.text.DecimalFormatSymbols;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
|
||||||
|
|
||||||
import net.coreprotect.language.Phrase;
|
|
||||||
|
|
||||||
public class ChatUtils {
|
public class ChatUtils {
|
||||||
|
|
||||||
private ChatUtils() {
|
private ChatUtils() {
|
||||||
|
|
@ -137,24 +137,26 @@ public class ChatUtils {
|
||||||
timeSince = 0.00;
|
timeSince = 0.00;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DecimalFormat decimalFormat = new DecimalFormat("0.00");
|
||||||
|
|
||||||
// minutes
|
// minutes
|
||||||
timeSince = timeSince / 60;
|
timeSince = timeSince / 60;
|
||||||
if (timeSince < 60.0) {
|
if (timeSince < 60.0) {
|
||||||
message.append(Phrase.build(Phrase.LOOKUP_TIME, new DecimalFormat("0.00").format(timeSince) + "/m"));
|
message.append(Phrase.build(Phrase.LOOKUP_TIME, decimalFormat.format(timeSince) + Phrase.build(Phrase.TIME_UNITS, Selector.FIRST)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// hours
|
// hours
|
||||||
if (message.length() == 0) {
|
if (message.length() == 0) {
|
||||||
timeSince = timeSince / 60;
|
timeSince = timeSince / 60;
|
||||||
if (timeSince < 24.0) {
|
if (timeSince < 24.0) {
|
||||||
message.append(Phrase.build(Phrase.LOOKUP_TIME, new DecimalFormat("0.00").format(timeSince) + "/h"));
|
message.append(Phrase.build(Phrase.LOOKUP_TIME, decimalFormat.format(timeSince) + Phrase.build(Phrase.TIME_UNITS, Selector.SECOND)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// days
|
// days
|
||||||
if (message.length() == 0) {
|
if (message.length() == 0) {
|
||||||
timeSince = timeSince / 24;
|
timeSince = timeSince / 24;
|
||||||
message.append(Phrase.build(Phrase.LOOKUP_TIME, new DecimalFormat("0.00").format(timeSince) + "/d"));
|
message.append(Phrase.build(Phrase.LOOKUP_TIME, decimalFormat.format(timeSince) + Phrase.build(Phrase.TIME_UNITS, Selector.THIRD)));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (component) {
|
if (component) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue