diff --git a/crm/api/__init__.py b/crm/api/__init__.py index 58739de0d..e5d76ec25 100644 --- a/crm/api/__init__.py +++ b/crm/api/__init__.py @@ -1,21 +1,10 @@ from bs4 import BeautifulSoup import frappe -from frappe.translate import get_all_translations from frappe.utils import validate_email_address, split_emails, cstr from frappe.utils.telemetry import POSTHOG_HOST_FIELD, POSTHOG_PROJECT_FIELD from frappe.core.api.file import get_max_file_size -@frappe.whitelist(allow_guest=True) -def get_translations(): - if frappe.session.user != "Guest": - language = frappe.db.get_value("User", frappe.session.user, "language") - else: - language = frappe.db.get_single_value("System Settings", "language") - - return get_all_translations(language) - - @frappe.whitelist() def get_user_signature(): user = frappe.session.user diff --git a/frontend/src/main.js b/frontend/src/main.js index b375dee93..63f522d8e 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -5,7 +5,6 @@ import { createPinia } from 'pinia' import { createDialog } from './utils/dialogs' import { initSocket } from './socket' import router from './router' -import translationPlugin from './translation' import { posthogPlugin } from './telemetry' import App from './App.vue' @@ -22,6 +21,7 @@ import { setConfig, frappeRequest, FeatherIcon, + translationPlugin, } from 'frappe-ui' let globalComponents = { diff --git a/frontend/src/translation.js b/frontend/src/translation.js deleted file mode 100644 index 3c2819e25..000000000 --- a/frontend/src/translation.js +++ /dev/null @@ -1,47 +0,0 @@ -import { createResource } from 'frappe-ui' - -export default function translationPlugin(app) { - app.config.globalProperties.__ = translate - window.__ = translate - if (!window.translatedMessages) fetchTranslations() -} - -function format(message, replace) { - return message.replace(/{(\d+)}/g, function (match, number) { - return typeof replace[number] != 'undefined' ? replace[number] : match - }) -} - -function translate(message, replace, context = null) { - let translatedMessages = window.translatedMessages || {} - let translatedMessage = '' - - if (context) { - let key = `${message}:${context}` - if (translatedMessages[key]) { - translatedMessage = translatedMessages[key] - } - } - - if (!translatedMessage) { - translatedMessage = translatedMessages[message] || message - } - - const hasPlaceholders = /{\d+}/.test(message) - if (!hasPlaceholders) { - return translatedMessage - } - - return format(translatedMessage, replace) -} - -function fetchTranslations(lang) { - createResource({ - url: 'crm.api.get_translations', - cache: 'translations', - auto: true, - transform: (data) => { - window.translatedMessages = data - }, - }) -}