Vue搭建中英双语网站的两种方法

Vue搭建中英文双语网站

第一种:vue-i18n

优势

1、不同的只是文本内容,其他部分可以最大限度的共用;

工作量分析

1、语言内容更新工作量o(n+1);
2、样式布局更新工作量o(1);

适合情况

1、不同网站仅文本内容不同,样式布局相同;
2、网站样式和布局更新频繁;
3、语言种类多;

教程

官网教程链接: vue-i18n教程

第二种:中英文文件分离

适合情况

1、中英文界面显示有差别,需要个性化显示的时候;
2、语言种类少,且样式更新少时;

工作量分析

1、语言内容更新工作量o(n);
2、样式布局更新工作量o(n);

实现方法:

一、文件结构

1、将所有的vue文件,原地都复制一遍,并在后面加上En或者Cn作为区分;
2、仅仅vue文件需要两套,其他的文件都是可以公用的,甚至都不需要修改路径。

二、方法

1、App.vue挂载在了id="app"的 div 上,现在把AppEn挂载在id="appEn"的 div 上;
index.html

 <body>
    <div id="app"></div>
    <div id="appEn"></div>
    <script type="module" src="/src/main.js"></script>
  </body>

2、目前网站将显示两套内容,通过css可以设置其中的一套内容display:none,那么就只会显示一套内容了;
style.css

#app {
  margin: 0 auto;
  text-align: center;
}
#appEn{
  margin: 0 auto;
  text-align: center;
  display: none;
}

3、路由结构设计
router.js

import Home from "./views/Home.vue"
import HomeEn from "./views/HomeEn.vue"
const routes = [
  { path: "/", component: Home},
  { path: "/en", component: HomeEn },];

4、创建切换按钮english/chinese,通过js控制中英文切换
button:@click=“chinese”/@click=“english”
App.vue

<script setup>
import router from "./router";
function english() {
  const app = document.getElementById("app");
  app.style.display = "none";
  const appEn = document.getElementById("appEn");
  appEn.style.display = "block";
  router.push("/en" + router.currentRoute.value.path);
}
</script>

AppEn.vue

<script setup>
import router from './router';
function chinese() {
  const app=document.getElementById('app');
  app.style.display='block';
  const appEn=document.getElementById('appEn');
  appEn.style.display='none';
  router.push( '/' );
  
}
</script>

结束语

曲线实现了vue跳转网页的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值