feat: fetch translations
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
import { createResource } from 'frappe-ui'
|
||||
|
||||
export default function translationPlugin(app) {
|
||||
app.config.globalProperties.__ = translate
|
||||
// fetch translations
|
||||
|
||||
if (!window.translatedMessages)
|
||||
fetchTranslations().then((translations) => {
|
||||
window.translatedMessages = translations
|
||||
})
|
||||
console.log(window.translatedMessages)
|
||||
if (!window.translatedMessages) fetchTranslations()
|
||||
}
|
||||
|
||||
async function translate(message) {
|
||||
function translate(message) {
|
||||
let lang = window.lang || 'hi'
|
||||
let translatedMessage = /* window.translatedMessages[message] || */ message
|
||||
let translatedMessages = window.translatedMessages || {
|
||||
'All Courses': 'सभी पाठ्यक्रम',
|
||||
Live: 'लाइव',
|
||||
}
|
||||
let translatedMessage = translatedMessages[message] || message
|
||||
const hasPlaceholders = /{\d+}/.test(message)
|
||||
|
||||
console.log(translatedMessage)
|
||||
console.log(hasPlaceholders)
|
||||
if (!hasPlaceholders) {
|
||||
console.log(translatedMessage)
|
||||
return translatedMessage
|
||||
}
|
||||
return {
|
||||
@@ -24,9 +24,6 @@ async function translate(message) {
|
||||
return translatedMessage.replace(
|
||||
/{(\d+)}/g,
|
||||
function (match, number) {
|
||||
console.log(match, number)
|
||||
console.log(args[number])
|
||||
|
||||
return typeof args[number] != 'undefined'
|
||||
? args[number]
|
||||
: match
|
||||
@@ -36,18 +33,15 @@ async function translate(message) {
|
||||
}
|
||||
}
|
||||
|
||||
async function fetchTranslations() {
|
||||
let lang = window.lang || 'hi'
|
||||
let translations = await createResource({
|
||||
function fetchTranslations(lang) {
|
||||
console.log('called')
|
||||
createResource({
|
||||
url: 'lms.lms.api.get_translations',
|
||||
cache: 'translations',
|
||||
auto: true,
|
||||
transform: (data) => {
|
||||
console.log(data)
|
||||
window.translatedMessages = data.message
|
||||
},
|
||||
})
|
||||
let translatedMessages = {}
|
||||
console.log(translations.data)
|
||||
translations.forEach((translation) => {
|
||||
translatedMessages[translation.source_text] =
|
||||
translation.translated_text
|
||||
})
|
||||
window.translatedMessages = translatedMessages
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user