You are here

function locale_menu in Drupal 4

Same name and namespace in other branches
  1. 5 modules/locale/locale.module \locale_menu()
  2. 6 modules/locale/locale.module \locale_menu()
  3. 7 modules/locale/locale.module \locale_menu()

Implementation of hook_menu().

File

modules/locale.module, line 54
Enables administrators to manage the site interface languages.

Code

function locale_menu($may_cache) {
  $items = array();
  $access = user_access('administer locales');
  if ($may_cache) {

    // Main admin menu item
    $items[] = array(
      'path' => 'admin/locale',
      'title' => t('localization'),
      'callback' => 'locale_admin_manage',
      'access' => $access,
    );

    // Top level tabs
    $items[] = array(
      'path' => 'admin/locale/language',
      'title' => t('manage languages'),
      'access' => $access,
      'weight' => -10,
      'type' => MENU_DEFAULT_LOCAL_TASK,
    );
    $items[] = array(
      'path' => 'admin/locale/string/search',
      'title' => t('manage strings'),
      'callback' => 'locale_string_search',
      'access' => $access,
      'weight' => 10,
      'type' => MENU_LOCAL_TASK,
    );

    // Manage languages subtabs
    $items[] = array(
      'path' => 'admin/locale/language/overview',
      'title' => t('list'),
      'callback' => 'locale_admin_manage',
      'access' => $access,
      'weight' => 0,
      'type' => MENU_DEFAULT_LOCAL_TASK,
    );
    $items[] = array(
      'path' => 'admin/locale/language/add',
      'title' => t('add language'),
      'callback' => 'locale_admin_manage_add',
      'access' => $access,
      'weight' => 5,
      'type' => MENU_LOCAL_TASK,
    );
    $items[] = array(
      'path' => 'admin/locale/language/import',
      'title' => t('import'),
      'callback' => 'locale_admin_import',
      'access' => $access,
      'weight' => 10,
      'type' => MENU_LOCAL_TASK,
    );
    $items[] = array(
      'path' => 'admin/locale/language/export',
      'title' => t('export'),
      'callback' => 'locale_admin_export',
      'access' => $access,
      'weight' => 20,
      'type' => MENU_LOCAL_TASK,
    );

    // Language related callbacks
    $items[] = array(
      'path' => 'admin/locale/language/delete',
      'title' => t('confirm'),
      'callback' => 'locale_admin_manage_delete_form',
      'access' => $access,
      'type' => MENU_CALLBACK,
    );
  }
  else {
    if (is_numeric(arg(4))) {

      // String related callbacks
      $items[] = array(
        'path' => 'admin/locale/string/edit/' . arg(4),
        'title' => t('edit string'),
        'callback' => 'locale_admin_string_edit',
        'callback arguments' => arg(4),
        'access' => $access,
        'type' => MENU_CALLBACK,
      );
      $items[] = array(
        'path' => 'admin/locale/string/delete/' . arg(4),
        'title' => t('delete string'),
        'callback' => 'locale_admin_string_delete',
        'callback arguments' => arg(4),
        'access' => $access,
        'type' => MENU_CALLBACK,
      );
    }
  }
  return $items;
}