Перевод номенклатуры с русского на английский

Опубликовано 22 января 2024
Кейсы Наработки
...

архив с обработкой Обработка для перевода номенклатуры

Обработка для перевода наименований номенклатуры с русского на английский. Есть возможность отбора номенклатуры, для перевода справочника по частям (по группам каталога, например). Используется Гугл-переводчик (без API). Механизм перевода извлекает и переводит отдельные фразы из наименований, и потом подменяет их в русском наименовании. Перед использованием обработки необходимо реализовать процедуры записи английского наименования (т.к. его можно хранить по-разному) и чтения/записи локального словаря перевода отдельных фраз (если нужно).

В форме обработки две вкладки: “Номенклатура” и “Фразы”. Шаги перевода:

  1. На вкладке “Номенклатура” устанавливаем отбор – выбираем номенклатуру для перевода.

  2. Нажимаем кнопку "Извлечь рус. фразы". При этом заполняется таблица фраз на вкладке "Фразы". Если ранее уже делали перевод фраз и сохраняли его кнопкой "Запомнить переводы", то для ранее переводившихся фраз сразу заполняется перевод.

  3. Нажимаем кнопку "Перевести фразы". Запускается процесс перевода. Используется Гугл-переводчик, без API. Запросы на перевод отправляются с небольшой задержкой (чтобы не нарваться на блокировку). Процесс перевода можно остановить.

  4. Проверяем и корректируем перевод фраз.

  5. Если хотим использовать выполненный перевод повторно - нажимаем кнопку "Запомнить перевод". ВАЖНО! Нужно реализовать в обработке сохранение и восстановление соответствия перевода фраз.

  6. По кнопке "Перевести номенклатуру" выполняется формирование английского наименования для отобранной ранее номенклатуры. ВАЖНО! Нужно реализовать в обработке процедуру сохранения англ. наименования.

Обработку можно запустить и проверить "как есть". Но для полноценной работы нужно реализовать модуле формы обработки следующие методы (в области ПереопределяемыеМетоды):

  • ЗаписатьАнглНаименование(Номенклатура, НаименованиеАнгл) - сохраняет англ. наименование номенклатуры. Англ. наименование может быть в реквизите, доп. реквизите, доп. сведении и т.п.

  • ЗаписатьПереводыФразВЛокальноеХранилищеНаСервере() - соханяет соответствие рус. и англ. фраз из таблицы Фразы в локальное храниилще (например, в регистр сведений).

  • СоответствиеФразСПереводомИзЛокальногоХранилища() - выдает соответствие рус. и англ. фраз из локального хранилища (например, из регистра сведений).

| Челлендж: как перевести данные в 1С на другой язык

На канале делюсь своим опытом и наработками.