' . t('Allows transliteration for Indian languages - Arabic, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Nepali, Punjabi, Tamil, Telugu, Urdu') . '

'; return $output; } } /** * Implementation of hook_menu */ function googleLanguageApi_menu() { $items['admin/settings/googlelanguageapi'] = array( 'title' => 'Google Language API settings', 'page callback' => 'drupal_get_form', 'page arguments' => array('googleLanguageApi_admin_settings'), 'access arguments' => array('administer nodes'), 'type' => MENU_NORMAL_ITEM ); return $items; } /** * Settings page */ function googleLanguageApi_admin_settings() { $status = '

'. t('Google Language API modules allows writing content into indic languages. You can control as which node type you want to sho the ability to type in indic languages. For more help, please check http://www.google.com/transliterate/') .'

'; $form['access']['status'] = array('#value' => $status); $form['googleLanguageApi_node_type'] = array('#type' => 'checkboxes', '#title' => t('Content types'), '#default_value' => variable_get("googleLanguageApi_node_type",""), '#options' => array_map('check_plain', node_get_types('names')), '#description' => t('Choose content type for which this editor should be seen'), ); $languages = googleLanguageApi_getLanguages(); $form['googleLanguageApi_languages'] = array('#type' => 'checkboxes', '#title' => t('Languages'), '#default_value' => variable_get("googleLanguageApi_languages",""), '#options' => array_map('check_plain', $languages), '#description' => t('Choose language support'), ); return system_settings_form($form); } /** * List of available languages for Transliteration */ function googleLanguageApi_getLanguages() { $languages = array( 'ar'=>'Arabic', 'bn'=>'Bengali', 'gu'=>'Gujarati', 'hi'=>'Hindi', 'kn'=>'Kannada', 'ml'=>'Malayalam', 'mr'=>'Marathi', 'ne'=>'Nepali', // ''=>'Persian', 'pa'=>'Punjabi', 'ta'=>'Tamil', 'te'=>'Telugu', 'ur'=>'Urdu' ); return $languages; } /** Implementation of hook_form_alter */ function googleLanguageApi_form_alter(&$form, &$form_state, $form_id) { // show only on node forms if(!substr($form_id,-10) == "node_form") { return; } // check if in allowed node type $node_types = variable_get("googleLanguageApi_node_type",""); if(is_array($node_types)) { if(!in_array(substr($form_id,0,-10),array_filter($node_types))) { return; } } $enabledLangs = variable_get("googleLanguageApi_languages",""); if(!$enabledLangs) $enabledLangs = array("hi"=>"Hindi"); $langs = array_filter($enabledLangs); $indicControl = "
".'
Type in
"; $form["body_field"]["body"]["#prefix"] = $indicControl; $settings['googleLanguageApi'] =array("element"=>"edit-body"); drupal_add_js($settings,"setting"); drupal_set_html_head(''); drupal_add_js(drupal_get_path('module', 'googleLanguageApi').'/googleLanguageApi.js'); }