Asp.Net 2.0的核心 - 翻译服务器端的邮件

问题描述 投票:0回答:1

介绍

我使用asp.net 2.0核心与角6为我的网站。我想支持多国语言 - 英语作为默认和西班牙语作为另一种语言现在。我使用@ NGX-翻译/核心为它工作真棒,易于客户端翻译服务。

我的问题

我有很多不同的消息和错误来自服务器,他们总是出现在英语,因为我从来没有翻译他们。我希望能够从服务器的消息转换为好。

我需要帮助来决定什么是这样翻译的消息也许能帮我找到每个方法的优点和缺点的最佳途径。

一方面,我可以使用ASPNET /本地化,并创建.resx文件翻译服务器的消息。在这种方法中,我将结束在服务器和一堆翻译文件某些客户端,这将难以维持。

在另一方面,我可以发送错误代码(不是状态码),像这样 -

  1. 15:用户被拒绝。
  2. 30:用户不存在。
  3. 其他一些错误代码。

这将让我把这些代码和它的客户端,这将最终帮助我把所有的翻译在一个地方,并使用@翻译他们的翻译NGX-翻译/核心。

我发现至少有一个“问题”与上面的方法,如果将来有人会需要消耗我的API,他/她将无法理解这个错误代码,除非我将公开与实例的API参考可以是耗时的。

你有更好的建议?或者,也许对于这种情况下的最佳实践?

c# angular6 asp.net-core-2.0 ngx-translate asp.net-core-localization
1个回答
1
投票

这是我做了什么。我也有角的客户端和ASP.NET核心骨干。

当客户端调用后端API,它包括Accept-Language头包含客户端的语言。如果后端需要发送任何语言环境取决于它使用的本地化字符串。

当HHTP呼叫登陆服务器先读语言ID,然后您设置线程区域以该语言。您保存在的.resx你字符串和本地化的.resx到您的客户端使用的语言。如果客户端使用,你不支持资源管理器语言回落到你原来的语言(如英语)。

请记住,包括错误信息中的错误代码。这很可能需要一个人不理解的语言来处理本地化的错误消息。通过具有错误去让她自己明白的错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.