如何以编程方式翻译 Drupal Bean?
How to translate a Drupal Bean programmatically?
我找遍了所有地方,但找不到翻译 bean 的方法。他们依赖 entity_translation,但这似乎不起作用:
$form_state['build_info']['args'] = array ( 0 => $bean );
$form_state['form_id'] = 'bean_form';
$form_state['entity_translation'] = array(
'form_langcode' => $newLangcode,
'source_langcode' => 'en',
'is_translation' => 1,
);
drupal_form_submit('bean_form', $form_state);
它什么也没做。有什么想法我可能会遗漏吗?还是有比尝试提交表单更好的方法?
我的尝试基本上只是试图模仿此页面上发生的事情:
/block/MY_BLOCK/edit/add/en/es
我花了很长时间才找到这个:
$translation = array(
'translate' => 0,
'status' => 1,
'language' => $langCode, // here is the language you're translating to
'source' => 'en',
);
$bean = bean_load($bid);
$handler = entity_translation_get_handler('bean', $bean);
$values = array (
// i add the default values here, but you can add whatever you want
);
$handler->setTranslation($translation, $values);
bean_save($bean);
我找遍了所有地方,但找不到翻译 bean 的方法。他们依赖 entity_translation,但这似乎不起作用:
$form_state['build_info']['args'] = array ( 0 => $bean );
$form_state['form_id'] = 'bean_form';
$form_state['entity_translation'] = array(
'form_langcode' => $newLangcode,
'source_langcode' => 'en',
'is_translation' => 1,
);
drupal_form_submit('bean_form', $form_state);
它什么也没做。有什么想法我可能会遗漏吗?还是有比尝试提交表单更好的方法?
我的尝试基本上只是试图模仿此页面上发生的事情:
/block/MY_BLOCK/edit/add/en/es
我花了很长时间才找到这个:
$translation = array(
'translate' => 0,
'status' => 1,
'language' => $langCode, // here is the language you're translating to
'source' => 'en',
);
$bean = bean_load($bid);
$handler = entity_translation_get_handler('bean', $bean);
$values = array (
// i add the default values here, but you can add whatever you want
);
$handler->setTranslation($translation, $values);
bean_save($bean);