08.11.2016

Механизм быстрого частичного перевода ресурсов платформы

Общая информация о механизме

Данный механизм позволяет выполнить локализацию интерфейса платформы «1С:Предприятие», в той части, которая необходима для функционирования конкретного прикладного решения.

ВАЖНО!
Инструменты, необходимые для выполнения локализации, необходимо дополнительно запрашивать у фирмы «1С», по электронной почте int@1c.com.

Такая локализация обладает следующими ограничениями:

Общая схема частичного перевода выглядит следующим образом:

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

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

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

Получение исходных файлов ресурсов

Получение исходных файлов ресурсов поддерживается только при работе «1С:Предприятие» в файловом варианте при использовании тонкого или толстого клиентских приложений. Все тексты в исходных файлах ресурсов всегда приводятся на английском языке.

Для получения исходных файлов ресурсов необходимо выполнить следующие действия:

1. Запустить платформу в специальном режиме. Для этого в командной строке следует использовать параметр -DumpNotLocalized ключа командной строки запуска клиентского приложения /L. Параметром собственно ключа /L должен служить код языка, на который будет выполняться частичный перевод.

Пример командной строки запуска:

Копировать в буфер обмена
1cv8 /L<язык> -DumpNotLocalized <путь> /ClearCache

В данных примерах:

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

Пример запуска:

Копировать в буфер обмена
1cv8с /Lja -DumpNotLocalized c:\work\1c_resources /ClearCache

Платформа будет запущена в режиме перевода для японского языка (ja), при этом исходные данные для перевода будут помещены в каталог c:\work\1c_resources.

При работе системы в специальном режиме следует учитывать следующие особенности:

2. При работе с прикладным решением в специальном режиме запуска следует, по возможности, максимально полно использовать функциональные возможности конфигурации:

3. Завершить работу платформы.

После выполнения этих действий в выходном каталоге c:\work\1c_resources, будут сгенерированы исходные данные, требующие перевода:

Формирование исходных файлов ресурсов будет выполнено только в том случае, если работа приложения завершена штатным образом. При аварийном завершении работы формирование исходных файлов ресурсов не гарантируется.

Локализация ресурсов

В процессе локализации не следует:

Изменения сделают невозможной последующую компиляцию ресурсов.

Локализацию рекомендуется выполняться следующим образом:

1. Выполнить перевод строковых ресурсов:

В строке могут встречаться последовательности символов - \u000A и \u0022. Это специальные последовательности символов. Эти последовательности не требуется переводить, а рекомендуется оставлять точно в тех же местах, где они располагаются в исходной строке (до локализации).

2. Выполнить перевод форм (файлы .f, .lf) с помощью специализированного редактора – formdes.exe.

Перевод форм следует выполнять только с помощью утилиты  formdes.exe. Запрещается вносить изменения в файлы форм любым другим способом (в том числе и редактированием с помощью текстовых редакторов). Такое редактирование может привести к нарушению структуры формы, что, в свою очередь, приведет к невозможности компиляции ресурсов.

3. Выполнить перевод текстовых и гипертекстовых файлов (.txt и .html).

Текстовые файлы переводятся полностью за исключением специальных символов, если они встречаются в тексте.

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

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

Компиляция ресурсов

Компиляция ресурсов выполняется с помощью утилиты genrb. Для запуска компиляции служит пакетный файл res_compile.bat.

  1. Скопировать пакетный файл res_compile.bat и утилиту genrb в каталог, содержащий переведенные исходные данные.
  2. Запустить пакетный файл res_compile.bat в качестве параметра указав каталог, куда будут помещены скомпилированные ресурсы. В качестве каталога размещения скомпилированных ресурсов можно указать каталог исполняемых файлов требуемой версии платформы. В этом случае у пользователя, от имени которого выполняется компиляция ресурсов, должны быть права на запись в этот каталог и данная версия платформы не должна использоваться на компьютере, где выполняется компиляция.
  3. Скопировать скомпилированные ресурсные файлы (.res) в каталог bin требуемой версии платформы "1С:Предприятие" (которая использовалась для формирования исходных файлов ресурсов). Если в качестве целевого каталога указывается каталог исполняемых файлов требуемой версии платформы, данный шаг можно опустить.

Пример:

Копировать в буфер обмена
res_compile.bat "C:\Program Files (x86)\1cv8\8.3.7.1000\bin"

Проверка созданной локализации

После выполнения всех шагов алгоритма следует проверить качество выполненной локализации. Для этого следует выполнить запуск нужного прикладного решения с ключом командной строки /L, указав в качестве параметра код соответствующего языка, и ключом очистки кэша ресурсов /ClearCache.

Пример для японского языка:

Копировать в буфер обмена
1Cv8c.exe /ClearCache /Lja

При проверке качества локализации рекомендуется всегда использовать параметр /ClearCache во избежание использования кеша ресурсов.

Использование переведенных ресурсов веб-клиентом

Чтобы использовать локализованные ресурсы в веб-клиенте, следует вручную скопировать файл vrscore_root.res с именем vrscore_<локаль>.res, где <локаль> - имя локали, для которой выполнялась локализация. Например: для японского языка файл должен иметь имя vrscore_ja.res.

При использовании ресурсов на веб-клиенте существует ограничение: Все сообщения об ошибках отображаются на английском языке.

Выполнение повторной локализации

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

  1. Создать каталог (далее - базовый каталог), в который скопировать переведенные исходные данные для предыдущей версии платформы.
  2. Запустить платформу в режиме перевода, указав выходной каталог, отличный от базового каталога.
  3. Выполнить перевод полученных исходных данных. Их может не быть, если перевод не требуется.
  4. Выполнить объединение исходных данных из базового каталога и выходного каталога:
  5. Скомпилировать ресурсы, используя в качестве исходных файлы из базового каталога.
  6. Скопировать скомпилированные ресурсные файлы в каталог требуемой версии платформы.
  7. Проверить качество локализации.

Приложение. Таблица локалей

Ключ локали Язык

af

Afrikaans

am

Amharic

ar

Arabic

as

Assamese

az

Azerbaijani

be

Belarusian

bg

Bulgarian

bn

Bengali

ca

Catalan

cs

Czech

cy

Welsh

da

Danish

de

German

el

Greek

en

English

es

Spanish

et

Estonian

eu

Basque

fa

Persian

fi

Finnish

fo

Faroese

fr

French

ga

Irish

gl

Gallegan

gu

Gujarati

he

Hebrew

hi

Hindi

hr

Croatian

hu

Hungarian

hy

Armenian

id

Indonesian

is

Icelandic

it

Italian

ja

Japanese

ka

Georgian

kk

Kazakh

kl

Kalaallisut

kn

Kannada

ko

Korean

kok

Konkani

lt

Lithuanian

lv

Latvian

mk

Macedonian

ml

Malayalam

mn

MongolianCyrillic

mr

Marathi

ms

Malay

mt

Maltese

nb

NorwegianBokmеl

nl

Dutch

nn

NorwegianNynorsk

om

Oromo

or

Oriya

pa

Punjabi

pl

Polish

ps

Pashto

pt

Portuguese

ro

Romanian

ru

Russian

sk

Slovak

sl

Slovenian

so

Somali

sq

Albanian

sr

Serbian

sv

Swedish

sw

Swahili

ta

Tamil

te

Telugu

th

Thai

ti

Tigrinya

tr

Turkish

uk

Ukrainian

ur

Urdu

uz

Uzbek

vi

Vietnamese

zh

Chinese