Update model translations
This commit is contained in:
@@ -1,11 +1,5 @@
|
||||
# Словари переводов корейского текста русский / английский.
|
||||
# Используется в encar.py для маппинга данных Encar API.
|
||||
#
|
||||
# Эталон переводов брендов и моделей — словарь партнёра
|
||||
# (`partner_dictionary.py`). Он подмешивается ниже как база: значения оттуда
|
||||
# имеют приоритет для брендов и моделей, а специфичные для проекта записи
|
||||
# (корейские модели Hyundai/Kia/Genesis и т.п., которых нет у партнёра)
|
||||
# сохраняются как дополнение.
|
||||
|
||||
import re
|
||||
|
||||
@@ -186,9 +180,6 @@ BRAND_TRANSLATIONS = {
|
||||
"기타 수입차": "Other Imported",
|
||||
}
|
||||
|
||||
# Подмешиваем бренды из эталонного словаря партнёра как базу. Существующие
|
||||
# записи проекта имеют приоритет (не перезаписываются), новые из словаря
|
||||
# партнёра добавляются.
|
||||
for _ko, _en in _PARTNER_TABLES["makers"].items():
|
||||
BRAND_TRANSLATIONS.setdefault(_ko, _en)
|
||||
|
||||
@@ -293,10 +284,7 @@ def expand_allowed_brands(brands: set[str] | None) -> set[str] | None:
|
||||
|
||||
# Модели / комплектации: корейский → английский
|
||||
|
||||
# Точные переводы базовых названий моделей Encar. Этот словарь используется
|
||||
# перед частичным переводом и не должен содержать общие слова вроде "뉴".
|
||||
MODEL_EXACT_TRANSLATIONS = {
|
||||
# BMW / Mercedes-Benz
|
||||
"1시리즈": "1 Series",
|
||||
"2시리즈": "2 Series",
|
||||
"3시리즈": "3 Series",
|
||||
@@ -318,7 +306,6 @@ MODEL_EXACT_TRANSLATIONS = {
|
||||
"GLE-클래스": "GLE-Class",
|
||||
"GLS-클래스": "GLS-Class",
|
||||
"V-클래스": "V-Class",
|
||||
# Hyundai / Kia / Genesis
|
||||
"팰리세이드": "Palisade",
|
||||
"싼타페": "Santa Fe",
|
||||
"투싼": "Tucson",
|
||||
@@ -362,7 +349,6 @@ MODEL_EXACT_TRANSLATIONS = {
|
||||
"스토닉": "Stonic",
|
||||
"카렌스": "Carens",
|
||||
"제네시스": "Genesis",
|
||||
# Chevrolet / Renault Korea / KG Mobility
|
||||
"스파크": "Spark",
|
||||
"말리부": "Malibu",
|
||||
"트랙스": "Trax",
|
||||
@@ -389,7 +375,6 @@ MODEL_EXACT_TRANSLATIONS = {
|
||||
"코란도": "Korando",
|
||||
"체어맨": "Chairman",
|
||||
"오피러스": "Opirus",
|
||||
# Import models written in Korean
|
||||
"익스플로러": "Explorer",
|
||||
"머스탱": "Mustang",
|
||||
"카이엔": "Cayenne",
|
||||
@@ -471,16 +456,10 @@ MODEL_EXACT_TRANSLATIONS = {
|
||||
"AMG GT 4도어 쿠페": "AMG GT 4-Door Coupe",
|
||||
}
|
||||
|
||||
# Подмешиваем модели из эталонного словаря партнёра как базу. Существующие
|
||||
# записи проекта имеют приоритет. Дополнительно добавляем нормализованные
|
||||
# варианты ключей партнёра (напр. "5 시리즈" -> "5시리즈", "S 클래스" -> "S-클래스"),
|
||||
# т.к. в сырых данных Encar формат отличается пробелами/дефисами.
|
||||
def _register_partner_models() -> None:
|
||||
for _ko, _en in _PARTNER_TABLES["models"].items():
|
||||
MODEL_EXACT_TRANSLATIONS.setdefault(_ko, _en)
|
||||
# "5 시리즈" -> "5시리즈"
|
||||
_compact = re.sub(r"(?<=\d)\s+시리즈", "시리즈", _ko)
|
||||
# "S 클래스" -> "S-클래스"
|
||||
_compact = re.sub(r"(?<=[A-Za-z])\s+클래스", "-클래스", _compact)
|
||||
if _compact != _ko:
|
||||
MODEL_EXACT_TRANSLATIONS.setdefault(_compact, _en)
|
||||
@@ -488,7 +467,6 @@ def _register_partner_models() -> None:
|
||||
|
||||
_register_partner_models()
|
||||
|
||||
# Безопасные составные фразы. Применяются только к строкам, где есть корейский текст.
|
||||
MODEL_PHRASE_TRANSLATIONS = {
|
||||
"올 뉴": "All New",
|
||||
"더 뉴": "New",
|
||||
@@ -517,7 +495,6 @@ MODEL_PHRASE_TRANSLATIONS = {
|
||||
"에어": "Air",
|
||||
}
|
||||
|
||||
# Короткие токены переводятся только как отдельные токены, не внутри других слов.
|
||||
MODEL_TOKEN_TRANSLATIONS = {
|
||||
"시리즈": "Series",
|
||||
"클래스": "Class",
|
||||
@@ -801,7 +778,6 @@ MODEL_TRANSLATIONS = {
|
||||
"그란투리스모": "GranTurismo",
|
||||
"반퀴시": "Vanquish",
|
||||
"밴티지": "Vantage",
|
||||
# --- Дополнительные модели, встреченные в данных Encar ---
|
||||
"시에라": "Sierra",
|
||||
"시빅": "Civic",
|
||||
"레인저": "Ranger",
|
||||
@@ -835,8 +811,6 @@ MODEL_TRANSLATIONS = {
|
||||
}
|
||||
|
||||
|
||||
# Цвета: корейский → английский
|
||||
|
||||
COLOR_TRANSLATIONS = {
|
||||
"흰색": "white",
|
||||
"검정색": "black",
|
||||
|
||||
Reference in New Issue
Block a user