New app for Azerbaijan currency and launguage

This commit is contained in:
Ali 2025-03-04 17:40:20 +04:00
parent 7cc48ba534
commit f83aa71af0
7 changed files with 87849 additions and 0 deletions

View File

@ -0,0 +1,22 @@
import json
import os
from frappe.utils import get_bench_path
def update_country_info():
file_path = os.path.join(get_bench_path(), "apps", "frappe", "frappe", "geo", "country_info.json")
# Читаем JSON
with open(file_path, "r", encoding="utf-8") as f:
data = json.load(f)
# Проверяем, есть ли "Azerbaijan" в данных
if "Azerbaijan" in data:
data["Azerbaijan"]["currency"] = "AZN" # Добавляем валюту
data["Azerbaijan"]["currency_fraction"] = "Qəpik" # Исправляем значение
data["Azerbaijan"]["currency_symbol"] = "" # Добавляем символ маната
data["Azerbaijan"]["currency_name"] = "Azerbaijani Manat" # Добавляем название валюты
data["Azerbaijan"]["currency_fraction_units"] = 100 # Добавляем дробные единицы (копейки)
# Записываем обратно в JSON
with open(file_path, "w", encoding="utf-8") as f:
json.dump(data, f, indent=4, ensure_ascii=False)

View File

@ -5,6 +5,8 @@ app_description = "This app adds Azerbaijan launguage and currency"
app_email = "info@jeyerp.az"
app_license = "unlicense"
after_install = "az_locale.install.after_install"
# Apps
# ------------------

8
az_locale/install.py Normal file
View File

@ -0,0 +1,8 @@
from az_locale.geo.update_country_info import update_country_info
from az_locale.locale.setup_locale import setup_locale
from az_locale.locale.update_languages import update_languages # Добавили новый импорт
def after_install():
update_country_info() # Обновляем страны
setup_locale() # Добавляем файлы локализации
update_languages() # Добавляем азербайджанский язык

31033
az_locale/locale/az.po Normal file

File diff suppressed because it is too large Load Diff

56735
az_locale/locale/az_erpnext.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
import os
import shutil
from frappe.utils import get_bench_path
def setup_locale():
bench_path = get_bench_path()
# Пути назначения
frappe_locale_path = os.path.join(bench_path, "apps", "frappe", "frappe", "locale", "az.po")
erpnext_locale_path = os.path.join(bench_path, "apps", "erpnext", "erpnext", "locale", "az.po")
# Пути к файлам в кастомном приложении
app_path = os.path.join(bench_path, "apps", "your_app", "your_app", "locale")
source_frappe = os.path.join(app_path, "az.po")
source_erpnext = os.path.join(app_path, "az_erpnext.po")
# Копируем файл для Frappe
if os.path.exists(source_frappe):
shutil.copy(source_frappe, frappe_locale_path)
# Копируем файл для ERPNext
if os.path.exists(source_erpnext):
shutil.copy(source_erpnext, erpnext_locale_path)

View File

@ -0,0 +1,26 @@
import json
import os
from frappe.utils import get_bench_path
def update_languages():
file_path = os.path.join(get_bench_path(), "apps", "frappe", "frappe", "geo", "languages.json")
# Читаем текущий JSON
with open(file_path, "r", encoding="utf-8") as f:
data = json.load(f)
# Проверяем, есть ли уже азербайджанский язык
if not any(lang["code"] == "az" for lang in data):
# Добавляем азербайджанский язык
data.append({
"code": "az",
"name": "Azerbaijan"
})
# Записываем обратно
with open(file_path, "w", encoding="utf-8") as f:
json.dump(data, f, indent=4, ensure_ascii=False)
print("✅ Азербайджанский язык добавлен в languages.json!")
else:
print("⚠️ Азербайджанский язык уже есть в файле!")