动态组件的 Angular i18n 翻译

2024-03-08

我已经阅读了大量有关 Angular 2+ i18n 的文章,并且一直在寻找尝试构建动态组件的最佳方法。

问题:

  1. i18n 无法将变量文本转换为动态 xlf 文件
  2. i18n 使得使用 i18n 属性创建带有文本的动态组件变得困难

可能的解决方案:

即使我们不能在生成语言资源文件时使用 i18n 的变量中的动态字符串来获取,我们仍然应该能够创建组件并将文本传递给它们。下面的示例是一种使用的形式<app-error>显示输入错误消息以及动画。还会有其他形式,所以<app-error>组件必须是可重用的。

考虑到其他表单组件的可重用性,我做了类似以下的事情。这种方式允许传递文本并使用嵌入将已翻译的文本注入错误消息中<app-error>成分。

表单.组件.html

<app-error
  i18n="Error | form validation">
  Please enter a first name.
</app-error>

应用程序错误.component.html

<li>
  <ng-content></ng-content>
</li>

我能够想出上述解决方案来正常工作,因为 i18n 会拾取它并翻译它,并且文本会正确注入<ng-content>。所以这看起来是一个很好的解决方案,对吧?

我的想法是必须有一种更好的方法将翻译后的文本传递给组件或者能够利用 i18n 构建动态组件。有没有可能的解决方案?


None

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

动态组件的 Angular i18n 翻译 的相关文章

随机推荐

  • Android Studio 中的 NDK 集成

    今天我将android studio更新到1 3 并在local properties中输入NDK android ndk r10e NDK版本 路径 ndk dir C AndroidNDK android ndk r10e androi
  • 在 AngularJs 中制作工厂模块的正确方法

    我有一个像这样的控制器功能 scope localTimezone function userTimezone datetime return data 使其成为工厂模块的正确方法是什么 我尝试了以下操作 但出现错误 angular mod
  • 已完成百分比的流

    我需要使用类似的方法将 base64 格式的文件流式传输到 http 端点request https github com mikeal request or 超级代理人 https github com visionmedia super
  • 如何将 UISearchController 搜索栏设置为不是 tableHeaderView 或 navigationItem.titleview 的视图?

    我试图在表格滚动时保持搜索栏可见 目前 我将其作为表视图中的标题 并且它按应有的方式工作 但是当然 当您沿着表格向下滚动时 搜索栏会滚动到屏幕之外 我想我可以简单地修改这个代码示例来做到这一点 如何在 iOS 8 中使用 UISearchC
  • Keycloak - 如何检查用户名和电子邮件是否存在

    我们希望以编程方式创建 Keycloak 用户 并检查用户名和 或电子邮件地址是否已存在于 Keycloak 中 我们正在使用的版本4 4 0 FINAL 当我们使用 Keycloak 管理客户端以编程方式创建用户时 如果用户名或电子邮件地
  • Laravel 路线带我去别的地方

    我正在尝试通过 Laravel 和 vue js 创建 CRUD 应用程序 但这里总是存在问题 当我运行该应用程序时 它会转到仪表板并且不会出现 CRUD 操作 以下是 Routes web app 代码
  • 基于 int 创建多个编号变量

    我将如何创建多个NSDictionary使用数组计数的变量 这基本上是我想到的 但我不确定如何使用 Objective C 语法来实现它 doesntContainAnother is an NSArray 我希望字典的名称使用当前值loo
  • CMD脚本:如何关闭CMD

    我创建了一个小命令 可以让我启动 Internet Explorer 但是 我希望关闭启动 IE 时显示的小命令提示符 我怎样才能做到这一点 这是我当前的代码 ProgramFiles Internet Explorer iexplore
  • 未知协议:c(JDOM 和 SAXBuilder)

    我正在使用 JDOM 和 SAXBuilder 来解析 XML 文件 但我遇到了一个抛出此错误的文件问题 java net MalformedURLException unknown protocol c at java net URL
  • Shell 命令适用于命令行,但不适用于 PHP exec

    我有一个命令 当直接在命令行上运行时 它可以按预期工作 它运行超过 30 秒并且没有抛出任何错误 当通过 PHP 函数 exec 包含在由 cron 调用的脚本中 通过 PHP 脚本调用相同的命令时 它会抛出以下错误 最长执行时间为 30
  • Windows 下以 cygwin 和 Github 结尾的行

    我希望能够使用 Windows 应用程序的 Github 以及使用 Cygwin 在 Windows 上 的命令行中的 git 来处理我的 git 项目 但当我从一种切换到另一种时 我不断遇到行尾问题 如果使用命令行工具存储库没有更改 它将
  • 如何模拟从不同模块导入的方法中导入的函数[重复]

    这个问题在这里已经有答案了 我有以下功能要测试 my package db engine db functions py from utils import execute cmd from my package db engine db
  • 使用jquery获取facebox div内元素的值

    我的页面上有两个 div 标签 如下所示 当我引用 itemName 元素的值时 使用 itemName val 我在两个 div 中都有 我总是得到第一个 div 中元素的值 即 空白 有没有办法使用 jquery 获取第二个 div 中
  • 在所有地址上运行我自己的用户脚本有风险吗?

    Tampermonkey 对于大多数浏览器 和 Greasemonkey 对于 Firefox 都支持 match and include指令 当我开始阅读它们之间的区别时 结果发现 match有点严格 用户脚本不会在某些地址上启动 这可能
  • 如何获得具有固定总和和大小的随机数列表

    如何根据给定大小和期望总和获取随机数列表 完全支持 i hava a code sum int ts https github com bluelovers random blob master src distributions sum
  • IronPython 3 兼容性

    我喜欢Python语言 主要使用标准CPython 3 版本来进行简单的脚本编写和作为算法沙箱 有时我需要 NET集成 所以我使用IronPython 它现在是2 7版本 我更喜欢 3 因此不愿意使用旧的 2 7 有没有关于何时发布以及迁移
  • kusto now() 函数在单个查询中返回相同的值

    我正在尝试检测 kusto 函数的一部分来检查不同场景下的执行时间 但是我找不到打印前后时间的方法 print now
  • Heroku 上的 Django 与 PostgreSQL 应用程序不同步

    我正在尝试按照以下教程在 Heroku 上运行 Django Heroku 上的 Django 入门 https devcenter heroku com articles django 一切都运行良好 直到我到达syncbd部分 同步数据
  • java中的递归方法记忆化

    我正在做家庭作业 我已经筋疲力尽了 我是编程新手 这是我的第一堂编程课 这就是问题 考虑 Collat z java 中的以下递归函数 它与数论中一个著名的未解决问题 称为 Collat z 问题或 3n 1 问题 相关 public st
  • 动态组件的 Angular i18n 翻译

    我已经阅读了大量有关 Angular 2 i18n 的文章 并且一直在寻找尝试构建动态组件的最佳方法 问题 i18n 无法将变量文本转换为动态 xlf 文件 i18n 使得使用 i18n 属性创建带有文本的动态组件变得困难 可能的解决方案