中文效果图:
英文效果图:
版本:
安装:
npm install --save @nuxtjs/i18n
新建en.js与zh.js两个文件进行切换显示
en.js内容
import globals from './../js/global_val'export default {/******* 公共内容开始* *****/seeMore: "More Information", //查看更多seeAgenda: "View the conference schedule", //查看议程jtlRegister: 'Register for the Golden Gyro Award', //金陀螺奖报名参评/投票registrationChannel: 'FBEC Registration channel', //大会参会报名通道fbecland: 'FBEC LAND', //大会官方微站application: 'Click to register for the selection', //点击报名参评-pcapplicationOver: 'The entry channel is closed', //参评已结束-pcmApplication: 'Click Register to vote', //点击报名参评/投票-手机端mAplicationOver: 'Registration is closed', //点击报名参评/投票-手机端headerData: [{name: "Main page",url: "/"},{name: "Main-venue ",url: "main-venue"},{name: "Sub-venue",url: "branch-venue"},{name: "Golden Gyro Award",url: "golden-top-award"},{name: "Conference Exhibition Zone",url: "conference-exhibition-area"},{name: "More Exciting Content",url: "more-exciting-content"},{name: "Conference dynamics",url: "conference-dynamics"},{name: "Review of previous Conference",url: ""},],/******* 公共内容结束* *****//******* 首页开始* *****/asideNav: [{label: "Conference Main Keyvisual",id: "zhuk",},{label: "FBEC2023",id: "2022",},{label: "Conference Agenda",id: "yicheng",},{label: "Conference Guests",id: "jiabin",},// {// label: "大会展商",// id: "zhanshang",// },{label: "Great Video",id: "shipin",},{label: "Conference Distribution Map",id: "fenbutu",},{label: "Organization",id: "zhuzhi",},{label: "Conference Media",id: "meiti",},{label: "Conference Coverage",id: "baodao",},{label: "Conference Photo",id: "huigu",},], //首页时间轴part1: {time: 'Sheraton Shenzhen Futian Hotel · 8th Dec 2023',des1: 'In2023, we have experienced the booming development of artificial intelligence in the early stage, and the rapid evolution of AI technology has not only multiplied the innovation of business models, but also given rise to market changes. When the market bubble recedes and the new wave of the AI era surges, we stick to our original intention, explore the future development pattern of science and technology and the Internet, and plan for the future value of new technology, new business, and new models. We insist that the only way to make progress is to maintain indomitable resilience and vitality. It is only when we work together that we can go farther.',des2: 'The Future Business Ecology Link Conference 2023 and the 8th Golden Gyro Award Ceremony (“FBEC2023”) is organized by Gyro Technology, with the theme of “Collaboration Brings Mutual Benefits·Perseverance Leads to Success”, taking the perspective of “navigators” with industry foresight and the main line of “ice-breaking” journey, focusing on the frontier fields of Internet such as AI、metaverse、 XR、games、e-sports and digital economy, presenting the frontier achievements of science and technology, discussing the times and business issues, planning the future value of new technology, new business and new models, and going on an ice-breaking journey with the real courageous people in the winter under the drastic changes and innovations!'}, //首页大会简介}
zh.js内容:
// 首页
// const globals = require('./js/global_val.js')
import globals from './../js/global_val'export default {/******* 公共内容开始* *****/seeMore: "查看更多", //查看更多seeAgenda: "查看议程", //查看议程jtlRegister: '金陀螺奖报名参评/投票', //金陀螺奖报名参评/投票registrationChannel: '大会参会报名通道', //大会参会报名通道fbecland: '大会互动微站 FBEC LAND', //大会官方微站application: '点击报名参评', //点击报名参评-pcapplicationOver: '参评已结束', //参评已结束-pcmApplication: '点击报名参评/投票', //点击报名参评/投票-手机端mAplicationOver: '点击报名参评/投票', //点击报名参评/投票-手机端headerData: [{name: "首页",url: "/"},{name: "主会场",url: "main-venue"},{name: "分会场",url: "branch-venue"},{name: "金陀螺奖",url: "golden-top-award"},{name: "大会展区",url: "conference-exhibition-area"},{name: "更多精彩",url: "more-exciting-content"},{name: "大会动态",url: "conference-dynamics"},{name: "往届回顾",url: ""},],/******* 公共内容结束* *****//******* 首页开始* *****/asideNav: [{label: "大会主K",id: "zhuk",},{label: "FBEC2023",id: "2022",},{label: "大会议程",id: "yicheng",},{label: "大会嘉宾",id: "jiabin",},// {// label: "大会展商",// id: "zhanshang",// },{label: "精彩视频",id: "shipin",},{label: "会场分布图",id: "fenbutu",},{label: "组织机构",id: "zhuzhi",},{label: "合作媒体",id: "meiti",},{label: "大会报道",id: "baodao",},{label: "精彩现场",id: "huigu",},], //首页时间轴part1: {time: '深圳·大中华喜来登酒店 2023/12/08',des1: '2023年,我们亲历了人工智能的蓬勃发展,AI技术的飞速演进,不仅加乘了商业模式的创新,也催生了市场变化。当市场泡沫退去,AI时代的新浪潮涌动,我们坚守初心,对未来互联网发展形态进行探索,对新科技、新商业、新模式未来价值进行谋划,我们坚信唯有保持百折不挠的韧性与生命力,不断进化自身以适应市场环境变化,共荣共生,方能韧行致远。',des2: '2023未来商业生态链接大会暨第八届金陀螺奖颁奖典礼(简称“FBEC2023”)由陀螺科技主办,以“合力共生 · 韧者行远”为大会主题,以具有行业前瞻洞察的“航行者”为视角,破冰之旅为主线,关注AI、元宇宙、XR、游戏、电竞、数字经济等科技与互联网前沿领域,全方位呈现科技前沿成果,聚焦时代与商业热点议题,探讨新科技、新商业、新模式的未来价值,与真正的勇者共赴剧变革新下的凛冬破冰之旅!'}, //首页大会简介}
在plugins下新建i18n.js
i18n.js内容:
import zh_cn from '../assets/lang/zh.js'
import en_us from '../assets/lang/en.js'
const i18n = {locales: ['en', 'zh'], //有多少地区的语言就添加多少种defaultLocale: 'zh', //默认的地区语言vueI18n: {fallbackLocale: 'en', //回退策略,指定的locale中没有找到对应资源的情况下使用的localemessages: { //要渲染的信息,有多少语言就添加多少种en:en_us,zh:zh_cn}}}export default i18n
在nuxt.config.js引入i18n.js
import i18n from './plugins/i18n'
export default {modules: ['@nuxtjs/axios',['@nuxtjs/i18n',i18n]],
}
切换按钮(两种切换方式选择一种即可)
<!--方式一 --><div class="change-languag-box"><nuxt-linkclass="change-language cn-icon"v-if="$i18n.locale !== 'en'":to="switchLocalePath('en')">中文</nuxt-link><nuxt-linkclass="change-language en-icon"v-if="$i18n.locale !== 'zh'":to="switchLocalePath('zh')">英文</nuxt-link></div>
<!--方式二 -->
<!--html --><div class="change-languag-box"><divclass="change-language cn-icon"v-if="$i18n.locale !== 'en'"@click="changeLocale('en')"></div><divclass="change-language en-icon"v-if="$i18n.locale !== 'zh'"@click="changeLocale('zh')"></div></div>
<!--js -->changeLocale(locale) {// 在页面中添加 changeLocale 方法,调用 $i18n.setLocale 方法来切换语言this.$i18n.setLocale(locale);},
页面展示
<template><!-- <client-only></client-only>加这个刷新页面才不会显示异常 --><client-only><!--内容 --><div class="des"><divclass="time":class="$i18n.locale == 'en' ? 'time-en' : ''"v-html="$t('part1.time')"></div><div class="detail" v-html="$t('part1.des1')"></div><div class="hr default-bg"></div><div class="detail">{{$t('part1.des2')}}</div></div></client-only>
</template>
有导航的需要在导航切换的时候处理一下相关内容:
<!-- html(headerData为导航内容) -->
<div class="com-header-cont flex-center-start"><divclass="com-header-item"v-for="(tabItem, tabIdx) in $t('headerData')":key="tabIdx"@click="changeHeader(tabIdx, tabItem.url)":class="[tabIdx == headerIdx ? 'headerActive' : '',$i18n.locale == 'en' ? 'com-header-item-en' : '',]"><span :class="{ dropdownBtn: tabIdx == 7 }" @click="dropdown">{{tabItem.name}}</span><ulv-if="tabIdx == 7"class="dropdown-wrapper"v-show="dropdownActive"><liclass="dropdown-wrapper-li"v-for="(item, index) in dropParams":key="index"@click="closeDropdown"><a target="_blank" :href="item.path">{{ item.name }}</a></li></ul></div></div><!-- js --> // 导航切换changeHeader(index, path) {this.headerIdx = index;// 默认中文,所以this.$i18n.locale == "zh"时走正常的路由跳转if (this.$i18n.locale == "zh") {this.$router.push({ path: path });} else {if (process.client) {let routerPath = this.$route.fullPath;// 如果路由中没有包含/en/就添加,如果有则走正常的路由跳转if (routerPath.indexOf("/en/") == -1) {this.$router.push({ path: `${this.$i18n.locale}/${path}` });} else {this.$router.push({ path: path });}}}},