feat: add Indonesian translation (PR #2018)
* Add Indonesian translation * fix load i18n resources with deprecated language codes --------- Co-authored-by: Skylot <skylot@gmail.com>
This commit is contained in:
committed by
GitHub
parent
c39a696977
commit
8f0d0e4f4d
@@ -1,6 +1,5 @@
|
||||
package jadx.gui.utils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.net.URL;
|
||||
@@ -39,6 +38,7 @@ public class NLS {
|
||||
LANG_LOCALES.add(new LangLocale("ko", "KR"));
|
||||
LANG_LOCALES.add(new LangLocale("pt", "BR"));
|
||||
LANG_LOCALES.add(new LangLocale("ru", "RU"));
|
||||
LANG_LOCALES.add(new LangLocale("id", "ID"));
|
||||
|
||||
LANG_LOCALES.forEach(NLS::load);
|
||||
|
||||
@@ -50,20 +50,20 @@ public class NLS {
|
||||
private NLS() {
|
||||
}
|
||||
|
||||
private static void load(LangLocale locale) {
|
||||
ResourceBundle bundle;
|
||||
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
|
||||
String resName = String.format("i18n/Messages_%s.properties", locale.get());
|
||||
URL bundleUrl = classLoader.getResource(resName);
|
||||
private static void load(LangLocale lang) {
|
||||
Locale locale = lang.get();
|
||||
String resName = String.format("i18n/Messages_%s.properties", locale.toLanguageTag().replace('-', '_'));
|
||||
URL bundleUrl = NLS.class.getClassLoader().getResource(resName);
|
||||
if (bundleUrl == null) {
|
||||
throw new JadxRuntimeException("Locale resource not found: " + resName);
|
||||
}
|
||||
ResourceBundle bundle;
|
||||
try (Reader reader = new InputStreamReader(bundleUrl.openStream(), StandardCharsets.UTF_8)) {
|
||||
bundle = new PropertyResourceBundle(reader);
|
||||
} catch (IOException e) {
|
||||
} catch (Exception e) {
|
||||
throw new JadxRuntimeException("Failed to load " + resName, e);
|
||||
}
|
||||
LANG_LOCALES_MAP.put(locale, bundle);
|
||||
LANG_LOCALES_MAP.put(lang, bundle);
|
||||
}
|
||||
|
||||
public static String str(String key) {
|
||||
|
||||
@@ -0,0 +1,422 @@
|
||||
language.name=Indonesian
|
||||
|
||||
menu.file=Berkas
|
||||
menu.view=Tampilan
|
||||
menu.recent_projects=Proyek Terbaru
|
||||
menu.no_recent_projects=Tidak ada proyek terbaru
|
||||
menu.preferences=Preferensi
|
||||
menu.sync=Sinkronisasi dengan editor
|
||||
menu.flatten=Tampilkan paket yang diratakan
|
||||
menu.heapUsageBar=Tampilkan penggunaan memori
|
||||
menu.alwaysSelectOpened=Selalu Pilih Berkas/Kelas yang Terbuka
|
||||
menu.dock_log=Kaitkan pemantau log
|
||||
menu.navigation=Navigasi
|
||||
menu.text_search=Pencarian Teks
|
||||
menu.class_search=Pencarian Kelas
|
||||
menu.comment_search=Pencarian Komentar
|
||||
menu.goto_main_activity=Pergi ke Activitas Utama
|
||||
menu.tools=Alat
|
||||
menu.plugins=Plugin
|
||||
menu.decompile_all=Deskompilasi semua kelas
|
||||
menu.reset_cache=Reset cache kode
|
||||
menu.deobfuscation=Deobfikasi
|
||||
menu.log=Pemantau Log
|
||||
menu.help=Bantuan
|
||||
menu.about=Tentang
|
||||
menu.quark=Mesin Quark
|
||||
menu.update_label=Versi baru %s tersedia!
|
||||
|
||||
file.open_action=Buka berkas ...
|
||||
file.add_files_action=Tambahkan berkas
|
||||
file.open_title=Buka berkas
|
||||
file.open_project=Buka proyek
|
||||
file.new_project=Proyek baru
|
||||
file.save_project=Simpan proyek
|
||||
file.save_project_as=Simpan proyek sebagai...
|
||||
file.reload=Muat ulang berkas
|
||||
file.live_reload=Muat ulang otomatis
|
||||
file.live_reload_desc=Muat ulang berkas secara otomatis saat ada perubahan
|
||||
file.open_mappings=Buka pemetaan...
|
||||
file.save_mappings=Simpan pemetaan
|
||||
file.save_mappings_as=Simpan pemetaan sebagai...
|
||||
file.close_mappings=Tutup pemetaan
|
||||
file.save_all=Simpan semua
|
||||
file.save=Simpan
|
||||
file.export_gradle=Simpan sebagai proyek gradle
|
||||
file.save_all_msg=Pilih direktori untuk menyimpan sumber yang telah didekompilasi
|
||||
file.exit=Keluar
|
||||
|
||||
start_page.title=Halaman Awal
|
||||
start_page.start=Mulai
|
||||
start_page.recent=Proyek Terbaru
|
||||
|
||||
tree.inputs_title=Input
|
||||
tree.input_files=Berkas
|
||||
tree.input_scripts=Skrip
|
||||
tree.sources_title=Kode Sumber
|
||||
tree.resources_title=Sumber Daya
|
||||
tree.loading=Memuat...
|
||||
|
||||
progress.load=Memuat
|
||||
progress.save_mappings=Menyimpan pemetaan
|
||||
progress.decompile=Deskompilasi
|
||||
progress.canceling=Membatalkan
|
||||
|
||||
error_dialog.title=Kesalahan
|
||||
error_dialog.not_found=%s tidak ditemukan
|
||||
|
||||
search.previous=Sebelumnya
|
||||
search.next=Berikutnya
|
||||
search.mark_all=Tandai Semua
|
||||
search.regex=Regex
|
||||
search.match_case=Sama huruf
|
||||
search.whole_word=Seluruh kata
|
||||
search.find=Cari
|
||||
search.results=%s%d hasil
|
||||
|
||||
tabs.copy_class_name=Salin Nama
|
||||
tabs.close=Tutup
|
||||
tabs.closeOthers=Tutup yang Lain
|
||||
tabs.closeAll=Tutup Semua
|
||||
tabs.closeAllRight=Tutup Semua yang Kanan
|
||||
tabs.code=Kode
|
||||
tabs.smali=Smali
|
||||
|
||||
nav.back=Kembali
|
||||
nav.forward=Maju
|
||||
|
||||
message.taskTimeout=Tugas melebihi batas waktu %d ms.
|
||||
message.userCancelTask=Tugas dibatalkan oleh pengguna.
|
||||
message.memoryLow=JADX kekurangan memori. Harap restart dengan peningkatan ukuran heap maksimum.
|
||||
message.taskError=Tugas gagal dengan kesalahan (periksa log untuk detailnya).
|
||||
message.errorTitle=Kesalahan
|
||||
message.load_errors=Pemuatan gagal.\nJumlah kesalahan: %d\nKlik OK untuk membuka penampil log.
|
||||
message.no_classes=Tidak ada kelas yang dimuat, tidak ada yang dapat didekompilasi!
|
||||
|
||||
message.saveIncomplete=<html>Simpan tidak lengkap.<br> %s<br> %d kelas atau sumber daya tidak disimpan!</html>
|
||||
message.indexIncomplete=<html>Indeks beberapa kelas dilewati.<br> %s<br> %d kelas tidak diindeks dan tidak akan muncul dalam hasil pencarian!</html>
|
||||
message.indexingClassesSkipped=<html>JADX kekurangan memori. Oleh karena itu %d kelas tidak diindeks.<br>Jika Anda ingin semua kelas diindeks, restart JADX dengan ukuran heap maksimum yang lebih besar.</html>
|
||||
|
||||
heapUsage.text=Penggunaan memori JADX: %.2f GB dari %.2f GB
|
||||
|
||||
common_dialog.ok=OK
|
||||
common_dialog.cancel=Batal
|
||||
common_dialog.add=Tambah
|
||||
common_dialog.update=Perbarui
|
||||
common_dialog.remove=Hapus
|
||||
common_dialog.reset=Reset
|
||||
|
||||
file_dialog.supported_files=Berkas yang didukung
|
||||
file_dialog.load_dir_title=Muat direktori
|
||||
file_dialog.load_dir_confirm=Muat semua berkas dari direktori?
|
||||
|
||||
search_dialog.open=Buka
|
||||
search_dialog.cancel=Batal
|
||||
search_dialog.open_by_name=Cari teks:
|
||||
search_dialog.search_button=Cari
|
||||
search_dialog.search_history=Riwayat pencarian
|
||||
search_dialog.auto_search=Pencarian otomatis
|
||||
search_dialog.search_in=Cari definisi dari:
|
||||
search_dialog.class=Kelas
|
||||
search_dialog.method=Metode
|
||||
search_dialog.field=Bidang
|
||||
search_dialog.code=Kode
|
||||
search_dialog.options=Opsi pencarian:
|
||||
search_dialog.ignorecase=Non-ketetapan huruf besar kecil
|
||||
search_dialog.load_more=Muat lebih banyak
|
||||
search_dialog.load_all=Muat semua
|
||||
search_dialog.stop=Berhenti
|
||||
search_dialog.results_incomplete=Ditemukan %d+
|
||||
search_dialog.results_complete=Ditemukan %d (lengkap)
|
||||
search_dialog.resources_load_errors=Kesalahan pemuatan: %d
|
||||
search_dialog.resources_skip_by_size=Dilewati karena ukuran: %d
|
||||
search_dialog.resources_check_logs=(klik untuk memeriksa log)
|
||||
search_dialog.col_node=Node
|
||||
search_dialog.col_code=Kode
|
||||
search_dialog.sort_results=Sortir hasil
|
||||
search_dialog.regex=Regex
|
||||
search_dialog.active_tab=Hanya tab aktif
|
||||
search_dialog.comments=Komentar
|
||||
search_dialog.resource=Sumber daya
|
||||
search_dialog.keep_open=Tetap terbuka
|
||||
search_dialog.tip_searching=Mencari
|
||||
|
||||
usage_dialog.title=Pencarian penggunaan
|
||||
usage_dialog.label=Penggunaan untuk:
|
||||
|
||||
comment_dialog.title.add=Tambahkan komentar kode
|
||||
comment_dialog.title.update=Perbarui komentar kode
|
||||
comment_dialog.label=Komentar:
|
||||
comment_dialog.usage=Gunakan Shift + Enter untuk memulai baris baru
|
||||
|
||||
log_viewer.title=Pemantau Log
|
||||
log_viewer.log_level=Tingkat log:
|
||||
log_viewer.mode=Mode:
|
||||
log_viewer.modes=Semua|Semua skrip|Skrip saat ini
|
||||
log_viewer.hide=Sembunyikan
|
||||
log_viewer.dock=Kaitkan
|
||||
log_viewer.undock=Lepas kaitan
|
||||
log_viewer.clear=Bersihkan
|
||||
|
||||
about_dialog.title=Tentang JADX
|
||||
|
||||
preferences.title=Preferensi
|
||||
preferences.deobfuscation=Deobfikasi
|
||||
preferences.appearance=Tampilan
|
||||
preferences.shortcuts=Pintas
|
||||
preferences.select_shortcuts=Pilih grup pintas tertentu
|
||||
preferences.decompile=Deskompilasi
|
||||
preferences.plugins=Plugin
|
||||
preferences.project=Proyek
|
||||
preferences.other=Lainnya
|
||||
preferences.language=Bahasa
|
||||
preferences.lineNumbersMode=Mode nomor baris editor
|
||||
preferences.jumpOnDoubleClick=Aktifkan lompat saat dua kali klik
|
||||
preferences.useAlternativeFileDialog=Gunakan dialog berkas alternatif
|
||||
preferences.check_for_updates=Periksa pembaruan saat memulai
|
||||
preferences.useDx=Gunakan dx/d8 untuk mengonversi bytecode Java
|
||||
preferences.decompilationMode=Mode deskompilasi
|
||||
preferences.codeCacheMode=Mode cache kode
|
||||
preferences.usageCacheMode=Mode cache data penggunaan
|
||||
preferences.showInconsistentCode=Tampilkan kode yang tidak konsisten
|
||||
preferences.escapeUnicode=Escape unicode
|
||||
preferences.replaceConsts=Ganti konstanta
|
||||
preferences.respectBytecodeAccessModifiers=Hormati pengubah akses bytecode
|
||||
preferences.useImports=Gunakan pernyataan impor
|
||||
preferences.useDebugInfo=Gunakan info debug
|
||||
preferences.inlineAnonymous=Inline kelas anonim
|
||||
preferences.inlineMethods=Inline metode
|
||||
preferences.inlineKotlinLambdas=Izinkan untuk menggantikan Lambdas Kotlin
|
||||
preferences.moveInnerClasses=Pindahkan kelas dalam ke kelas induk
|
||||
preferences.extractFinally=Ekstrak blok finally
|
||||
preferences.fsCaseSensitive=File sistem bersifat sensitif huruf besar-kecil
|
||||
preferences.skipResourcesDecode=Jangan dekode sumber daya
|
||||
preferences.useKotlinMethodsForVarNames=Gunakan metode Kotlin untuk mengganti nama variabel
|
||||
preferences.commentsLevel=Tingkat komentar kode
|
||||
preferences.autoSave=Simpan otomatis
|
||||
preferences.threads=Jumlah utas pemrosesan
|
||||
preferences.excludedPackages=Package yang dikecualikan
|
||||
preferences.excludedPackages.tooltip=Daftar nama paket yang dipisahkan spasi yang tidak akan di deskompilasi atau diindeks (menghemat RAM)
|
||||
preferences.excludedPackages.button=Edit
|
||||
preferences.excludedPackages.editDialog=<html>Daftar nama paket yang dipisahkan spasi yang tidak akan di deskompilasi atau diindeks (menghemat RAM)<br>contoh: <code>android.support</code></html>
|
||||
preferences.cfg=Hasilkan grafik CFG metode (dalam format 'dot')
|
||||
preferences.raw_cfg=Hasilkan grafik CFG mentah
|
||||
preferences.integerFormat=Format bilangan bulat
|
||||
preferences.font=Font editor
|
||||
preferences.smali_font=Font monospasi (Smali/Hex)
|
||||
preferences.laf_theme=Tema
|
||||
preferences.theme=Tema editor
|
||||
preferences.start_jobs=Deskompilasi latar belakang otomatis
|
||||
preferences.select_font=Ubah
|
||||
preferences.select_smali_font=Ubah
|
||||
preferences.deobfuscation_on=Aktifkan deobfikasi
|
||||
preferences.generated_renames_mapping_file_mode=Mode penanganan file pemetaan
|
||||
preferences.deobfuscation_min_len=Panjang nama minimum
|
||||
preferences.deobfuscation_max_len=Panjang nama maksimum
|
||||
preferences.deobfuscation_source_alias=Gunakan nama berkas sumber sebagai alias nama kelas
|
||||
preferences.deobfuscation_res_name_source=Sumber nama sumber daya yang lebih baik
|
||||
preferences.save=Simpan
|
||||
preferences.cancel=Batal
|
||||
preferences.reset=Reset
|
||||
preferences.reset_message=Reset pengaturan ke nilai default?
|
||||
preferences.reset_title=Reset pengaturan
|
||||
preferences.copy=Salin ke papan klip
|
||||
preferences.copy_message=Semua nilai pengaturan telah disalin ke papan klip
|
||||
preferences.rename=Ganti nama identitas
|
||||
preferences.rename_case=Untuk memperbaiki masalah sensitivitas huruf besar-kecil
|
||||
preferences.rename_valid=Untuk membuatnya valid
|
||||
preferences.rename_printable=Untuk membuatnya dapat dicetak
|
||||
preferences.search_group_title=Pencarian
|
||||
preferences.search_results_per_page=Hasil per halaman (0 - tanpa batas)
|
||||
preferences.res_file_ext=Ekstensi berkas sumber daya ('xml|html', * untuk semua)
|
||||
preferences.res_skip_file=Lewati berkas sumber daya jika lebih besar (MB) (0 - nonaktifkan)
|
||||
|
||||
preferences.plugins.install=Instal plugin
|
||||
preferences.plugins.install_btn=Instal
|
||||
preferences.plugins.uninstall_btn=Uninstal
|
||||
preferences.plugins.location_id_label=Lokasi id:
|
||||
preferences.plugins.plugin_jar=Pilih berkas jar Plugin
|
||||
preferences.plugins.plugin_jar_label=atau
|
||||
preferences.plugins.update_all=Perbarui Semua
|
||||
preferences.plugins.details=Detail Plugin
|
||||
preferences.plugins.task.installing=Menginstal plugin
|
||||
preferences.plugins.task.uninstalling=Menguninstal plugin
|
||||
preferences.plugins.task.updating=Mengperbarui plugin
|
||||
preferences.plugins.task.downloading_list=Mengunduh daftar plugin
|
||||
|
||||
preferences.cache=Cache
|
||||
preferences.cache.location=Lokasi cache
|
||||
preferences.cache.location_default=Direktori sistem cache aplikasi
|
||||
preferences.cache.location_local=Direktori yang sama dengan berkas proyek
|
||||
preferences.cache.location_custom=Lokasi kustom:
|
||||
preferences.cache.change_notice=* untuk cache yang sudah ada, perubahan akan diterapkan setelah cache dihapus atau direset secara manual
|
||||
preferences.cache.table.title=Daftar Cache
|
||||
preferences.cache.table.project=Cache untuk proyek
|
||||
preferences.cache.table.size=Penggunaan disk
|
||||
preferences.cache.btn.usage=Hitung penggunaan
|
||||
preferences.cache.btn.delete_selected=Hapus yang Dipilih
|
||||
preferences.cache.btn.delete_all=Hapus Semua
|
||||
preferences.cache.task.usage=Menghitung ukuran cache
|
||||
preferences.cache.task.delete=Menghapus cache
|
||||
|
||||
msg.open_file=Harap buka berkas
|
||||
msg.saving_sources=Menyimpan sumber
|
||||
msg.language_changed_title=Bahasa diubah
|
||||
msg.language_changed=Bahasa baru akan ditampilkan saat aplikasi dimulai kembali.
|
||||
msg.warning_title=Peringatan
|
||||
msg.common_mouse_shortcut=Ini adalah tombol yang sering digunakan, apakah Anda yakin ingin mengaitkannya dengan tindakan?
|
||||
msg.duplicate_shortcut=Pintas %s sudah diatur pada tindakan "%s" dari kategori "%s", lanjutkan?
|
||||
msg.project_error_title=Kesalahan
|
||||
msg.project_error=Proyek tidak dapat dimuat
|
||||
msg.cmd_select_class_error=Gagal memilih kelas\n%s\nKelas tidak ada.
|
||||
msg.cant_add_comment=Tidak dapat menambahkan komentar di sini
|
||||
|
||||
popup.bytecode_col=Tampilkan Bytecode Dalvik
|
||||
popup.line_wrap=Baris Wrap
|
||||
popup.undo=Kembalikan
|
||||
popup.redo=Ulang
|
||||
popup.cut=Potong
|
||||
popup.copy=Salin
|
||||
popup.paste=Tempel
|
||||
popup.delete=Hapus
|
||||
popup.select_all=Pilih Semua
|
||||
popup.frida=Salin sebagai potongan Frida
|
||||
popup.xposed=Salin sebagai potongan Xposed
|
||||
popup.find_usage=Cari Penggunaan
|
||||
popup.go_to_declaration=Pergi ke Deklarasi
|
||||
popup.exclude=Kecualikan
|
||||
popup.exclude_packages=Kecualikan paket
|
||||
popup.add_comment=Komentar
|
||||
popup.search_comment=Cari komentar
|
||||
popup.rename=Ganti nama
|
||||
popup.search=Cari "%s"
|
||||
popup.search_global=Cari Global "%s"
|
||||
popup.remove=Hapus
|
||||
popup.add_files=Tambahkan berkas
|
||||
popup.add_scripts=Tambahkan skrip
|
||||
popup.new_script=Skrip baru
|
||||
popup.json_prettify=JSON Prettify
|
||||
|
||||
script.run=Jalankan
|
||||
script.save=Simpan
|
||||
script.auto_complete=Auto Lengkapi
|
||||
script.check=Periksa
|
||||
script.format=Format Ulang
|
||||
script.log=Tampilkan log
|
||||
|
||||
exclude_dialog.title=Selektor Paket
|
||||
exclude_dialog.ok=OK
|
||||
exclude_dialog.select_all=Pilih semua
|
||||
exclude_dialog.deselect=Batal pilih
|
||||
exclude_dialog.invert=Balik pilihan
|
||||
|
||||
confirm.save_as_title=Konfirmasi Simpan Sebagai
|
||||
confirm.save_as_message=%s sudah ada.\nApakah Anda ingin menggantinya?
|
||||
confirm.not_saved_title=Simpan proyek
|
||||
confirm.not_saved_message=Simpan proyek saat ini sebelum melanjutkan?
|
||||
|
||||
certificate.cert_type=Tipe
|
||||
certificate.serialSigVer=Versi Tanda Tangan
|
||||
certificate.serialNumber=Nomor Seri
|
||||
certificate.cert_subject=Subjek
|
||||
certificate.serialValidFrom=Berlaku dari
|
||||
certificate.serialValidUntil=Berlaku hingga
|
||||
certificate.serialPubKeyType=Tipe Kunci Publik
|
||||
certificate.serialPubKeyExponent=Eksponen
|
||||
certificate.serialPubKeyModulus=Modulus
|
||||
certificate.serialPubKeyModulusSize=Ukuran Modulus (bit)
|
||||
certificate.serialSigType=Tipe Tanda Tangan
|
||||
certificate.serialSigOID=OID Tanda Tangan
|
||||
certificate.serialMD5=Sidik Jari MD5
|
||||
certificate.serialSHA1=Sidik Jari SHA-1
|
||||
certificate.serialSHA256=Sidik Jari SHA-256
|
||||
certificate.serialPubKeyY=Y
|
||||
|
||||
apkSignature.signer=Penandatangan
|
||||
apkSignature.verificationSuccess=Verifikasi tanda tangan berhasil
|
||||
apkSignature.verificationFailed=Verifikasi tanda tangan gagal
|
||||
apkSignature.signatureSuccess=Tanda tangan APK yang valid v%d ditemukan
|
||||
apkSignature.signatureFailed=Tanda tangan APK yang tidak valid v%d ditemukan
|
||||
apkSignature.errors=Kesalahan
|
||||
apkSignature.warnings=Peringatan
|
||||
apkSignature.exception=Verifikasi APK gagal
|
||||
apkSignature.unprotectedEntry=Berkas yang tidak dilindungi oleh tanda tangan APK v1. Modifikasi yang tidak sah pada entri-entri ini hanya dapat terdeteksi oleh tanda tangan APK v2 dan yang lebih tinggi.
|
||||
|
||||
issues_panel.label=Masalah:
|
||||
issues_panel.errors=%d kesalahan
|
||||
issues_panel.warnings=%d peringatan
|
||||
issues_panel.tooltip=Buka di penampil log
|
||||
|
||||
debugger.process_selector=Pilih proses untuk debugging
|
||||
debugger.step_into=Langkah Masuk (F7)
|
||||
debugger.step_over=Langkah Atas (F8)
|
||||
debugger.step_out=Langkah Keluar (Shift + F8)
|
||||
debugger.run=Jalankan (F9)
|
||||
debugger.stop=Hentikan debugger dan hentikan aplikasi
|
||||
debugger.pause=Jeda
|
||||
debugger.rerun=Jalankan Ulang
|
||||
debugger.cfm_dialog_title=Keluar saat debugging
|
||||
debugger.cfm_dialog_msg=Apakah Anda yakin ingin mengakhiri debugger?
|
||||
|
||||
debugger.popup_set_value=Tetapkan Nilai
|
||||
debugger.popup_change_to_zero=Ubah menjadi 0
|
||||
debugger.popup_change_to_one=Ubah menjadi 1
|
||||
debugger.popup_copy_value=Salin Nilai
|
||||
|
||||
logcat.pause=Jeda Logcat
|
||||
logcat.start=Lanjutkan Logcat
|
||||
logcat.clear=Kosongkan Logcat
|
||||
|
||||
logcat.error_fail_start=Gagal memulai Logcat
|
||||
logcat.process=Proses
|
||||
logcat.level=Tingkat
|
||||
logcat.default=Bawaan
|
||||
logcat.verbose=Verbose
|
||||
logcat.debug=Debug
|
||||
logcat.info=Info
|
||||
logcat.warn=Peringatan
|
||||
logcat.error=Kesalahan
|
||||
logcat.fatal=Fatal
|
||||
logcat.silent=Diam
|
||||
logcat.logcat=Logcat
|
||||
logcat.select_attached=Pilih Terlampir
|
||||
logcat.select_all=Pilih Semua
|
||||
logcat.unselect_all=Batal Pilih Semua
|
||||
|
||||
set_value_dialog.label_value=Nilai
|
||||
set_value_dialog.btn_set=Tetapkan Nilai
|
||||
set_value_dialog.title=Tetapkan Nilai
|
||||
set_value_dialog.neg_msg=Gagal menetapkan nilai.
|
||||
set_value_dialog.sel_type=Pilih jenis untuk menetapkan nilai.
|
||||
|
||||
adb_dialog.addr=Alamat ADB
|
||||
adb_dialog.port=Port ADB
|
||||
adb_dialog.path=Path ADB
|
||||
adb_dialog.launch_app=Jalankan Aplikasi
|
||||
adb_dialog.start_server=Menajalankan Server ADB
|
||||
adb_dialog.refresh=Segarkan
|
||||
adb_dialog.tip_devices=%d perangkat
|
||||
adb_dialog.device_node=Perangkat
|
||||
adb_dialog.missing_path=Harus memberikan path ADB untuk menjalankan server ADB.
|
||||
adb_dialog.waiting=Menunggu untuk terhubung ke server ADB...
|
||||
adb_dialog.connecting=Menghubungkan ke server ADB, alamat: %s:%s...
|
||||
adb_dialog.connect_okay=Server ADB terhubung, alamat: %s:%s
|
||||
adb_dialog.connect_fail=Gagal menghubungkan ke server ADB.
|
||||
adb_dialog.disconnected=Server ADB terputus.
|
||||
adb_dialog.start_okay=Server ADB dijalankan pada port: %s.
|
||||
adb_dialog.start_fail=Gagal menjalankan server ADB pada port: %s!
|
||||
adb_dialog.forward_fail=Gagal meneruskan dengan alasan tertentu.
|
||||
adb_dialog.being_debugged_msg=Proses ini sepertinya sedang di-debug, apakah kita harus melanjutkan?
|
||||
adb_dialog.unknown_android_ver=Gagal mendapatkan versi rilis Android, gunakan Android 8 sebagai default?
|
||||
adb_dialog.being_debugged_title=Sedang Didebug oleh Pihak Lain.
|
||||
adb_dialog.init_dbg_fail=Gagal menginisialisasi debugger.
|
||||
adb_dialog.msg_read_mani_fail=Gagal mendekode AndroidManifest.xml
|
||||
adb_dialog.no_devices=Tidak dapat menemukan perangkat apa pun untuk memulai aplikasi.
|
||||
adb_dialog.restart_while_debugging_title=Memulai Ulang Saat Debugging
|
||||
adb_dialog.restart_while_debugging_msg=Anda sedang debugging sebuah aplikasi, apakah Anda yakin ingin memulai ulang sesi?
|
||||
adb_dialog.starting_debugger=Memulai debugger...
|
||||
|
||||
action.variant=%s (variant)
|
||||
action_category.menu_toolbar=Menu / Toolbar
|
||||
action_category.code_area=Area Kode
|
||||
action_category.plugin_script=Plugin Script
|
||||
@@ -8,6 +8,7 @@ import java.nio.file.Paths;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -15,6 +16,9 @@ import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import jadx.gui.utils.LangLocale;
|
||||
import jadx.gui.utils.NLS;
|
||||
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.hamcrest.Matchers.empty;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
@@ -36,6 +40,16 @@ public class TestI18n {
|
||||
assertTrue(Files.exists(guiJavaPath));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void verifyLocales() {
|
||||
for (LangLocale lang : NLS.getLangLocales()) {
|
||||
Locale locale = lang.get();
|
||||
System.out.println("Language: " + locale.getLanguage() + " - " + locale.getDisplayLanguage()
|
||||
+ ", country: " + locale.getCountry() + " - " + locale.getDisplayCountry()
|
||||
+ ", language tag: " + locale.toLanguageTag());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void filesExactlyMatch() throws IOException {
|
||||
Files.list(i18nPath).forEach(p -> {
|
||||
|
||||
Reference in New Issue
Block a user