@@ -28,6 +28,7 @@ import { useCidReqStore } from "../../store/cidReq"
28
28
import { storeToRefs } from " pinia"
29
29
import { useSecurityStore } from " ../../store/securityStore"
30
30
import FloatLabel from " primevue/floatlabel"
31
+ import { useLocale } from " ../../composables/locale"
31
32
32
33
const modelValue = defineModel ({
33
34
type: String ,
@@ -84,6 +85,46 @@ if (route.params.node) {
84
85
parentResourceNodeId .value = Number (route .params .node )
85
86
}
86
87
88
+ const supportedLanguages = {
89
+ ar: ' ar.js' ,
90
+ de: ' de.js' ,
91
+ en: ' en.js' ,
92
+ es: ' es.js' ,
93
+ fr_FR: ' fr_FR.js' ,
94
+ it: ' it.js' ,
95
+ nl: ' nl.js' ,
96
+ pt_PT: ' pt_PT.js' ,
97
+ ru: ' ru.js' ,
98
+ zh_CN: ' zh_CN.js' ,
99
+ };
100
+
101
+ const { appLocale } = useLocale ()
102
+
103
+ function getLanguageConfig (locale ) {
104
+ const defaultLang = ' en'
105
+ const url = ' /libs/editor/langs/'
106
+ const isoCode = locale .split (' _' )[0 ]
107
+ let languageFile = supportedLanguages[isoCode]
108
+ let finalLanguage = isoCode
109
+
110
+ if (! languageFile) {
111
+ const regionalMatch = Object .entries (supportedLanguages).find (([key , value ]) => key .startsWith (isoCode))
112
+ if (regionalMatch) {
113
+ languageFile = regionalMatch[1 ]
114
+ finalLanguage = regionalMatch[0 ]
115
+ } else {
116
+ languageFile = ` ${ defaultLang} .js`
117
+ finalLanguage = defaultLang
118
+ }
119
+ }
120
+
121
+ return {
122
+ language: finalLanguage,
123
+ language_url: ` ${ url}${ languageFile} ` ,
124
+ };
125
+ }
126
+
127
+ const languageConfig = getLanguageConfig (appLocale .value )
87
128
const toolbarUndo = " undo redo"
88
129
const toolbarFormatText = " bold italic underline strikethrough"
89
130
const toolbarInsertMedia = " image media template link"
@@ -106,6 +147,8 @@ const defaultEditorConfig = {
106
147
height: 500 ,
107
148
toolbar_mode: " sliding" ,
108
149
autosave_ask_before_unload: true ,
150
+ language: languageConfig .language ,
151
+ language_url: languageConfig .language_url ,
109
152
plugins: [
110
153
" advlist" ,
111
154
" anchor" ,
0 commit comments