Автоперевод части элементов

 
Можно ли принудительно отправить на перевод только часть элементов? На тарифе не хватило символов, а отправлять заново целиком - это около 1,5млн.
Возможно есть решение без кода, просто в админке?
Если нет  - видимо это можно сделать через FCIBlockElement::Translate? К сожалению, описания параметров в документации нет.
 

Добрый день!

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

2. Мы также обновили документацию и добавили описание соответствующих возможностей и функций, ознакомиться с ними можно по следующим ссылкам:

Если возникнут дополнительные вопросы, не стесняйтесь обращаться!

 
Спасибо!
 
Вам большое спасибо!
 
в лоб не получилось, можно попросить еще пример использования в документацию добавить?
 
Покажите пожалуйста код как делаете.
 
$element_id = 240;
$translateTest  = new FCIBlockElement();
$translateTest = $translateTest->Translate($element_id, Array("NAME", "DETAIL_TEXT"), "en", "s1");
 
Попробуйте без указания siteId:
Код
$translateTest = $translateTest->Translate($element_id, Array("NAME", "DETAIL_TEXT"), "en");
 
Код
array_values(): Argument #1 ($array) must be of type array, null given (0)
/bitrix/modules/bxproger.translator/include.php:8
#0: array_values
/bitrix/modules/bxproger.translator/include.php:8
#1: CFanTranslator::IblockElement_TranslateFields
/bitrix/modules/bxproger.translator/classes/FCIBlockElement.php:2776
#2: FCIBlockElement->Translate
test.php:26
Изменено: Александр - 30.09.2024 14:49:30
 

Добрый день!

Извините за недопонимание. Как указано в документации, вторым параметром необходимо передавать массив полей с данными для перевода, например:

array("NAME" => "Название").

Пример получения массива полей может выглядеть так:

Код
$res = CIBlockElement::GetList(["ID" => "asc"], $arFilter);
if ($ob = $res->GetNextElement()) {
    $arFields = $ob->GetFields();
}
Мы также обновили документацию с добавлением примера использования данного метода. Ознакомиться с ним можно по следующей ссылке:

https://bxproger.ru/docs/section5713/element434714/

Спасибо!

 
после перевода $ELEMENT_ID = 240;

$to_translate = [
      "NAME" => $ar_res["NAME"],
       "DETAIL_TEXT" => $ar_res["DETAIL_TEXT"],
];

получил

Warning: Column `0` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `1` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `2` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `3` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `4` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `5` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `6` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `0` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `1` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `2` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `3` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `4` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `5` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `6` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `0` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `1` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `2` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `3` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `4` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `5` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `6` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `0` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `1` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `2` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `3` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `4` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `5` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349
Warning: Column `6` is not found in the `fan_translator_iblock_element_iprop` table in /bitrix/modules/main/lib/db/sqlhelper.php on line 349

и английская версия осталась на русском

тест кода для перевода можно посмотреть в /test.php

а ошибки - в /en/blog/korrekciya-linii-rosta-volos-u-zhenschin/
Изменено: Александр - 04.10.2024 22:54:31
 
Виталий?
 
Добрый день!
Занимаюсь Вашим вопросом!
Ожидайте пожалуйста.
 

На данный момент, чтобы корректно записывались данные перевода, при использовании метода автоперевода, помимо полей для перевода, необходимо также передавать значения полей ID, IBLOCK_ID и IBLOCK_SECTION_ID. Это обеспечит правильную работу автоперевода.

Пример:

Код
$arFields = ["ID" => 437800, "NAME" => "Тестовое поле", "IBLOCK_ID" => 5, "IBLOCK_SECTION_ID" => 77];
$fs = new FCIBlockElement();
$fs->Translate(437800, $arFields, 'en');
В следующем обновлении мы добавили оптимизацию, при которой метод будет автоматически заполнять недостающие поля по ID.
Читают тему (гостей: 1)