Что такое system.globalization И в чем разница между ней и локализацией?
-
07-07-2019 - |
Вопрос
и, чтобы немного оживить, каков наилучший подход к глобализации в Asp.net Mvc App
Решение
Глобализация предназначена для создания карты из строк или идентификаторов для переводов на другие языки, а Локализация - для использования этой карты для поиска правильного перевода. Глобализация происходит во время разработки, локализация происходит во время выполнения.
Я не очень опытен в использовании ASP.NET, но ...
Что касается how , наиболее распространенный подход, который я вижу, - иметь словарь для каждого языка для сборки (или для компонента пользовательского интерфейса), где значения являются локализованными строками. Ключи обычно являются членами только для чтения в статическом классе или перечислении. Часто существует вспомогательный класс, члены которого являются картой от идентификаторов до локализованных сообщений.
Словари обычно хранятся в отдельных файлах и в формате, предназначенном для переводчиков-людей.
Подробнее здесь: http://msdn.microsoft.com/en-us /library/aa478974.aspx р>
Другие советы
Из часто задаваемых вопросов по W3C I18n :
Под локализацией понимается адаптация содержимого продукта, приложения или документа для соответствия языковым, культурным и другим требованиям конкретного целевого рынка («локаль»).
Интернационализация (или глобализация) - это проектирование и разработка продукта, приложения или содержимого документа, которое позволяет легко локализовать целевую аудиторию, различную по культуре, региону или языку.
Я никогда не глобализировал приложение ASP.NET MVC, поэтому извините, если не могу вам помочь.
Пространство имен System.Globalization содержит классы, которые определяют культурная информация, в том числе язык, страна / регион, используемые календари, шаблоны форматов для дат, валюты и чисел, и порядок сортировки строк.
Какова разница между этим и локализацией? Я думаю, это можно объяснить как разницу между автомобилем и городом. Один из них - пункт назначения, а другой - как вы туда доберетесь.
Я не использовал ASP.NET MVC, но я использовал Monorail, который похож. Если бы я хотел локализовать приложение MR, я бы, вероятно, использовал отдельное дерево файлов просмотра. Так что пока только для английского я бы получил:
\Views\Home\*.asp
\Views\Admin\*.asp
\Views\Products\*.asp
для интернационализированного приложения у меня будет что-то вроде:
\en\Views\Home\*.asp
\en\Views\Admin\*.asp
\en\Views\Products\*.asp
\de\Views\Home\*.asp
\de\Views\Admin\*.asp
\de\Views\Products\*.asp
\es\Views\Home\*.asp
\es\Views\Admin\*.asp
\es\Views\Products\*.asp