问题标签 [angular-localize]

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.

0 投票
1 回答
1085 浏览

angular - 如何处理覆盖现有翻译的 Angular 11 extract-i18n?

所以我有一个 angular 11 应用程序,我刚刚使用 angulars 默认 i18n 中间件实现了本地化。

要创建一个我刚刚运行的初始文件:

一切都很好,我得到了一个带有默认语言翻译的 messages.da.xlf 文件。

现在我想将应用程序翻译成英文。

我复制了 messages.da.xlf 文件并将其命名为 messages.en.xlf 并翻译了所有内容。

现在一切都很好。

但是现在我有一个问题,下次我添加要翻译的附加文本时,英文翻译不会更新。

所以我的问题是,当我因为应用程序中的新功能而需要扩展翻译时,我怎么知道我必须将哪些附加“字段”添加到所有翻译文件中,以及是否有办法自动完成?

0 投票
1 回答
67 浏览

angular - Angular:11.2.12 页面刷新时的多语言本地化转到主要语言

我有 2 个版本。

1- 默认mysite.com/

2- nl mysite.com/nl/

当我在 nl 站点 mysite.com/nl/ 中时,如果页面被刷新,它会转到 mysite.com/

我确实有一个条件,即路径:'' 应该像这样重定向到仪表板:mysite.com/dashboard 或 mysite.com/nl/dashboard

导航 nl 站点时,只要我不刷新页面,一切都会好起来的。

这是我的应用程序路由文件:

有人对我如何实现这一点有任何建议,所以当我刷新 nl 版本时,它会保留在同一个 url 中吗?

更新:所以我发现如果我在 localhost 中提供 nl 版本,它在刷新页面时可以正常工作,它将 url 保留在当前语言环境 EG:mysite.com/nl/dashboard 并且如果 url 是 mysite 也正确重定向到仪表板.com/nl/ -> mysite.com/nl/dashboard

所以我只能想象这是一个远程服务器配置。我没有和 nginx 服务器,所以有人对此有任何建议吗?

谢谢

0 投票
0 回答
370 浏览

angular - 与 Docker 和 Angular 本地化一起使用时,npm 构建失败

我正在做一个相对较大的项目,我的目标是本地化。我已经完成了所有必要的事情,并且我没有在扩展现有的 Docker 文件以启用它。但是,它失败了。这是 Docker 文件(至少在它工作的部分):

它总是在npm run build.

如果我在本地机器上构建项目,它工作得非常好。这是错误日志(不幸的是,描述性不是很好)

以下是我希望相关的文件摘录:

角.json:

0 投票
0 回答
40 浏览

angular - 在赛普拉斯 E2E 测试中引用本地化消息常量会给出一个空字符串

我在应用程序中使用@angular/localize(应用程序:https ://stackblitz.com/edit/angular-bfpc27。注意:我尚未在此应用程序中包含 E2e 测试)。在 E2E 测试中,如果我使用赛普拉斯和测试消息运行 E2E 测试,它会显示空字符串作为消息。

任何想法为什么?

0 投票
0 回答
575 浏览

angular - 使用 @angular/localize 本地化的 Angular 12 使用 nginx 在 docker 中运行

我已经建立了一个 angular 12 的项目并在其中使用本地化。我可以成功运行我的网站的英文版,但是当我通过将 url 更改为 localhost/de 的按钮切换到其他语言环境时,服务器会针对不同的文件响应许多 404。当我切换回 en 时,它工作得很好。

包.json

Dockerfile

Docker-compose.yml

配置/nginx.conf

app.module.ts

app.component.html

然后命令运行应用程序

0 投票
1 回答
236 浏览

angular - Angular 国际化服务于开发模式

我想体验 angular i18n ( https://angular.io/guide/i18n#build-from-the-command-line )。我可以使用一种语言环境为我的应用程序提供服务,这没关系。但我无法调试应用程序,因为这是捆绑的。

我正在使用 Angular 12

问题如何在普通开发人员模式下使用国际化(i18n)(没有捆绑应用程序)?或者也许有一个选项可以在没有 i18n 的情况下进行配置,并且只使用 i18n 在生产模式下构建应用程序?

角.json

PS我已经检查了文档和现场示例(https://angular.io/generated/live-examples/i18n/stackblitz.html),但我找不到可以帮助我解决这个问题的东西。

0 投票
0 回答
67 浏览

angular - 创建具有动态内容的两种语言的 Angular 应用程序

我需要用英语和西班牙语创建一个 Angular 应用程序,所以我正在考虑将 Angular 本地化与 i18n 一起使用。我正在阅读文档,但我的应用程序有一个面板管理员来创建房间更新和删除它们。我必须为每个组件创建翻译,但是当管理员创建房间时如何创建两种语言的翻译?

0 投票
0 回答
98 浏览

angular - 如何以角度为多个语言环境创建公共资产文件夹

我按照官方指南将我的 Angular 应用程序本地化为 2 种语言。在生产构建期间,我为每个文件夹获取一个文件夹,locale每个文件夹都有自己的assets文件夹。这有几个问题

  1. 除非我在部署应用程序后取出 assets 文件夹,否则我的图像不会同时在dev和环境中提供服务。prod
  2. 手动过程需要额外的步骤来自动部署
  3. 拥有两个资产文件夹是浪费磁盘空间

有没有一种方法可以配置angular.json,以便assets在语言环境文件夹之外有一个公共文件夹,如下图所示?

在此处输入图像描述

0 投票
0 回答
117 浏览

angular - 为 Angular i18n 编写单元测试

我正在使用 Jasmine/Karma 使用 Angular i18n 翻译(带有本地化)对代码进行单元测试。当前遇到以下错误:

我正在设置测试如下:

实际测试:

对应组件代码:

翻译文件:

单元测试时看起来根本没有翻译。我错过了什么?

0 投票
1 回答
169 浏览

angular - 如何在 Angular 的 $localize 函数中转义大括号?

如果我尝试翻译以下文本:

像这样:

文本将在翻译后的版本中消失。

有没有办法摆脱花括号?