Am creat un tip de conținut (formular_pdf) la care am adăugat a field_gender_languagetest cu doua variante, masculin și Femeie. Am tradus ambele opțiuni în germană folosind fila de traducere.
Acum generez un raport al datelor completate de utilizatorii care folosesc acel tip de conținut.
Există vreo modalitate de a obține în mod programatic acea traducere?
Încerc acest cod, dar nu merge.
t('masculin', array(), array('langcode' => 'de'));
soluția mea de lucru
$lang ="de";
if ($lang != "en") {
$langs = listă_limbi();
$lang = $langs[$lang];
foreach ($val['#base']['#node'] ca $k => $v) {
if (isset($v['#type']) && $v['#type'] == 'list_text') {
foreach ($val['#base']['#node'][$k]['#value'] ca $k_sub => $v_sub) {
$trns_str = pdf_trans($v_sub, $lang, 'câmp');
$val['#base']['#node'][$k]['#value'][$k_sub] = $trns_str['trans'];
}
}
}
}
Funcţie
funcția pdf_trans( $șir, $lang = NULL, $grup = „implicit”) {
$rezultat = db_query("SELECT s.lid, s.source, s.context, s.location, t.translation, t.plid, t.plural FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.textgroup = :textgroup și s.source = :string_value ORDER BY t.plid, t.plural", array(':language' => $lang->language, ' :textgroup' => $grup, ':string_value'=>$string));
$str= matrice();
if($rezultat){
foreach ($rezultat ca $copil) {
$str= matrice(
'trans' => isset($child->trans) ? $child->trans : '',
'trans_availabe' => '1',
);
}
}
if(count($str)==0)
{
$str= matrice(
'trans' => $șir,
'trans_availabe' => '0',
);
}
returnează $str;
}
Aceasta nu ar trebui să fie calea corectă, deoarece drupal trebuie să aibă această funcționalitate ca bază