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
+70
View File
@@ -84,6 +84,15 @@ export default {
attachment: '첨부 파일',
attachments: '첨부 파일들',
authentication: '인증',
autoLogout: '자동 로그아웃',
autoLogout_10m: '10분 후',
autoLogout_12h: '12시간 후',
autoLogout_2m: '2분 후',
autoLogout_30m: '30분 후',
autoLogout_5m: '5분 후',
autoLogout_never: '사용 안 함',
autoLogoutWarning_body: '비활성 상태로 인해 {{seconds}}초 후에 로그아웃됩니다.',
autoLogoutWarning_title: '곧 로그아웃됩니다',
background: '배경',
baseCustomFields_title: '기본 사용자 정의 필드',
baseGroup: '기본 그룹',
@@ -117,6 +126,8 @@ export default {
closed: '닫힘',
color: '색상',
comments: '댓글',
confirmCodesSaved: '이 코드를 안전한 곳에 저장했습니다.',
confirmPassword: '비밀번호 확인',
contentExceedsLimit: '내용이 {{limit}}을 초과했습니다',
contentOfThisAttachmentIsTooBigToDisplay:
'이 첨부 파일의 내용이 너무 커서 표시할 수 없습니다.',
@@ -168,6 +179,9 @@ export default {
deleteWebhook_title: '웹훅 삭제',
deletedUser_title: '삭제된 사용자',
description: '설명',
disable2fa_title: '2단계 인증 비활성화',
disable2faWarning:
'현재 비밀번호와 TOTP 코드를 확인해야 합니다. 기존 세션은 로그인 상태로 유지됩니다.',
display: '표시',
displayCardAges: '카드 경과 시간 표시',
dropFileToUpload: '업로드할 파일을 드롭하세요',
@@ -192,14 +206,21 @@ export default {
editors: '편집자들',
email: '이메일',
emptyTrash_title: '휴지통 비우기',
enable2fa_title: '2단계 인증 활성화',
enabledOn: '{{date}}에 활성화됨',
enterCardTitle: '카드 제목 입력...',
enterCodeFromApp: '인증 앱에 표시된 6자리 코드를 입력하세요.',
enterDescription: '설명 입력...',
enterFilename: '파일 이름 입력',
enterListTitle: '목록 제목 입력...',
enterPasswordToContinue: '계속하려면 현재 비밀번호를 확인하세요.',
enterTaskDescription: '작업 설명 입력...',
enterTotpOrRecoveryCode:
'인증 앱에 표시된 6자리 코드 또는 복구 코드(xxxxx-xxxxx) 중 하나를 입력하세요.',
events: '이벤트',
excludedEvents: '제외된 이벤트',
expandTaskListsByDefault: '기본적으로 작업 목록 확장',
expires: '만료일',
filterByLabels_title: '라벨별 필터링',
filterByMembers_title: '멤버별 필터링',
forPersonalProjects: '개인 프로젝트용.',
@@ -219,9 +240,11 @@ export default {
importBoard_title: '보드 가져오기',
information: '정보',
invalidCurrentPassword: '잘못된 현재 비밀번호',
invalidTotpCode: '잘못된 TOTP 또는 복구 코드',
kanban: '칸반',
labels: '라벨',
language: '언어',
lastUsed: '마지막 사용',
leaveBoard_title: '보드 떠나기',
leaveProject_title: '프로젝트 떠나기',
limitCardTypesToDefaultOne: '카드 유형을 기본값으로 제한',
@@ -241,6 +264,7 @@ export default {
moveList_title: '목록 이동',
myOwn_title: '내 소유',
name: '이름',
never: '없음',
newEmail: '새 이메일',
newPassword: '새 비밀번호',
newUsername: '새 사용자 이름',
@@ -252,6 +276,7 @@ export default {
noConnectionToServer: '서버에 연결되지 않음',
noLists: '목록 없음',
noProjects: '프로젝트 없음',
noTrustedDevices: '신뢰할 수 있는 기기가 없습니다.',
noUnreadNotifications: '읽지 않은 알림 없음.',
notifications: '알림',
oldestFirst: '오래된 순',
@@ -259,6 +284,7 @@ export default {
'이 프로젝트를 비공개로 만들려면 관리자가 한 명만 남아있어야 합니다',
openBoard_title: '보드 열기',
optional_inline: '선택 사항',
orEnterSecretManually: '또는 이 비밀 키를 직접 입력하세요:',
organization: '조직',
others: '기타',
passwordIsSet: '비밀번호가 설정됨',
@@ -270,16 +296,37 @@ export default {
pressPasteShortcutToAddAttachmentFromClipboard:
'팁: Ctrl-V (Mac에서는 Cmd-V)를 눌러 클립보드에서 첨부 파일을 추가하세요.',
private: '비공개',
proFeatureDashboard: '✨ 모든 프로젝트를 한 대시보드에서',
proFeatureExport: '✨ 보고서용 카드 PDF 내보내기',
proFeatureMobile: '✨ 휴대폰과 태블릿에서도 PLANKA',
proFeatureSso: '✨ 회사 디렉터리 계정으로 로그인(SSO)',
proFeatureThemes: '✨ 5가지 테마와 원하는 강조 색상',
proFeatureTimeline: '✨ 타임라인: 1년 전체를 한 축에',
proTrialSelfHosted: '✨ 직접 운영하는 서버에서 PLANKA Pro 30일 체험',
project: '프로젝트',
projectNotFound_title: '프로젝트를 찾을 수 없음',
projectOwner: '프로젝트 소유자',
recoveryCodesExhausted:
'모든 복구 코드를 사용했습니다. 인증 앱에 접근할 수 없을 때를 대비해 새 코드를 생성하세요.',
recoveryCodesIntro:
'이 코드를 안전한 곳에 보관하세요 — 인증 앱에 접근할 수 없을 때 각 코드를 한 번씩 사용할 수 있습니다.',
recoveryCodesLow_other:
'남은 복구 코드가 {{count}}개뿐입니다. 곧 재생성하는 것을 권장합니다.',
referenceDataAndKnowledgeStorage: '참조 데이터 및 지식 저장소.',
regenerateApiKey_title: 'API 키 재생성',
regenerateRecoveryCodes_title: '복구 코드 재생성',
regenerateRecoveryCodesIntro: '새 코드를 생성하면 기존 복구 코드가 모두 무효화됩니다.',
rejectUnauthorizedTlsCertificates: '승인되지 않은 TLS 인증서 거부',
removeManager_title: '관리자 제거',
removeMember_title: '멤버 제거',
reset2fa_title: '2FA 초기화',
reset2faWarning:
'2FA를 초기화하면 해당 사용자의 모든 세션이 로그아웃되고 TOTP 설정이 제거됩니다. 다음 로그인 시 다시 설정해야 합니다.',
role: '역할',
saveTheseCodes_title: '복구 코드 저장',
saveThisKeyItWillNotBeShownAgain: '이 키를 저장하세요. 다시 표시되지 않습니다!',
scanQrCodeWithApp:
'Google Authenticator 또는 Authy와 같은 인증 앱으로 이 QR 코드를 스캔하세요.',
searchCards: '카드 검색...',
searchCustomFieldGroups: '사용자 정의 필드 그룹 검색...',
searchCustomFields: '사용자 정의 필드 검색...',
@@ -289,6 +336,7 @@ export default {
searchProjects: '프로젝트 검색...',
searchUsers: '사용자 검색...',
seconds: '초',
security_title: '보안',
selectAssignee_title: '담당자 선택',
selectBoard: '보드 선택',
selectList: '목록 선택',
@@ -322,11 +370,20 @@ export default {
'이 첨부 파일에 대한 미리보기를 사용할 수 없습니다.',
time: '시간',
title: '제목',
totpCode: 'TOTP 코드',
totpOrRecoveryCode: 'TOTP 또는 복구 코드',
trash: '휴지통',
trashHasBeenSuccessfullyEmptied: '휴지통이 성공적으로 비워졌습니다.',
trustedDevices_title: '신뢰할 수 있는 브라우저',
trustedDevicesHint:
'신뢰할 수 있는 것으로 표시된 브라우저는 30일 동안 2단계 인증을 건너뜁니다. 더 이상 알아볼 수 없는 브라우저는 모두 해제하세요.',
turnOffRecentCardHighlighting: '최근 카드 강조 표시 끄기',
twoFactor_enabled: '2단계 인증이 활성화되어 있습니다.',
twoFactor_intro: '인증 앱의 시간 기반 일회용 코드를 사용하여 계정에 보안 계층을 추가하세요.',
twoFactorAuthentication: '2단계 인증',
typeNameToConfirm: '확인하려면 이름을 입력하세요.',
typeTitleToConfirm: '확인하려면 제목을 입력하세요.',
unknownDevice: '알 수 없는 기기',
unsavedChanges: '저장되지 않은 변경사항',
uploadFailedFileIsTooBig: '업로드 실패: 파일이 너무 큽니다.',
uploadFailedNotEnoughStorageSpace: '업로드 실패: 저장 공간이 부족합니다.',
@@ -399,8 +456,11 @@ export default {
archiveCards: '카드들 보관',
archiveCards_title: '카드들 보관',
assignAsOwner: '소유자로 지정',
back: '뒤로',
cancel: '취소',
changePassword: '비밀번호 변경',
copy: '복사',
copyAll: '모두 복사',
copyCard_title: '카드 복사',
createApiKey: 'API 키 생성',
createBoard: '보드 생성',
@@ -440,7 +500,9 @@ export default {
deleteUser: '사용자 삭제',
deleteUser_title: '사용자 삭제',
deleteWebhook: '웹훅 삭제',
disable2fa: '2FA 비활성화',
dismissAll: '모두 해제',
done: '완료',
download: '다운로드',
duplicateCard_title: '카드 복제',
edit: '편집',
@@ -460,12 +522,14 @@ export default {
editUsername_title: '사용자 이름 편집',
emptyTrash: '휴지통 비우기',
emptyTrash_title: '휴지통 비우기',
enable2fa: '2FA 활성화',
import: '가져오기',
join: '참여',
leave: '떠나기',
leaveBoard: '보드 떠나기',
leaveProject: '프로젝트 떠나기',
logOut_title: '로그아웃',
logOutNow: '지금 로그아웃',
makeCover_title: '커버 만들기',
makeProjectPrivate: '프로젝트 비공개로 만들기',
makeProjectPrivate_title: '프로젝트 비공개로 만들기',
@@ -474,7 +538,9 @@ export default {
move: '이동',
moveCard_title: '카드 이동',
moveList_title: '목록 이동',
regenerate: '재생성',
regenerateApiKey: 'API 키 재생성',
regenerateRecoveryCodes: '복구 코드 재생성',
remove: '제거',
removeAssignee: '담당자 제거',
removeColor: '색상 제거',
@@ -483,8 +549,10 @@ export default {
removeFromProject: '프로젝트에서 제거',
removeManager: '관리자 제거',
removeMember: '멤버 제거',
reset2fa: '2FA 초기화',
restoreToList: '{{list}}로 복원',
returnToBoard: '보드로 돌아가기',
revoke: '해제',
save: '저장',
sendTestEmail: '테스트 이메일 보내기',
showActive: '활성 표시',
@@ -496,11 +564,13 @@ export default {
showMore: '더 표시',
sortList_title: '목록 정렬',
start: '시작',
stayLoggedIn: '로그인 상태 유지',
stop: '중지',
subscribe: '구독',
unsubscribe: '구독 취소',
uploadNewAvatar: '새 아바타 업로드',
uploadNewImage: '새 이미지 업로드',
verify: '인증',
},
},
};