ImageEditPro / __lib__ /i18n /__init__.py
selfit-camera's picture
Initial commit - Encrypted version with i18n protection
0ec120e
Raw
History Blame Contribute Delete
1.2 kB
"""
i18n loader for encrypted translation files
"""
import sys
import importlib.util
from pathlib import Path
def load_pyc_module(module_name, pyc_path):
"""Load a .pyc module using importlib"""
spec = importlib.util.spec_from_file_location(module_name, pyc_path)
if spec is None or spec.loader is None:
raise ImportError(f"Cannot load module {module_name} from {pyc_path}")
module = importlib.util.module_from_spec(spec)
sys.modules[module_name] = module
spec.loader.exec_module(module)
return module
def load_translations():
"""Load all encrypted translation files"""
translations = {}
i18n_dir = Path(__file__).parent
# List all .pyc files in i18n directory
for pyc_file in i18n_dir.glob("*.pyc"):
lang = pyc_file.stem # Get language code from filename
try:
module = load_pyc_module(f"i18n_{lang}", pyc_file)
if hasattr(module, 'data'):
translations[lang] = module.data
except Exception as e:
print(f"Failed to load {pyc_file.name}: {e}")
return translations
# Auto-load translations when module is imported
translations = load_translations()