diff options
author | Rémy Raes <contact@remyraes.com> | 2023-03-29 00:45:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-28 22:45:16 +0000 |
commit | 428c300e9f42f8b9232f780d387292c1a94fcd23 (patch) | |
tree | 8e3026de0ad6a69a08396026bdc7fd084d073739 /src-vue/src/main.ts | |
parent | 784330797d947ec2ff4eb97a7325ac77f3a79e4d (diff) | |
download | FlightCore-428c300e9f42f8b9232f780d387292c1a94fcd23.tar.gz FlightCore-428c300e9f42f8b9232f780d387292c1a94fcd23.zip |
feat: i18n (#182)
* build: add vue-i18n dependency
* feat: add i18n plugin to vue project
* feat: use translations in play button
* feat: translate play view
* feat: translate menu items
* feat: translate local mods view
* feat: translate online mods view
* feat: translate mods menu
* feat: translate thunderstore mod card component
* fix: remove useless "this" keyword
* feat: translate settings view
* fix: remove leftover test invocation
* feat: add language selector component
* feat: using language selector updates interface's language
* feat: save language in persistent store on selector change
* feat: initialize lang on app launch
* refactor: move i18n code into App.mounted callback
* feat: update interface language on app launch
* feat: adjust language selection on language selector load
* fix: this.$root can't be null
* feat: translate store notifications
* fix: add missing parameter to english translation
* feat: translate "by" author keyword
* feat: translate repair window
* feat: translate repair window title
* docs: add some documentation regarding localization
* docs: explain how to add a new language
* feat: translate Northstar release canal selector elements
* docs: describe how to inject variable into translations
* feat: translate "info" word
* feat: translate popconfirm buttons
* fix: remove "this" keyword
* fix: save store when updating interface language
Diffstat (limited to 'src-vue/src/main.ts')
-rw-r--r-- | src-vue/src/main.ts | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src-vue/src/main.ts b/src-vue/src/main.ts index 57d41865..7ee700da 100644 --- a/src-vue/src/main.ts +++ b/src-vue/src/main.ts @@ -1,4 +1,5 @@ import { createApp } from 'vue' +import { createI18n } from "vue-i18n"; import App from './App.vue' import ElementPlus from "element-plus"; import * as ElementPlusIconsVue from '@element-plus/icons-vue' @@ -10,10 +11,21 @@ import SettingsView from "./views/SettingsView.vue"; import DeveloperView from "./views/DeveloperView.vue"; import RepairView from "./views/RepairView.vue"; import {createRouter, createWebHashHistory} from "vue-router"; +import en from "./i18n/lang/en"; +import fr from "./i18n/lang/fr"; const app = createApp(App); +// internationalization +export const i18n = createI18n({ + locale: 'en', + fallbackLocale: 'en', + messages: { + en, fr + } +}); +app.use(i18n); // styles import 'element-plus/theme-chalk/index.css'; |