L20n.js:本地化动态创建的字符串
L20n.js: localize dynamically created strings
在我的应用程序中,我可以通过标签本地化大多数字符串,如 l20n.js 文档中所述。但有时我必须本地化动态创建的字符串。喜欢:document.getElementById(id).innerHTML = "some text";
我使用聚合物和自定义Web组件,因此主要目标是为任何本地化案例创建一个函数。如果我尝试document.l10n.get(string);
,我会得到TypeError: document.l10n.get is not a function
。
最好的方法是什么?无法在官方文档中找到解决方案。
由于document.l10n
是 L20n View
类的实例,因此您可以为您的用例使用 formatValue
和 formatValues
方法。 有关详细信息,请参阅文档。
这两种方法都返回承诺,因此您需要执行以下操作:
document.l10n.formatValue('hello', { who: 'world' }).then(
hello => document.getElementById(id).textContent = hello
);
您可以分配给textContent
或innerHTML
。 请记住,L20n 允许在翻译中使用 HTML,并且仅在使用声明式data-l10n-id
方法时对其进行清理。 因此,如果要手动分配给innerHTML
,则可能需要确保信任翻译的内容。 将来我想添加一个特殊的 API,使用与声明性方法相同的清理(错误1228021)将翻译应用于 DOM 元素。
相关文章:
- 如何避免JSON.stringify在特殊情况下返回undefined,从而为JSON.parse创建字符串失败
- 为什么可以't JavaScript构造函数创建字符串或数字
- 如何利用jquery在web应用程序中创建字符串资源管理系统
- 通过多次单击创建字符串
- 创建字符串中找到的所有图像的数组的最佳方法是什么
- 使用 join() 或 concat 创建字符串
- 为原型中的函数创建字符串名称
- 如何在AngularJS中创建字符串的Add/Remove数组
- 如何创建字符串“;替换所有“;作用
- Node.js如何根据目录中的文件名创建字符串数组
- 创建字符串筛选器比较的最佳方式
- 使用 .each 从表创建字符串,如何在每行后添加换行符
- 从占转义字符的字符数组创建字符串
- Javascript:通过不同的方法创建字符串
- 在另一个集合中存储引用会创建对象,但不会创建字符串Meteor
- 删除PHP中JSON数组的索引,创建字符串版本的索引
- 在javascript中创建字符串值数组的简写
- Javascript创建字符串+ "“+
- 在Javascript中创建字符串时遇到麻烦
- 在Python中,你可以像在JavaScript中那样创建字符串函数的原型