如何通过 aot 编译在 Angular 中提供备用 i18n 语言链接?

2024-02-10

我目前正在开发 Angular 应用程序的 i18n。我使用 AOT 编译 xlf 文件来创建预编译的应用程序,如下所述here https://angular.io/docs/ts/latest/cookbook/i18n.html。在构建中,我提供了特定于语言的基本 href(使用--base-href帕姆)。例如,这意味着我最终会使用以下 url 路径得到两个特定于语言的应用程序:

  • /应用程序路径/en/...
  • /应用程序路径/de/...

现在,我想通过替换来提供指向应用程序中相应替代语言的链接en by de在活动网址中。我使用了 Router 注入,所以我可以访问它的 url 属性,但是这个属性没有给我完整的网址包括基本href。

如何从 Angular 应用程序中找到基本 URL?

或者,有没有办法找到应用程序的构建语言?我可以以某种方式从 xliff 文件访问目标语言属性吗?


当您为各种语言编译应用程序时,您可以在 ng 构建过程中设置区域设置:

./node_modules/.bin/ngc --i18nFile=./locale/messages.es.xlf --locale=es --i18nFormat=xlf

您可以通过将其注入到您的组件中来访问此区域设置:

import { Inject, LOCALE_ID } from '@angular/core';
...
constructor(@Inject(LOCALE_ID) locale: string, ...

然后您可以使用区域设置字符串来确定当前语言。在上面的示例中,区域设置设置为“es”

希望这可以帮助

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

如何通过 aot 编译在 Angular 中提供备用 i18n 语言链接? 的相关文章

随机推荐

  • 列出从文件输入中选择的文件

    我想列出从文件输入中选择的文件 div class fileUpload myButton span Upload span div
  • VS2012 nmake 使用 v110_xp 工具集?

    有没有办法使用v110 xp使用 nmake 编译时的工具集 而不是默认的 v110 我正在尝试为 VisualStudio2012 编译 Qt5 库 并且我也需要它在 Windows XP 计算机上工作 我已经成功地使用 VS2012 和
  • 调用函数而不等待它

    你好 我想知道是否有一种方法可以调用函数 方法 最好是Python或Java 并继续执行而不等待它 Example def a b call a function b return something def b something tha
  • 在运行时替换 QWidget 对象

    在我的应用程序中 我必须用自定义的 QLineEdit 替换所有 QLineEdit 元素 为此 有不同的解决方案 修改从 pyuic4 生成的 py 文件 并将所有 QLineEdit 对象替换为我的一个 LineEdit 这个解决方案并
  • Google Spreadsheet API v4 使用“ApiKey”在电子表格中“添加行”

    我正在尝试使用 Google Spreadsheet API v4 直接使用 ApiKey 在电子表格中 添加行 而不使用 OAuth 2 0 如果我使用 OAuth 2 0 它成功 添加行 但我的要求是使用 ApiKey 参考了这个网址
  • django-auth-ldap 身份验证失败

    我正在尝试使用Django Auth Ldap https pythonhosted org django auth ldap 在我的项目 Django 1 6 Python 2 7 中 但它不起作用 我的活动目录模式是 我已经通过安装 l
  • 将 Catalyst 应用程序部署到生产服务器的最佳实践是什么?

    将 Catalyst 应用程序部署到生产服务器的好方法是什么 目前 我只是在存储库的根目录中有一个 FastCGI 调度脚本 当我想要更新服务器代码时 我将分支推送到服务器 这很简单 但并不完美 如果代码在服务器计算机上的测试失败 例如由于
  • 在 cookie 中设置 Django REST Framework JWT

    我在用djangorestframework jwt https github com GetBlimp django rest framework jwt对用户进行身份验证 我已经覆盖了内置的JSONWebTokenAPIView也在响应
  • 如何使用数据表和服务器端处理进行自定义过滤

    我在用数据表 http datatables net在我的 Web 应用程序中显示表格数据 并将其配置为使用服务器端处理 http datatables net usage server side 即通过 AJAX 查询服务器以获取过滤后的
  • 如果 .Create() 无法实例化,它应该返回空对象、null 还是抛出异常?

    我希望能够使用这种代码实例化应用程序中的任何对象 SmartForm smartForm SmartForm Create id 23 Customer customer Customer Create id 222 我现在正在讨论如果该对
  • 如何让 tcpdump 写入文件并标准输出适当的数据? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我希望有tcpdump将原始数据包数据写入文件中 并在捕获数据包时将数据包分析显示到标准输出中 通过分析 我的意思是它通常显示的行 w
  • 如何消除特定页面的顺风预战

    里面有一个选项tailwind config cjs关闭预检 但我不想在整个项目中关闭它们 我需要为某些特定页面启用它们 有没有办法做到这一点 关闭预检 tailwind config cjs corePlugins preflight f
  • Pymongo $in 查询不起作用

    在 Pymongo 中看到一些奇怪的行为 in询问 查找满足以下查询的记录 speciesCollection find SPCOMNAME in paddlefish lake sturgeon 查询没有返回任何记录 如果我将其更改为 f
  • 如何使用javascript在IE中的表单中设置文本区域值

    如果是 Firefox 我可以使用它在表单 提交问题 中设置文本区域 selectedtext 值 但在 IE 中失败 document submitquestion selectedtext value txt 这应该有效
  • 通过 Excel 的 eDrawings API

    我正在尝试通过 Excel 使用 edrawings VBA api 我已经下载了 edrawings SDK 似乎 api 仅通过用户表单运行 我通过 Excel 为 SolidWorks 制作了一些 VBA 宏 但与 SolidWork
  • AWS S3 存储桶“404 未找到”

    目前我正在托管一个捆绑包Angular 2应用程序在AWS S3 bucket 所以它只包含 html and js files 绝对路径http example com 确实有效 但如果我切换到任何链接 例如http example co
  • 无法关闭 TCP_NODELAY

    我正在使用 Boost asio 发送 TCP 消息 我设置了 NO DELAY 选项 因为这是一个 实时 控制系统 我看到使用 Wireshark 在消息中设置了 PSH 标志 我对它的表现很满意 它正在按预期工作 出于兴趣 我决定关闭
  • 模拟输入:按键按下、按住和释放

    我试图模拟用户按下某个键 按住某个键一段特定的时间间隔 然后释放它 我尝试使用来实现这个SendKeys Send 但我不知道如何控制按键的持续时间 我不想一遍又一遍地发送相同的密钥 我想要一个按键按下和一个按键弹起事件 例如 我有这样的代
  • 在同一个 ios 项目中使用 2 个版本的 AFNetworking

    我有一个项目 我使用了 AFNetworking 2 0 不是可可豆荚 刚刚添加到项目中 然后 我实现了日历 MSCollectionViewCalendarLayout 它在 pod 中打包了一些依赖项 其中之一是 RestKit gt
  • 如何通过 aot 编译在 Angular 中提供备用 i18n 语言链接?

    我目前正在开发 Angular 应用程序的 i18n 我使用 AOT 编译 xlf 文件来创建预编译的应用程序 如下所述here https angular io docs ts latest cookbook i18n html 在构建中