问题标签 [l20n]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - l20n 带有 HTML 标记?
如果我想创建这样的东西,我将如何使用 l20n:
我想整体翻译这句话,但我也想要标记。我不想这样做:
...因为翻译本身现在被复制了。
我知道这可能不在 l20n 的范围内,但它可能在现实世界中很常见。是否有某种既定的方法来解决这个问题?
javascript - l20n.js - 如何从 javascript 访问本地化子实体
在这个例子中,我可以看到如何访问 LOL 资源中的变量
但是,我也希望能够在 javascript 中做类似的事情,例如:
但这对我不起作用。我调试了一下,但我觉得我在浪费时间,而且可能已经有一种简单的方法可以做到这一点。在那儿?
javascript - 如何使用 l20n.js 指示在浏览器中呈现哪种语言?
我正在使用 l20n.js 向 Angular.js 应用程序添加本地化。这是我的项目结构:
/index.html
/locales/manifest.json
/locales/en-US/strings.l20n
/locales/fr-FR/strings.l20n
如何将英语(即/locales/en/strings.l20n
文件)换成法语?尽管lang="fr-FR"
在index.html
.
angularjs - L20n.js 框架不会在 Angular 视图中呈现文本
我正在使用 l20n.js 为 Angular 应用程序提供本地化。它适用于 index.html 中的元素,但本地化文本不会显示在 Angular 局部视图中。这是我的项目结构:
我目前的工作理论是存在某种竞争条件;Angular 正在重新渲染某些东西,l20n 没有意识到发生了重新渲染,也没有从资源文件中获取翻译后的文本。我怎样才能解决这个问题?
mozilla - 什么可能导致 L20N 不处理实体变量和包含?
L20N是在我的 ReactJS 项目中设置的,我在它的事件触发后调用getSync
它(context
所以ready
事情应该很好)。但是,我得到的不是我预期的包含其他实体值和变量扩展的字符串,而是原始实体字符串。
我得到的字符串如下所示:
{{$user.name}} - {{appName}}
但当然,我期待这样的事情:
Ben Taylor - My Cool App
我试图在这个 plunker 中重现问题。不幸的是,它工作正常!当您运行它时,警报框会显示预期的 L20N 扩展字符串。
什么可能导致实体值返回原始值? 我有一个有效的context
并且检查器中没有错误,所以看起来一切都配置得很好。我想知道是否与我正在做的其他事情有一些互动,这会破坏 L20N。任何想法表示赞赏!
我无法包含我正在开发的应用程序,但不用说它有更多的移动部件。它是一个基于此模板的 React 应用程序。
localization - L20n 翻译来自文本区域和输入字段的占位符/属性
如何从 textarea 或 input 本地化占位符?
如果我使用以下示例,它会将翻译直接作为文本放入 textarea。
语言文件
ember.js - 在 ember-cli 应用程序中存储 l20n ctx 对象的位置
我正在使用 l20n 的 bower 版本来本地化 ember-cli 应用程序。
我正在使用以下流程本地化应用程序:
我创建了一个初始化程序,它根据用户的语言设置创建一个 l20n 上下文对象。
使用 ember 助手,我将每个单词从 DOM 传递到要翻译的 l20n 上下文对象。
在车把模板中:
在 ember 助手中:
这行得通,但我刚刚在 Ember 上标记了一个全局变量,以使帮助程序可以访问 l20n 上下文。我知道这不是最佳做法。我试图弄清楚如何创建一个仅用于存储 l20n 上下文对象的 ES6 模块。这样,在我的 ember 助手中,我可以这样做:
并防止 l20n 对象陷入应用程序的其余部分。
提前感谢您的帮助!!!
更新:
一种解决方案是使用 application.register,如下所示:
但是,那么我的问题将是从我的助手访问容器。这个:
将不起作用,因为容器对助手不可用!
html - 使用 l20n 本地化属性
我想placeholder
用 L20N 本地化一个属性。我在他们的文档中找不到任何东西,这样做(不出所料)是行不通的。
javascript - L20n complex plurals
According to the l20n documentation example, the library can support "complex language plurals".
In the Firefox download panel, a string like this shows up while downloading file:
4 hours, 1 minute and 26 seconds remaining
.
Unfortunately, the given example seems not work with the 3.0.4
release.
HTML markup:
Language file (en-US.l20n
):
Current Result:
Expected result:
What is the current syntax for plurals?
html - 在具有自定义属性的浏览器中使用 l20n
我遇到了一个问题,即 l20n 仅适用于标准 HTML 元素的默认属性。
就我而言,我正在尝试使用 JSON 格式的翻译。我的虚拟数据如下:
我的测试HMTL如下:
但是,浏览器会生成以下 HTML:
我已经尝试了属性排序和属性名称的各种组合,看起来只有每个元素类型的适当默认 HTML 属性由 l20n 本地化。
当在自定义元素中使用标准 HTML 属性(例如“title”)时,该问题也很明显,尽管 l20n 可以处理标准元素的标准属性(当它们被放置在<content>
自定义元素的标记中时)。
围绕其处理属性的 l20n 文档似乎并不十分广泛。到目前为止,在 Stack Overflow 和 Google 上寻找答案已被证明是徒劳的,而 Mozilla 拥有自己的讨论列表和错误跟踪器,公众似乎不太容易获得这些信息。
l20n 项目似乎处于不断变化的状态,在我使用的版本(3.0.5)中,据称与 ES5 兼容的 webcompat/l20n.js 需要 Polyfill,因为它使用了 Array.from(); 此外,示例和学习资源似乎与框架的使用方式不完全匹配。源代码完全没有文档记录,但尽管如此,到目前为止我对框架的大部分理解都是通过查看那里获得的。我在他们的代码中看不到对属性名称的任何过滤,所以我觉得这个问题可能是由于需要在 l20n 传递数据属性之前向浏览器注册元素(及其属性)。
提前感谢任何可能提供帮助的人。