class Spaceship::Tunes::LanguageConverter

Public Class Methods

from_itc_readable_to_itc(from) click to toggle source

Converts the language “UK English” (user facing) to “English_UK” (value)

# File spaceship/lib/spaceship/tunes/language_converter.rb, line 26
def from_itc_readable_to_itc(from)
  readable_mapping.each do |key, value|
    return key if value == from
  end
  nil
end
from_itc_to_itc_readable(from) click to toggle source

Converts the language “English_UK” (value) to “UK English” (user facing)

# File spaceship/lib/spaceship/tunes/language_converter.rb, line 34
def from_itc_to_itc_readable(from)
  readable_mapping[from]
end
from_itc_to_standard(from) click to toggle source

Converts the iTC format (English_CA, Brazilian Portuguese) to language short codes: (en-US, de-DE)

# File spaceship/lib/spaceship/tunes/language_converter.rb, line 8
def from_itc_to_standard(from)
  result = mapping.find { |a| a['name'] == from }
  (result || {}).fetch('locale', nil)
end
from_standard_to_itc(from) click to toggle source

Converts the language short codes: (en-US, de-DE) to the iTC format (English_CA, Brazilian Portuguese)

# File spaceship/lib/spaceship/tunes/language_converter.rb, line 20
def from_standard_to_itc(from)
  result = mapping.find { |a| a['locale'] == from || (a['alternatives'] || []).include?(from) }
  (result || {}).fetch('name', nil)
end
from_standard_to_itc_locale(from) click to toggle source

Converts the Language “UK English” to itc locale en-GB

# File spaceship/lib/spaceship/tunes/language_converter.rb, line 14
def from_standard_to_itc_locale(from)
  result = mapping.find { |a| a['name'] == from } || {}
  return result['itc_locale'] || result['locale']
end

Private Class Methods

mapping() click to toggle source

Get the mapping JSON parsed

# File spaceship/lib/spaceship/tunes/language_converter.rb, line 41
def mapping
  @languages ||= JSON.parse(File.read(File.join(Spaceship::ROOT, "lib", "assets", "languageMapping.json")))
end
readable_mapping() click to toggle source
# File spaceship/lib/spaceship/tunes/language_converter.rb, line 45
def readable_mapping
  @readable ||= JSON.parse(File.read(File.join(Spaceship::ROOT, "lib", "assets", "languageMappingReadable.json")))
end