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.
При работе системы в специальном режиме следует учитывать следующие особенности:
- Если каталог <путь> не существует, то он будет создан. Если каталог <путь> существует, то все его содержимое будет удалено.
- Если для языка <язык> существуют частично локализованные ресурсы, то при запуске системы в специальном режиме для этого языка (<язык>), в выходной каталог будут помещены исходные файлы ресурсов только для не локализованной части ресурсов (если таковые есть).
- Запуск следует выполнять с указанием параметра командной строки запуска клиентского приложения /ClearCache, иначе ресурсы будут браться из кэша ресурсов, а не загружаться заново. В результате будут обнаружены не все ресурсы, требующие локализации.
2. При работе с прикладным решением в специальном режиме запуска следует, по возможности, максимально полно использовать функциональные возможности конфигурации:
- выполнить все возможные действия и операции;
- открыть все существующие формы, диалоги;
- воспроизвести все возможные ошибочные ситуации.
3. Завершить работу платформы.
После выполнения этих действий в выходном каталоге c:\work\1c_resources, будут сгенерированы исходные данные, требующие перевода:
Формирование исходных файлов ресурсов будет выполнено только в том случае, если работа приложения завершена штатным образом. При аварийном завершении работы формирование исходных файлов ресурсов не гарантируется.
В процессе локализации не следует:
Изменения сделают невозможной последующую компиляцию ресурсов.
Локализацию рекомендуется выполняться следующим образом:
1. Выполнить перевод строковых ресурсов:
В строке могут встречаться последовательности символов - \u000A и \u0022. Это специальные последовательности символов. Эти последовательности не требуется переводить, а рекомендуется оставлять точно в тех же местах, где они располагаются в исходной строке (до локализации).
2. Выполнить перевод форм (файлы .f, .lf) с помощью специализированного редактора – formdes.exe.
Перевод форм следует выполнять только с помощью утилиты formdes.exe. Запрещается вносить изменения в файлы форм любым другим способом (в том числе и редактированием с помощью текстовых редакторов). Такое редактирование может привести к нарушению структуры формы, что, в свою очередь, приведет к невозможности компиляции ресурсов.
3. Выполнить перевод текстовых и гипертекстовых файлов (.txt и .html).
Текстовые файлы переводятся полностью за исключением специальных символов, если они встречаются в тексте.
В гипертекстовых файлах переводу подлежат только тексты внутри тегов и значения атрибутов внутри двойных кавычек. Теги и имена атрибутов переводить не нужно.
Полученные на данном шаге переведенные исходные данные рекомендуется сохранить в отдельном каталоге, т. к. они потребуются для выполнения повторной локализации платформы (см. здесь).
Компиляция ресурсов выполняется с помощью утилиты genrb. Для запуска компиляции служит пакетный файл res_compile.bat.
Пример:
Копировать в буфер обмена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.
При использовании ресурсов на веб-клиенте существует ограничение: Все сообщения об ошибках отображаются на английском языке.
При выполнении повторной локализации системы (например, в случае планируемого перехода на другую версию платформы), рекомендуется следовать следующему алгоритму:
Ключ локали | Язык |
---|---|
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 |