|
|
|
import logging |
|
from importlib import import_module |
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
def get_translations(lang_code): |
|
|
|
if lang_code not in ['es', 'en', 'fr', 'pt']: |
|
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', {}), |
|
**translations.get('TEXT_TYPES', {}), |
|
**translations.get('CURRENT_SITUATION', {}) |
|
} |