使用 Vue.js 制作多语言网站

Posted

技术标签:

【中文标题】使用 Vue.js 制作多语言网站【英文标题】:Making a multi language site with Vue.js 【发布时间】:2021-12-31 19:06:29 【问题描述】:

我对 Vue.js 不是很有经验,但我正在尝试使用 Vue.js 制作一个多语言网站,并想知道是否有一种有效的方法。例如,我不想为我拥有的每个页面创建重复的视图。是否有任何插件可用于该和有效的路由来处理链接? 到目前为止,这是我想出的

在我的 vue 页面 Menu.Vue.

<v-list-item>
   <v-list-item-title>English</v-list-item-title>
</v-list-item>
<v-list-item>
<v-list-item-title>
 <router-link to="AnotherLanguagepage">
   AnotherLanguagepage
 </router-link>
</v-list-item-title>

路由器的 index.js


    path: '/page_language1',
    name: 'Display',
    component: Display1,
    meta: 
      requiresAuth: true
    
  ,
  
    path: '/page_language2',
    name: 'Display',
    component: Display2,
    meta: 
      requiresAuth: true
    
  ,

所以我对这两种语言都有看法,但这不是可扩展的方法。

【问题讨论】:

你尝试过什么吗?如果是,请提供代码 你可以通过demo github.com/Jebasuthan/…查看i18n 谢谢@Jebasuthan 我会看看它。如果任何挑战弹出窗口将再次链接 哥们,用NUXT读这个i18n.nuxtjs.org @Ayudh,那会简化一些步骤,但我正在处理的要求需要我坚持使用 vuejs。感谢您的建议 【参考方案1】:

如果你正在寻找一个使用 Vue.js 的多语言网站,你最好使用Vue i18n plugin。

不,您不需要在页面/组件中拥有多个视图或数据。基本上,您将拥有一个 lang 文件夹,其中包含 en.js、es.js...(您需要多少 lang)。

// en.js


  "general": 
    "myListItemTitle": "My English title"
  


// fr.js


  "general": 
    "myListItemTitle": "Mon titre français"
  
<v-list-item>
   <v-list-item-title> $t('general.myListItemTitle') </v-list-item-title>
</v-list-item>

// $t is calling plugin and refers to currentLocale (en, es...). Example: en.js

祝你好运!

【讨论】:

以上是关于使用 Vue.js 制作多语言网站的主要内容,如果未能解决你的问题,请参考以下文章

制作简单的静态网站多语言的选项都有哪些?

在codeigniter中制作多站点和多语言网站的正确方法

PHP:子域上的多语言网站,没有许多 public_html 副本

纸壳CMS可视化建站系统搭建多语言网站

如何制作多语言链接文本li菜单和下拉列表?

Codeigniter 网站多语言 CMS 实施的最佳方式