Module: TwitterCldr
- Extended by:
- SingleForwardable
- Defined in:
- lib/twitter_cldr/utils.rb,
lib/twitter_cldr.rb,
lib/twitter_cldr/shared.rb,
lib/twitter_cldr/parsers.rb,
lib/twitter_cldr/version.rb,
lib/twitter_cldr/collation.rb,
lib/twitter_cldr/localized.rb,
lib/twitter_cldr/resources.rb,
lib/twitter_cldr/formatters.rb,
lib/twitter_cldr/tokenizers.rb,
lib/twitter_cldr/utils/yaml.rb,
lib/twitter_cldr/shared/bidi.rb,
lib/twitter_cldr/data_readers.rb,
lib/twitter_cldr/normalization.rb,
lib/twitter_cldr/resources/uli.rb,
lib/twitter_cldr/collation/trie.rb,
lib/twitter_cldr/parsers/parser.rb,
lib/twitter_cldr/shared/numbers.rb,
lib/twitter_cldr/shared/calendar.rb,
lib/twitter_cldr/utils/range_set.rb,
lib/twitter_cldr/resources/loader.rb,
lib/twitter_cldr/shared/languages.rb,
lib/twitter_cldr/shared/territory.rb,
lib/twitter_cldr/tokenizers/token.rb,
lib/twitter_cldr/utils/regexp_ast.rb,
lib/twitter_cldr/shared/casefolder.rb,
lib/twitter_cldr/shared/code_point.rb,
lib/twitter_cldr/shared/currencies.rb,
lib/twitter_cldr/utils/code_points.rb,
lib/twitter_cldr/collation/collator.rb,
lib/twitter_cldr/formatters/numbers.rb,
lib/twitter_cldr/formatters/plurals.rb,
lib/twitter_cldr/resources/download.rb,
lib/twitter_cldr/shared/phone_codes.rb,
lib/twitter_cldr/shared/territories.rb,
lib/twitter_cldr/shared/postal_codes.rb,
lib/twitter_cldr/utils/interpolation.rb,
lib/twitter_cldr/formatters/formatter.rb,
lib/twitter_cldr/parsers/symbol_table.rb,
lib/twitter_cldr/shared/unicode_regex.rb,
lib/twitter_cldr/tokenizers/tokenizer.rb,
lib/twitter_cldr/utils/regexp_sampler.rb,
lib/twitter_cldr/collation/trie_loader.rb,
lib/twitter_cldr/parsers/number_parser.rb,
lib/twitter_cldr/shared/break_iterator.rb,
lib/twitter_cldr/shared/language_codes.rb,
lib/twitter_cldr/collation/trie_builder.rb,
lib/twitter_cldr/formatters/numbers/rbnf.rb,
lib/twitter_cldr/shared/numbering_system.rb,
lib/twitter_cldr/data_readers/data_reader.rb,
lib/twitter_cldr/formatters/plurals/rules.rb,
lib/twitter_cldr/localized/localized_date.rb,
lib/twitter_cldr/localized/localized_hash.rb,
lib/twitter_cldr/localized/localized_time.rb,
lib/twitter_cldr/formatters/list_formatter.rb,
lib/twitter_cldr/localized/localized_array.rb,
lib/twitter_cldr/resources/readme_renderer.rb,
lib/twitter_cldr/collation/sort_key_builder.rb,
lib/twitter_cldr/localized/localized_number.rb,
lib/twitter_cldr/localized/localized_object.rb,
lib/twitter_cldr/localized/localized_string.rb,
lib/twitter_cldr/localized/localized_symbol.rb,
lib/twitter_cldr/resources/unicode_importer.rb,
lib/twitter_cldr/tokenizers/composite_token.rb,
lib/twitter_cldr/parsers/segmentation_parser.rb,
lib/twitter_cldr/collation/trie_with_fallback.rb,
lib/twitter_cldr/formatters/numbers/rbnf/rule.rb,
lib/twitter_cldr/localized/localized_datetime.rb,
lib/twitter_cldr/localized/localized_timespan.rb,
lib/twitter_cldr/parsers/unicode_regex_parser.rb,
lib/twitter_cldr/resources/bidi_test_importer.rb,
lib/twitter_cldr/resources/rbnf_test_importer.rb,
lib/twitter_cldr/resources/tailoring_importer.rb,
lib/twitter_cldr/shared/postal_code_generator.rb,
lib/twitter_cldr/tokenizers/pattern_tokenizer.rb,
lib/twitter_cldr/data_readers/date_data_reader.rb,
lib/twitter_cldr/data_readers/time_data_reader.rb,
lib/twitter_cldr/parsers/unicode_regex/literal.rb,
lib/twitter_cldr/formatters/numbers/rbnf/plural.rb,
lib/twitter_cldr/resources/phone_codes_importer.rb,
lib/twitter_cldr/resources/regexp_ast_generator.rb,
lib/twitter_cldr/shared/territories_containment.rb,
lib/twitter_cldr/data_readers/number_data_reader.rb,
lib/twitter_cldr/formatters/numbers/helpers/base.rb,
lib/twitter_cldr/parsers/unicode_regex/component.rb,
lib/twitter_cldr/resources/postal_codes_importer.rb,
lib/twitter_cldr/resources/unicode_data_importer.rb,
lib/twitter_cldr/formatters/numbers/rbnf/rule_set.rb,
lib/twitter_cldr/resources/collation_tries_dumper.rb,
lib/twitter_cldr/data_readers/calendar_data_reader.rb,
lib/twitter_cldr/data_readers/timespan_data_reader.rb,
lib/twitter_cldr/resources/language_codes_importer.rb,
lib/twitter_cldr/tokenizers/numbers/rbnf_tokenizer.rb,
lib/twitter_cldr/data_readers/date_time_data_reader.rb,
lib/twitter_cldr/formatters/numbers/helpers/integer.rb,
lib/twitter_cldr/formatters/numbers/rbnf/formatters.rb,
lib/twitter_cldr/formatters/numbers/rbnf/rule_group.rb,
lib/twitter_cldr/formatters/numbers/helpers/fraction.rb,
lib/twitter_cldr/formatters/numbers/number_formatter.rb,
lib/twitter_cldr/formatters/numbers/rbnf/rule_parser.rb,
lib/twitter_cldr/formatters/plurals/plural_formatter.rb,
lib/twitter_cldr/parsers/unicode_regex/character_set.rb,
lib/twitter_cldr/tokenizers/calendars/date_tokenizer.rb,
lib/twitter_cldr/tokenizers/calendars/time_tokenizer.rb,
lib/twitter_cldr/tokenizers/numbers/number_tokenizer.rb,
lib/twitter_cldr/formatters/numbers/decimal_formatter.rb,
lib/twitter_cldr/formatters/numbers/percent_formatter.rb,
lib/twitter_cldr/formatters/numbers/rbnf/substitution.rb,
lib/twitter_cldr/parsers/unicode_regex/unicode_string.rb,
lib/twitter_cldr/resources/casefolder_class_generator.rb,
lib/twitter_cldr/resources/locales_resources_importer.rb,
lib/twitter_cldr/collation/implicit_collation_elements.rb,
lib/twitter_cldr/formatters/numbers/currency_formatter.rb,
lib/twitter_cldr/parsers/unicode_regex/character_class.rb,
lib/twitter_cldr/parsers/unicode_regex/character_range.rb,
lib/twitter_cldr/resources/unicode_properties_importer.rb,
lib/twitter_cldr/formatters/calendars/timespan_formatter.rb,
lib/twitter_cldr/tokenizers/calendars/timespan_tokenizer.rb,
lib/twitter_cldr/formatters/calendars/date_time_formatter.rb,
lib/twitter_cldr/resources/canonical_compositions_updater.rb,
lib/twitter_cldr/tokenizers/calendars/date_time_tokenizer.rb,
lib/twitter_cldr/resources/composition_exclusions_importer.rb,
lib/twitter_cldr/resources/uli/segment_exceptions_importer.rb,
lib/twitter_cldr/resources/custom_locales_resources_importer.rb,
lib/twitter_cldr/data_readers/additional_date_format_selector.rb,
lib/twitter_cldr/resources/normalization_quick_check_importer.rb,
lib/twitter_cldr/tokenizers/segmentation/segmentation_tokenizer.rb,
lib/twitter_cldr/tokenizers/unicode_regex/unicode_regex_tokenizer.rb,
lib/twitter_cldr/formatters/numbers/abbreviated/long_decimal_formatter.rb,
lib/twitter_cldr/formatters/numbers/abbreviated/short_decimal_formatter.rb,
lib/twitter_cldr/formatters/numbers/abbreviated/abbreviated_number_formatter.rb
Overview
Defined Under Namespace
Modules: Collation, DataReaders, Formatters, Localized, Normalization, Parsers, Resources, Shared, Tokenizers, Utils
Constant Summary
collapse
- CLDR_VERSION =
version of CLDR that was used for generating YAML files in the resources/ directory
'26.0'
- DEFAULT_LOCALE =
:en
- DEFAULT_CALENDAR_TYPE =
:gregorian
- RESOURCES_DIR =
File.join(File.dirname(File.dirname(File.expand_path(__FILE__))), 'resources')
{
:msa => :ms,
:'zh-cn' => :zh,
:'zh-tw' => :'zh-Hant',
:no => :nb
}
- CLDR_LOCALE_MAP =
maps cldr locales to twitter locales
TWITTER_LOCALE_MAP.invert
- VERSION =
"3.1.1"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.disable_custom_locale_resources ⇒ Object
Returns the value of attribute disable_custom_locale_resources.
60
61
62
|
# File 'lib/twitter_cldr.rb', line 60
def disable_custom_locale_resources
@disable_custom_locale_resources
end
|
.locale ⇒ Object
66
67
68
69
70
71
72
|
# File 'lib/twitter_cldr.rb', line 66
def locale
locale = supported_locale?(@locale) ? @locale : find_fallback
locale = DEFAULT_LOCALE if locale.to_s.empty?
(supported_locale?(locale) ? locale : DEFAULT_LOCALE).to_sym
end
|
Class Method Details
.convert_locale(locale) ⇒ Object
107
108
109
110
111
|
# File 'lib/twitter_cldr.rb', line 107
def convert_locale(locale)
locale = locale.to_sym if locale.respond_to?(:to_sym)
locale = lowercase_locales_map.fetch(locale, locale)
TWITTER_LOCALE_MAP.fetch(locale, locale)
end
|
.locale_fallbacks ⇒ Object
103
104
105
|
# File 'lib/twitter_cldr.rb', line 103
def locale_fallbacks
@locale_fallbacks ||= []
end
|
.register_locale_fallback(proc_or_locale) ⇒ Object
87
88
89
90
91
92
93
94
95
|
# File 'lib/twitter_cldr.rb', line 87
def register_locale_fallback(proc_or_locale)
case proc_or_locale
when Symbol, String, Proc
locale_fallbacks << proc_or_locale
else
raise "A locale fallback must be of type String, Symbol, or Proc."
end
nil
end
|
.reset_locale_fallbacks ⇒ Object
.supported_locale?(locale) ⇒ Boolean
122
123
124
|
# File 'lib/twitter_cldr.rb', line 122
def supported_locale?(locale)
!!locale && supported_locales.include?(convert_locale(locale))
end
|
.supported_locales ⇒ Object
118
119
120
|
# File 'lib/twitter_cldr.rb', line 118
def supported_locales
@supported_locales ||= Dir.glob(File.join(RESOURCES_DIR, 'locales', '*')).map { |f| File.basename(f).to_sym }
end
|
113
114
115
116
|
# File 'lib/twitter_cldr.rb', line 113
def (locale)
locale = locale.to_sym
CLDR_LOCALE_MAP.fetch(locale, locale)
end
|
.with_locale(locale) ⇒ Object
74
75
76
77
78
79
80
81
82
83
84
85
|
# File 'lib/twitter_cldr.rb', line 74
def with_locale(locale)
raise "Unsupported locale" unless supported_locale?(locale)
begin
old_locale = @locale
@locale = locale
result = yield
ensure
@locale = old_locale
result
end
end
|