mirror of
https://github.com/anten-ka/gotelegram_pro.git
synced 2026-05-19 15:36:03 +00:00
v2.5.0: redesign local admin and repair stats
This commit is contained in:
@@ -24,12 +24,37 @@ logger = logging.getLogger(__name__)
|
||||
_MODULE_DIR = Path(__file__).resolve().parent
|
||||
LANG_DIR = _MODULE_DIR / "lang"
|
||||
USER_LANG_FILE = Path("/opt/gotelegram-bot/user_langs.json")
|
||||
GOTELEGRAM_CONFIG = Path("/opt/gotelegram/config.json")
|
||||
GOTELEGRAM_LANG_MARKER = Path("/opt/gotelegram/.language")
|
||||
|
||||
# Supported codes; keep in sync with lang/*.json
|
||||
SUPPORTED_LANGS = ("en", "ru")
|
||||
DEFAULT_LANG = os.getenv("BOT_LANG", "en").strip().lower() or "en"
|
||||
if DEFAULT_LANG not in SUPPORTED_LANGS:
|
||||
DEFAULT_LANG = "en"
|
||||
|
||||
|
||||
def _detect_default_lang() -> str:
|
||||
candidates = []
|
||||
try:
|
||||
if GOTELEGRAM_CONFIG.exists():
|
||||
with open(GOTELEGRAM_CONFIG, "r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
if isinstance(data, dict):
|
||||
candidates.extend([data.get("language"), data.get("lang")])
|
||||
except Exception as e:
|
||||
logger.warning("failed to read GoTelegram language config: %s", e)
|
||||
try:
|
||||
if GOTELEGRAM_LANG_MARKER.exists():
|
||||
candidates.append(GOTELEGRAM_LANG_MARKER.read_text(encoding="utf-8").strip()[:2])
|
||||
except Exception as e:
|
||||
logger.warning("failed to read GoTelegram language marker: %s", e)
|
||||
candidates.append(os.getenv("BOT_LANG", ""))
|
||||
for raw in candidates:
|
||||
code = str(raw or "").strip().lower()
|
||||
if code in SUPPORTED_LANGS:
|
||||
return code
|
||||
return "en"
|
||||
|
||||
|
||||
DEFAULT_LANG = _detect_default_lang()
|
||||
|
||||
LANG_NAMES = {
|
||||
"en": "English",
|
||||
|
||||
Reference in New Issue
Block a user