Регистрация  |  Вход

Добавляем локализацию (многоязычность)

Для того, что бы нам добавить локализацию следует перейти в этот раздел:

Setup / Administer / Translation Workbench / Translation Settings





Если вы впервые входите в этот раздел, то вы получите предупреждающее окно следующего вида:

lang1

В переводе на русский там написано:

  • Значения раскрывающихся списков должны редактироваться по отдельности. Другими словами, раскрывающиеся списки не поддерживают пакетное редактирование значений, но поддерживают пакетное добавление новых значений.

  • Значения раскрывающегося списка, отсортированные в алфавитном порядке, отображаются по алфавиту стандартного языка организации.

  • Отчеты содержат раскрывающийся список «Язык фильтра» на панели «Фильтры» конструктора отчетов. Выбор языка инициирует фильтрацию переведенных строк для любых критериев фильтрации, использующих оператор «начинается с», «содержит» или «не содержит».

  • Файлы импорта содержат раскрывающийся список «Язык», поэтому все записи и значения, доступные в файле импорта, должны быть указаны на данном языке.

  • Функции Web-to-Lead и Web-to-Case должны использовать раскрывающийся список «Язык» до создания документа HTML.


 

Нажимаем на "Enable" и видим страницу:

lang2

Т.е. на данный момент мы активировали систему переводов и нам предлагается добавить языки перевода. Нажав на кнопку "Add" - добавим в наше приложение русский язык (можно и другой, который имеется в вашем выпадающем списке среди языков к выбору) и устанавливаем флажок "Active" (установлен по умолчанию).  Добавляем в лист людей, для которых мы хотим что бы был виден перевод и жмем на "Save". После сохранения мы можем лицезреть, что наш язык успешно добавился в систему.

 

Важно:

настройки языка для вас, как для админа (и для других пользователей) берутся из настроек языка на странице соответствующего профиля.

 

Теперь нам нужно создать лэйблы и назначить для них русскоязычный (для данного примера) аналог. Для этого перейдем в раздел:
Setup / Build / Custom Labels

И нажмем на кнопку "New Custom Label", увидим следующее:

labs

Заметим, что язык по умолчанию выбран из настроек вашего профиля (об этом говорилось выше). Заполним все поля жмем на "Save" и попадаем на новую страницу:

labs2

Как видно из скриншота нам необходим нижний блок, что бы создать перевод, жмем на нем копку "New" и видим следующее:

labs3

Здесь мы выбираем язык и сам текст перевода. Сохраняем и наслаждаемся =)

 

Заметка:

Мне сразу при выполнении задания стало интересно, что если я задам 2 варианта перевода лэйбла для русского языка, какой конечный вариант выведется в нужном месте, но сработала так называемая защита "от дурака", а именно: я не смог выбрать данный язык при создании нового варианта перевода, т.е. для каждого языка создается лишь один соответствующий перевод.

 

Далее дело за малым, выводим на нужной нам странице наш лэйбл, и если в настройках посетителя указал один из языков, для которых сделан перевод - то он увидит вариант на родном языке, а если нет, то увидит системный (изначальный) вариант без перевода. Что бы вывести необходимый лэйбл, используем его API name.

 

Пример вывода лэйбла:
{!$Label.Not_specified}


 

Как перевести поля для объектов и прочее:

Для того, что бы осуществить перевод полей какого либо объекта вам нужно перейти в раздел:
Setup / Administer / Translation Workbench  / Translate

здесь видим следующую страницу:

labs3

Данный раздел позволяет переводить нам различные данные, в том числе и поля объетов, для того, что бы добавить перевод к полям вашего объекта - выставите требуемые на странице поля. как было показано на странице выше. только выбирете свой объект, который вы хотите перевести. Далее вы увидите список полей для перевода. нажав двойным кликом на строку с версией для перевода - мы вводим наше значение:

labs3

 

Резюмируем:

В рамках SalesForce есть встроенная система позволяющая создатьвать мультиязычные интерфейсы, делать понятными нашу систему для иностранцев. Это весьма полезно в эру бурного развития интренета, когда рамки государств не мешают нам обмениваться данными с другими любьми.