function locale_schema

locale_schema()

Implements hook_schema().

File

core/modules/locale/locale.install, line 53
Install, update, and uninstall functions for the Locale module.

Code

function locale_schema() {
  $schema['locales_source'] = array(
    'description' => 'List of English source strings.',
    'fields' => array(
      'lid' => array(
        'type' => 'serial',
        'not null' => TRUE,
        'description' => 'Unique identifier of this string.',
      ),
      'source' => array(
        'type' => 'text',
        'mysql_type' => 'blob',
        'not null' => TRUE,
        'description' => 'The original string in English.',
      ),
      'context' => array(
        'type' => 'varchar_ascii',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'The context this string applies to.',
      ),
      'version' => array(
        'type' => 'varchar_ascii',
        'length' => 20,
        'not null' => TRUE,
        'default' => 'none',
        'description' => 'Version of Drupal where the string was last used (for locales optimization).',
      ),
    ),
    'primary key' => array('lid'),
    'indexes' => array(
      'source_context' => array(array('source', 30), 'context'),
    ),
  );

  $schema['locales_target'] = array(
    'description' => 'Stores translated versions of strings.',
    'fields' => array(
      'lid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'description' => 'Source string ID. References {locales_source}.lid.',
      ),
      'translation' => array(
        'type' => 'text',
        'mysql_type' => 'blob',
        'not null' => TRUE,
        'description' => 'Translation string value in this language.',
      ),
      'language' => array(
        'type' => 'varchar_ascii',
        'length' => 12,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Language code. References {language}.langcode.',
      ),
      'customized' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0, // LOCALE_NOT_CUSTOMIZED
        'description' => 'Boolean indicating whether the translation is custom to this site.',
      ),
    ),
    'primary key' => array('language', 'lid'),
    'foreign keys' => array(
      'locales_source' => array(
        'table' => 'locales_source',
        'columns' => array('lid' => 'lid'),
      ),
    ),
    'indexes' => array(
      'lid' => array('lid'),
    ),
  );

  $schema['locales_location'] = array(
    'description' => 'Location information for source strings.',
    'fields' => array(
      'lid' => array(
        'type' => 'serial',
        'not null' => TRUE,
        'description' => 'Unique identifier of this location.',
      ),
      'sid' => array(
        'type' => 'int',
        'not null' => TRUE,
        'description' => 'Unique identifier of this string.',
      ),
      'type' => array(
        'type' => 'varchar_ascii',
        'length' => 50,
        'not null' => TRUE,
        'default' => '',
        'description' => 'The location type (file, config, path, etc).',
      ),
      'name' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Type dependent location information (file name, path, etc).',
      ),
      'version' => array(
        'type' => 'varchar_ascii',
        'length' => 20,
        'not null' => TRUE,
        'default' => 'none',
        'description' => 'Version of Drupal where the location was found.',
      ),
    ),
    'primary key' => array('lid'),
    'foreign keys' => array(
      'locales_source' => array(
        'table' => 'locales_source',
        'columns' => array('sid' => 'lid'),
      ),
    ),
    'indexes' => array(
      'string_id' => array('sid'),
      'string_type' => array('sid', 'type'),
    ),
  );

  $schema['locale_file'] = array(
    'description' => 'File import status information for interface translation files.',
    'fields' => array(
      'project' => array(
        'type' => 'varchar_ascii',
        'length' => '255',
        'not null' => TRUE,
        'default' => '',
        'description' => 'A unique short name to identify the project the file belongs to.',
      ),
      'langcode' => array(
        'type' => 'varchar_ascii',
        'length' => '12',
        'not null' => TRUE,
        'default' => '',
        'description' => 'Language code of this translation. References {language}.langcode.',
      ),
      'filename' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Filename of the imported file.',
      ),
      'version' => array(
        'type' => 'varchar',
        'length' => '128',
        'not null' => TRUE,
        'default' => '',
        'description' => 'Version tag of the imported file.',
      ),
      'uri' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'URI of the remote file, the resulting local file or the locally imported file.',
      ),
      'timestamp' => array(
        'type' => 'int',
        'not null' => FALSE,
        'default' => 0,
        'description' => 'Unix timestamp of the imported file.',
      ),
      'last_checked' => array(
        'type' => 'int',
        'not null' => FALSE,
        'default' => 0,
        'description' => 'Unix timestamp of the last time this translation was confirmed to be the most recent release available.',
      ),
    ),
    'primary key' => array('project', 'langcode'),
  );
  return $schema;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!locale!locale.install/function/locale_schema/8.1.x