Skip to content

Commit

Permalink
Merge pull request #57 from jqr/update-languages
Browse files Browse the repository at this point in the history
Update languages to latest
  • Loading branch information
seejohnrun authored Apr 2, 2024
2 parents c1808ce + 7b82109 commit abbc76f
Show file tree
Hide file tree
Showing 2 changed files with 107 additions and 2 deletions.
22 changes: 22 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,25 @@ RSpec::Core::RakeTask.new(:test) do |t|
end

task :default => :test

desc "Cache API languages into lib/easy_translate/languages.rb, must set GOOGLE_TRANSLATE_API_KEY"
task :cache_languages do
$: << "lib"
require "easy_translate"
EasyTranslate.api_key = ENV.fetch("GOOGLE_TRANSLATE_API_KEY")

language_filename = "lib/easy_translate/languages.rb"
previous_contents = File.read(language_filename)

response = JSON.parse(EasyTranslate::TranslationTarget::TranslationTargetRequest.new("en").perform_raw)
language_keys = response.dig("data", "languages").map do |info|
[info["name"].downcase.gsub(/[^a-z ]/, "").tr(" ", "_"), info["language"]]
end.sort.map do |n, l|
" '#{l}' => '#{n}'"
end.join(",\n")
new_contents = previous_contents.sub(/(LANGUAGES = {).*?(})/m, "\\1\n#{language_keys}\n \\2")

File.open(language_filename, "w") do |f|
f.write(new_contents)
end
end
87 changes: 85 additions & 2 deletions lib/easy_translate/languages.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,57 +3,140 @@ module EasyTranslate
LANGUAGES = {
'af' => 'afrikaans',
'sq' => 'albanian',
'am' => 'amharic',
'ar' => 'arabic',
'hy' => 'armenian',
'as' => 'assamese',
'ay' => 'aymara',
'az' => 'azerbaijani',
'bm' => 'bambara',
'eu' => 'basque',
'be' => 'belarusian',
'bn' => 'bengali',
'bho' => 'bhojpuri',
'bs' => 'bosnian',
'bg' => 'bulgarian',
'ca' => 'catalan',
'ceb' => 'cebuano',
'ny' => 'chichewa',
'zh' => 'chinese_simplified',
'zh-CN' => 'chinese_simplified',
'zh-TW' => 'chinese_traditional',
'co' => 'corsican',
'hr' => 'croatian',
'cs' => 'czech',
'da' => 'danish',
'dv' => 'divehi',
'doi' => 'dogri',
'nl' => 'dutch',
'en' => 'english',
'eo' => 'esperanto',
'et' => 'estonian',
'ee' => 'ewe',
'tl' => 'filipino',
'fi' => 'finnish',
'fr' => 'french',
'fy' => 'frisian',
'gl' => 'galician',
'lg' => 'ganda',
'ka' => 'georgian',
'de' => 'german',
'el' => 'greek',
'gn' => 'guarani',
'gu' => 'gujarati',
'ht' => 'haitian_creole',
'ha' => 'hausa',
'haw' => 'hawaiian',
'he' => 'hebrew',
'iw' => 'hebrew',
'hi' => 'hindi',
'hmn' => 'hmong',
'hu' => 'hungarian',
'is' => 'icelandic',
'ig' => 'igbo',
'ilo' => 'iloko',
'id' => 'indonesian',
'ga' => 'irish',
'ga' => 'irish_gaelic',
'it' => 'italian',
'ja' => 'japanese',
'jv' => 'javanese',
'jw' => 'javanese',
'kn' => 'kannada',
'kk' => 'kazakh',
'km' => 'khmer',
'rw' => 'kinyarwanda',
'gom' => 'konkani',
'ko' => 'korean',
'kri' => 'krio',
'ku' => 'kurdish_kurmanji',
'ckb' => 'kurdish_sorani',
'ky' => 'kyrgyz',
'lo' => 'lao',
'la' => 'latin',
'lv' => 'latvian',
'ln' => 'lingala',
'lt' => 'lithuanian',
'lb' => 'luxembourgish',
'mk' => 'macedonian',
'mai' => 'maithili',
'mg' => 'malagasy',
'ms' => 'malay',
'ml' => 'malayalam',
'mt' => 'maltese',
'mi' => 'maori',
'mr' => 'marathi',
'mni-Mtei' => 'meiteilon_manipuri',
'lus' => 'mizo',
'mn' => 'mongolian',
'my' => 'myanmar_burmese',
'ne' => 'nepali',
'nso' => 'northern_sotho',
'no' => 'norwegian',
'or' => 'odia_oriya',
'om' => 'oromo',
'ps' => 'pashto',
'fa' => 'persian',
'pl' => 'polish',
'pt' => 'portuguese',
'pa' => 'punjabi',
'qu' => 'quechua',
'ro' => 'romanian',
'ru' => 'russian',
'sm' => 'samoan',
'sa' => 'sanskrit',
'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',
'tt' => 'tatar',
'te' => 'telugu',
'th' => 'thai',
'ti' => 'tigrinya',
'ts' => 'tsonga',
'tr' => 'turkish',
'tk' => 'turkmen',
'ak' => 'twi',
'uk' => 'ukrainian',
'ur' => 'urdu',
'ug' => 'uyghur',
'uz' => 'uzbek',
'vi' => 'vietnamese',
'cy' => 'welsh',
'yi' => 'yiddish'
'xh' => 'xhosa',
'yi' => 'yiddish',
'yo' => 'yoruba',
'zu' => 'zulu'
}

end

0 comments on commit abbc76f

Please sign in to comment.