diff --git a/jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties b/jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
index f10ca72aa0994bb68e13fd1d6b14d80af2eb9fdf..e5080657294a0fae3d540bd8095e470cf56c851b 100644
--- a/jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
+++ b/jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
@@ -8,7 +8,7 @@ menu.preferences=首选项
menu.sync=与编辑器同步
menu.flatten=展开显示代码包
menu.heapUsageBar=显示内存使用栏
-#menu.alwaysSelectOpened=Always Select Opened File/Class
+menu.alwaysSelectOpened=总是选择已打开的文件/类
menu.navigation=导航
menu.text_search=搜索文本
menu.class_search=搜索类
@@ -21,14 +21,14 @@ menu.about=关于
menu.update_label=发现新版本 %s!
file.open_action=打开文件...
-file.add_files_action=添加文件...
+file.add_files_action=添加文件
file.open_title=打开文件
file.new_project=新建项目
file.save_project=保存项目
file.save_project_as=另存项目为...
file.save_all=全部保存
file.export_gradle=另存为 Gradle 项目
-file.save_all_msg=选择反编译资源路径
+file.save_all_msg=请选择保存反编译资源的目录
file.exit=退出
tree.sources_title=源代码
@@ -37,7 +37,7 @@ tree.loading=加载中...
progress.load=正在加载
progress.decompile=反编译中
-#progress.index=Indexing
+progress.index=索引中
error_dialog.title=错误
@@ -46,7 +46,7 @@ search.next=下一个
search.mark_all=标记全部
search.regex=正则表达式
search.match_case=区分大小写
-search.whole_word=整个词语
+search.whole_word=全词匹配
search.find=查找
tabs.copy_class_name=复制类名
@@ -59,17 +59,17 @@ tabs.code=代码
nav.back=后退
nav.forward=前进
-message.taskTimeout=任务超过了 %d 毫秒时间限制.
-message.userCancelTask=任务被用户取消
-message.memoryLow=JADX内存不足,请增加maximum heap size后重新启动
-message.taskError=任务失败,出现错误(详情请查看日志)
+message.taskTimeout=任务超过了 %d 毫秒时间限制。
+message.userCancelTask=任务被用户取消。
+message.memoryLow=Jadx内存不足,请增加最大堆空间后重新启动。
+message.taskError=任务失败,出现错误(详情请查看日志)。
message.errorTitle=错误
-message.load_errors=加载失败.\n错误数: %d\n点击查看日志"
-message.no_classes=没有类被加载, 没什么能反编译的!
+message.load_errors=加载失败。\n错误数: %d\n点击确定查看日志
+message.no_classes=没有类被加载, 没什么可反编译!
-message.saveIncomplete=保存未完成.
%s
%d 类或资源未被保存!
-message.indexIncomplete=已跳过某些类索引.
%s
%d 类未被索引,不会出现在搜索结果中!
-message.indexingClassesSkipped=Jadx 的内存不足。因此,%d 类没有编入索引。
如果要将所有类编入索引,请使用增加的最大堆大小重新启动 Jadx。
+message.saveIncomplete=保存未完成。
%s
%d 类或资源未被保存!
+message.indexIncomplete=已跳过某些类索引。
%s
%d 类未被索引,不会出现在搜索结果中!
+message.indexingClassesSkipped=Jadx 的内存不足。因此,%d 个类没有编入索引。
如果要将所有类编入索引,请增加的最大堆空间后重新启动 Jadx。
heapUsage.text=JADX 内存使用率:%.2f GB 共 %.2f GB
@@ -85,7 +85,7 @@ search_dialog.open_by_name=搜索文本:
search_dialog.search_in=在以下位置搜索:
search_dialog.class=类名
search_dialog.method=方法名
-search_dialog.field=变量名
+search_dialog.field=字段名
search_dialog.code=代码
search_dialog.options=搜索选项:
search_dialog.ignorecase=忽略大小写
@@ -99,7 +99,7 @@ search_dialog.active_tab=只在当前页搜索
search_dialog.comments=注释
search_dialog.resource=资源
search_dialog.keep_open=保持窗口
-search_dialog.tip_searching=搜索中
+search_dialog.tip_searching=搜索中...
usage_dialog.title=查找
usage_dialog.label=查找用例:
@@ -107,7 +107,7 @@ usage_dialog.label=查找用例:
comment_dialog.title.add=添加代码注释
comment_dialog.title.update=更新代码注释
comment_dialog.label=注释:
-comment_dialog.usage=使用Shift + Enter键换行
+comment_dialog.usage=使用 Shift + Enter 换行
log_viewer.title=日志查看器
log_viewer.log_level=日志等级:
@@ -139,11 +139,11 @@ preferences.threads=并行线程数
preferences.excludedPackages=排除的包
preferences.excludedPackages.tooltip=将不被解压缩或索引的以空格分隔的包名称列表(节省 RAM)
preferences.excludedPackages.button=编辑
-preferences.excludedPackages.editDialog=将不被解压或索引的以空格分隔的包名称列表(节省 RAM)
例如android.support
+preferences.excludedPackages.editDialog=将不被解压或索引的以空格分隔的包名称列表(节省 RAM)
例如android.support
preferences.cfg=生成方法的 CFG 图(以 .dot 格式保存)
preferences.raw_cfg=生成原始的 CFG 图
preferences.font=编辑器字体
-preferences.smali_font=smali编辑器字体
+preferences.smali_font=Smali编辑器字体
preferences.laf_theme=主题
preferences.theme=编辑器主题
preferences.start_jobs=自动进行后台反编译
@@ -167,7 +167,7 @@ preferences.rename_case=系统区分大小写
preferences.rename_valid=是有效的标识符
preferences.rename_printable=是可打印
preferences.search_res_title=搜索资源
-preferences.res_file_ext=文件扩展名 (e.g. .xml|.html), * 表示所有
+preferences.res_file_ext=文件扩展名 (e.g. .xml|.html),* 表示所有
preferences.res_skip_file=跳过文件大小(MB)
msg.open_file=请打开文件
@@ -198,8 +198,8 @@ popup.exclude_packages=排除包
popup.add_comment=注释
popup.search_comment=搜索注释
popup.rename=重命名
-popup.search=搜索 "%s"
-popup.search_global=全局搜索 "%s"
+popup.search=搜索 “%s”
+popup.search_global=全局搜索 “%s”
exclude_dialog.title=选择要排除的包
exclude_dialog.ok=确定
@@ -229,15 +229,15 @@ certificate.serialSHA1=SHA-1 签名
certificate.serialSHA256=SHA-256 签名
certificate.serialPubKeyY=Y
-apkSignature.signer=签名人
+apkSignature.signer=签名者
apkSignature.verificationSuccess=签名验证成功
-apkSignature.verificationFailed=签名认证失败
+apkSignature.verificationFailed=签名验证失败
apkSignature.signatureSuccess=找到有效的 APK 签名 v%d
apkSignature.signatureFailed=找到无效的 APK 签名 v%d
apkSignature.errors=错误
apkSignature.warnings=警告
apkSignature.exception=APK 验证失败
-apkSignature.unprotectedEntry=不受签名保护的文件。不会检测对此 JAR 条目的未经授权的修改。
+apkSignature.unprotectedEntry=未受 v1签名 保护的文件。对这些条目的未经授权的修改,只能通过 v2签名 或更高版本来检测。
issues_panel.label=问题:
issues_panel.errors=%d 错误
@@ -256,15 +256,15 @@ debugger.cfm_dialog_title=在调试时退出
debugger.cfm_dialog_msg=您确定要终止调试器吗?
debugger.popup_set_value=修改值
-#debugger.popup_change_to_zero=Change to 0
-#debugger.popup_change_to_one=Change to 1
+debugger.popup_change_to_zero=改变为0
+debugger.popup_change_to_one=改变为1
debugger.popup_copy_value=复制值
set_value_dialog.label_value=值
set_value_dialog.btn_set=修改
set_value_dialog.title=修改值
-set_value_dialog.neg_msg=修改值失败.
-set_value_dialog.sel_type=选择要修改值的类型.
+set_value_dialog.neg_msg=修改值失败。
+set_value_dialog.sel_type=选择要修改值的类型。
adb_dialog.addr=ADB IP
adb_dialog.port=ADB 端口
@@ -272,23 +272,23 @@ adb_dialog.path=ADB 路径
adb_dialog.launch_app=运行APP
adb_dialog.start_server=启动ADB服务
adb_dialog.refresh=刷新
-adb_dialog.tip_devices=%d 设备
+adb_dialog.tip_devices=%d 台设备
adb_dialog.device_node=设备
-adb_dialog.missing_path=必须提供ADB路径才能启动ADB服务
+adb_dialog.missing_path=必须提供ADB路径才能启动ADB服务。
adb_dialog.waiting=正在等待连接到ADB服务...
-adb_dialog.connecting=正在连接ADB服务, 地址: %s:%s...
-adb_dialog.connect_okay=已连接ADB服务, 地址: %s:%s
-adb_dialog.connect_fail=连接ADB服务失败
-adb_dialog.disconnected=ADB服务已断开连接.
-adb_dialog.start_okay=ADB服务启动成功 端口: %s.
-adb_dialog.start_fail=ADB服务启动失败 端口: %s!
-#adb_dialog.forward_fail=Failed to forward for some reasons.
+adb_dialog.connecting=正在连接ADB服务,地址: %s:%s...
+adb_dialog.connect_okay=已连接ADB服务,地址: %s:%s
+adb_dialog.connect_fail=连接ADB服务失败。
+adb_dialog.disconnected=ADB服务已断开连接。
+adb_dialog.start_okay=ADB服务启动成功 端口: %s。
+adb_dialog.start_fail=ADB服务启动失败 端口: %s!
+adb_dialog.forward_fail=由于某些原因无法转发。
adb_dialog.being_debugged_msg=这个进程似乎正在调试,是否继续?
-adb_dialog.unknown_android_ver=获取安卓版本失败,是否默认使用安卓8
+adb_dialog.unknown_android_ver=获取安卓版本失败,是否默认使用Android 8?
adb_dialog.being_debugged_title=它正在由其他人调试。
adb_dialog.init_dbg_fail=初始化调试器失败。
adb_dialog.msg_read_mani_fail=解码AndroidManifest.xml失败
-adb_dialog.no_devices=找不到任何设备用来启动APP
+adb_dialog.no_devices=找不到任何设备用来启动APP。
adb_dialog.restart_while_debugging_title=调试时重新启动
adb_dialog.restart_while_debugging_msg=你正在调试一个APP,确定要重新启动一个会话吗?
adb_dialog.starting_debugger=正在启动调试器...