Class: Tr4n5l4te::Language

Inherits:
Object
  • Object
show all
Defined in:
lib/tr4n5l4te/language.rb

Overview

rubocop:disable Metrics/ClassLength

Constant Summary collapse

TABLE =

rubocop:enable Metrics/ClassLength

{
  'af' => 'Afrikaans',
  'sq' => 'Albanian',
  'am' => 'Amharic',
  'ar' => 'Arabic',
  'hy' => 'Armenian',
  'az' => 'Azerbaijani',
  'eu' => 'Basque',
  'be' => 'Belarusian',
  'bn' => 'Bengali',
  'bs' => 'Bosnian',
  'bg' => 'Bulgarian',
  'ca' => 'Catalan',
  'ceb' => 'Cebuano',
  'ny' => 'Chichewa',
  'zh-CN' => 'Chinese',
  'co' => 'Corsican',
  'hr' => 'Croatian',
  'cs' => 'Czech',
  'da' => 'Danish',
  'nl' => 'Dutch',
  'en' => 'English',
  'eo' => 'Esperanto',
  'et' => 'Estonian',
  'tl' => 'Filipino',
  'fi' => 'Finnish',
  'fr' => 'French',
  'fy' => 'Frisian',
  'gl' => 'Galician',
  'ka' => 'Georgian',
  'de' => 'German',
  'el' => 'Greek',
  'gu' => 'Gujarati',
  'ht' => 'Haitian Creole',
  'ha' => 'Hausa',
  'haw' => 'Hawaiian',
  'iw' => 'Hebrew',
  'hi' => 'Hindi',
  'hmn' => 'Hmong',
  'hu' => 'Hungarian',
  'is' => 'Icelandic',
  'ig' => 'Igbo',
  'id' => 'Indonesian',
  'ga' => 'Irish',
  'it' => 'Italian',
  'ja' => 'Japanese',
  'jw' => 'Javanese',
  'kn' => 'Kannada',
  'kk' => 'Kazakh',
  'km' => 'Khmer',
  'ko' => 'Korean',
  'ku' => 'Kurdish (Kurmanji)',
  'ky' => 'Kyrgyz',
  'lo' => 'Lao',
  'la' => 'Latin',
  'lv' => 'Latvian',
  'lt' => 'Lithuanian',
  'lb' => 'Luxembourgish',
  'mk' => 'Macedonian',
  'mg' => 'Malagasy',
  'ms' => 'Malay',
  'ml' => 'Malayalam',
  'mt' => 'Maltese',
  'mi' => 'Maori',
  'mr' => 'Marathi',
  'mn' => 'Mongolian',
  'my' => 'Myanmar (Burmese)',
  'ne' => 'Nepali',
  'no' => 'Norwegian',
  'ps' => 'Pashto',
  'fa' => 'Persian',
  'pl' => 'Polish',
  'pt' => 'Portuguese',
  'pa' => 'Punjabi',
  'ro' => 'Romanian',
  'ru' => 'Russian',
  'sm' => 'Samoan',
  'gd' => 'Scots Gaelic',
  'sr' => 'Serbian',
  'st' => 'Sesotho',
  'sn' => 'Shona',
  'sd' => 'Sindhi',
  'si' => 'Sinhala',
  'sk' => 'Slovak',
  'sl' => 'Slovenian',
  'so' => 'Somali',
  'es' => 'Spanish',
  'su' => 'Sundanese',
  'sw' => 'Swahili',
  'sv' => 'Swedish',
  'tg' => 'Tajik',
  'ta' => 'Tamil',
  'te' => 'Telugu',
  'th' => 'Thai',
  'tr' => 'Turkish',
  'uk' => 'Ukrainian',
  'ur' => 'Urdu',
  'uz' => 'Uzbek',
  'vi' => 'Vietnamese',
  'cy' => 'Welsh',
  'xh' => 'Xhosa',
  'yi' => 'Yiddish',
  'yo' => 'Yoruba',
  'zu' => 'Zulu'
}.freeze

Class Method Summary collapse

Class Method Details

.code(string) ⇒ Object



114
115
116
# File 'lib/tr4n5l4te/language.rb', line 114

def code(string)
  TABLE.invert[string]
end

.code_valid?(lang_code) ⇒ Boolean

Returns:

  • (Boolean)


132
133
134
# File 'lib/tr4n5l4te/language.rb', line 132

def code_valid?(lang_code)
  !TABLE.fetch(lang_code, nil).nil?
end

.ensure_code(string) ⇒ Object



118
119
120
121
122
# File 'lib/tr4n5l4te/language.rb', line 118

def ensure_code(string)
  fail("Invalid language: [#{string}]") unless valid?(string)

  code(string) || string
end

.listObject



128
129
130
# File 'lib/tr4n5l4te/language.rb', line 128

def list
  TABLE.values
end

.string_valid?(string) ⇒ Boolean

Returns:

  • (Boolean)


136
137
138
# File 'lib/tr4n5l4te/language.rb', line 136

def string_valid?(string)
  !code(string).nil?
end

.valid?(lang_code) ⇒ Boolean

Returns:

  • (Boolean)


124
125
126
# File 'lib/tr4n5l4te/language.rb', line 124

def valid?(lang_code)
  code_valid?(lang_code) || string_valid?(lang_code)
end