mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-04-06 03:59:53 +08:00
fix: 修复locale更新设置fes_locale标记问题
This commit is contained in:
parent
2489b9baae
commit
43cc5dda9c
@ -45,7 +45,7 @@ export default {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
```js
|
```js
|
||||||
// src/locales/zh-CN.js
|
// src/locales/en-US.js
|
||||||
export default {
|
export default {
|
||||||
menu: {
|
menu: {
|
||||||
interface: 'interface'
|
interface: 'interface'
|
||||||
@ -76,7 +76,7 @@ export default {
|
|||||||
locale: 'zh-CN', // default locale
|
locale: 'zh-CN', // default locale
|
||||||
fallbackLocale: 'zh-CN', // set fallback locale
|
fallbackLocale: 'zh-CN', // set fallback locale
|
||||||
baseNavigator: true, // 开启浏览器语言检测
|
baseNavigator: true, // 开启浏览器语言检测
|
||||||
share: true, // 用户是否需要手动改变语言
|
legacy: true, // 用户是否需要 Legacy API 模式
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -105,18 +105,12 @@ export default {
|
|||||||
|
|
||||||
默认情况下,当前语言环境的识别按照:`localStorage` 中 `fes_locale` 值 > 浏览器检测 > `default` 设置的默认语言 > `zh-CN` 中文。
|
默认情况下,当前语言环境的识别按照:`localStorage` 中 `fes_locale` 值 > 浏览器检测 > `default` 设置的默认语言 > `zh-CN` 中文。
|
||||||
|
|
||||||
#### share
|
#### legacy
|
||||||
- **类型**:`Boolean`
|
- **类型**:`Boolean`
|
||||||
|
|
||||||
- **默认值**:`true`
|
- **默认值**:`true`
|
||||||
|
|
||||||
- **详情**:是否共享API,共享语言选择器 `{ SelectLang } `,其他插件可以获取到共享内容。
|
- **详情**:用户是否需要 Legacy API 模式
|
||||||
|
|
||||||
比如:
|
|
||||||
```js
|
|
||||||
import { plugin } from "@@/core/coreExports";
|
|
||||||
const localeShared = plugin.getShared("locale");
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### 运行时配置
|
### 运行时配置
|
||||||
@ -199,4 +193,4 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
`useI18n()`返回结果是 [Composer](https://vue-i18n.intlify.dev/api/composition.html#composer),提供类似 `t`、`n`、`d` 等转换函数,在模板中使用。
|
`useI18n()`返回结果是 [Composer](https://vue-i18n.intlify.dev/api/composition.html#composer),提供类似 `t`、`n`、`d` 等转换函数,在模板中使用。
|
||||||
|
@ -76,7 +76,7 @@ export default {
|
|||||||
locale: 'zh-CN', // default locale
|
locale: 'zh-CN', // default locale
|
||||||
fallbackLocale: 'zh-CN', // set fallback locale
|
fallbackLocale: 'zh-CN', // set fallback locale
|
||||||
baseNavigator: true, // 开启浏览器语言检测
|
baseNavigator: true, // 开启浏览器语言检测
|
||||||
share: true, // 用户是否需要手动改变语言
|
legacy: true, // 用户是否需要 Legacy API 模式
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -105,18 +105,12 @@ export default {
|
|||||||
|
|
||||||
默认情况下,当前语言环境的识别按照:`localStorage` 中 `fes_locale` 值 > 浏览器检测 > `default` 设置的默认语言 > `zh-CN` 中文。
|
默认情况下,当前语言环境的识别按照:`localStorage` 中 `fes_locale` 值 > 浏览器检测 > `default` 设置的默认语言 > `zh-CN` 中文。
|
||||||
|
|
||||||
#### share
|
#### legacy
|
||||||
- **类型**:`Boolean`
|
- **类型**:`Boolean`
|
||||||
|
|
||||||
- **默认值**:`true`
|
- **默认值**:`true`
|
||||||
|
|
||||||
- **详情**:是否共享API,共享语言选择器 `{ SelectLang } `,其他插件可以获取到共享内容。
|
- **详情**:用户是否需要 Legacy API 模式
|
||||||
|
|
||||||
比如:
|
|
||||||
```js
|
|
||||||
import { plugin } from "@@/core/coreExports";
|
|
||||||
const localeShared = plugin.getShared("locale");
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### 运行时配置
|
### 运行时配置
|
||||||
|
@ -41,7 +41,6 @@ export default (api) => {
|
|||||||
fallbackLocale: 'zh-CN', // set fallback locale
|
fallbackLocale: 'zh-CN', // set fallback locale
|
||||||
legacy: true,
|
legacy: true,
|
||||||
baseNavigator: true, // 开启浏览器语言检测
|
baseNavigator: true, // 开启浏览器语言检测
|
||||||
share: true, // 用户是否需要手动改变语言
|
|
||||||
...api.config.locale
|
...api.config.locale
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -61,7 +60,6 @@ export default (api) => {
|
|||||||
legacy: userConfig.legacy
|
legacy: userConfig.legacy
|
||||||
}, null, 2),
|
}, null, 2),
|
||||||
BASE_NAVIGATOR: userConfig.baseNavigator,
|
BASE_NAVIGATOR: userConfig.baseNavigator,
|
||||||
SHARE: userConfig.share,
|
|
||||||
VUE_I18N_PATH: resolvePkg('vue-i18n')
|
VUE_I18N_PATH: resolvePkg('vue-i18n')
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -10,10 +10,8 @@ import { createI18n, useI18n } from '{{{ VUE_I18N_PATH }}}';
|
|||||||
import { plugin, ApplyPluginsType } from "@@/core/coreExports";
|
import { plugin, ApplyPluginsType } from "@@/core/coreExports";
|
||||||
import SelectLang from "./views/SelectLang";
|
import SelectLang from "./views/SelectLang";
|
||||||
|
|
||||||
{{ #SHARE }}
|
|
||||||
// 共享出去
|
// 共享出去
|
||||||
plugin.share("locale", {useI18n, SelectLang });
|
plugin.share("locale", {useI18n, SelectLang });
|
||||||
{{ /SHARE }}
|
|
||||||
|
|
||||||
const locales = {{{REPLACE_LOCALES}}};
|
const locales = {{{REPLACE_LOCALES}}};
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ import { LanguageOutlined } from '@fesjs/fes-design/icon';
|
|||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import langUConfigMap from '../langUConfigMap';
|
import langUConfigMap from '../langUConfigMap';
|
||||||
|
import { locale as _locale } from '../core';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@ -50,7 +51,7 @@ export default {
|
|||||||
const handleSelect = ({ lang }) => {
|
const handleSelect = ({ lang }) => {
|
||||||
locale.value = lang;
|
locale.value = lang;
|
||||||
isOpened.value = false;
|
isOpened.value = false;
|
||||||
window.localStorage.setItem('fes_locale', lang);
|
_locale.setLocale({ locale: lang });
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
handleSelect,
|
handleSelect,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user