feat(l10n): 퀘스트 및 시네마틱 텍스트 번역 적용
- game_text_l10n.dart에 게임 데이터 번역 함수 추가 - translateMonster, translateRace, translateKlass - translateTitle, translateImpressiveTitle - translateBoringItem, translateInterestingItem - pq_logic.dart monsterTask에서 몬스터 이름 번역 - completeQuest에서 퀘스트 아이템/몬스터 번역 - impressiveGuy, namedMonster에서 NPC 이름 번역 - interplotCinematic에서 시네마틱 아이템 번역
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
// 게임 텍스트 로컬라이제이션 (BuildContext 없이 사용)
|
||||
// progress_service.dart, pq_logic.dart 등에서 사용
|
||||
|
||||
import 'package:askiineverdie/data/game_translations_ko.dart';
|
||||
|
||||
/// 현재 게임 로케일 설정 (전역)
|
||||
String _currentLocale = 'en';
|
||||
|
||||
@@ -282,3 +284,52 @@ String namedMonsterFormat(String generatedName, String monsterType) =>
|
||||
isKoreanLocale
|
||||
? '$monsterType $generatedName'
|
||||
: '$generatedName the $monsterType';
|
||||
|
||||
// ============================================================================
|
||||
// 게임 데이터 번역 함수 (BuildContext 없이 사용)
|
||||
// ============================================================================
|
||||
|
||||
/// 몬스터 이름 번역
|
||||
String translateMonster(String englishName) =>
|
||||
isKoreanLocale ? (monsterTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// 종족 이름 번역
|
||||
String translateRace(String englishName) =>
|
||||
isKoreanLocale ? (raceTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// 직업 이름 번역
|
||||
String translateKlass(String englishName) =>
|
||||
isKoreanLocale ? (klassTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// 칭호 이름 번역
|
||||
String translateTitle(String englishName) =>
|
||||
isKoreanLocale ? (titleTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// 인상적인 칭호 번역 (impressiveTitles용)
|
||||
String translateImpressiveTitle(String englishName) =>
|
||||
isKoreanLocale ? (impressiveTitleTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// 특수 아이템 이름 번역
|
||||
String translateSpecial(String englishName) =>
|
||||
isKoreanLocale ? (specialTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// 아이템 속성 이름 번역
|
||||
String translateItemAttrib(String englishName) =>
|
||||
isKoreanLocale ? (itemAttribTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// 아이템 "~의" 접미사 번역
|
||||
String translateItemOf(String englishName) =>
|
||||
isKoreanLocale ? (itemOfsTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// 단순 아이템 번역
|
||||
String translateBoringItem(String englishName) =>
|
||||
isKoreanLocale ? (boringItemTranslationsKo[englishName] ?? englishName) : englishName;
|
||||
|
||||
/// interestingItem 번역 (attrib + special 조합)
|
||||
/// 예: "Golden Iterator" → "황금 이터레이터"
|
||||
String translateInterestingItem(String attrib, String special) {
|
||||
if (!isKoreanLocale) return '$attrib $special';
|
||||
final translatedAttrib = itemAttribTranslationsKo[attrib] ?? attrib;
|
||||
final translatedSpecial = specialTranslationsKo[special] ?? special;
|
||||
return '$translatedAttrib $translatedSpecial';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user