shaheerawan3 commited on
Commit
0898792
·
verified ·
1 Parent(s): 9f1ee09

Create utils/localization.py

Browse files
Files changed (1) hide show
  1. utils/localization.py +34 -0
utils/localization.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Dict
2
+ import json
3
+ import os
4
+
5
+ class LocalizationManager:
6
+ def __init__(self):
7
+ self.translations = self._load_translations()
8
+ self.current_language = 'en'
9
+
10
+ def _load_translations(self) -> Dict[str, Dict[str, str]]:
11
+ translations = {}
12
+ translations_dir = os.path.join(os.path.dirname(__file__), '../translations')
13
+
14
+ for filename in os.listdir(translations_dir):
15
+ if filename.endswith('.json'):
16
+ language = filename.split('.')[0]
17
+ with open(os.path.join(translations_dir, filename)) as f:
18
+ translations[language] = json.load(f)
19
+
20
+ return translations
21
+
22
+ def get_text(self, key: str, language: str = None) -> str:
23
+ lang = language or self.current_language
24
+ try:
25
+ return self.translations[lang][key]
26
+ except KeyError:
27
+ return self.translations['en'][key]
28
+
29
+ def set_language(self, language: str):
30
+ if language in self.translations:
31
+ self.current_language = language
32
+
33
+ # Initialize localization
34
+ localization = LocalizationManager()