Редактирование текстов интерфейса … (перевод интерфейса конфигурации на другой язык английский – немецкий – китайский – японский и многие другие).
У вас есть стандартная конфигурация, в которой надо перевести интерфейс на другой язык, легко! А вот со справкой придется немного помучаться. Просьба не путать с данными, которые хранятся в реквизитах объектов.
О том, что надо сделать (в примере будет Английский язык):
1) Добавить язык в конфигурацию «Общие»-«Языки»-«Английский» с кодом «en».
Рекомендации по выбору кода языка, лучше брать из стандартов, например ISO 639-1 (ссылка от Google - http://www.loc.gov/standards/iso639-2/php/code_list.php). 1С не понимает если в коде языка используется «-» или «_», поэтому будьте внимательны при выборе кода языка, иначе придется переделывать.
2) Получить список синонимов для объектов и реквизитов (так же для всех строк которые выводятся через НСтр, те что по другому надо переводить в НСтр), для этого надо Зайти в меню «Правка»-«Редактирование текстов интерфейса…»
Выбрать интересующие вас объекты конфигурации, например Справочники.Контрагенты (можно выбрать и всю конфигурацию, но не желательно, на больших объемах конфигуратор может самопроизвольно закрыться или вылететь с ошибкой).
На закладке модули поставить галочку «Искать в функциях «НСтр» («NStr») в модулях».
3) Выгружаем таблицу соответствий в файл.
Снимаем обе галочки, ВАЖНО!!! И выбираем имя файла для выгрузки.
После выгрузки файл автоматически откроется в конфигураторе, его надо сохранить в формате Excel, «Файл»-«Сохранить копию…» меняем тип файла «Лист Excel 97».
4) В полученном файле есть все фразы на русском, надо получить на английском. Как переводить дело личное каждого, я предлагаю это сделать через «Переводчик Google» из «Диск Google».
Для этого надо загрузить файл «xls» на диск Google.
Зайти через web интерфейс на этот диск.
Найти свой файл и открыть его.
Выполнить экспорт в таблицу Google.
В колонке с английским языком в первую свободную строчку вставить функцию
=GoogleTranslate(A2, "ru","en")
У меня указана A2 так как я стоял на 2-ой строке.
После надо скопировать эту функцию на все строки - берез за нижний-правый угол ячейки и тянем вниз.
Вуаля, весь файл переведен. Обратите внимание, иногда перевод появляется не сразу, может быть надпись «Loading…» или что-то похожее, не переживайте перевод появиться, надо просто подождать.
Теперь файл можно скачивать к себе на компьютер.
5) Подготовка файла к загрузке в 1С.
В первой строке должны быть только коды языков, больше ничего. У меня в первой колонки получилось «ru» во второй «en».
Теперь надо проверить файл перевода на ошибки, ведь такой перевод не идеален. Проверка делиться на 2 вида:
А) синтаксические, тут все просто, исправляем, что нам не понравилось в переводе, а можем оставить как есть;
Б) которые могут влиять на работоспособность, вы спросите как так? А очень просто в НСтр могут быть использованы параметры, которые указываются в тексте как «%1», «%2» и т.д., что после перевода может превратиться в «1 %» или «% 1». Так дело не пойдет, надо все это исправлять в Excel, да поможет вам поиск.
6) Открываем файл в Excel, копируем в буфер обмена.
В 1С открываем созданный ранее файл «ru-eng.xml» и вставляем в него буфер обмена.
Сохраняем, файл готов.
7) Наконец-то файл готов. Теперь надо загружать.
Для этого надо повторить пункт 2).
Выбираем «Заполнить тексты…»
Ищем наш файл xml выбираем по какому язуку заполнять, в нашел случае «Русский (ru)», в язык «Английский (en)».
Жмем «ОК».
8) Наслаждаемся, перевод готов.
Проблемы, с которыми сталкивался при переводе:
- иногда съедается текст между двумя НСтр, лечиться копирование кода из копии конфигурации до перевода.
- конечно, же обновление. Лекарство ниже.
Может возникнуть рациональный вопрос, как это будет сосуществовать с обновлениями?
Просто, ну или не сложно. При обновлении устанавливаем фильтр «только дважды измененные». Потом повторяем пункт 7) только ставим галочку «заполнять только незаполненные». Как вы сами понимаете файл с соответствием перевода надо сохранить. Потом повторяем пункт 1) и если есть, что то без перевода повторяем весь цикл, только для новых слов и еще раз напоминаю при загрузки надо ставить галочку «заполнять только незаполненные».
На сколько языков можно одновременно перевести конфигурацию? Какие языки поддерживает 1С?
Одновременно можно перевести на много языков, был опыт перевода самописной небольшой конфы на 26 языков, я уверен, многим этого хватит. 1С поддерживаем кодировку UTF-8 – это почти все языки. Другое дело в том, что в 1С часть интерфейса типа «Файл» «Справка» и т.д. зависит не от того языка что выбрали в конфигурации, а от того какой язык установили при установки платформы. Если установлено несколько, то можно указать ключ в ярлыке запуска. Но печальное не это, а то, что список языков включенных пока только
И с такие наборов языков 1С хочет выйти на мировой рынок Румынии, нет наверное Турции 8-)
Поэтому приходилось для каждого языка перевода, приходилось подбирать наиболее понятный язык платформы из этого списка.
Но что же делать с реквизитами?
Идей было много, но чаще останавливался на одном. В стандартные реквизиты записываем оба значения через какой-нибудь спец. символ, например «/». И все видят значение реквизита на обоих языках. Если сильно хочется, то можно разбирать строку до спец. символа и после, и в зависимости от языка интерфейса отображать нужное. Так же можно добавить свою форму для заполнения реквизита на разных языках и самим формировать строку со спец. символом. Так же можно предусмотреть возможность заполнять реквизит только на одном языке, а на втором формировать автоматически использую транслитерацию или перевод, через какой-нибудь сервис, может быть и веб, может быть и google :-)
ДОБАВЛЕНО:
В статью не попала информация перевод справки на другой язык.
Делать надо ручками каждую справку индивидуально.
Пример, для справочника "Контрагенты" Алгоритм следующий:
1) На объекте нажимаем правой кнопкой "Справочная информация".
Откроется текст справки, переводим как нам больше нравиться, но куда её вставлять.
2) Тут есть небольшая тонкость текущий "язык редактирования конфигурации" (при переводе большого количества объектов легко запутаться какой язык активный). Этот замечательный пункт меню располагается в меню "Конфигурация". В окне выбираем язык. Вставляем переведенную справку. Вот и всё.