mirror of
https://github.com/Physton/sd-webui-prompt-all-in-one.git
synced 2026-04-30 19:21:43 +00:00
Automatically detect user language after initial installation
首次安装后自动判断用户语言
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -461,6 +461,19 @@ export default {
|
||||
if (findLang) {
|
||||
this.languageCode = data.languageCode
|
||||
this.$forceUpdate()
|
||||
this.gradioAPI.setData('languageCode', this.languageCode)
|
||||
}
|
||||
} else {
|
||||
let browserLang = navigator.language || navigator.userLanguage || ''
|
||||
if (browserLang) {
|
||||
for (let key in this.languages) {
|
||||
if (common.isSameLang(this.languages[key].code, browserLang)) {
|
||||
this.languageCode = this.languages[key].code
|
||||
this.$forceUpdate()
|
||||
this.gradioAPI.setData('languageCode', this.languageCode)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
this.canOneTranslate = common.canOneTranslate(this.languageCode)
|
||||
|
||||
@@ -198,6 +198,25 @@ export default {
|
||||
return 1
|
||||
},
|
||||
|
||||
/**
|
||||
* 是否是同一种语言
|
||||
* @param code1 {string}
|
||||
* @param code2 {string}
|
||||
*/
|
||||
isSameLang(code1, code2) {
|
||||
if (code1 === code2) return true
|
||||
let code1Lower = code1.toLowerCase()
|
||||
let code2Lower = code2.toLowerCase()
|
||||
if (code1Lower === code2Lower) return true
|
||||
code1 = code1.replace('-', '_')
|
||||
code2 = code2.replace('-', '_')
|
||||
if (code1 === code2) return true
|
||||
code1 = code1.split('_')[0]
|
||||
code2 = code2.split('_')[0]
|
||||
if (code1 === code2) return true
|
||||
return false
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取语言
|
||||
* @param key {string}
|
||||
@@ -510,10 +529,20 @@ export default {
|
||||
parent2.insertBefore(ele1, next2)
|
||||
},
|
||||
|
||||
/**
|
||||
* 插入元素
|
||||
* @param newNode {Element}
|
||||
* @param referenceNode {Element}
|
||||
*/
|
||||
insertBefore(newNode, referenceNode) {
|
||||
referenceNode.parentNode.insertBefore(newNode, referenceNode);
|
||||
},
|
||||
|
||||
/**
|
||||
* 插入元素
|
||||
* @param newNode {Element}
|
||||
* @param referenceNode {Element}
|
||||
*/
|
||||
insertAfter(newNode, referenceNode) {
|
||||
if (referenceNode.nextSibling) {
|
||||
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
|
||||
|
||||
Reference in New Issue
Block a user