Files
novafarma/assets
David Kotnik d241f69f3b 🌍🔥 LOCALIZATION SYSTEM - INTRO SYNC + VOICE SWITCHING
 LOCALIZATION.JSON CREATED (5 LANGUAGES):

📂 assets/localization.json (NEW!):
- 🇸🇮 Slovenščina (slo)
- 🇬🇧 English (en)
- 🇩🇪 Deutsch (de)
- 🇮🇹 Italiano (it)
- 🇨🇳 中文 (cn)

📝 COMPLETE TRANSLATIONS:
- All 20 Polaroid texts
- Menu buttons (New Game, Load, Settings, Exit)
- Game title + subtitle

 LOCALIZATIONSYSTEM.JS UPDATED:

🔧 NEW METHODS ADDED:

1. loadIntroTexts() - Load JSON
   - Fetches assets/localization.json
   - Merges intro_polaroids into translations
   - Merges menu texts
   - Adds title/subtitle
   - Console: ' Intro texts loaded from JSON'

2. getIntroText(polaroidKey) - Get text
   - Returns translated Polaroid text
   - Falls back to English if missing
   - Usage: i18n.getIntroText('kai_dad_longboard')

3. getVoicePath(character, index) - Voice switching!
   - 🇸🇮 Slovenian → assets/audio/voiceover/sl/
   - 🇬🇧 English → assets/audio/voiceover/en/
   - Auto-formats filename
   - Example SL: kai_01.mp3
   - Example EN: kai_en_01.mp3

4. hasVoiceForLanguage(character, index)
   - Checks if voice exists for language
   - SL + EN have full voiceovers
   - DE/IT/CN fall back to EN

🎯 LANGUAGE TO VOICE PATH MAPPING:
- slo → /voiceover/sl/kai_01.mp3
- en → /voiceover/en/kai_en_01.mp3
- de → /voiceover/en/kai_en_01.mp3 (fallback)
- it → /voiceover/en/kai_en_01.mp3 (fallback)
- cn → /voiceover/en/kai_en_01.mp3 (fallback)

📋 20 POLAROID KEYS:
1. kai_dad_longboard
2. barbershop
3. birthday_cake
4. family_portrait
5. twins_holding_hands
6. kai_bedroom
7. virus_microscope
8. chaos_streets
9. zombies
10. parents_ghosts
11. ana_taken
12. black_screen
13. kai_alone
14. ana_memory_1
15. ana_memory_2
16. ana_memory_3
17. ana_memory_4
18. ana_memory_5
19. gronk_arrival
20. determination
21. lifetime

🎮 USAGE EXAMPLE:
// In IntroScene preload()
await window.i18n.loadIntroTexts();

// Get text for current language
const text = window.i18n.getIntroText('birthday_cake');
// SL: 'Tukaj smo bili še vedno srečni...'
// EN: 'Here we were still happy...'

// Get voice path
const path = window.i18n.getVoicePath('kai', 1);
// SL: 'assets/audio/voiceover/sl/kai_01.mp3'
// EN: 'assets/audio/voiceover/en/kai_en_01.mp3'

🌍 LANGUAGE FLOW:
1. Player selects language on launcher
2. window.i18n.setLanguage('slo')
3. Saved to LocalStorage
4. IntroScene loads JSON texts
5. Displays translated Polaroid captions
6. Plays SL voice files from /sl/ folder
7. Full sync!

NEXT: Hook up IntroScene to use these methods!

Files:
- assets/localization.json (NEW!)
- src/systems/LocalizationSystem.js (UPDATED!)

READY FOR INTRO TEXT SYNC! 🌍🔥
2026-01-10 23:23:19 +01:00
..
2026-01-10 14:31:05 +01:00
2026-01-10 05:11:05 +01:00
2026-01-10 00:48:10 +01:00
2026-01-10 00:48:10 +01:00