Пользовательская культура для клиентской формулировки?

Ищите несколько советов о наилучшем способе реализации локализации вместе с клиентским 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.