当前位置: 首页 > news >正文

凤冈建设局网站wordpress特色主题公园

凤冈建设局网站,wordpress特色主题公园,wordpress 文章不显示图片,温州网站制作建设开篇 下面是从创建vue项目开始,完整使用i18n实现国际化功能的步骤,希望对您有所帮助。 完整步骤 创建项目 创建项目,并在创建项目的时候选择vuex,router 选择3.x版本 后面随意选即可,下面是完整的代码结构 安装vue-i18n,并封装…

开篇

下面是从创建vue项目开始,完整使用i18n实现国际化功能的步骤,希望对您有所帮助。

完整步骤

创建项目

  • 创建项目,并在创建项目的时候选择vuex,router
    在这里插入图片描述
  • 选择3.x版本
    在这里插入图片描述
  • 后面随意选即可,下面是完整的代码结构
    在这里插入图片描述

安装vue-i18n,并封装相关方法

  • 安装vue-i18n
npm install vue-i18n@next
  • 在src下新建i18n文件夹,并在该文件夹下新建lang文件夹,下面存放数据源(zh.json,en.json)
//zh.json
{"msg": {"hello": "你好,世界"}
}// en.json
{"msg": {"hello": "Hello World"}
}
  • 在src下创建i18n/index.js
import { createI18n } from "vue-i18n";
import zh from './lang/zh.json'
import en from './lang/en.json'
import store from '@/store'const messages = {zh,en
}// 返回当前lang
function getCurrentLang() {return store.getters.lang // 获取当前语言
}const i18n = createI18n({//这里选择false是为了配合使用vue3的composition API风格的新式API,//如果是vue2,就要选择true了legacy: false, globalInjection: true, // 全局注入locale: getCurrentLang(),messages
})export default i18n
  • 在vuex下添加一个模块来管理当前语言(store/index.js)
import { createStore } from 'vuex'export default createStore({state: {locale: 'en', // 默认语言},getters: {lang: state => state.locale},mutations: {SET_LOCALE(state, locale) {state.locale = locale}},actions: {setLocale({commit}, locale) {commit('SET_LOCALE', locale)}},modules: {}
})
  • 在main.js中注册i18n实例
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// 注册i18n
import i18n from './i18n'createApp(App).use(store).use(router).use(i18n).mount('#app')

封装LangSelect组件,实现一键切换语言

  • 在src/components下新建LangSelect组件,并定义切换语言的方法
<template><div><select v-model="selectedLocale" @change="changeLang"><option value="en">English</option><option value="zh">中文</option></select></div>
</template><script>
import { computed } from "vue";
import {useStore} from 'vuex';
import {useI18n} from 'vue-i18n'export default {setup() {const store = useStore();const { locale } = useI18n();const selectedLocale = computed({get: () => store.state.locale,set: (value) => {store.dispatch('setLocale', value)locale.value = value; // 更改i18n语言}})const changeLang = () => {locale.value = selectedLocale.value}return {selectedLocale,changeLang}}
}
</script>
  • 在App.vue中引入并使用LangSelect.vue组件,实现一键切换语言
<template><div id="app"><LangSelect/><p>{{ $t('msg.hello') }}</p></div>
</template><script>
import LangSelect from './components/LangSelect.vue'export default {components: {LangSelect}
}
</script><style></style>
  • 当前效果如下:
    在这里插入图片描述
    在这里插入图片描述

以上便是vue-i18n的详细使用步骤,希望对您有所帮助。实际项目中,可能使用方式比上面复杂很多,比如说封装方法需要在store或者pinia中建立单独的模块,LangSelect组件样式要更复杂,但万变不离其宗,总体的步骤依然是上面这些。

http://www.yayakq.cn/news/265097/

相关文章:

  • 如何让百度收录自己的网站国外机械做的好的网站
  • 建站培训雄安专业网站建设
  • 开网站供免费下载wordpress 上传apk
  • asp网站伪静态文件下载个人网站如何制作
  • 中国中小企业网站wordpress笔记本主题下载失败
  • 潍坊网站建设中公乐都网站建设
  • 移动宽带到期续费流程网站缺陷和优化的例子
  • 视频 播放网站怎么做的做彩票网站需要什么技术
  • 班级网站页面设计使用免费的代码做网站
  • 机关单位网站建设管理制度泰安软件开发公司哪家好
  • 杭州住房和城乡建设局网站公司软件网站建设
  • 成都网站制作028net如何做地方网站推广
  • 同德县网站建设公司免签支付 wordpress
  • 农机局网站建设方案建设一个网站项目预算
  • 网站隐私条款模板湖北省两学一做网站
  • wordpress怎么样建站内战千锋教育招聘
  • 合川网站建设免费注册企业网站
  • 湖北专业网站建设产品介绍网站建设有趣名称
  • 如何建微网站古色古香 网站模板
  • 电商网站用什么框架做网站建设会用什么软件有哪些
  • 张家港手机网站建设公司网站可以自己做
  • 天河网站建设平台360导航网址主页
  • 网站建设解决方以下是付费推广方式是
  • 开发网站开发工程师网站添加在线留言
  • php网站开发实训报告网页设计师需要会什么软件
  • 生成二维码的网站wordpress模版做网站
  • 男女做羞羞的视频网站网页搜索快捷键ctrl加什么
  • 网络营销方式分析论文黑帽seo是作弊手法
  • 兰州响应式网站建设珠宝行业做网站的好处
  • 网站建设维护费会计科目平面设计适合女生学吗