Module: Worldwide::Locales

Extended by:
Enumerable
Defined in:
lib/worldwide/locales.rb

Class Method Summary collapse

Class Method Details

.each(&block) ⇒ Object



12
13
14
# File 'lib/worldwide/locales.rb', line 12

def each(&block)
  cldr_locales.each(&block)
end

.likely_subtagsObject



16
17
18
19
20
# File 'lib/worldwide/locales.rb', line 16

def likely_subtags
  @likely_subtags ||= YAML.safe_load_file(
    File.join(Worldwide::Paths::CLDR_ROOT, "likely_subtags.yml"),
  ).fetch("subtags")
end

.sub_localesObject



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/worldwide/locales.rb', line 28

def sub_locales
  return @sub_locales if defined?(@sub_locales)

  @sub_locales = {}
  Worldwide::Locales.known.each do |locale|
    Worldwide::Cldr::FALLBACKS[locale].drop(1).each do |fallback|
      @sub_locales[fallback] ||= []
      @sub_locales[fallback] << locale
    end
  end
  @sub_locales
end

.top_25Object



22
23
24
25
26
# File 'lib/worldwide/locales.rb', line 22

def top_25
  @top25 ||= YAML.safe_load_file(
    File.join(Worldwide::Paths::DATA_ROOT, "top_locales.yml"),
  ).fetch("by_speakers")[0..25]
end