From fd9fd96f1e04adb73ab4d2eab43bb1be02622f97 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Mon, 12 Jan 2026 16:17:34 +0900 Subject: [PATCH] =?UTF-8?q?feat(i18n):=20=EA=B2=8C=EC=9E=84=20=ED=85=8D?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EB=B2=88=EC=97=AD=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/data/game_text_l10n.dart | 63 +++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/lib/data/game_text_l10n.dart b/lib/data/game_text_l10n.dart index 3f37a20..e671c82 100644 --- a/lib/data/game_text_l10n.dart +++ b/lib/data/game_text_l10n.dart @@ -26,10 +26,13 @@ bool get isJapaneseLocale => _currentLocale == 'ja'; /// /// 예: "syntax error" → "Syntax Error" String _toTitleCase(String text) { - return text.split(' ').map((word) { - if (word.isEmpty) return word; - return word[0].toUpperCase() + word.substring(1).toLowerCase(); - }).join(' '); + return text + .split(' ') + .map((word) { + if (word.isEmpty) return word; + return word[0].toUpperCase() + word.substring(1).toLowerCase(); + }) + .join(' '); } // ============================================================================ @@ -1941,3 +1944,55 @@ String get uiAboutDescription { if (isJapaneseLocale) return 'ASCIIアートとレトロ感のあるオフラインシングルプレイヤーRPGです。'; return 'An offline single-player RPG with ASCII art and retro vibes.'; } + +// ============================================================================ +// 공통 UI 액션 텍스트 +// ============================================================================ + +String get uiConfirm { + if (isKoreanLocale) return '확인'; + if (isJapaneseLocale) return '確認'; + return 'Confirm'; +} + +String get uiCancel { + if (isKoreanLocale) return '취소'; + if (isJapaneseLocale) return 'キャンセル'; + return 'Cancel'; +} + +String get uiDelete { + if (isKoreanLocale) return '삭제'; + if (isJapaneseLocale) return '削除'; + return 'Delete'; +} + +String get uiConfirmDelete { + if (isKoreanLocale) return '정말로 삭제하시겠습니까?'; + if (isJapaneseLocale) return '本当に削除しますか?'; + return 'Are you sure you want to delete?'; +} + +String get uiDeleted { + if (isKoreanLocale) return '삭제되었습니다'; + if (isJapaneseLocale) return '削除されました'; + return 'Deleted'; +} + +String get uiError { + if (isKoreanLocale) return '오류가 발생했습니다'; + if (isJapaneseLocale) return 'エラーが発生しました'; + return 'An error occurred'; +} + +String get uiSaved { + if (isKoreanLocale) return '저장됨'; + if (isJapaneseLocale) return '保存しました'; + return 'Saved'; +} + +String get uiSaveBattleLog { + if (isKoreanLocale) return '배틀로그 저장'; + if (isJapaneseLocale) return 'バトルログ保存'; + return 'Save Battle Log'; +}