【发布时间】:2019-05-19 11:11:53
【问题描述】:
我使用 @ngx-translate 和 localize-router。 无法从本地化 URL 解析有效的 slug 如果'about'的翻译是'asd'那么
routerLink="about/{{'about' | localize}}" //href="about/asd"
但如果在路线上我有
{path: ':slug', component...}
如果我从组件中的激活路由中得到一个蛞蝓 slug asd 不存在
我管理是因为我在数据库中也有所有翻译,所以如果它没有找到包含该 slug 的记录,它会从所有翻译中迭代,当它找到翻译后的值时,它会返回键并搜索新的 slug
有没有办法从 translateService 中的已翻译字符串中获取密钥,例如 get 或 Instant 方法?
【问题讨论】:
-
在您解决问题之前,我有一个建议给您(我知道这不是您的问题),但我强烈建议您不要使用
localize-router库。它有很多错误,而且从来没有稳定的版本。如果你想在你的项目中使用惰性模块或更复杂的结构,这个库不适合你。对您来说更好的是创建自己的组件来保持语言检测。 -
谢谢,我已经得到并避免了其中一些错误,如果您知道另一个可以做到这一点并且更稳定的库,请告诉我,因为我需要这些行为。
-
如果你在库更新中解决了这个问题,你可以从堆栈中删除这篇文章
-
我避免了,我没有解决它,但是如果我没有得到答案可能没有办法做到这一点,所以我会尝试在 Github 上拉请求
-
抱歉误会-我在其他工作中添加了此评论,并且我不够仔细...我添加了一个答案-也许对您有所帮助。
标签: angular ngx-translate