Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
keyescgm
jadx
提交
ba6dd081
J
jadx
项目概览
keyescgm
/
jadx
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jadx
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ba6dd081
编写于
3月 27, 2019
作者:
A
Ahmed Ashour
提交者:
skylot
3月 27, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(gui): add missing translations keys, and ensure all files match (PR #525)
上级
7cdb0318
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
95 addition
and
5 deletion
+95
-5
jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java
jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java
+1
-1
jadx-gui/src/main/resources/i18n/Messages_en_US.properties
jadx-gui/src/main/resources/i18n/Messages_en_US.properties
+3
-2
jadx-gui/src/main/resources/i18n/Messages_es_ES.properties
jadx-gui/src/main/resources/i18n/Messages_es_ES.properties
+24
-0
jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
+3
-2
jadx-gui/src/test/java/jadx/gui/TestI18n.java
jadx-gui/src/test/java/jadx/gui/TestI18n.java
+64
-0
未找到文件。
jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java
浏览文件 @
ba6dd081
...
...
@@ -756,7 +756,7 @@ public class MainWindow extends JFrame {
}
private
class
JPackagePopUp
extends
JPopupMenu
{
JMenuItem
excludeItem
=
new
JCheckBoxMenuItem
(
"Exclude"
);
JMenuItem
excludeItem
=
new
JCheckBoxMenuItem
(
NLS
.
str
(
"popup.exclude"
)
);
public
JPackagePopUp
(
JPackage
pkg
)
{
excludeItem
.
setSelected
(!
pkg
.
isEnabled
());
...
...
jadx-gui/src/main/resources/i18n/Messages_en_US.properties
浏览文件 @
ba6dd081
...
...
@@ -124,8 +124,9 @@ popup.copy=Copy
popup.paste
=
Paste
popup.delete
=
Delete
popup.select_all
=
Select All
popup.find_usage
=
Find Usage
popup.exclude
=
Exclude
certificate.title
=
Certificate
certificate.cert_type
=
Type
certificate.serialSigVer
=
Version
...
...
@@ -147,7 +148,7 @@ certificate.serialPubKeyY=Y
apkSignature.signer
=
Signer
apkSignature.verificationSuccess
=
Signature verification succeeded
apkSignature.verificationFailed
=
Signature verification
succeed
ed
apkSignature.verificationFailed
=
Signature verification
fail
ed
apkSignature.signatureSuccess
=
Valid APK signature v%d found
apkSignature.signatureFailed
=
Invalid APK signature v%d found
apkSignature.errors
=
Errors
...
...
jadx-gui/src/main/resources/i18n/Messages_es_ES.properties
浏览文件 @
ba6dd081
...
...
@@ -7,6 +7,7 @@ menu.no_recent_files=No hay archivos recientes
menu.preferences
=
Preferencias
menu.sync
=
Sincronizar con el editor
menu.flatten
=
Mostrar paquetes en vista plana
#menu.heapUsageBar=
menu.navigation
=
Navegación
menu.text_search
=
Buscar texto
menu.class_search
=
Buscar clase
...
...
@@ -46,6 +47,10 @@ tabs.closeAll=Cerrar todo
nav.back
=
Atrás
nav.forward
=
Adelante
#message.indexingClassesSkipped=
#heapUsage.text=
search_dialog.open
=
Abrir
search_dialog.cancel
=
Cancelar
search_dialog.open_by_name
=
Buscar texto:
...
...
@@ -81,8 +86,14 @@ preferences.fallback=Modo fallback (simple dump)
preferences.showInconsistentCode
=
Mostrar código inconsistente
preferences.escapeUnicode
=
Escape unicode
preferences.replaceConsts
=
Reemplazar constantes
#preferences.respectBytecodeAccessModifiers=
#preferences.useImports=
preferences.skipResourcesDecode
=
No descodificar recursos
preferences.threads
=
Número de hilos a procesar
#preferences.excludedPackages=
#preferences.excludedPackages.tooltip=
#preferences.excludedPackages.button=
#preferences.excludedPackages.editDialog=
preferences.cfg
=
Generar methods CFG graphs (in 'dot' format)
preferences.raw_cfg
=
Generate RAW CFG graphs
preferences.font
=
Fuente del editor
...
...
@@ -113,6 +124,8 @@ popup.copy=Copiar
popup.paste
=
Pegar
popup.delete
=
Borrar
popup.select_all
=
Seleccionar todo
#popup.find_usage=
#popup.exclude=
certificate.title
=
Certificado
certificate.cert_type
=
Tipo
...
...
@@ -125,9 +138,20 @@ certificate.serialValidUntil=Válido hasta
certificate.serialPubKeyType
=
Tipo de clave pública
certificate.serialPubKeyExponent
=
Exponente
certificate.serialPubKeyModulus
=
Módulo
#certificate.serialPubKeyModulusSize=
certificate.serialSigType
=
Tipo de firma
certificate.serialSigOID
=
Firma OID
certificate.serialMD5
=
Huella MD5
certificate.serialSHA1
=
Huella SHA-1
certificate.serialSHA256
=
Huella SHA-256
certificate.serialPubKeyY
=
Y
#apkSignature.signer=
#apkSignature.verificationSuccess=
#apkSignature.verificationFailed=
#apkSignature.signatureSuccess=
#apkSignature.signatureFailed=
#apkSignature.errors=
#apkSignature.warnings=
#apkSignature.exception=
#apkSignature.unprotectedEntry=
jadx-gui/src/main/resources/i18n/Messages_zh_CN.properties
浏览文件 @
ba6dd081
...
...
@@ -124,8 +124,9 @@ popup.copy=复制
popup.paste
=
粘贴
popup.delete
=
删除
popup.select_all
=
全选
popup.find_usage
=
查找用例
#popup.exclude=
certificate.title
=
证书
certificate.cert_type
=
类型
certificate.serialSigVer
=
版本
...
...
@@ -147,7 +148,7 @@ certificate.serialPubKeyY=Y
apkSignature.signer
=
签名人
apkSignature.verificationSuccess
=
签名验证成功
apkSignature.verificationFailed
=
签名验证成功
#apkSignature.verificationFailed=
apkSignature.signatureSuccess
=
找到有效的 APK 签名 v%d
apkSignature.signatureFailed
=
找到无效的 APK 签名 v%d
apkSignature.errors
=
错误
...
...
jadx-gui/src/test/java/jadx/gui/TestI18n.java
0 → 100644
浏览文件 @
ba6dd081
package
jadx.gui
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertTrue
;
import
java.io.IOException
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.util.List
;
import
org.junit.jupiter.api.Assertions
;
import
org.junit.jupiter.api.Test
;
public
class
TestI18n
{
private
List
<
String
>
reference
;
private
String
referenceName
;
@Test
public
void
filesExactlyMatch
()
throws
IOException
{
Path
path
=
Paths
.
get
(
"./src/main/resources/i18n"
);
assertTrue
(
Files
.
exists
(
path
));
Files
.
list
(
path
).
forEach
(
p
->
{
List
<
String
>
lines
;
try
{
lines
=
Files
.
readAllLines
(
p
);
if
(
reference
==
null
)
{
reference
=
lines
;
referenceName
=
p
.
getFileName
().
toString
();
}
else
{
compareToReference
(
p
);
}
}
catch
(
IOException
e
)
{
Assertions
.
fail
(
"Error "
+
e
.
getMessage
());
}
});
}
private
void
compareToReference
(
Path
path
)
throws
IOException
{
List
<
String
>
lines
=
Files
.
readAllLines
(
path
);
for
(
int
i
=
0
;
i
<
reference
.
size
();
i
++)
{
String
line
=
trimComment
(
reference
.
get
(
i
));
int
p0
=
line
.
indexOf
(
'='
);
if
(
p0
!=
-
1
)
{
String
prefix
=
line
.
substring
(
0
,
p0
+
1
);
if
(
i
>=
lines
.
size
()
||
!
trimComment
(
lines
.
get
(
i
)).
startsWith
(
prefix
))
{
fail
(
path
,
i
+
1
);
}
}
}
if
(
lines
.
size
()
!=
reference
.
size
())
{
fail
(
path
,
reference
.
size
());
}
}
private
static
String
trimComment
(
String
string
)
{
return
string
.
startsWith
(
"#"
)
?
string
.
substring
(
1
)
:
string
;
}
private
void
fail
(
Path
path
,
int
line
)
{
Assertions
.
fail
(
"I18n files "
+
path
.
getFileName
()
+
" and "
+
referenceName
+
" differ in line "
+
line
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录