直接结合vue-i18n来使用,示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>vue-i18n</title>
</head>
<body>
<div id="app">
{{msg}}
<br /><br /> 语言选择:
<select v-model="selected" @change="changeLang()">
<option value="en">English</option>
<option value="zh">简体中文</option>
</select> Selected: {{selected}}
<br /><br />
<p>{{$t("message.hello")}}</p>
<ul>
<li v-for="(item, key) in items" :key="key">{{item.title}}</li>
</ul>
</div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue-i18n.js"></script>
<script>
// 国际化内容配置
const messages = {
en: {
message: {
hello: "hello world",
li1: "li1",
li2: "li2",
li3: "li3",
},
},
zh: {
message: {
hello: "你好 世界",
li1: "标签一",
li2: "标签二",
li3: "标签三",
},
},
};
const i18n = new VueI18n({
locale: "en",
messages,
});
var app = new Vue({
el: "#app",
i18n,
data: {
msg: "Hello Vue i18n",
selected: "en",
},
computed: {
// 重点: vue 列表数据国际化处理,必须在 computed 中绑定
items: function () {
return [
{
title: this.$t("message.li1"), // 获取 i18n 配置数据
},
{
title: this.$t("message.li2"),
},
{
title: this.$t("message.li3"),
},
];
},
},
methods: {
// 切换语言配置
changeLang() {
i18n.locale = this.selected
},
},
});
</script>
</body>
</html>
网友回复
在哪可以免费白嫖claude 4.5?
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?