street-lingo/apps/shared/config/languages.js

62 lines
2.1 KiB
JavaScript

export const LANGUAGE_CONFIGS = {
german: {
code: 'de',
name: 'German',
flag: '🇩🇪',
apiEndpoint: '/api/scenarios/german',
wsEndpoint: '/ws/speech/german',
theme: 'german-theme',
defaultScenario: 'spati',
branding: {
title: 'Street Lingo',
tagline: 'Deutsch lernen in Berlin - Learn German through real Berlin scenarios'
},
translation: {
sourceLanguage: 'de',
targetLanguage: 'en'
},
phrases: {
nativeField: 'german_text',
translationField: 'english_meaning'
},
scenarios: {
'spati': { name: 'Späti Shopping', emoji: '🏪', avatar: '👨‍💼' },
'wg_viewing': { name: 'WG Apartment Viewing', emoji: '🏠', avatar: '👩‍🎓' },
'burgeramt': { name: 'Bürgeramt Visit', emoji: '🏛️', avatar: '👩‍💼' },
'biergarten': { name: 'Biergarten Chat', emoji: '🍺', avatar: '👨‍🍳' },
'ber_airport': { name: 'BER Airport Train Help', emoji: '✈️', avatar: '👩‍💼' },
'arzt': { name: 'Doctor Visit', emoji: '👨‍⚕️', avatar: '👨‍⚕️' }
}
},
indonesian: {
code: 'id',
name: 'Indonesian',
flag: '🇮🇩',
apiEndpoint: '/api/scenarios/indonesian',
wsEndpoint: '/ws/speech/indonesian',
theme: 'indonesian-theme',
defaultScenario: 'warung',
branding: {
title: 'Street Lingo',
tagline: 'Learn Indonesian through everyday scenarios'
},
translation: {
sourceLanguage: 'id',
targetLanguage: 'en'
},
phrases: {
nativeField: 'indonesian_text',
translationField: 'english_meaning'
},
scenarios: {
'warung': { name: 'Warung Dining', emoji: '🍜', avatar: '👨‍🍳' },
'ojek': { name: 'Ojek Ride', emoji: '🏍️', avatar: '👩‍🦱' },
'alfamart': { name: 'Alfamart Shopping', emoji: '🏪', avatar: '👩‍💼' },
'coffee_shop': { name: 'Coffee Shop Small Talk', emoji: '☕', avatar: '👨‍💼' }
}
}
}
export function getLanguageConfig(language) {
return LANGUAGE_CONFIGS[language] || LANGUAGE_CONFIGS.indonesian
}