eng*_*yin 6 internationalization web angular
我正在尝试用于@angular/localizei18n。
我发现它实际上是为每种语言构建完全独立的包。
有什么方法可以让它在所有国际化包中共享一些通用部分,例如资产(所有静态文件)、样式、图标,可能还有一些非 UI 类(服务、防护、管道等)?换句话说,将我的i18n.sourceLocale语言的全部内容保留在根文件夹中,并仅将 i18n 实际上不同的内容放在 lang 子文件夹下?
以下是我的部分内容angular.json:
"i18n": {
"sourceLocale": "en-US",
"locales": {
"uk": "src/locale/messages.fr.json",
"ru": "src/locale/messages.es.json"
}
},
"configurations": {
"fr": {
"localize": ["fr"],
"baseHref": "/fr/",
"outputPath": "dist/fr/"
},
"ru": {
"localize": ["es"],
"baseHref": "/es/",
"outputPath": "dist/es/"
}
Run Code Online (Sandbox Code Playgroud)
在构建过程中,资产文件夹被复制到每个语言敏感的应用程序 - >这已经解决了您“跨所有国际化捆绑包”的要求
“并且仅将 i18n 实际不同的内容放在 lang 子文件夹下” --> 这不起作用,因为 lang 子文件夹下的内容将被复制到生产 Web 服务器。换句话说:没有更高的级别:-)
为了引用资产中的内容,不得在 img-src 标签或 css-url() 中使用绝对路径,需要删除前导斜杠
html:
错误:src="/assets/my-image.png"
正确:scr="assets/my-image.png"
样式.css:
错误:background-image: url(/assets/background.png);
正确:background-image: url(assets/background.png);
另请参阅此处: https: //github.com/angular/angular/issues/38299
| 归档时间: |
|
| 查看次数: |
655 次 |
| 最近记录: |