chore: Translate the strings missing from every locale

Thirty-three locales were short the same sixty-six keys and had been since
2.2.1. Fifty-six of them are the two-factor setup and the auto-logout
preference; six are the two-factor challenge itself; the rest are the promo
strings the banner rotates through.

The six in `login.js` were the urgent ones. They render during sign-in, before
`core.js` is fetched, so a user with two-factor enabled met the whole challenge
in English — on the one screen they cannot get past without understanding it.
Three of those six exist in `core.js` as well and now read identically in both
files, which nothing checks and which two translators working from two files
would otherwise have got subtly different.

Plural forms follow each language rather than the English pair: Arabic carries
all six CLDR categories with the agreement its counting requires, Czech,
Polish, Russian, Slovak and Ukrainian four with the right case in each, and
Chinese, Japanese, Korean, Vietnamese and Indonesian only `other`, since a
`_one` variant would be a form i18next never reads.

Every file is additions only — no existing line was moved, reworded or
reformatted, so the diff shows what was missing and nothing else. Several
existing mistranslations turned up along the way and were left alone; they are
a separate concern from filling the gaps.
This commit is contained in:
Daniel Hiller
2026-09-08 19:54:41 +02:00
parent 9069b24cfb
commit 26b512193a
66 changed files with 2687 additions and 0 deletions
+72
View File
@@ -93,6 +93,15 @@ export default {
attachment: 'Lampiran',
attachments: 'Lampiran-lampiran',
authentication: 'Autentikasi',
autoLogout: 'Keluar otomatis',
autoLogout_10m: 'Setelah 10 menit',
autoLogout_12h: 'Setelah 12 jam',
autoLogout_2m: 'Setelah 2 menit',
autoLogout_30m: 'Setelah 30 menit',
autoLogout_5m: 'Setelah 5 menit',
autoLogout_never: 'Tidak pernah',
autoLogoutWarning_body: 'Anda akan dikeluarkan dalam {{seconds}} detik karena tidak aktif.',
autoLogoutWarning_title: 'Anda akan segera dikeluarkan',
background: 'Latar belakang',
baseCustomFields_title: 'Bidang kustom dasar',
baseGroup: 'Grup dasar',
@@ -126,6 +135,8 @@ export default {
closed: 'Ditutup',
color: 'Warna',
comments: 'Komentar',
confirmCodesSaved: 'Saya telah menyimpan kode-kode ini di tempat yang aman.',
confirmPassword: 'Konfirmasi kata sandi',
contentExceedsLimit: 'Konten melebihi {{limit}}',
contentOfThisAttachmentIsTooBigToDisplay:
'Konten lampiran ini terlalu besar untuk ditampilkan.',
@@ -152,6 +163,47 @@ export default {
dismissProBannerFor30Days: 'Tutup selama 30 hari',
customerPanel_title: 'Panel pelanggan',
dangerZone_title: 'Zona berbahaya',
disable2fa_title: 'Nonaktifkan autentikasi dua faktor',
disable2faWarning:
'Anda perlu mengonfirmasi kata sandi Anda saat ini dan kode TOTP. Sesi yang sudah ada akan tetap masuk.',
enable2fa_title: 'Aktifkan autentikasi dua faktor',
enabledOn: 'Diaktifkan pada {{date}}',
enterCodeFromApp: 'Masukkan kode 6 digit dari aplikasi autentikator Anda.',
enterPasswordToContinue: 'Konfirmasi kata sandi Anda saat ini untuk melanjutkan.',
enterTotpOrRecoveryCode:
'Masukkan kode 6 digit dari aplikasi autentikator Anda, atau salah satu kode pemulihan Anda (xxxxx-xxxxx).',
expires: 'Kedaluwarsa',
invalidTotpCode: 'Kode TOTP atau kode pemulihan tidak valid',
lastUsed: 'Terakhir digunakan',
never: 'Tidak pernah',
noTrustedDevices: 'Tidak ada perangkat tepercaya.',
orEnterSecretManually: 'Atau masukkan kunci rahasia ini secara manual:',
recoveryCodesExhausted:
'Semua kode pemulihan telah digunakan. Buat ulang sekumpulan kode baru agar Anda tetap memiliki cadangan jika kehilangan aplikasi autentikator Anda.',
recoveryCodesIntro:
'Simpan kode-kode ini di tempat yang aman — masing-masing dapat digunakan satu kali jika Anda kehilangan akses ke aplikasi autentikator Anda.',
recoveryCodesLow_other:
'Hanya tersisa {{count}} kode pemulihan. Sebaiknya segera buat ulang.',
regenerateRecoveryCodes_title: 'Buat ulang kode pemulihan',
regenerateRecoveryCodesIntro:
'Membuat kode baru akan membatalkan semua kode pemulihan yang ada.',
reset2fa_title: 'Setel ulang 2FA',
reset2faWarning:
'Menyetel ulang 2FA akan mengeluarkan pengguna dari semua sesi dan menghapus pengaturan TOTP mereka. Mereka harus mengaturnya kembali saat masuk berikutnya.',
saveTheseCodes_title: 'Simpan kode pemulihan ini',
scanQrCodeWithApp:
'Pindai kode QR ini dengan aplikasi autentikator seperti Google Authenticator atau Authy.',
security_title: 'Keamanan',
totpCode: 'Kode TOTP',
totpOrRecoveryCode: 'Kode TOTP atau kode pemulihan',
trustedDevices_title: 'Peramban tepercaya',
trustedDevicesHint:
'Peramban yang telah ditandai sebagai tepercaya akan melewati faktor kedua selama 30 hari. Cabut semua yang sudah tidak Anda kenali.',
twoFactor_enabled: 'Autentikasi dua faktor telah diaktifkan.',
twoFactor_intro:
'Tambahkan lapisan keamanan ekstra ke akun Anda menggunakan kode sekali pakai berbasis waktu dari aplikasi autentikator.',
twoFactorAuthentication: 'Autentikasi dua faktor',
unknownDevice: 'Perangkat tidak dikenal',
date: 'Tanggal',
deactivateUser_title: 'Nonaktifkan pengguna',
defaultCardType_title: 'Tipe kartu default',
@@ -280,6 +332,13 @@ export default {
pressPasteShortcutToAddAttachmentFromClipboard:
'Tip: tekan Ctrl-V (Cmd-V di Mac) untuk menambahkan lampiran dari papan klip.',
private: 'Pribadi',
proFeatureDashboard: '✨ Satu dasbor untuk semua proyek',
proFeatureExport: '✨ Kartu sebagai PDF untuk laporan Anda',
proFeatureMobile: '✨ PLANKA di ponsel dan tablet',
proFeatureSso: '✨ Masuk dengan direktori perusahaan Anda (SSO)',
proFeatureThemes: '✨ Lima tema dan warna aksen Anda sendiri',
proFeatureTimeline: '✨ Timeline: satu tahun penuh dalam satu sumbu',
proTrialSelfHosted: '✨ Coba PLANKA Pro selama 30 hari di server Anda sendiri',
project: 'Proyek',
projectNotFound_title: 'Proyek tidak ditemukan',
projectOwner: 'Pemilik proyek',
@@ -405,8 +464,11 @@ export default {
archiveCards: 'Arsipkan kartu',
archiveCards_title: 'Arsipkan kartu',
assignAsOwner: 'Tetapkan sebagai pemilik',
back: 'Kembali',
cancel: 'Batal',
changePassword: 'Ubah kata sandi',
copy: 'Salin',
copyAll: 'Salin semua',
copyCard_title: 'Salin Kartu',
createApiKey: 'Buat kunci API',
createBoard: 'Tambah papan',
@@ -446,7 +508,9 @@ export default {
deleteUser: 'Hapus pengguna',
deleteUser_title: 'Hapus pengguna',
deleteWebhook: 'Hapus webhook',
disable2fa: 'Nonaktifkan 2FA',
dismissAll: 'Tutup semua',
done: 'Selesai',
download: 'Unduh',
duplicateCard_title: 'Duplikat kartu',
edit: 'Ubah',
@@ -466,12 +530,14 @@ export default {
editUsername_title: 'Ubah username',
emptyTrash: 'Kosongkan sampah',
emptyTrash_title: 'Kosongkan sampah',
enable2fa: 'Aktifkan 2FA',
import: 'Impor',
join: 'Bergabung',
leave: 'Keluar',
leaveBoard: 'Keluar dari papan',
leaveProject: 'Keluar dari proyek',
logOut_title: 'Keluar',
logOutNow: 'Keluar sekarang',
makeCover_title: 'Buat cover',
makeProjectPrivate: 'Jadikan proyek pribadi',
makeProjectPrivate_title: 'Jadikan proyek pribadi',
@@ -480,7 +546,9 @@ export default {
move: 'Pindah',
moveCard_title: 'Pindahkan kartu',
moveList_title: 'Pindahkan daftar',
regenerate: 'Buat ulang',
regenerateApiKey: 'Buat ulang kunci API',
regenerateRecoveryCodes: 'Buat ulang kode pemulihan',
remove: 'Hapus',
removeAssignee: 'Hapus penerima tugas',
removeColor: 'Hapus warna',
@@ -489,8 +557,10 @@ export default {
removeFromProject: 'Hapus dari proyek',
removeManager: 'Hapus manager',
removeMember: 'Hapus papan',
reset2fa: 'Setel ulang 2FA',
restoreToList: 'Pulihkan ke {{list}}',
returnToBoard: 'Kembali ke papan',
revoke: 'Cabut',
save: 'Simpan',
sendTestEmail: 'Kirim email uji',
showActive: 'Tampilkan aktif',
@@ -502,11 +572,13 @@ export default {
showMore: 'Tampilkan lebih banyak',
sortList_title: 'Urutkan daftar',
start: 'Mulai',
stayLoggedIn: 'Tetap masuk',
stop: 'Berhenti',
subscribe: 'Berlanggan',
unsubscribe: 'Berhenti berlangganan',
uploadNewAvatar: 'Unggah avatar baru',
uploadNewImage: 'Unggah gambar baru',
verify: 'Verifikasi',
},
},
};
+7
View File
@@ -6,9 +6,12 @@ export default {
'Login admin diperlukan untuk menginisialisasi instance',
emailAlreadyInUse: 'E-mail telah digunakan',
emailOrUsername: 'E-mail atau username',
enterTotpOrRecoveryCode:
'Masukkan kode 6 digit dari aplikasi autentikator Anda, atau salah satu kode pemulihan Anda (xxxxx-xxxxx).',
invalidCredentials: 'Kredensial tidak valid',
invalidEmailOrUsername: 'E-mail atau username salah',
invalidPassword: 'Kata sandi salah',
invalidTotpCode: 'Kode TOTP atau kode pemulihan tidak valid',
logIn_title: 'Masuk',
noInternetConnection: 'Tidak ada koneksi internet',
or: 'Atau',
@@ -16,6 +19,9 @@ export default {
password: 'Kata sandi',
poweredByPlanka: 'Didukung oleh <1>PLANKA</1>',
serverConnectionFailed: 'Koneksi server gagal',
totpSessionExpired: 'Sesi TOTP telah berakhir. Silakan masuk kembali.',
trustThisBrowser: 'Percayai peramban ini selama 30 hari',
twoFactorRequired_title: 'Autentikasi dua faktor diperlukan',
unknownError: 'Kesalahan tidak diketahui, coba lagi nanti.',
usernameAlreadyInUse: 'Username telah digunakan',
whoops_title: 'Ups!',
@@ -27,6 +33,7 @@ export default {
goBack: 'Kembali',
goHome: 'Ke beranda',
logIn: 'Masuk',
verify: 'Verifikasi',
},
},
};