|
|
|
import logging
|
|
from importlib import import_module
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
def get_translations(lang_code):
|
|
|
|
if lang_code not in ['es', 'en', 'fr']:
|
|
print(f"Invalid lang_code: {lang_code}. Defaulting to 'es'")
|
|
lang_code = 'es'
|
|
|
|
try:
|
|
|
|
translation_module = import_module(f'.{lang_code}', package='translations')
|
|
translations = getattr(translation_module, 'TRANSLATIONS', {})
|
|
except ImportError:
|
|
logger.warning(f"Translation module for {lang_code} not found. Falling back to English.")
|
|
|
|
translation_module = import_module('.en', package='translations')
|
|
translations = getattr(translation_module, 'TRANSLATIONS', {})
|
|
|
|
def get_text(key, section='COMMON', default=''):
|
|
return translations.get(section, {}).get(key, default)
|
|
|
|
return {
|
|
'get_text': get_text,
|
|
**translations.get('COMMON', {}),
|
|
**translations.get('TABS', {}),
|
|
**translations.get('MORPHOSYNTACTIC', {}),
|
|
**translations.get('SEMANTIC', {}),
|
|
**translations.get('DISCOURSE', {}),
|
|
**translations.get('ACTIVITIES', {}),
|
|
**translations.get('FEEDBACK', {})
|
|
} |