original_string: public static function getTypesInfo()
      {
          $locale = Localization::activeLocale();
          if (!isset(self::$typesInfo[$locale])) {
              $list = [
                  self::ADJECTIVE => [
                      'name' => tc('TermType', 'Adjective'),
                      'short' => tc('TermType_short', 'adj.'),
                      'description' => t('A word that describes a noun or pronoun (examples: big, happy, obvious).'),
                  ],
                  self::ADVERB => [
                      'name' => tc('TermType', 'Adverb'),
                      'short' => tc('TermType_short', 'adv.'),
                      'description' => t('A word that describes or gives more information about a verb, adjective or other adverb (examples: carefully, quickly, very).'),
                  ],
                  self::CONJUNCTION => [
                      'name' => tc('TermType', 'Conjunction'),
                      'short' => tc('TermType_short', 'conj.'),
                      'description' => t('A word that connects words, phrases, and clauses in a sentence (examples: and, but, while, although).'),
                  ],
                  self::INTERJECTION => [
                      'name' => tc('TermType', 'Interjection'),
                      'short' => tc('TermType_short', 'interj.'),
                      'description' => t('A word that is used to show a short sudden expression of emotion (examples: Bye!, Cheers!, Goodbye!, Hi!, Hooray!).'),
                  ],
                  self::NOUN => [
                      'name' => tc('TermType', 'Noun'),
                      'short' => tc('TermType_short', 'n.'),
                      'description' => t('A word that refers to a person, place, thing, event, substance, or quality (examples: Andrew, house, pencil, table).'),
                  ],
                  self::PREPOSITION => [
                      'name' => tc('TermType', 'Preposition'),
                      'short' => tc('TermType_short', 'prep.'),
                      'description' => t('A word that is used before a noun, a noun phrase, or a pronoun, connecting it to another word (examples: at, for, in, on, under).'),
                  ],
                  self::PRONOUN => [
                      'name' => tc('TermType', 'Pronoun'),
                      'short' => tc('TermType_short', 'pron.'),
                      'description' => t('A word that is used instead of a noun or a noun phrase (examples: I, me, mine, myself).'),
                  ],
                  self::VERB => [
                      'name' => tc('TermType', 'Verb'),
                      'short' => tc('TermType_short', 'v.'),
                      'description' => t('A word or phrase that describes an action, condition, or experience (examples: listen, read, write).'),
                  ],
              ];
              $comparer = new Comparer($locale);
              uasort($list, function (array $a, array $b) use ($comparer) {
                  return $comparer->compare($a['name'], $b['name']);
              });
              self::$typesInfo[$locale] = $list;
          }
  
          return self::$typesInfo[$locale];
      }
code: public static function getTypesInfo()
      {
          $locale = Localization::activeLocale();
          if (!isset(self::$typesInfo[$locale])) {
              $list = [
                  self::ADJECTIVE => [
                      'name' => tc('TermType', 'Adjective'),
                      'short' => tc('TermType_short', 'adj.'),
                      'description' => t('A word that describes a noun or pronoun (examples: big, happy, obvious).'),
                  ],
                  self::ADVERB => [
                      'name' => tc('TermType', 'Adverb'),
                      'short' => tc('TermType_short', 'adv.'),
                      'description' => t('A word that describes or gives more information about a verb, adjective or other adverb (examples: carefully, quickly, very).'),
                  ],
                  self::CONJUNCTION => [
                      'name' => tc('TermType', 'Conjunction'),
                      'short' => tc('TermType_short', 'conj.'),
                      'description' => t('A word that connects words, phrases, and clauses in a sentence (examples: and, but, while, although).'),
                  ],
                  self::INTERJECTION => [
                      'name' => tc('TermType', 'Interjection'),
                      'short' => tc('TermType_short', 'interj.'),
                      'description' => t('A word that is used to show a short sudden expression of emotion (examples: Bye!, Cheers!, Goodbye!, Hi!, Hooray!).'),
                  ],
                  self::NOUN => [
                      'name' => tc('TermType', 'Noun'),
                      'short' => tc('TermType_short', 'n.'),
                      'description' => t('A word that refers to a person, place, thing, event, substance, or quality (examples: Andrew, house, pencil, table).'),
                  ],
                  self::PREPOSITION => [
                      'name' => tc('TermType', 'Preposition'),
                      'short' => tc('TermType_short', 'prep.'),
                      'description' => t('A word that is used before a noun, a noun phrase, or a pronoun, connecting it to another word (examples: at, for, in, on, under).'),
                  ],
                  self::PRONOUN => [
                      'name' => tc('TermType', 'Pronoun'),
                      'short' => tc('TermType_short', 'pron.'),
                      'description' => t('A word that is used instead of a noun or a noun phrase (examples: I, me, mine, myself).'),
                  ],
                  self::VERB => [
                      'name' => tc('TermType', 'Verb'),
                      'short' => tc('TermType_short', 'v.'),
                      'description' => t('A word or phrase that describes an action, condition, or experience (examples: listen, read, write).'),
                  ],
              ];
              $comparer = new Comparer($locale);
              uasort($list, function (array $a, array $b) use ($comparer) {
                  return $comparer->compare($a['name'], $b['name']);
              });
              self::$typesInfo[$locale] = $list;
          }
  
          return self::$typesInfo[$locale];
      }
code_tokens: public static function getTypesInfo ( ) { $ locale = Localization :: activeLocale ( ) ; if ( ! isset ( self :: $ typesInfo [ $ locale ] ) ) { $ list = [ self :: ADJECTIVE => [ 'name' => tc ( 'TermType' , 'Adjective' ) , 'short' => tc ( 'TermType_short' , 'adj.' ) , 'description' => t ( 'A word that describes a noun or pronoun (examples: big, happy, obvious).' ) , ] , self :: ADVERB => [ 'name' => tc ( 'TermType' , 'Adverb' ) , 'short' => tc ( 'TermType_short' , 'adv.' ) , 'description' => t ( 'A word that describes or gives more information about a verb, adjective or other adverb (examples: carefully, quickly, very).' ) , ] , self :: CONJUNCTION => [ 'name' => tc ( 'TermType' , 'Conjunction' ) , 'short' => tc ( 'TermType_short' , 'conj.' ) , 'description' => t ( 'A word that connects words, phrases, and clauses in a sentence (examples: and, but, while, although).' ) , ] , self :: INTERJECTION => [ 'name' => tc ( 'TermType' , 'Interjection' ) , 'short' => tc ( 'TermType_short' , 'interj.' ) , 'description' => t ( 'A word that is used to show a short sudden expression of emotion (examples: Bye!, Cheers!, Goodbye!, Hi!, Hooray!).' ) , ] , self :: NOUN => [ 'name' => tc ( 'TermType' , 'Noun' ) , 'short' => tc ( 'TermType_short' , 'n.' ) , 'description' => t ( 'A word that refers to a person, place, thing, event, substance, or quality (examples: Andrew, house, pencil, table).' ) , ] , self :: PREPOSITION => [ 'name' => tc ( 'TermType' , 'Preposition' ) , 'short' => tc ( 'TermType_short' , 'prep.' ) , 'description' => t ( 'A word that is used before a noun, a noun phrase, or a pronoun, connecting it to another word (examples: at, for, in, on, under).' ) , ] , self :: PRONOUN => [ 'name' => tc ( 'TermType' , 'Pronoun' ) , 'short' => tc ( 'TermType_short' , 'pron.' ) , 'description' => t ( 'A word that is used instead of a noun or a noun phrase (examples: I, me, mine, myself).' ) , ] , self :: VERB => [ 'name' => tc ( 'TermType' , 'Verb' ) , 'short' => tc ( 'TermType_short' , 'v.' ) , 'description' => t ( 'A word or phrase that describes an action, condition, or experience (examples: listen, read, write).' ) , ] , ] ; $ comparer = new Comparer ( $ locale ) ; uasort ( $ list , function ( array $ a , array $ b ) use ( $ comparer ) { return $ comparer -> compare ( $ a [ 'name' ] , $ b [ 'name' ] ) ; } ) ; self :: $ typesInfo [ $ locale ] = $ list ; } return self :: $ typesInfo [ $ locale ] ; }
docstring: Get all the allowed type names, short names and descriptions.
  
  @return array
docstring_tokens: Get all the allowed type names short names and descriptions .