Лучшая практика локализации контента - PullRequest
0 голосов
/ 18 ноября 2009

Если мы собираемся локализовать контент, чтобы мы могли получить тот же элемент контента на разных языках, что было бы лучше всего?

Одно из решений - поместить локализованный контент в отдельный класс (таблицу):

public class Category
{
 public Guid ID {get;set;}
 private CategoryContent GetOrCreateCurrentCultureContent()
 {
   // return (and create if not exists)
   // instance of CategoryContent regarding to current culture
 }
 // encapsulate content properties
 public string Title {
 get {
  return GetOrCreateCurrentCultureContent().Title;
 } 
 set {
  GetOrCreateCurrentCultureContent().Title = value;
 }
}

public class CategoryContent
{
 public string Title {get;set;}
 ...
}

Есть идея получше?

1 Ответ

0 голосов
/ 18 ноября 2009

Кажется, вы используете C #, поэтому я бы посоветовал просмотреть статьи на

[http://msdn.microsoft.com/en-us/goglobal/bb688096.aspx][1]

В то же время локализация динамического контента (контента, который приходит из конфигурации) - это отдельная история.

У нас тонкий слой пользовательского интерфейса, и мы создаем сервисы, которые предоставляют API для пользовательского интерфейса. Эти сервисы могут возвращать объекты с динамическим содержимым. Мы пишем обертку над этими службами, которая перехватывает вызов и возвращает переведенный контент.

Фактические переводы хранятся в файлах XML, и существует класс, который возвращает переведенную строку для каждой строки в конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...