app-localize-behavior 和共享本地化缓存

2024-05-07

根据聚合物文档应用程序本地化行为 https://www.polymer-project.org/1.0/toolbox/localize

每个显示要本地化内容的元素都应添加 Polymer.AppLocalizeBehavior。所有这些元素共享一个共同的本地化缓存,所以你只需要加载翻译一次.

在下面的代码片段中(改编自这个答案 https://stackoverflow.com/questions/37332126/app-localize-behavior-and-nested-template/37332899#37332899) 中没有找到共享资源 tag

也许我错过了什么?

<!DOCTYPE html>
<html>

<head>
  <base href="https://polygit.org/polymer+:master/components/">
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <script src="https://rawgit.com/yahoo/intl-messageformat/d361003/dist/intl-messageformat.min.js"></script>

  <link rel="import" href="polymer/polymer.html">
  <link rel="import" href="paper-toggle-button/paper-toggle-button.html">
  <link rel="import" href="app-localize-behavior/app-localize-behavior.html">

</head>

<body>
  <x-local-translate></x-local-translate>

  <dom-module id="x-local-translate">
    <template>

      <div>
        <span title="english">????????</span>
        <paper-toggle-button on-change="_toggle" id="switch"></paper-toggle-button>
        <span title="french">????????</span>
      </div>

      <div>
        <h4>Outside Repeater</h4>
        <div>
          <div>{{localize('greeting')}}</div>
        </div>

        <h4>Template Repeater Items</h4>
        <template is="dom-repeat" items="{{things}}">
          <div>{{localize('greeting')}}</div>
        </template>


        <x-local-test></x-local-test>
      </div>
    </template>

    <script>
      Polymer({
        is: "x-local-translate",
        behaviors: [
          Polymer.AppLocalizeBehavior
        ],
        properties: {
          things: {
            type: Array,
            value: function() {
              return [1, 2, 3];
            }
          },

          /* Overriden from AppLocalizeBehavior */
          language: {
            value: 'en',
            type: String
          },

          /* Overriden from AppLocalizeBehavior */
          resources: {
            type: Object,
            value: function() {
              return {
                'en': {
                  'greeting': 'Hello!'
                },
                'fr': {
                  'greeting': 'Bonjour!'
                }
              };
            }
          }
        },
        _toggle: function() {
          this.language = this.$.switch.checked ? 'fr' : 'en';
        }
      });
    </script>
  </dom-module>

  <dom-module id="x-local-test">
    <template>
      <h4>Inside x-local-test</h4>
      <div>{{localize('greeting')}}</div>
    </template>

    <script>
      Polymer({
        is: "x-local-test",
        behaviors: [
          Polymer.AppLocalizeBehavior
        ],

        properties: {
          things: {
            type: Array,
            value: function() {
              return [1, 2, 3];
            }
          }
        },

      });
    </script>
  </dom-module>

</body>

</html>

现在,在下面的小提琴中,我通过传递它使其工作资源 and language对象作为 x-local-test 属性。https://jsfiddle.net/g4evcxzn/2/ https://jsfiddle.net/g4evcxzn/2/

但没有它应该可以工作


根据 Jose A. 和 Jean-Rémi 的想法,这里有一些复制/粘贴的示例代码:

    <link rel="import" href="../bower_components/polymer/polymer.html">
    <link rel="import" href="../bower_components/app-localize-behavior/app-localize-behavior.html">

    <script>
      MyLocalizeBehaviorImpl = {
        properties: {
          language: {
            value: 'de'
          }
        },
        attached: function() {
          this.loadResources(this.resolveUrl('locales.json'));
        }
      };
      MyLocalizeBehavior = [MyLocalizeBehaviorImpl, Polymer.AppLocalizeBehavior]; 
    </script>

将行为文件包含在所有自定义组件中并添加行为:

<link rel="import" href="./my-localize-behavior.html">

......

behaviors: [
    MyLocalizeBehavior
],
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

app-localize-behavior 和共享本地化缓存 的相关文章

  • Localized.strings 已损坏?

    我试图包含我的应用程序的国际化 并且仅出于测试目的 我在文件 Localized string 中添加了一行简单的代码 这是我的整个文件 测试区域设置 测试区域设置 当我尝试运行我的应用程序时 我收到此错误 Localized string
  • 元件之间的聚合物通讯

    我想通过聚合物元素实现子父级之间的通信 这是我的index html
  • Google 地点详细信息 API 中的语言不一致

    我在我的服务器上使用 Google Place Details API 来存储有关某个地点的信息 使用placeId由客户发送 我面临着有关结果语言的问题 当该地点是城市或该城市中的地址时 结果的语言会有所不同 即使在查询中指定了语言也是如
  • UITableView 的本地化索引

    我正在尝试为我的 UITableView 使用本地化索引 就像 iPhone 的联系人应用程序一样 这是我返回字符数组的方法 NSArray sectionIndexTitlesForTableView UITableView tableV
  • 删除与用户区域设置相关的日期格式的年份

    我想根据用户设备的区域设置显示日期和月份 这样今天的日期就会显示为5 18具有美国设置和18 5 具有德国设置 因为我想处理所有可能的区域设置 所以我不能简单地使用 dateFormatter setDateFormat and dateF
  • 更改区域设置:强制活动重新加载资源?

    所以我的应用程序中有一个语言设置 切换语言时 我希望所有文本视图等立即更改语言 目前我只是更改配置中的区域设置 因此当用户重新启动活动时语言已更改 我的问题的一个丑陋的解决方案是让每个文本视图在每次更改语言时加载新资源 有更好的解决方案吗
  • 如何在我的应用中将 Google 地图语言更改为印地语?

    我在 Android 应用程序中使用 Google 地图 我在我的应用程序中实现了语言本地化 因此 我希望每当用户更改应用程序语言时 谷歌地图语言也会更改为印地语 我尝试了以下方法来更改应用程序中 Google 地图的语言 String l
  • “core-header-panel”似乎不能开箱即用

    我正在尝试一些core聚合物元素 我在使用时遇到了麻烦core header panel in my demo http enriquemorenotent com demos webcomponents core header panel
  • Xcode 6 本地化无法读取字符串文件

    Xcode 无法生成 xliff 本地化文件并出现错误本地化无法读取字符串文件 请检查系统日志以获取更多详细信息 有谁知道我在哪里可以找到这些日志 它是 Xcode 6 3 2 GM 但我也尝试过 6 3 1 版本 同 6 3 1 错误发生
  • 如何从注册表获取重定向字符串?

    我正在使用从注册表中读取一些值Registry http msdn microsoft com en us library microsoft win32 registry 28v vs 110 29 aspx 我需要访问使用的一些值注册表
  • 使用 Python/PyGObject 在 Windows 中加载 GTK-Glade 翻译

    我有一个 Python 脚本 可以加载可翻译的 Glade GUI 在 Linux 下一切工作正常 但我在理解 Windows 上的必要步骤时遇到了很多困难 Linux 下似乎需要的只是 import locale locale setlo
  • 如何将正文中的数字替换为波斯数字?

    我想将 html 内容中的每个数字转换为波斯数字 而不会对页面元素产生其他影响 例如 div style color c2c2c2 text number 1 span text number 2 span div text number
  • 如何检测 JSF 应用程序中的客户端区域设置?

    我该如何使用ServletRequest getLocale 在 JSF 应用程序中 当Servlet我的代码中不存在并且由 JSF 实现提供 我正在尝试使用ServletContextListener 但是有可能达到ServletRequ
  • 如何在没有外部库的情况下以 Polymer 方式处理悬停?

    我想我需要做类似的事情 li blah li 因为处理点击看起来像这样 li blah li 我尝试使用此处文档中显示的方式 声明式事件映射 http www polymer project org docs polymer polymer
  • 聚合物嵌套应用程序路由未正确映射

    我正在努力找到一些正确的基本路线 我正在使用 Polymer 1 5 0 但在使用嵌套路由时遇到问题 我正在使用应用程序路由0 9 2 As 这篇文章建议 https www polymer project org 1 0 blog rou
  • 如何使用存储在 Cocoa Touch 框架中的 Localized.strings?

    我想为 CocoaTouch 框架添加多语言支持 问题 可本地化的字符串我创建的文件仅被使用NSLocalizedString当它是主应用程序及其目标的一部分时 我想将其存储在框架内以将事物分开 我怎样才能使用可本地化的字符串当放置在 Co
  • 本地化水晶报表

    在 Crystal Reports 上本地化标签 列标题 字段标签 页眉 页脚等 的好方法是什么 我们目前使用的是 XI R2 SP4 但希望迁移到 2008 年 看起来 2008 年提供了更好的查看器 UI 本地化 它有内容本地化的故事吗
  • 如何检索 iPhone 的区域设置

    我用谷歌搜索过它 但令我有点惊讶的是我找不到它 我只想访问设备配置的区域设置 我试图找到如何列出所有系统属性 以防我能在那里找到区域设置 但甚至找不到如何做到这一点 我知道 认为 我之前检索过系统属性 但我也记得在谷歌搜索时找到该信息并不容
  • 是否有一个包可以维护所有带有符号的货币列表?

    是否有一个 python 包提供所有 或相当完整 货币的列表与符号 如美元的 有优秀的pycountry 贪财的 https github com limist py moneyed and ccy http code google com
  • 如何使用 jquery-validate 本地化

    有没有办法使用存储库中现有的翻译来动态 即从 JS 代码 设置 更改错误消息的语言 非解决方案 1 加载本地化脚本

随机推荐