Глобализация формата имени человека - PullRequest
2 голосов
/ 09 апреля 2011

У меня есть имя, фамилия и отчество в базе данных, и я хочу их отобразить.Моя первая мысль - отобразить: последний, первый средний , но я подумал, что другие языки / культуры, вероятно, используют другие форматы и разделители.

Кто-нибудь знает о формирователе, который будет обрабатывать это наоснова культуры?В идеале часть .Net.

Ответы [ 2 ]

1 голос
/ 09 апреля 2011

Я с Павлом Дидой в этом вопросе, но я бы пошел еще дальше.

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

Теперь, когда я говорю «сложная структура данных», я не пытаюсь усложнять ситуацию, но вы, как правило, понимаете, что выход на международный уровень - это то, что у каждой страны свой собственный способ действий.Такие вещи, как имена, адреса, номера телефонов, которые в значительной степени связаны с культурой, должны рассматриваться как таковые, и в вашем приложении должен быть уровень представления, который получает это.Он также должен быть легко настраиваемым, если вы хотите добиться успеха.

Специфичные для культуры вещи в .NET, в некоторой степени, хороши, но их недостаточно, чтобы полагаться на составные строки форматирования.

1 голос
/ 09 апреля 2011

Вместо того, чтобы искать средство форматирования, предполагая, что пользовательский интерфейс (или шаблон электронной почты или что-то еще) будет переведен, просто извлеките шаблон и используйте метод Format:

        string firstName = "Paweł";
        string lastName = "Dyda";
        // externalize this pattern
        string firstLastNamePattern = "{0} {1}";
        string displayable = string.Format(firstLastNamePattern, firstName, lastName);

Другими словами, пусть переводчик решиткак она / он хочет перевести это, то есть венгерский переводчик будет использовать "{1} {0}".

...