chore: use native Azərbaycan spelling in user-facing strings
Replaces "Azeri" / "Azerbaijani" / "Azerbaijan" with the native form "Azərbaycan" in labels, descriptions, comments, app description, and docs. Field names and Python identifiers are unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a3ae46b978
commit
1a6bd5649b
|
|
@ -218,7 +218,7 @@ The `Dynamic Link` resolves to either `Bank Integration` records or the `Kapital
|
||||||
- `frappe.publish_realtime` events: `bi_bt_import_progress` / `bi_bt_import_complete`
|
- `frappe.publish_realtime` events: `bi_bt_import_progress` / `bi_bt_import_complete`
|
||||||
|
|
||||||
### `bank_integration/matching.py`
|
### `bank_integration/matching.py`
|
||||||
Mirrors kb: `match_similar_customers`, `match_similar_suppliers`, `match_similar_accounts`. Uses `SequenceMatcher` + a normalize helper (Azerbaijani translit). Consider extracting `_normalize` and `_AZERI_MAP` to a shared place if both apps end up using it.
|
Mirrors kb: `match_similar_customers`, `match_similar_suppliers`, `match_similar_accounts`. Uses `SequenceMatcher` + a normalize helper (Azərbaycan translit). Consider extracting `_normalize` and `_AZERI_MAP` to a shared place if both apps end up using it.
|
||||||
|
|
||||||
### `bank_integration/creation.py`
|
### `bank_integration/creation.py`
|
||||||
Mirrors kb: `create_unmapped_customers`, `create_unmapped_suppliers`, `create_unmapped_accounts` — creates ERPNext entities and updates the corresponding mapping rows.
|
Mirrors kb: `create_unmapped_customers`, `create_unmapped_suppliers`, `create_unmapped_accounts` — creates ERPNext entities and updates the corresponding mapping rows.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
## Jey Erp
|
## Jey Erp
|
||||||
|
|
||||||
Azerbaijan localization for JeyERP
|
Azərbaycan localization for JeyERP
|
||||||
|
|
||||||
#### License
|
#### License
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ def _effective_case_insensitive(row, global_default):
|
||||||
|
|
||||||
|
|
||||||
def _effective_azeri(row, global_default):
|
def _effective_azeri(row, global_default):
|
||||||
"""Per-row Azeri Translit mode overrides the global Consider Azerbaijani Characters flag."""
|
"""Per-row Azərbaycan Translit mode overrides the global Consider Azərbaycan Characters flag."""
|
||||||
mode = (getattr(row, "azeri_mode", None) or "").strip()
|
mode = (getattr(row, "azeri_mode", None) or "").strip()
|
||||||
if mode == "Apply Translit":
|
if mode == "Apply Translit":
|
||||||
return True
|
return True
|
||||||
|
|
@ -80,7 +80,7 @@ def _build_name_to_party(settings):
|
||||||
"""Counterparty text -> {"Customer": erp_customer} / {"Supplier": erp_supplier}.
|
"""Counterparty text -> {"Customer": erp_customer} / {"Supplier": erp_supplier}.
|
||||||
|
|
||||||
Each row is indexed under up to four key variants depending on its effective
|
Each row is indexed under up to four key variants depending on its effective
|
||||||
Case Mode and Azeri Translit settings (both of which fall back to globals):
|
Case Mode and Azərbaycan Translit settings (both of which fall back to globals):
|
||||||
strict : original `.strip()` key
|
strict : original `.strip()` key
|
||||||
lowercase : when case-insensitive
|
lowercase : when case-insensitive
|
||||||
translit : when azeri-translit
|
translit : when azeri-translit
|
||||||
|
|
@ -419,7 +419,7 @@ def create_purpose_mappings(transactions, bank_integration, paid_from=None, paid
|
||||||
|
|
||||||
|
|
||||||
def _norm_text(text, az):
|
def _norm_text(text, az):
|
||||||
"""Lowercased + (optionally) Azeri-translit form for purpose/party comparison."""
|
"""Lowercased + (optionally) Azərbaycan-translit form for purpose/party comparison."""
|
||||||
s = (text or "").lower()
|
s = (text or "").lower()
|
||||||
if az:
|
if az:
|
||||||
s = _translit_az(s)
|
s = _translit_az(s)
|
||||||
|
|
@ -434,7 +434,7 @@ def _find_mapping_for_txn(txn, transaction_mappings, purpose_text_cache, purpose
|
||||||
fallback by counterparty_type. "Exact" = the keyword is a substring of the
|
fallback by counterparty_type. "Exact" = the keyword is a substring of the
|
||||||
transaction's description; "fuzzy" = partial-ratio ≥ purpose_threshold.
|
transaction's description; "fuzzy" = partial-ratio ≥ purpose_threshold.
|
||||||
|
|
||||||
`az` toggles Azerbaijani transliteration of purpose / party text before
|
`az` toggles Azərbaycan transliteration of purpose / party text before
|
||||||
comparison (driven by settings.consider_azeri_chars).
|
comparison (driven by settings.consider_azeri_chars).
|
||||||
"""
|
"""
|
||||||
payment_type = "Pay" if txn.get("drcr") == "D" else "Receive"
|
payment_type = "Pay" if txn.get("drcr") == "D" else "Receive"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
app_name = "jey_erp"
|
app_name = "jey_erp"
|
||||||
app_title = "Jey Erp"
|
app_title = "Jey Erp"
|
||||||
app_publisher = "JeyERP"
|
app_publisher = "JeyERP"
|
||||||
app_description = "Azerbaijan localization for JeyERP"
|
app_description = "Azərbaycan localization for JeyERP"
|
||||||
app_email = "info@jeyerp.az"
|
app_email = "info@jeyerp.az"
|
||||||
app_license = "unlicense"
|
app_license = "unlicense"
|
||||||
# required_apps = []
|
# required_apps = []
|
||||||
|
|
|
||||||
|
|
@ -100,10 +100,10 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"default": "1",
|
"default": "1",
|
||||||
"description": "Consider replacement of Azerbaijani letters with Latin equivalents when matching",
|
"description": "Consider replacement of Azərbaycan letters with Latin equivalents when matching",
|
||||||
"fieldname": "consider_azeri_chars",
|
"fieldname": "consider_azeri_chars",
|
||||||
"fieldtype": "Check",
|
"fieldtype": "Check",
|
||||||
"label": "Consider Azerbaijani Characters"
|
"label": "Consider Azərbaycan Characters"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"default": "1",
|
"default": "1",
|
||||||
|
|
|
||||||
|
|
@ -65,10 +65,10 @@
|
||||||
"options": "\nIgnore Case\nCase Sensitive"
|
"options": "\nIgnore Case\nCase Sensitive"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Override the global 'Consider Azerbaijani Characters' for this row's party-name matching. Blank = use the global setting.",
|
"description": "Override the global 'Consider Azərbaycan Characters' for this row's party-name matching. Blank = use the global setting.",
|
||||||
"fieldname": "azeri_mode",
|
"fieldname": "azeri_mode",
|
||||||
"fieldtype": "Select",
|
"fieldtype": "Select",
|
||||||
"label": "Azeri Translit",
|
"label": "Azərbaycan Translit",
|
||||||
"options": "\nApply Translit\nStrict (No Translit)"
|
"options": "\nApply Translit\nStrict (No Translit)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -57,10 +57,10 @@
|
||||||
"options": "\nIgnore Case\nCase Sensitive"
|
"options": "\nIgnore Case\nCase Sensitive"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Override the global 'Consider Azerbaijani Characters' for this row's party-name matching. Blank = use the global setting.",
|
"description": "Override the global 'Consider Azərbaycan Characters' for this row's party-name matching. Blank = use the global setting.",
|
||||||
"fieldname": "azeri_mode",
|
"fieldname": "azeri_mode",
|
||||||
"fieldtype": "Select",
|
"fieldtype": "Select",
|
||||||
"label": "Azeri Translit",
|
"label": "Azərbaycan Translit",
|
||||||
"options": "\nApply Translit\nStrict (No Translit)"
|
"options": "\nApply Translit\nStrict (No Translit)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ name = "jey_erp"
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "JeyERP", email = "info@jeyerp.az"}
|
{ name = "JeyERP", email = "info@jeyerp.az"}
|
||||||
]
|
]
|
||||||
description = "Azerbaijan localization for JeyERP"
|
description = "Azərbaycan localization for JeyERP"
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
dynamic = ["version"]
|
dynamic = ["version"]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue