Merge pull request #36519 from ankush/lang_separator
fix: use correct lang separator for frappe
diff --git a/erpnext/setup/doctype/holiday_list/holiday_list.py b/erpnext/setup/doctype/holiday_list/holiday_list.py
index 2ef4e65..6b6c8ba 100644
--- a/erpnext/setup/doctype/holiday_list/holiday_list.py
+++ b/erpnext/setup/doctype/holiday_list/holiday_list.py
@@ -6,7 +6,6 @@
from datetime import date
import frappe
-from babel import Locale
from frappe import _, throw
from frappe.model.document import Document
from frappe.utils import formatdate, getdate, today
@@ -169,4 +168,6 @@
def local_country_name(country_code: str) -> str:
"""Return the localized country name for the given country code."""
- return Locale.parse(frappe.local.lang).territories.get(country_code, country_code)
+ from babel import Locale
+
+ return Locale.parse(frappe.local.lang, sep="-").territories.get(country_code, country_code)
diff --git a/erpnext/setup/doctype/holiday_list/test_holiday_list.py b/erpnext/setup/doctype/holiday_list/test_holiday_list.py
index 23b08fd..7eeb27d 100644
--- a/erpnext/setup/doctype/holiday_list/test_holiday_list.py
+++ b/erpnext/setup/doctype/holiday_list/test_holiday_list.py
@@ -8,6 +8,8 @@
import frappe
from frappe.utils import getdate
+from erpnext.setup.doctype.holiday_list.holiday_list import local_country_name
+
class TestHolidayList(unittest.TestCase):
def test_holiday_list(self):
@@ -58,6 +60,16 @@
self.assertIn(date(2023, 4, 10), holidays)
self.assertNotIn(date(2023, 5, 1), holidays)
+ def test_localized_country_names(self):
+ lang = frappe.local.lang
+ frappe.local.lang = "en-gb"
+ self.assertEqual(local_country_name("IN"), "India")
+ self.assertEqual(local_country_name("DE"), "Germany")
+
+ frappe.local.lang = "de"
+ self.assertEqual(local_country_name("DE"), "Deutschland")
+ frappe.local.lang = lang
+
def make_holiday_list(
name, from_date=getdate() - timedelta(days=10), to_date=getdate(), holiday_dates=None