From b6ca2f7d7a64a044c20d51bf49492d2914a558ae Mon Sep 17 00:00:00 2001 From: SantaSpeen Date: Sun, 23 Mar 2025 01:40:02 +0300 Subject: [PATCH] base structure --- README.md | 23 ++++++++++++++++++++++- builtins.i18n.pyi.py | 0 internationalization/__init__.py | 1 + internationalization/i18n.py | 4 ++++ internationalization/utils.py | 13 +++++++++++++ 5 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 builtins.i18n.pyi.py create mode 100644 internationalization/__init__.py create mode 100644 internationalization/i18n.py create mode 100644 internationalization/utils.py diff --git a/README.md b/README.md index df867e1..da87bce 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,24 @@ # I18N-Module -Internationalization (i18n) module \ No newline at end of file +Internationalization (i18n) module + +i18n инжектися в builtins: + +```python +from internationalization import I18N + +I18N("localization_dir", "en") + +print(i18n['key']) +print(i18n.get_phrase('key', some=123)) +``` + +!!! luguru настроен под формат: +```python +fmt = "{elapsed} -- {time:YYYY-MM-DD HH:mm:ss.SSS} | {level:<8} | {extra[module]:^12} | {extra[prefix]:<12} | {message}" +``` + +Добавление в проект: +```bash +git submodule add ssh://git@git.anidev.ru:222/andiev-soft/I18N-Module src/modules/i18n +``` diff --git a/builtins.i18n.pyi.py b/builtins.i18n.pyi.py new file mode 100644 index 0000000..e69de29 diff --git a/internationalization/__init__.py b/internationalization/__init__.py new file mode 100644 index 0000000..24f0137 --- /dev/null +++ b/internationalization/__init__.py @@ -0,0 +1 @@ +from .i18n import I18N diff --git a/internationalization/i18n.py b/internationalization/i18n.py new file mode 100644 index 0000000..743abf3 --- /dev/null +++ b/internationalization/i18n.py @@ -0,0 +1,4 @@ + +class I18N: + def __init__(self, lock_dir, load_lang): + pass diff --git a/internationalization/utils.py b/internationalization/utils.py new file mode 100644 index 0000000..2e0b737 --- /dev/null +++ b/internationalization/utils.py @@ -0,0 +1,13 @@ +import sys +from pathlib import Path + +def base_path(): + # PyInstaller creates a temp folder and stores path in _MEIPASS + try: + # noinspection PyUnresolvedReferences,PyProtectedMember + return Path(sys._MEIPASS).resolve() + except AttributeError: + return Path().resolve() + +def get_file(filename): + return base_path() / "resources" / filename