首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以动态地翻译来自JSON文件的字符串片段吗?

我可以动态地翻译来自JSON文件的字符串片段吗?
EN

Stack Overflow用户
提问于 2019-07-04 15:07:54
回答 1查看 248关注 0票数 0

我使用jquery-lang-js插件动态地翻译我的网页中的一些元素,它可以工作。更具体地说,我可以翻译HTML文件中包含的每个元素。

我编写了一个回调函数,以便在需要时显示来自JSON文件的结果:

代码语言:javascript
复制
               for (let i = 0; i < lowCostHotels.LOW_COST.length; i++) {
                var entry = lowCostHotels.LOW_COST[i];                    
                if (entry.city == inputCity) {    
                    $("#tbody2").append("<tr><td>" + entry.name() </td></tr>");
                }
            }
        }       
    });
};

所示结果的一个例子是:

腿22 - Passo della Cisa - Pontremoli

它对应于第一个<td>

我想代替

“腿”

使用

“磁带”

也就是说,我希望翻译包含在JSON文件中的字符串的单个部分:

代码语言:javascript
复制
{
  "legs": [
    {
      "name": "Leg 22 - Passo della Cisa - Pontremoli",
      "state": "Italy",
      "region": "Tuscany",
      "city": "Groppoli (Mulazzo)"
    },
    {
      "name": "Leg 22 - Passo della Cisa - Pontremoli",
      "state": "Italy",
      "region": "Tuscany",
      "city": "Groppodalosio"
    }
     ]
}

我想对50 <tr>中的每一个做这件事。

有什么方法可以轻松地做到这一点吗?还是我应该编写一个不同的JSON文件?

EN

回答 1

Stack Overflow用户

发布于 2019-07-04 15:27:44

首先,应该使用forEach,而不是使用一个for。始终使用js对象(如数组和字符串)本机提供的助手函数。它们速度更快,阅读时间更短,写作时间更短。另外,如果您使用的是ES6,也可以查看箭头函数。

代码语言:javascript
复制
   for (let i = 0; i < lowCostHotels.LOW_COST.length; i++) {
      var entry = lowCostHotels.LOW_COST[i];                    
      if (entry.city == inputCity) {    
          $("#tbody2").append("<tr><td>" + entry.name() </td></tr>");
      }
    }

变成:

代码语言:javascript
复制
lowCostHotels.LOW_COST.forEach(function(entry) {
  if (entry.city == inputCity) {    
    $("#tbody2").append("<tr><td>" + entry.name() </td></tr>");
  }
});

对象/数组/forEach

如果你只想用胶带代替腿:

代码语言:javascript
复制
lowCostHotels.LOW_COST.forEach(function(entry) {
  if (entry.city == inputCity) {    
    $("#tbody2").append("<tr><td>" + entry.name().replace("Leg", "Etape") </td></tr>");
  }
});

对象/字符串/替换

但是您在这里几乎是在手动转换/更改JSON。如果您使用的翻译方法并不是所有的翻译都是正确的,那么我建议您考虑另一种翻译方法。另一方面,如果您只需要快速修复几个遗漏的单词,那么只需要一个替换()就可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56890664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档