首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c# Web本地化

c# Web本地化
EN

Stack Overflow用户
提问于 2016-02-04 22:48:21
回答 1查看 6K关注 0票数 2

标题有点误导。我必须构建一个新的Web应用程序来服务我们正在构建的一群不同的客户端。我不需要本地化API中的参数或路由。

基本上,客户端将以指定的语言请求资源,而web将返回结果。

我唯一的要求是本地化资源将存储在SQL中,而不是资源文件中。

由于Web只返回本地化结果,而不需要本地化,我应该尝试遵循.NET本地化实践,还是应该创建一个简单的、缓存的表查找函数来模拟本地化例程?

EN

回答 1

Stack Overflow用户

发布于 2016-02-05 00:05:52

从技术上讲,如何在服务器端保存本地化信息对于客户机应用程序(调用API)并不重要。您可以将其保存在数据库中,也可以将其保存在资源文件中;这都取决于系统的体系结构。

但是,您可以通过两种方式解决您的需求:

  1. 将locale放在api url中:客户机应用程序可以提供适当的区域设置,如下所示:

获取https://apiserver.com/api/v1.0.0/en-GB/cities

获取https://apiserver.com/api/v1.0.0/fr-CA/cities

获取https://apiserver.com/api/v1.0.0/en-US/cities

在服务器端,您可以如下所示配置您的方法:

代码语言:javascript
复制
[Route("v1.0.0/{locale}/cities")]
[HttpGet]
public List<City> GetCities(string locale)
{
    // Get cities by locale
    return cities;
}
  1. 在HTTP报头中传递区域设置信息。在服务器端,读取在标头中传递的区域设置,并相应地发送跨响应: 公共WebRequest GetWebRequest(Uri uri) { WebRequest请求= base.GetWebRequest(uri);request.Headers.Add("locale",“en”);返回请求;}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35213184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档