class TwitterCldr::Shared::LikelySubtags
Public Class Methods
locale_for(locale_text)
click to toggle source
# File lib/twitter_cldr/shared/likely_subtags.rb, line 13 def locale_for(locale_text) locale = Locale.parse(locale_text) lookup(locale) end
Private Class Methods
fifth_lookup(locale)
click to toggle source
# File lib/twitter_cldr/shared/likely_subtags.rb, line 102 def fifth_lookup(locale) if locale.script code = ['und', locale.abbreviated_script].join('_') if replacement = subtags_resource[code.to_sym] Locale.parse(replacement) end end end
first_lookup(locale)
click to toggle source
# File lib/twitter_cldr/shared/likely_subtags.rb, line 51 def first_lookup(locale) if locale.language && locale.script && locale.region code = [locale.language, locale.abbreviated_script, locale.region].join('_') if replacement = subtags_resource[code.to_sym] language2, script2, region2 = Locale.split(replacement) Locale.new(language2, script2, region2, locale.variants) end end end
fourth_lookup(locale)
click to toggle source
# File lib/twitter_cldr/shared/likely_subtags.rb, line 88 def fourth_lookup(locale) if locale.language if replacement = subtags_resource[locale.language.to_sym] language2, script2, region2 = Locale.split(replacement) Locale.new( language2, locale.script || script2, locale.region || region2, locale.variants ) end end end
lookup(locale)
click to toggle source
unicode.org/reports/tr35/#Likely_Subtags
Try each of the following in order (where the fields exist). The notation field³ means field¹ if it exists, otherwise field².
-
Lookup language¹ _ script¹ _ region¹. If in the table, return the language² _ script² _ region² + variants.
-
Lookup language¹ _ script¹. If in the table, return language² _ script² _ region³ + variants.
-
Lookup language¹ _ region¹. If in the table, return language² _ script³ _ region² + variants.
-
Lookup language¹. If in the table, return language² _ script³ _ region³ + variants.
-
Lookup und_script¹ and return if exists
# File lib/twitter_cldr/shared/likely_subtags.rb, line 39 def lookup(locale) first_lookup(locale) || second_lookup(locale) || third_lookup(locale) || fourth_lookup(locale) || fifth_lookup(locale) || raise( UnrecognizedSubtagsError, "couldn't find matching subtags for #{locale}" ) end
second_lookup(locale)
click to toggle source
# File lib/twitter_cldr/shared/likely_subtags.rb, line 62 def second_lookup(locale) if locale.language && locale.script code = [locale.language, locale.abbreviated_script].join('_') if replacement = subtags_resource[code.to_sym] language2, script2, region2 = Locale.split(replacement) Locale.new( language2, script2, locale.region || region2, locale.variants ) end end end
third_lookup(locale)
click to toggle source
# File lib/twitter_cldr/shared/likely_subtags.rb, line 75 def third_lookup(locale) if locale.language && locale.region code = [locale.language, locale.region].join('_') if replacement = subtags_resource[code.to_sym] language2, script2, region2 = Locale.split(replacement) Locale.new( language2, locale.script || script2, region2, locale.variants ) end end end