Многоязычное решение

Два вопроса, надеюсь, с подобными ответами.

  1. Я выпущу пакет JavaScript в своем решении, где будут отображаться сообщения об ошибках. Проблемы в том, что я буду ориентироваться на немецкий, английский и французский языки. Возможно, также TBD на четвертом языке. Какой был бы самый лучший способ разрешить это?

  2. Названия меток должны быть определенно локализованы. Есть ли встроенный подход к этому в CRM 2011? Как таблица ресурсов или что-то в этом роде?

Моим текущим решением для (1) является сохранение дополнительного веб-ресурса со строками и распространение другого файла для каждого языка. Я могу перестроить его и сразу же распространять все языки и использовать только параметр, возможно, настраиваемый из графического интерфейса, если я создам объект настроек. Немного громоздко.

Мое текущее решение для (2) включает в себя много молитв и божественного акта какого-то рода. :)

1
nl ja de

1 ответы

  1. To determine current CRM user language dynamically from Javascript you can use window.USER_LANGUAGE_CODE (this variable exists on all CRM pages) - for example it will be equal 1033 for English. Than based on that info, you can pick needed string resources from your file. Also in forms context there are two predefined functions, which return current Organization language code and current User language code: Xrm.Page.context.getOrgLcid() and Xrm.Page.context.getUserLcid() .

  2. If you are talking about custom entities and fields, you can easily add localized display names for them via your solution. You need to edit customizations.xml file from your unzipped solution. For each attribute there you will find such xml containing display names:

      
        
       
    

Вы можете просто добавить новые отображаемые имена для каждого языка, который вам нужен.

Постскриптум Если кто-то заинтересован в различных аспектах многоязычной поддержки решений Dynamics CRM 2011, я настоятельно рекомендую рассмотреть этот страница , а также здесь и здесь - очень полезное чтение.

5
добавлено
Пожалуйста, поместите некоторые фрагменты кода (не в тексте, а в виде отдельных блоков кода в редактировании вашего ответа). Вероятно, не будет никаких вкладов в последнюю минуту, так что вы будете получать награду. Если вы этого хотите, то есть. Я просто хочу увидеть более сложный ответ, если с тобой все в порядке. С головы до ног, я также могу думать, что это может быть полезно, если вы хотя бы упомянете, как изменить язык. Скажем, что решение создается в английской среде, а затем мы хотим развернуть его на немецком языке. Не просто добавьте немецкий, но сделайте его единственным языком в решении.
добавлено автор Konrad Viltersten, источник
Я не понимал, что у организации и пользователя может быть код разных языков. Я понимаю, что клиент и сервер могут это иметь, но я всегда предполагал, что язык организации настраивается из меню для каждого пользователя, следовательно, без необходимости проверять язык его системы.
добавлено автор Konrad Viltersten, источник
Полагаю, я делал это неправильно. Затем следует отображать метки и другую информацию на основе пользовательского языка, а не организации . Как можно изменить язык организации?
добавлено автор Konrad Viltersten, источник
Конечно, спасибо! Наслаждайтесь +50. Вы их заработали. :)
добавлено автор Konrad Viltersten, источник
@Konrad Viltersten Я отредактировал его. На самом деле есть замечательная статья msdn о многоязычных решениях. Я просто не хочу копировать его целиком здесь :)
добавлено автор SergeyS, источник
@Konrad Viltersten Язык организации - это язык, который был впервые установлен. Другие языки устанавливаются из пакетов MUI, а затем каждый пользователь может выбрать один из списка, это будет «пользовательский язык», но «язык организации» останется таким же, как и первый. Более того, настройка решения доступна для конкретного пользователя, только если его текущий язык пользователя равен языку Org (используется начальная установка языка)
добавлено автор SergeyS, источник
Невозможно изменить язык организации после создания организации. Но если в вашем развертывании установлен языковой пакет, вы можете создать новую организацию с базовым языком, отличным от вашего первоначального развертывания.
добавлено автор SergeyS, источник
@Konrad Viltersten Я добавил несколько полезных ссылок на мой ответ о многоязычной поддержке.
добавлено автор SergeyS, источник