在 Angular 中更新/合并 i18n 翻译文件

2023-11-26

我们最近决定为我们的应用程序支持多种语言(Angular 13.x)。经过研究,我们决定使用angular/localize看起来很适合我们的需求的包。

一切似乎都在解决唯一的问题,即在后续的构建和更改中保持翻译文件最新。

因此,请遵循 Angular 网站上的指南https://angular.io/guide/i18n-common-translation-files we use ng extract-i18ncli 工具生成messages.xlf file

ng extract-i8n --format xlf --output-path src/locale/

下一步是复制生成messages.xlf支持不同的区域设置。为了简单起见,假设我们支持法语,所以我们创建一个messages.fr.xlf在相同的/locale子文件夹。这由第三方服务进行翻译(尚未确定如何自动执行此操作 - 欢迎提出建议)。到目前为止,一切都很好..

现在的问题是围绕组件的后续更改和新翻译的添加。这ng extract-18n将正确生成messages.xlf以及新的和修改后的翻译。但是如何更新/合并其他语言环境文件,例如messages.fr.xlf而不覆盖现有的更改?如何实现自动化并将新更改合并到该文件中?我是否缺少 Angular cli 已经支持的东西?

我遇到过这个xliffmerge tool https://github.com/martinroob/ngx-i18nsupport/tree/master/projects/xliffmerge但这似乎是一个旧工具,似乎不支持 Angular 9+ 以上的新版本。

我假设这对每个人来说都是一个相当普遍的问题,并且 Angular CLI 是否已经支持这个问题。

当前版本 角 13.x

感谢您的帮助。


替代/新的解决方案(针对未维护的 ngx-i18nsupport)是https://github.com/daniel-sc/ng-extract-i18n-merge

安装后通过

ng add ng-extract-i18n-merge

翻译将被提取并合并使用命令:

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

在 Angular 中更新/合并 i18n 翻译文件 的相关文章

  • 如何在 Angularfire2 Angular2 中对 FirebaseListObservable 列表进行排序?

    我想从 Firebase 实时数据库中获取所有用户 并按分数属性对它们进行排序 我已经使用变量来完成这个工作 users FirebaseListObservable
  • Angular2 RC5动态编译具有正确模块的组件

    我正在尝试使用 angular2compiler https angular io docs ts latest api core index Compiler class html动态插入组件 只要所有代码都在默认模块中 它就可以正常工作
  • Angular4 会话处理

    我有一个 sailsjs API 后端 我想使用 Angular4 作为我的前端 我想知道如何处理 Angular 上的会话 我尝试阅读文档但无法想出任何东西 具体来说 我需要能够处理登录 注销 CSRF 保护等 是否可以在 Sails 中
  • Primeng - 无法在列中显示数组项

    我在 Angular 2 中使用 primeng 数据表 我的模型是一个数组products 每个产品都有一系列locations 该位置数组有一个属性name 如何显示每个name一行中的位置数组product 示例 如果首先produc
  • 如何以角度形式创建传单地图

    我的要求是以角度形式创建传单地图 但我对这种形式很陌生 我知道如何将地图与普通 html 结合使用 如下所示 地图组件 ts ngOnInit const map L map map setView 51 509865 0 118092 1
  • 在 Angular 中包含共享资产

    我创建了一个有角度的工作区 其中托管多个有角度的项目和库 在工作区中 我有一个共享库 其中包含所有资产 图像和徽标 assets projects xxx workspace src favicon ico projects xxx wor
  • Angular Material mat-form-field 输入字段图标

    在 Angular 项目中我有角材料垫形式场 https material angular io components form field overview我的图标出现在左外侧
  • 为什么我无法在 angular2 中导入 lodash

    我在 Angular2 rc1 中使用 Angular CLI 进行开发 我已经通过 npm 安装了 lodash node module 并使用以下命令在 systemjs 中配置了它 系统配置 ts User Configuration
  • 延迟加载:Observable 未订阅

    在我的 Angular 应用程序中 我有一个父组件 控制台 组件 html div class main div
  • 在线性垫水平步进器中使用单独的组件

    在 Angular 中 是否可以有一个线性步进器 其中各个步骤是单独的组件 例如
  • 制作简单的静态网站多语言有哪些选项?

    我正在设置一个静态网站 我想以两种语言显示 我找不到不同选项的全面概述 例如服务器端加载 前端加载与使用不同文件夹 每个选项的优点是什么 例如 SEO 可维护性 可扩展性等 理想情况下 翻译将存储在单独的 json 文件中 我最关心的是翻译
  • Angular2 CORS 问题

    我是 angular2 的新手 公平地说 我对尝试修复的知识知之甚少 但是我遇到了一些有关跨站点请求的问题 试图从另一个应用程序访问服务 但无论我尝试什么 我都会遇到这个问题去做 XMLHttpRequest cannot load htt
  • SAP Spartacus 表单个性化

    如果已经有使用给定电子邮件注册的帐户 我需要修改注册表以显示错误消息 SAP Hybris 后端 Angular 中的 Spartacus 店面 目前 我有一个自定义验证器类 它可以正常工作 import org springframewo
  • 使用 ngrx 时调度完成后执行代码

    在我的示例 Angular 2 应用程序中 我使用 ngrx store 和 ngrx effects 进行状态管理 下面是组件中添加新项目的函数之一 addAuthor this store dispatch addAuthorActio
  • Angular:如何检测 ng-bootstrap 下拉列表中的切换状态(其中有多个下拉列表)

    我最近问这个问题 https stackoverflow com questions 56473532 angular how to detect toggle status in ng bootstrap dropdown 5647508
  • 不允许我将对象推入数组

    我正在使用 Angular 我试图将一个对象推入数组 但它给了我错误 它说类型错误 无法读取未定义的属性 push 也就是下面的代码 文章是一个对象 articles Article addArticle newTitle HTMLInpu
  • 具有相同父布局角度的功能模块路由

    我想使用相同的布局 在应用程序模块 ts 对于不同的功能模块 每个模块都有自己的路由 以及一个单独的登录 注册布局 没有侧面菜单 页眉和页脚 到目前为止我尝试过这个 app app component html
  • 如何使用第三方 JS 组件进行 Angular2/4 验证

    当谈到 Angular 2 验证时 我看到了不同的方法 基本方法是使用 HTML5 和模板 模型绑定或带有指定验证器的表单 然而 当涉及到特殊规则时 它需要大量编码 并且模板绑定 因此没有表单 通常会导致验证分散在 HTML 和 TS 代码
  • Angular Firebase 使用电话号码登录

    我是这个网站的新手 所以如果我犯了错误 请纠正我 我会修复它 并原谅我 我也是 Angular 4 环境的新手 Firebase 有一个新选项 signInWithPhoneNumber 我想在我的新应用程序上实现它 该方法需要参数 sig
  • 当角度4中令牌过期时如何重定向到注销

    我有一个 Angular 4 应用程序 我在那里使用 JWT 令牌进行身份验证 一切正常 但我给 JWT 令牌的令牌过期时间是 1 小时 一旦服务器端的令牌过期 我想从前端应用程序中注销用户 在节点后端 我使用快速中间件通过检查所有请求是否

随机推荐

  • java.lang.NoClassDefFoundError: org/json/simple/parser/ParseException 与 eclipse 和 spring

    我有一个简单的 XML 文件 已将其解析为 JSON 一切都很好 我有一个独立的 Java 类 即它有一个public static void main String args 它有一个私有构造函数 因为我需要使用文件名或实际数据的字符串来
  • Python 中的函数组合运算符

    In 这个问题我询问了 Python 中的函数组合运算符 菲利普 邹提供了以下代码 它可以完成这项工作 import functools class Composable def init self func self func func
  • 未找到从头文件链接到的头文件。

    我对 Nvidia 的 OpenCl Cuda 框架有疑问 但我认为这是一个gcc链接问题 The opencl hello world c示例文件使用以下头文件 include OpenCL common inc CL opencl h
  • 在unix中使用变量作为变量名的一部分[重复]

    这个问题在这里已经有答案了 我想将变量命名为a v 例如 v 可以是 2013 2014 我现在声明一个变量a v a v hI a 2013 should be Hi v 2014 so a v Hello a 2014应该是你好 我尝试
  • 列在选择列表中无效,因为它未包含在聚合函数或 GROUP BY 子句中

    显然 当使用 GROUP BY 子句时 非聚合函数的列应该成为 group by 子句的一部分 这里的问题是 我不能在 GROUP BY 子句中包含 HTTPADDRESS 和 DATEENTERED 列 另外 我不知道有什么函数可以为我提
  • “追随者”和效率

    我正在设计一个应用程序 该应用程序将涉及用户在 Twitter 意义上 关注 彼此的活动 但我对数据库 查询设计 效率不是很有经验 是否有管理此问题的最佳实践 需要避免的陷阱等 我认为如果没有正确完成 或者甚至可能 这可能会给数据库带来非常
  • 在聚合时将字符串转换为浮点数?

    在指定直方图聚合时 有什么方法可以将字符串转换为浮点数吗 因为我的文档中的字段是浮点数 但不会被 elasticsearch 解析 当我尝试使用字符串字段进行求和时 它会抛出下一个错误 ClassCastException org elas
  • 绘图标签中的 Upright mu:保留原始刻度字体

    我有一个我认为会更频繁发生的问题 然而 在互联网上搜索了一段时间后 我无法找到解决我的问题的方法 所以事情是这样的 对于使用 matplotlib pyplot 创建的绘图 我想将 SI 单位微米纳入我的 xlabel 中 然而 单位微米需
  • 加载异步资源后运行内联脚本

    我使用优化器测试了我的页面 它建议我使用async我使用的所有 CDN 源的属性 例如 要运行我使用的任何脚本 function 我也有内联的 JavaScript 代码script引用此类库的标签 但是 当我添加async如上所述 我在以
  • 查询检查postgresql数据库状态

    是否有任何查询来检查数据库状态 我只想知道它在远程主机上是否处于活动状态 那么 如果数据库正在运行以及其他数据库详细信息 是否有任何查询返回 200 OK https www postgresql org docs current stat
  • 切换大小写未显示正确的结果

    这是我的脚本 var marks 11 switch marks case marks lt 20 console log Yes Freaking Failed break case marks gt 20 console log Ahh
  • Keras 似乎在调用 fit_generator 后挂起

    我正在尝试适应 Keras 的实现SqueezeDet模型到一个新的数据集 对配置文件进行适当的更改后 我尝试运行训练脚本 但它似乎在调用后挂起fit generator 当我得到以下输出时 anaconda envs py35 lib p
  • EF4 Code First:如何仅更新特定字段

    如何仅更新实体上的某些字段 我有一个像这样的用户实体 public class User public string UserId get set public string PasswordHash get set public bool
  • 永久 PowerShell 变量

    有没有办法在 PowerShell 中定义变量 以便当我打开新的 PowerShell 窗口时 它会保持相同的值 我需要这个变量来保留其值 因为我需要时不时地重新启动我的服务器 并且我不想丢失这些值 储藏 variable export c
  • 为什么 xdebug 没有出现在 phpinfo() 中

    我正在尝试进行以下设置工作 Windows 7 64 位 XAMPP 1 7 4 XDebug php xdebug 2 1 0 5 3 vc9 x86 64 dll 当我从 Xampps 主页运行 phpinfo 时 XDebug 它没有
  • 使用go静态文件服务器时如何自定义处理找不到文件?

    所以我使用 go 服务器来提供单页 Web 应用程序 这适用于为根路由上的所有资产提供服务 所有 CSS 和 HTML 均已正确提供 fs http FileServer http Dir build http Handle fs 所以当网
  • 在 CouchDB 中按键返回唯一值

    有没有办法在 CouchDB 中执行以下操作 一种通过给定键返回唯一 不同值的方法 SELECT DISTINCT field FROM table WHERE key key1 key1 gt somevalue key1 gt some
  • 具有有关文件的自定义元数据的 ItemGroup

    我正在尝试创建一个 文件 任务项组 其中包含名为 TargetPath 的元数据属性 其中填充了文件的相对路径 Example 对于这些路径 D 测试 Blah exeD 测试 配置 fun configD Test en US my re
  • 未找到类异常 com.squareup.okhttp.logging.HttpLoggingInterceptor

    即使在添加依赖项并导入类之后 我仍然收到 java lang NoClassDefFoundError com squareup okhttp logging HttpLoggingInterceptor 有人可以帮忙吗 Gradle 构建
  • 在 Angular 中更新/合并 i18n 翻译文件

    我们最近决定为我们的应用程序支持多种语言 Angular 13 x 经过研究 我们决定使用angular localize看起来很适合我们的需求的包 一切似乎都在解决唯一的问题 即在后续的构建和更改中保持翻译文件最新 因此 请遵循 Angu