Пользовательская культура для клиентской формулировки?
Ищите несколько советов о наилучшем способе реализации локализации вместе с клиентским jargon на сайте asp.net, который будет использоваться несколькими клиентами.
Например, метки в форме должны различаться в зависимости от того, какой клиент зарегистрирован на сайте, а также того, что там предпочитает язык.
Таким образом, для каждого клиента будет установлен набор слов/жаргонов по умолчанию... и затем каждый клиентский язык /jargon будет переведен на требуемые языки.
Я думал о создании пользовательской культуры для каждого клиента, а затем использовал "встроенные" функции локализации в файлах asp.net и ресурсах.
Таким образом, у меня может быть культура по умолчанию... и затем культура, специфичная для клиента..., а затем культура, специфичная для клиента, переведена на другие языки.
ru-US
де-DE
EN-US-client1
EN-US-client2
де-DE-client1
де-DE-client2
Звучит ли это с ума? походит на довольно здравый подход ко мне... но также может быть немного взломать... так что я приветствую любые лучшие идеи?
Спасибо всем за помощь!
Ответы
Ответ 1
На самом деле это не так, это общий подход - я видел это довольно много раз для магазинов электронной коммерции, где центральный магазин представляет собой общую белую метку.
Хорошо, потому что ASP.NET поддерживает локализацию из жестяной ленты, а не вам приходится сворачивать ваши собственные настройки текста в каждом проклятом запросе, обрезая представление из этого, управляя кэшированием и т.д.
И не забывайте, что конкретная информация о культуре не обязательно должна находиться в файле ресурсов, она может также поступать из базы данных.
Ответ 2
Да, он немного сумасшедший. Но только немного. ASP.NET будет автоматически поддерживать локализацию вплоть до языка и локали. Я бы рекомендовал вам сделать это для областей, которые не являются специфическими для любого клиента.
Для ярлыков, специфичных для клиента, я рекомендую вам объединить использование пользовательских элементов управления вместе с кодом для выбора правильного текста из файла ресурсов (если вы используете VS, а затем используйте встроенную поддержку для управление ресурсами) и, возможно, с помощью кэша ASP.NET(возможно, директивы @Cache), если у вас ограниченные комбинации атрибутов, которые можно использовать для выбора текста, специфичного для клиента.
Ваши подходы могут выглядеть немного меньше ручной работы, но, скорее всего, приведут к проблемам, которые потребуются столько или больше времени для отладки, а также сталкиваются с проблемами с совместимостью в будущих выпусках .NET.