From 156ae5a3e69305811741cfacd92347028a79184d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 13 Nov 2024 08:30:10 +0100 Subject: [PATCH] feat: improved template detection for text files --- CHANGES.rst | 1 + translation_finder/discovery/base.py | 9 +++++++++ translation_finder/discovery/files.py | 18 ++++++++---------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index b528c77..a2caf0e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -7,6 +7,7 @@ Changelog * Not yet released. * Fixed crash on corrupted Transifex configuration. * Improved app store metadata detection. +* Improved template detection for text files. 2.17 ---- diff --git a/translation_finder/discovery/base.py b/translation_finder/discovery/base.py index 8b6a7f1..4230953 100644 --- a/translation_finder/discovery/base.py +++ b/translation_finder/discovery/base.py @@ -300,3 +300,12 @@ def adjust_format(self, result: dict[str, str]): if encoding in self.encoding_map: result["file_format"] = self.encoding_map[encoding] return + + +class EnglishVariantsDiscovery(BaseDiscovery): + def get_language_aliases(self, language: str): + """Language code aliases.""" + result = super().get_language_aliases(language) + if language == "en": + result.extend(["en-US", "en-GB", "en-AU"]) + return result diff --git a/translation_finder/discovery/files.py b/translation_finder/discovery/files.py index f62dcf1..dca93e1 100644 --- a/translation_finder/discovery/files.py +++ b/translation_finder/discovery/files.py @@ -13,7 +13,12 @@ from translation_finder.api import register_discovery -from .base import BaseDiscovery, EncodingDiscovery, MonoTemplateDiscovery +from .base import ( + BaseDiscovery, + EncodingDiscovery, + MonoTemplateDiscovery, + EnglishVariantsDiscovery, +) LARAVEL_RE = re.compile(r"=>.*\|") @@ -262,7 +267,7 @@ class ResourceDictionaryDiscovery(BaseDiscovery): @register_discovery -class AppStoreDiscovery(BaseDiscovery): +class AppStoreDiscovery(EnglishVariantsDiscovery): """App store metadata.""" file_format = "appstore" @@ -280,13 +285,6 @@ def has_storage(self, name: str): """Check whether finder has a storage.""" return self.finder.has_dir(name) - def get_language_aliases(self, language: str): - """Language code aliases.""" - result = super().get_language_aliases(language) - if language == "en": - result.extend(["en-US", "en-GB", "en-AU"]) - return result - @register_discovery class JSONDiscovery(BaseDiscovery): @@ -474,7 +472,7 @@ class HTMLDiscovery(MonoTemplateDiscovery): @register_discovery -class TXTDiscovery(MonoTemplateDiscovery): +class TXTDiscovery(MonoTemplateDiscovery, EnglishVariantsDiscovery): """TXT files discovery.""" file_format = "txt"