mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.7 KiB
83 lines
2.7 KiB
// plugins/i18n.js |
|
|
|
import Vue from "vue"; |
|
import VueI18n from "vue-i18n"; |
|
|
|
// Tell Vue to use our plugin |
|
Vue.use(VueI18n); |
|
|
|
export default ({ app, store }) => { |
|
// Set the i18n instance on app |
|
// This way we can use it globally in our components through this.$i18n |
|
app.i18n = new VueI18n({ |
|
// Set the initial locale |
|
locale: store.state.windows.language, |
|
|
|
// Set the fallback locale in case the current locale can't be found |
|
fallbackLocale: "en", |
|
|
|
// Associate each locale to a content file |
|
messages: { |
|
en: require("~/lang/en.json"), |
|
zh_HK: require("~/lang/zh_HK.json"), |
|
zh_TW: require("~/lang/zh_TW.json"), |
|
zh_CN: require("~/lang/zh_CN.json"), |
|
ja: require("~/lang/ja.json"), |
|
fr: require("~/lang/fr.json"), |
|
es: require("~/lang/es.json"), |
|
de: require("~/lang/de.json"), |
|
id: require("~/lang/id.json"), |
|
it_IT: require("~/lang/it_IT.json"), |
|
ko: require("~/lang/ko.json"), |
|
nl: require("~/lang/nl.json"), |
|
ru: require("~/lang/ru.json"), |
|
sv: require("~/lang/sv.json"), |
|
da: require("~/lang/da.json"), |
|
vi: require("~/lang/vi.json"), |
|
no: require("~/lang/no.json"), |
|
iw: require("~/lang/iw.json"), |
|
fi: require("~/lang/fi.json"), |
|
uk: require("~/lang/uk.json"), |
|
hr: require("~/lang/hr.json"), |
|
th: require("~/lang/th.json"), |
|
sl: require("~/lang/sl.json"), |
|
pt_BR: require("~/lang/pt_BR.json"), |
|
fa: require("~/lang/fa.json"), |
|
}, |
|
}); |
|
|
|
store.watch( |
|
(state) => state.windows.language, |
|
(language) => { |
|
if (app.i18n.availableLocales.includes(language)) { |
|
app.i18n.locale = language; |
|
} |
|
} |
|
); |
|
}; |
|
/** |
|
* @copyright Copyright (c) 2021, Xgene Cloud Ltd |
|
* |
|
* @author Naveen MR <oof1lab@gmail.com> |
|
* @author Pranav C Balan <pranavxc@gmail.com> |
|
* @author Sebastien Gellet <sebastien.gellet@gmail.com> |
|
* @author Alejandro Moreno <info@pixplix.com> |
|
* @author Bruno Moreira <arq.bruno.moreira@gmail.com> |
|
|
|
* |
|
* @license GNU AGPL version 3 or any later version |
|
* |
|
* This program is free software: you can redistribute it and/or modify |
|
* it under the terms of the GNU Affero General Public License as |
|
* published by the Free Software Foundation, either version 3 of the |
|
* License, or (at your option) any later version. |
|
* |
|
* This program is distributed in the hope that it will be useful, |
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
* GNU Affero General Public License for more details. |
|
* |
|
* You should have received a copy of the GNU Affero General Public License |
|
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
* |
|
*/
|
|
|