【问题标题】:I want to translate strings in data我想翻译数据中的字符串
【发布时间】:2022-01-09 13:41:57
【问题描述】:

我正在翻译我的项目。我将 js/json 翻译成 HTML,但我制作了 v-for 而不是复制 4 个相同的 HTML 代码:

        <div class="col-md-6 col-lg-4">
          <div class="box my-5" v-for="(item, index) in items" :key="index">
            <div class="innerBox">
              <router-link to="/sixthPage">
                <div class="card Fcard d-flex  flex-row justify-content-center align-items-center" style="padding: 1rem 2rem !important">
                  <p>{{item.title}}</p>
                </div>
              </router-link>
              <router-view></router-view>
            </div>
        </div>

我想翻译{{ item.title }},但我不使用I18n插件。我自己翻译我问如何使用v-for翻译{{ item.title }}

import en from "../locales/en.js";
import tr from "../locales/tr.js";
export default {
    el: '#app',
    mixins: [en, tr],

    data () {
        return {
            items: [
                {title: 'Protect Privacy',},
                {title: 'Bypass Censorship',},
                {title: 'Faster Internet'},
                {title: 'I do not want to specify',}
            ],
            lang: window.navigator.language,

        }
    },
    components:{
        Header
    },
    methods: {
        translate(prop) {
            return this[this.lang][prop];
        }
    },

当翻译成这样的 HTML 用法时:&lt;h2&gt;{ translate('name') }}&lt;/h2&gt;

【问题讨论】:

    标签: vue.js vuejs2 vue-component


    【解决方案1】:

    您可以将translate 定义为计算属性,该属性返回一个翻译项目标题的函数:

    
     <p>{{translate(item.title)}}</p>
    
    

    脚本:

        computed: {
            translate() {
                return (prop)=>this[this.lang][prop];
            }
        },
    
    

    【讨论】:

      【解决方案2】:
      <h1> {{ translate(item.title) }} </h1>
       data(){
           return{
              items[ {title: 'SeventhPageTitle'} ]
            }
          }
      

      【讨论】:

      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-25
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      相关资源
      最近更新 更多