首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDb数据本地化在.net c#中用于查询和显示

MongoDb数据本地化在.net c#中用于查询和显示
EN

Stack Overflow用户
提问于 2020-04-03 18:34:01
回答 1查看 113关注 0票数 0

我有这个收藏品,让我们说“地点”如下:

代码语言:javascript
复制
public class Location : BaseDocument
{
   public string Name {get;set;}
}

在我使用每个类的外部json文件来翻译标签和数据之前,它是self的,我可以添加任意多种语言,这就像一种魅力。

但是,当用户试图用阿拉伯语搜索Location时,我遇到了一个问题,例如,给出存储的名称是英文的,而我的方法是死胡同!

优先逼近

我想为每个可翻译的集合添加一个二维数组,其中包含一对语言,它是本地化的文本,这样我就可以用两种语言显示和搜索文档

所以我的课会像这样

代码语言:javascript
复制
public class Location : BaseDocument
{
   public string Name {get;set;}
   public string[][] LocalizedTags { get;set; }
}

因此,我存储的文档如下所示:

代码语言:javascript
复制
{
  "_id" : ObjectId('12312332132'),
  "Name": "Abandoned Warehouse AX-2",
  "LocalizedTags" : [
    "EN" : "abandoned",
    "EN" : "warehouse",
    "AR" : "مهجور",
    "AR" : "مستودع",
   ]
}

第二次逼近

还是应该继续使用外部翻译json文件来显示目的,而只是为了查询目的而合并标记?就像这样:

代码语言:javascript
复制
public class Location : BaseDocument
{
  public string Name {get; set;}
  public string QueryableText {get;set;}
}

我储存的文件..。

代码语言:javascript
复制
    {
      "_id" : ObjectId('12312332132'),
      "Name": "Abandoned Warehouse AX-2",
      "QueryableText" : "abandoned;warehouse;مهجور;مستودع"
    }

保存我的本地翻译json文件

代码语言:javascript
复制
location.en.json
{
  "abandoned" : "abandoned",
  "warehouse" : "warehouse"
}
location.ar.json
{
  "abandoned" : "مهجور",
  "warehouse" : "مستودع"
}

那么,哪种方法在性能上更好呢?我喜欢第二个,因为我首先要把翻译分开,尽量减少文档的复杂性,我仍然需要你们的建议‘哪种方法性能更好?’?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-11 00:05:11

well..after深挖

它实际上取决于应用程序

如果应用程序是多组织的,那么应用程序应该在数据库中存储翻译(第一种方法)。

2-如果应用程序特定于一个组织,那么app有一种更好的方法将翻译存储在单独的本地文件中(第二种方法)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61018341

复制
相关文章

相似问题

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