mirror of
https://github.com/1j01/textual-paint.git
synced 2024-10-27 01:41:29 +03:00
Disable tracking untranslated strings
This commit is contained in:
parent
91e6b13eda
commit
2334e168be
@ -70,6 +70,7 @@
|
|||||||
"Playscii",
|
"Playscii",
|
||||||
"polyline",
|
"polyline",
|
||||||
"psutil",
|
"psutil",
|
||||||
|
"pybabel",
|
||||||
"pycache",
|
"pycache",
|
||||||
"pyfiglet",
|
"pyfiglet",
|
||||||
"Pylance",
|
"Pylance",
|
||||||
@ -107,6 +108,8 @@
|
|||||||
"vkey",
|
"vkey",
|
||||||
"webp",
|
"webp",
|
||||||
"webstorm",
|
"webstorm",
|
||||||
"wstorm"
|
"wstorm",
|
||||||
|
"xgettext",
|
||||||
|
"xpot"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,14 @@ current_language = base_language
|
|||||||
localization_folder = os.path.dirname(__file__)
|
localization_folder = os.path.dirname(__file__)
|
||||||
untranslated_file = os.path.join(localization_folder, "untranslated.txt")
|
untranslated_file = os.path.join(localization_folder, "untranslated.txt")
|
||||||
|
|
||||||
|
TRACK_UNTRANSLATED = False
|
||||||
|
"""Whether to update the untranslated.txt file with any untranslated strings.
|
||||||
|
|
||||||
|
This should be disabled in production.
|
||||||
|
A better way to do this would be static source code analysis, using xgettext, pybabel, or xpot.
|
||||||
|
https://docs.python.org/3/library/gettext.html#internationalizing-your-programs-and-modules
|
||||||
|
"""
|
||||||
|
|
||||||
def get_direction() -> str:
|
def get_direction() -> str:
|
||||||
"""Get the text direction for the current language."""
|
"""Get the text direction for the current language."""
|
||||||
if current_language in ["ar", "he"]:
|
if current_language in ["ar", "he"]:
|
||||||
@ -38,12 +46,13 @@ def load_language(language_code: str):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Could not load language '{language_code}': {e}")
|
print(f"Could not load language '{language_code}': {e}")
|
||||||
|
|
||||||
untranslated: set[str] = set()
|
if TRACK_UNTRANSLATED:
|
||||||
try:
|
untranslated: set[str] = set()
|
||||||
with open(untranslated_file, "r") as f:
|
try:
|
||||||
untranslated = set(f.read().splitlines())
|
with open(untranslated_file, "r") as f:
|
||||||
except FileNotFoundError:
|
untranslated = set(f.read().splitlines())
|
||||||
pass
|
except FileNotFoundError:
|
||||||
|
pass
|
||||||
|
|
||||||
def get(base_language_str: str, *interpolations: str) -> str:
|
def get(base_language_str: str, *interpolations: str) -> str:
|
||||||
"""Get a localized string."""
|
"""Get a localized string."""
|
||||||
@ -74,11 +83,13 @@ def get(base_language_str: str, *interpolations: str) -> str:
|
|||||||
if base_language_str[-3:] == "...":
|
if base_language_str[-3:] == "...":
|
||||||
return find_localization(base_language_str[:-3]) + "..."
|
return find_localization(base_language_str[:-3]) + "..."
|
||||||
|
|
||||||
if base_language_str not in untranslated and current_language != base_language:
|
if TRACK_UNTRANSLATED:
|
||||||
untranslated.add(base_language_str)
|
if base_language_str not in untranslated and current_language != base_language:
|
||||||
# append to untranslated strings file
|
untranslated.add(base_language_str)
|
||||||
with open(untranslated_file, "a") as f:
|
# append to untranslated strings file
|
||||||
f.write(base_language_str + "\n")
|
with open(untranslated_file, "a") as f:
|
||||||
|
f.write(base_language_str + "\n")
|
||||||
|
|
||||||
return base_language_str
|
return base_language_str
|
||||||
|
|
||||||
def interpolate(text: str, interpolations: tuple[str]):
|
def interpolate(text: str, interpolations: tuple[str]):
|
||||||
|
Loading…
Reference in New Issue
Block a user