From b2e7cc26372d31a4de2ea46230d000f87301a80d Mon Sep 17 00:00:00 2001 From: Ryoka Kujo Date: Tue, 21 Jul 2020 17:49:33 +0800 Subject: [PATCH] Simplified chinese localization (Issue #36) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Technical term mainly refers to these books: - Java虚拟机规范(Java SE 8版)[ISBN: 9787111501596] - 深入理解Java虚拟机(第3版)[ISBN: 9787111641247] --- .../src/main/kotlin/browser/BrowserBundle.kt | 3 +- .../LocalVariableAttributeDetailPane.kt | 6 +- .../browser/messages/Browser.properties | 2 + .../browser/messages/Browser_de.properties | 2 + .../browser/messages/Browser_zh_CN.properties | 225 ++++++++++++++++++ 5 files changed, 234 insertions(+), 4 deletions(-) create mode 100644 modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser_zh_CN.properties diff --git a/modules/browser/src/main/kotlin/browser/BrowserBundle.kt b/modules/browser/src/main/kotlin/browser/BrowserBundle.kt index ae7b2581..da027dd4 100644 --- a/modules/browser/src/main/kotlin/browser/BrowserBundle.kt +++ b/modules/browser/src/main/kotlin/browser/BrowserBundle.kt @@ -33,7 +33,8 @@ object BrowserBundle { enum class SupportedLocale(val localeCode: String, val displayName: String) { AUTO_DETECT("", getString("menu.language.auto.detect")), ENGLISH("en", "English"), - GERMAN("de", "Deutsch"); + GERMAN("de", "Deutsch"), + SIMPLIFIED_CHINESE("zh_CN", "简体中文"); companion object { fun findByLocaleCode(localeCode: String) : SupportedLocale = diff --git a/modules/browser/src/main/kotlin/browser/detail/attributes/LocalVariableAttributeDetailPane.kt b/modules/browser/src/main/kotlin/browser/detail/attributes/LocalVariableAttributeDetailPane.kt index 84dfcf30..675cb208 100644 --- a/modules/browser/src/main/kotlin/browser/detail/attributes/LocalVariableAttributeDetailPane.kt +++ b/modules/browser/src/main/kotlin/browser/detail/attributes/LocalVariableAttributeDetailPane.kt @@ -49,10 +49,10 @@ abstract class LocalVariableAttributeDetailPane(services: BrowserServices) : Tab class LocalVariableTableAttributeDetailPane(services: BrowserServices) : LocalVariableAttributeDetailPane(services) { override val descriptorOrSignatureVerbose: String - get() = "Descriptor" + get() = getString("column.descriptor") } class LocalVariableTypeTableAttributeDetailPane(services: BrowserServices) : LocalVariableAttributeDetailPane(services) { override val descriptorOrSignatureVerbose: String - get() = "Signature" -} \ No newline at end of file + get() = getString("column.signature") +} diff --git a/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser.properties b/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser.properties index 33cecbda..5efd7050 100644 --- a/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser.properties +++ b/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser.properties @@ -179,6 +179,8 @@ column.verbose=Verbose column.access.flags=Access Flags column.hash=Hash column.stack.map.frame=Stack Map Frame +column.descriptor=Descriptor +column.signature=Signature window.title=Bytecode viewer message.select.class.or.jar=Please select a class file or a JAR file message.class.load.error=Error loading {0} diff --git a/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser_de.properties b/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser_de.properties index 16312c14..4c69b7b3 100644 --- a/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser_de.properties +++ b/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser_de.properties @@ -180,6 +180,8 @@ column.verbose=Ausführlich column.access.flags=Zugriff-Flags column.hash=Hash column.stack.map.frame=Stack Map Frame +column.descriptor=Descriptor +column.signature=Signatur window.title=Bytecode Betrachter message.select.class.or.jar=Bitte eine Klassendatei oder eine JAR-Datei wählen message.class.load.error=Fehler beim Laden von {0} diff --git a/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser_zh_CN.properties b/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser_zh_CN.properties new file mode 100644 index 00000000..f9a91442 --- /dev/null +++ b/modules/browser/src/main/resources/org/gjt/jclasslib/browser/messages/Browser_zh_CN.properties @@ -0,0 +1,225 @@ +about.title=关于本jclasslib字节码浏览器 +action.about=关于本jclasslib字节码浏览器 +action.about.description=显示本jclasslib字节码浏览器的信息 +action.backward=后退 +action.backward.description=在浏览历史中向后移动 +action.browse.class.path=浏览类路径 +action.browse.class.path.description=浏览当前类路径以打开一个类文件 +action.cancel=取消 +action.classpath.add.directory=添加文件夹 +action.classpath.add.entry=添加类路径条目 +action.classpath.add.entry.description=添加一条类路径 (INS) +action.classpath.add.jar=添加JAR文件 +action.move.up=上移 +action.move.up.description=向上移动一个条目 (ALT-UP) +action.classpath.remove.entry=移除类路径条目 +action.classpath.remove.entry.description=移除一条类路径条 (DEL) +action.clear.list=清空列表 +action.close.window=关闭窗口 +action.dark.mode=暗色模式 +action.dark.mode.description=切换暗色模式 +action.ej.technologies.web.site=ej-technologies网站 +action.ej.technologies.web.site.description=访问ej-technologies的网站 +action.forward=前进 +action.forward.description=在浏览历史中向前移动 +action.new.window=新建窗口 +action.new.window.description=打开一个新窗口 +action.new.workspace=新建工作空间 +action.new.workspace.description=关闭所有文件并打开一个新工作空间 +action.next.window=下一个窗口 +action.next.window.description=切换到下一个打开的窗口 +action.ok=好 +action.open.class.file=打开类文件 +action.open.workspace=打开工作空间 +action.open.workspace.description=打开一个工作空间文件 +action.previous.window=上一个窗口 +action.previous.window.description=切换到上一个窗口 +action.quit=退出 +action.reload=重载 +action.reload.description=重新加载类文件 +action.save.open.classes=保存所有已打开的类 +action.save.open.classes.description=保存所有已打开的类到指定文件夹 +action.save.workspace=保存工作空间 +action.save.workspace.as=另存为工作空间 +action.save.workspace.as.description=将当前工作空间另存为一个文件 +action.save.workspace.description=将当前工作空间保存为一个文件 +action.setup.class.path=配置类路径 +action.setup.class.path.description=配置类路径 +action.synchronize=同步 +action.website=jclasslib网站 +action.website.description=访问jclasslib网站 +menu.browse=浏览 +menu.classpath=类路径 +menu.empty.placeholder=(空) +menu.file=文件 +menu.help=帮助 +menu.recent.workspaces=打开最近的工作空间 +menu.window=窗口 +action.move.down=下移 +action.move.down.description=向下移动一个项目 (ALT-DOWN) +classpath.jre.home=JRE路径: +action.choose=选择 +action.show=显示 +filter.text.label=过滤文本: +action.filter.clear=清除 +action.filter.toggle.all=切换全选 +window.open.class.file.label=打开一个类文件 +action.merge.splits=合并所有分栏 +action.merge.splits.description=把所有分栏合并到一个面板中 +action.split.horizontally=水平拆分 +action.split.horizontally.description=把窗口沿水平方向拆分为两个面板 +action.split.vertically=垂直拆分 +action.split.vertically.description=把窗口沿垂直方向拆分为两个面板 +action.split.4way=4路拆分 +action.split.4way.description=把窗口拆分为4个标签面板 +filter.mode.all=显示全部 +filter.mode.selected=显示所选 +detail.displayed.members.title=显示中的成员 +filter.title=过滤器 +detail.generic.info.title=一般信息 +detail.specific.info.title=特有信息 +key.bootstrap.method=Bootstrap方法: +key.type=类型: +key.element.name=元素名: +key.type.name=类型名: +key.const.name=常量名: +key.class.info=类信息: +key.name=名字: +key.descriptor=描述符: +key.class.name=类名: +key.module.name=模块名: +key.package.name=包名: +key.name.and.type=名字和描述符: +key.string=字符串: +key.reference.index=引用序号: +key.this.class=本类索引 +key.super.class=父类索引: +key.interface=接口: +key.constant.value.index=常量值索引: +key.class.index=类索引: +key.method.index=方法索引: +key.attribute.name.index=属性名索引: +key.module.version=模组版本: +key.algorithm=算法: +key.main.class=主入口: +key.platform=平台: +key.signature.index=签名索引: +key.source.file.name.index=源文件名索引: +key.annotations.count=注解数量: +key.entries.count=条目数量: +key.value.tag=Value Tag: +key.tag=Tag: +key.values.count=数值数量: +key.members.count=成员数量: +key.access.flags=访问标志: +key.bytes=Bytes: +key.integer=Integer: +key.float=Float: +key.high.bytes=高位字节: +key.low.bytes=低位字节: +key.long=Long: +key.double=Double: +key.reference.kind=引用类型: +key.byte.array.length=字节数组长度: +key.string.length=字符串长度: +key.minor.version=次版本号: +key.major.version=主版本号: +key.constant.pool.count=常量池计数: +key.interfaces.count=接口计数: +key.fields.count=字段计数: +key.methods.count=方法计数: +key.attributes.count=属性计数: +key.target.type=目标类型: +key.attributes.length=属性长度: +key.resolution=解析: +key.maximum.stack.size=操作数栈最大深度: +key.maximum.local.variables=局部变量最大槽数: +key.code.length=字节码长度: +key.target.info=目标信息: +key.type.path=类型路径: +key.text=文本: +classpath.tab.class.path=类路径 +classpath.tab.module.path=模块路径 +tree.class.file=类文件 +tree.general.information=一般信息 +tree.constant.pool=常量池 +tree.large.numeric.suffix=(续接上一个数字型常量) +tree.interfaces=接口 +tree.interface=接口 {0} +tree.attributes=属性 +action.show.class=跳转到类 +action.show.field=跳转到字段 +action.show.method=跳转到方法 +action.show.interface.method=跳转到接口方法 +action.copy.all.signatures=复制所有签名到剪贴板 +action.copy.signature=复制签名到剪贴板 +code.tab.bytecode=字节码 +code.tab.exception.table=异常表 +code.tab.misc=杂项 +column.bootstrap.method=Bootstrap方法 +column.inner.class=内部类 +column.outer.class=外部类 +column.inner.name=内部名 +column.name=名字 +column.parameter.name=参数名 +column.class.name=类名 +column.catch.type=捕获类型 +column.exception=异常 +column.module=模块 +column.package=包 +column.number=Nr. +column.start.pc=起始PC +column.line.number=行号 +column.length=长度 +column.index=序号 +column.end.pc=结束PC +column.handler.pc=跳转PC +column.arguments=参数 +column.verbose=详细 +column.access.flags=访问标志 +column.hash=Hash +column.stack.map.frame=栈映射帧 +column.descriptor=描述符 +column.signature=签名 +window.title=字节码浏览器 +message.select.class.or.jar=请选择一个类文件或者一个JAR文件 +message.class.load.error={0} 加载错误 +message.file.exists.title=文件已存在 +message.file.exists=文件 {0}\n已存在。你是否想要覆盖它? +message.workspace.save.error=保存文件 {0} 时发生了一个错误 +message.workspace.saved=工作空间已保存至 {0} +message.file.not.found=文件未找到: {0} +message.class.save.error=文件 {0} 无法保存 +message.error.message=错误信息: {0} +message.class.not.found.title=未找到类 +message.class.not.found=找不到类 {0}。\n\n你可能需要检查类路径配置并重新尝试。 +message.eof.title=非期望的文件结尾 +message.eof=读取 {0} 文件时遇到了非期望的文件结尾。依然读取该文件? +message.attribute.of.class.not.found=没有找到类 {0} 的属性 +message.classes.saved.info={0,number,integer} {0,choice,1#个类|1<个类}已保存至 {1} +message.error.occurred=发生了一个错误 +tree.fields=字段 +tree.methods=方法 +window.setup.classpath=配置类路径 +button.yes=是 +button.no=不 +message.scanning.classes=类搜索中 ... +chooser.workspace.open.title=选择工作空间文件 +chooser.workspace.filter.name=jclasslib工作空间文件 +chooser.save.classes.title=保存已打开的类到文件夹 +chooser.classes.title=选择类或JAR文件 +chooser.classes.and.jars.filter.name=类和JAR文件 +chooser.classes.filter.name=类文件 +chooser.jars.filter.name=JAR文件 +chooser.from.classpath.title=从已配置的类路径中选择 +chooser.from.jar.title=从当前选择的JAR文件中选取类 +about.jclasslib.name=jclasslib字节码浏览器 +about.version=版本 {0} +about.license=以GNU通用公共授权条款授权 +about.icons=图标由 {0} 绘制 +about.copyright=版权所有 {0}, {1} +window.drag.class.file.label=拖动类文件到此区域 +menu.switch.language=切换语言 +menu.language.auto.detect=自动识别 +message.language.changed.title=需要重启 +message.language.changed=新的语言设置将会在应用重启后生效