/* * Перед рендерингом формы свойств поля добавляем в нее требуемый checkbox * */ function i18ncck_form_alter(&$form, $form_state, $form_id) { if (($form['form_id']['#value'] == 'content_field_edit_form') && (variable_get('i18n_node_' . $form['type_name']['#value'], FALSE))) { $i18ncck = array( '#type' => 'checkbox', '#title' => t('Language independent values'), '#default_value' => variable_get('i18ncck_' . $form['field_name']['#value'] , FALSE), ); /* * Указываем дополнительный обработчик формы функцию _i18ncck_field_submit() * */ if(isset($form['field'])) { $form['field'] = array_merge(array('i18ncck' => $i18ncck), $form['field']); $form['#submit'][] = '_i18ncck_field_submit'; } } } function _i18ncck_field_submit($form, &$form_state) { /* * Если флажок выставлен сохраняем уникальную переменную для каждого поля, * если нет – удаляем ее. * */ if (isset($form_state['values']['i18ncck']) && $form_state['values']['i18ncck']) { variable_set('i18ncck_' . $form_state['values']['field_name'], TRUE); } else { variable_del( 'i18ncck_' . $form_state['values']['field_name']); } } /* * При подтверждении формы редактирования материала обрабатываются * два случая: вставка и обновление. * */ function i18ncck_nodeapi(&$node, $op, $a3, $a4) { if ( variable_get('i18n_node_' . $node->type, FALSE)) { switch ($op){ /* * Получаем исходный по языку материал и все его переводы. * Проходим по циклу все поля, если для него указана многоязычность - * загружаем все переводы, присваиваем введенное значение поля и сохраняем их. * */ case 'update': $translations = translation_node_get_translations($node->tnid); foreach( content_fields() as $field) { $field = $field['field_name']; if ( variable_get('i18ncck_' . $field, FALSE) && isset($node->tnid)) { foreach($translations as $lang){ if($node->nid!=$lang->nid) { $i18n_node = node_load($lang->nid); $i18n_node->$field = $node->$field; node_save($i18n_node); unset($i18n_node); } } } } break; /* * От случая обновления отличается только способом получения NID исходного перевода * */ case 'insert': if(isset($node->translation_source->nid)) { $translations = translation_node_get_translations($node->translation_source->nid); foreach(content_fields() as $field) { $field = $field['field_name']; foreach( $translations as $translation) { $i18n_node = node_load($translation->nid); $i18n_node->$field = $node->$field; node_save($i18n_node); unset($i18n_node); } } } break; } } } Inform- kaj instruvojaĝo al Managvo (Nikaragvo) 2012 | Tutmonda Esperanto-adresaro

Inform- kaj instruvojaĝo al Managvo (Nikaragvo) 2012

Esperanto Internacia subtenis la inform- kaj instruvojaĝon de Martin Schäffer kaj Mallely Martínez Mateos al Managvo (Nikaragvo) komence de la jaro 2012. La du aktivuloj partoprenis la 3-an nacian kongreson de Edukado en la fakultato de edukado kaj lingvoj en la nacia aŭtonoma universitato de Nikaragvo (UNAN), prezentis informstandon kaj partoprenis per prelego pri Esperanto. Krome okazis sukcesa gazetara laboro. En du gravaj gazetoj (Hoy kaj Nuevo Diario) aperis artikoloj pri Esperanto. Krome okazis intervjuoj en kvar radiostacioj (Radio Ondas de la Luz, Radio Advent Stereo, Radio Sandino kaj Radio 580), kaj tri televidstacioj (VosTV, Canal 13, Canal Extra Plus 37). Pli detalan artikolon pri la vojaĝo oni povas legi en la revuo "La Ondo": http://sezonoj.ru/2012/02/209nika/