Локализация данных MongoDb в. net c# для запросов и отображения - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть эта коллекция, скажем, «Местоположение», как показано ниже:

public class Location : BaseDocument
{
   public string Name {get;set;}
}

, прежде чем я использовал внешние json файлы для класса для самостоятельного перевода меток и данных, и я могу добавить столько языков как я хочу, и это работает как шарм.

, но затем я столкнулся с проблемой, когда пользователь пытается найти Location в арабском c, например, учитывая, что сохраненное имя находится в Engli sh и у меня был тупик подхода!

Первый подход

я подумал о добавлении двумерного массива для каждой переводимой коллекции, которая содержит пару языков и локализована таким образом, я могу отображать и искать документы на обоих языках

, поэтому мой класс будет выглядеть так

public class Location : BaseDocument
{
   public string Name {get;set;}
   public string[][] LocalizedTags { get;set; }
}

, и поэтому мой сохраненный документ будет выглядеть так:

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

Второй подход

или я должен продолжать использовать мои внешние файлы перевода json для отображения цели и просто объединять теги для запросов? что-то вроде этого:

public class Location : BaseDocument
{
  public string Name {get; set;}
  public string QueryableText {get;set;}
}

и мой сохраненный документ ...

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

и сохранить мой локальный перевод json файлов

location.en.json
{
  "abandoned" : "abandoned",
  "warehouse" : "warehouse"
}
location.ar.json
{
  "abandoned" : "مهجور",
  "warehouse" : "مستودع"
}

так, что подход лучше с точки зрения производительности? Мне нравится второй, потому что сначала я получаю возможность отделить перевод от внешнего источника и минимизировать сложность документа. Мне по-прежнему нужен совет от вас, «какой подход лучше с точки зрения производительности»?

Спасибо

...