├── .gitattributes ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── bug_report_intl_translation.md │ ├── feature_request.md │ ├── intl4x.md │ ├── missing-locale.md │ └── wrong-locale-data.md ├── dependabot.yaml ├── labeler.yml └── workflows │ ├── conformance.yml │ ├── health.yaml │ ├── intl.yml │ ├── intl4x.yml │ ├── intl4x_artifacts.yml │ ├── intl_translation.yml │ ├── messages.yml │ ├── messages_builder.yml │ ├── messages_serializer.yml │ ├── messages_shrinker.yml │ ├── post_summaries.yaml │ ├── publish.yaml │ └── pull_request_label.yml ├── .gitignore ├── .gitmodules ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── analysis_options.yaml ├── pkgs ├── intl │ ├── AUTHORS │ ├── CHANGELOG.md │ ├── LICENSE │ ├── PATENTS │ ├── README.md │ ├── analysis_options.yaml │ ├── benchmark │ │ └── string_char_conversion_benchmark.dart │ ├── example │ │ ├── .gitignore │ │ ├── analysis_options.yaml │ │ ├── bin │ │ │ └── example.dart │ │ └── pubspec.yaml │ ├── lib │ │ ├── date_symbol_data_custom.dart │ │ ├── date_symbol_data_file.dart │ │ ├── date_symbol_data_http_request.dart │ │ ├── date_symbol_data_local.dart │ │ ├── date_symbols.dart │ │ ├── date_time_patterns.dart │ │ ├── find_locale.dart │ │ ├── intl.dart │ │ ├── intl_browser.dart │ │ ├── intl_default.dart │ │ ├── intl_standalone.dart │ │ ├── locale.dart │ │ ├── message_format.dart │ │ ├── message_lookup_by_library.dart │ │ ├── number_symbols.dart │ │ ├── number_symbols_data.dart │ │ └── src │ │ │ ├── data │ │ │ └── dates │ │ │ │ ├── README.txt │ │ │ │ ├── locale_list.dart │ │ │ │ ├── patterns │ │ │ │ ├── af.json │ │ │ │ ├── am.json │ │ │ │ ├── ar.json │ │ │ │ ├── ar_DZ.json │ │ │ │ ├── ar_EG.json │ │ │ │ ├── as.json │ │ │ │ ├── az.json │ │ │ │ ├── be.json │ │ │ │ ├── bg.json │ │ │ │ ├── bm.json │ │ │ │ ├── bn.json │ │ │ │ ├── br.json │ │ │ │ ├── bs.json │ │ │ │ ├── ca.json │ │ │ │ ├── chr.json │ │ │ │ ├── cs.json │ │ │ │ ├── cy.json │ │ │ │ ├── da.json │ │ │ │ ├── de.json │ │ │ │ ├── de_AT.json │ │ │ │ ├── de_CH.json │ │ │ │ ├── el.json │ │ │ │ ├── en.json │ │ │ │ ├── en_AU.json │ │ │ │ ├── en_CA.json │ │ │ │ ├── en_GB.json │ │ │ │ ├── en_IE.json │ │ │ │ ├── en_IN.json │ │ │ │ ├── en_ISO.json │ │ │ │ ├── en_MY.json │ │ │ │ ├── en_NZ.json │ │ │ │ ├── en_SG.json │ │ │ │ ├── en_US.json │ │ │ │ ├── en_ZA.json │ │ │ │ ├── es.json │ │ │ │ ├── es_419.json │ │ │ │ ├── es_ES.json │ │ │ │ ├── es_MX.json │ │ │ │ ├── es_US.json │ │ │ │ ├── et.json │ │ │ │ ├── eu.json │ │ │ │ ├── fa.json │ │ │ │ ├── fi.json │ │ │ │ ├── fil.json │ │ │ │ ├── fr.json │ │ │ │ ├── fr_CA.json │ │ │ │ ├── fr_CH.json │ │ │ │ ├── fur.json │ │ │ │ ├── ga.json │ │ │ │ ├── gl.json │ │ │ │ ├── gsw.json │ │ │ │ ├── gu.json │ │ │ │ ├── haw.json │ │ │ │ ├── he.json │ │ │ │ ├── hi.json │ │ │ │ ├── hr.json │ │ │ │ ├── hu.json │ │ │ │ ├── hy.json │ │ │ │ ├── id.json │ │ │ │ ├── in.json │ │ │ │ ├── is.json │ │ │ │ ├── it.json │ │ │ │ ├── it_CH.json │ │ │ │ ├── iw.json │ │ │ │ ├── ja.json │ │ │ │ ├── ka.json │ │ │ │ ├── kk.json │ │ │ │ ├── km.json │ │ │ │ ├── kn.json │ │ │ │ ├── ko.json │ │ │ │ ├── ky.json │ │ │ │ ├── ln.json │ │ │ │ ├── lo.json │ │ │ │ ├── lt.json │ │ │ │ ├── lv.json │ │ │ │ ├── mg.json │ │ │ │ ├── mk.json │ │ │ │ ├── ml.json │ │ │ │ ├── mn.json │ │ │ │ ├── mo.json │ │ │ │ ├── mr.json │ │ │ │ ├── ms.json │ │ │ │ ├── mt.json │ │ │ │ ├── my.json │ │ │ │ ├── nb.json │ │ │ │ ├── ne.json │ │ │ │ ├── nl.json │ │ │ │ ├── no.json │ │ │ │ ├── no_NO.json │ │ │ │ ├── nyn.json │ │ │ │ ├── or.json │ │ │ │ ├── pa.json │ │ │ │ ├── pl.json │ │ │ │ ├── ps.json │ │ │ │ ├── pt.json │ │ │ │ ├── pt_BR.json │ │ │ │ ├── pt_PT.json │ │ │ │ ├── ro.json │ │ │ │ ├── ru.json │ │ │ │ ├── sh.json │ │ │ │ ├── si.json │ │ │ │ ├── sk.json │ │ │ │ ├── sl.json │ │ │ │ ├── sq.json │ │ │ │ ├── sr.json │ │ │ │ ├── sr_Latn.json │ │ │ │ ├── sv.json │ │ │ │ ├── sw.json │ │ │ │ ├── ta.json │ │ │ │ ├── te.json │ │ │ │ ├── th.json │ │ │ │ ├── tl.json │ │ │ │ ├── tr.json │ │ │ │ ├── uk.json │ │ │ │ ├── ur.json │ │ │ │ ├── uz.json │ │ │ │ ├── vi.json │ │ │ │ ├── zh.json │ │ │ │ ├── zh_CN.json │ │ │ │ ├── zh_HK.json │ │ │ │ ├── zh_TW.json │ │ │ │ └── zu.json │ │ │ │ └── symbols │ │ │ │ ├── af.json │ │ │ │ ├── am.json │ │ │ │ ├── ar.json │ │ │ │ ├── ar_DZ.json │ │ │ │ ├── ar_EG.json │ │ │ │ ├── as.json │ │ │ │ ├── az.json │ │ │ │ ├── be.json │ │ │ │ ├── bg.json │ │ │ │ ├── bm.json │ │ │ │ ├── bn.json │ │ │ │ ├── br.json │ │ │ │ ├── bs.json │ │ │ │ ├── ca.json │ │ │ │ ├── chr.json │ │ │ │ ├── cs.json │ │ │ │ ├── cy.json │ │ │ │ ├── da.json │ │ │ │ ├── de.json │ │ │ │ ├── de_AT.json │ │ │ │ ├── de_CH.json │ │ │ │ ├── el.json │ │ │ │ ├── en.json │ │ │ │ ├── en_AU.json │ │ │ │ ├── en_CA.json │ │ │ │ ├── en_GB.json │ │ │ │ ├── en_IE.json │ │ │ │ ├── en_IN.json │ │ │ │ ├── en_ISO.json │ │ │ │ ├── en_MY.json │ │ │ │ ├── en_NZ.json │ │ │ │ ├── en_SG.json │ │ │ │ ├── en_US.json │ │ │ │ ├── en_ZA.json │ │ │ │ ├── es.json │ │ │ │ ├── es_419.json │ │ │ │ ├── es_ES.json │ │ │ │ ├── es_MX.json │ │ │ │ ├── es_US.json │ │ │ │ ├── et.json │ │ │ │ ├── eu.json │ │ │ │ ├── fa.json │ │ │ │ ├── fi.json │ │ │ │ ├── fil.json │ │ │ │ ├── fr.json │ │ │ │ ├── fr_CA.json │ │ │ │ ├── fr_CH.json │ │ │ │ ├── fur.json │ │ │ │ ├── ga.json │ │ │ │ ├── gl.json │ │ │ │ ├── gsw.json │ │ │ │ ├── gu.json │ │ │ │ ├── haw.json │ │ │ │ ├── he.json │ │ │ │ ├── hi.json │ │ │ │ ├── hr.json │ │ │ │ ├── hu.json │ │ │ │ ├── hy.json │ │ │ │ ├── id.json │ │ │ │ ├── in.json │ │ │ │ ├── is.json │ │ │ │ ├── it.json │ │ │ │ ├── it_CH.json │ │ │ │ ├── iw.json │ │ │ │ ├── ja.json │ │ │ │ ├── ka.json │ │ │ │ ├── kk.json │ │ │ │ ├── km.json │ │ │ │ ├── kn.json │ │ │ │ ├── ko.json │ │ │ │ ├── ky.json │ │ │ │ ├── ln.json │ │ │ │ ├── lo.json │ │ │ │ ├── lt.json │ │ │ │ ├── lv.json │ │ │ │ ├── mg.json │ │ │ │ ├── mk.json │ │ │ │ ├── ml.json │ │ │ │ ├── mn.json │ │ │ │ ├── mr.json │ │ │ │ ├── ms.json │ │ │ │ ├── mt.json │ │ │ │ ├── my.json │ │ │ │ ├── nb.json │ │ │ │ ├── ne.json │ │ │ │ ├── nl.json │ │ │ │ ├── no.json │ │ │ │ ├── no_NO.json │ │ │ │ ├── nyn.json │ │ │ │ ├── or.json │ │ │ │ ├── pa.json │ │ │ │ ├── pl.json │ │ │ │ ├── ps.json │ │ │ │ ├── pt.json │ │ │ │ ├── pt_BR.json │ │ │ │ ├── pt_PT.json │ │ │ │ ├── ro.json │ │ │ │ ├── ru.json │ │ │ │ ├── si.json │ │ │ │ ├── sk.json │ │ │ │ ├── sl.json │ │ │ │ ├── sq.json │ │ │ │ ├── sr.json │ │ │ │ ├── sr_Latn.json │ │ │ │ ├── sv.json │ │ │ │ ├── sw.json │ │ │ │ ├── ta.json │ │ │ │ ├── te.json │ │ │ │ ├── th.json │ │ │ │ ├── tl.json │ │ │ │ ├── tr.json │ │ │ │ ├── uk.json │ │ │ │ ├── ur.json │ │ │ │ ├── uz.json │ │ │ │ ├── vi.json │ │ │ │ ├── zh.json │ │ │ │ ├── zh_CN.json │ │ │ │ ├── zh_HK.json │ │ │ │ ├── zh_TW.json │ │ │ │ └── zu.json │ │ │ ├── date_format_internal.dart │ │ │ ├── file_data_reader.dart │ │ │ ├── global_state.dart │ │ │ ├── http_request_data_reader.dart │ │ │ ├── intl │ │ │ ├── bidi.dart │ │ │ ├── bidi_formatter.dart │ │ │ ├── compact_number_format.dart │ │ │ ├── constants.dart │ │ │ ├── date_builder.dart │ │ │ ├── date_computation.dart │ │ │ ├── date_format.dart │ │ │ ├── date_format_field.dart │ │ │ ├── micro_money.dart │ │ │ ├── number_format.dart │ │ │ ├── number_format_parser.dart │ │ │ ├── number_parser.dart │ │ │ ├── number_parser_base.dart │ │ │ ├── regexp.dart │ │ │ ├── string_stack.dart │ │ │ └── text_direction.dart │ │ │ ├── intl_default.dart │ │ │ ├── intl_helpers.dart │ │ │ ├── lazy_locale_data.dart │ │ │ ├── locale.dart │ │ │ ├── locale │ │ │ ├── locale_deprecations.dart │ │ │ ├── locale_extensions.dart │ │ │ ├── locale_implementation.dart │ │ │ └── locale_parser.dart │ │ │ ├── plural_rules.dart │ │ │ └── web.dart │ ├── pubspec.yaml │ ├── test │ │ ├── bidi_format_test.dart │ │ ├── bidi_utils_test.dart │ │ ├── brazil_timezone_test.dart │ │ ├── compact_number_test_data.dart │ │ ├── data_directory.dart │ │ ├── date_format_flake_test.dart │ │ ├── date_time_format_custom_test.dart │ │ ├── date_time_format_file_even_test.dart │ │ ├── date_time_format_file_odd_test.dart │ │ ├── date_time_format_local_even_test.dart │ │ ├── date_time_format_local_odd_test.dart │ │ ├── date_time_format_test_core.dart │ │ ├── date_time_format_test_data.dart │ │ ├── date_time_format_test_stub.dart │ │ ├── date_time_format_uninitialized_test.dart │ │ ├── date_time_loose_parsing_test.dart │ │ ├── date_time_strict_test.dart │ │ ├── england_timezone_test.dart │ │ ├── find_locale_test.dart │ │ ├── fixnum_test.dart │ │ ├── gmt_timezone_test.dart │ │ ├── intl_test.dart │ │ ├── locale_test.dart │ │ ├── locale_test_data.dart │ │ ├── message_format_test.dart │ │ ├── message_lookup_by_library.dart │ │ ├── more_compact_number_test_data.dart │ │ ├── number_closure_test.dart │ │ ├── number_format_compact_icu_test.dart │ │ ├── number_format_compact_test.dart │ │ ├── number_format_compact_web_test.dart │ │ ├── number_format_test.dart │ │ ├── number_format_test_core.dart │ │ ├── number_format_vm_test.dart │ │ ├── number_format_web_test.dart │ │ ├── number_test_data.dart │ │ ├── plural_test.dart │ │ ├── scorbeysund_timezone_test.dart │ │ ├── timezone_local_even_test_helper.dart │ │ ├── timezone_test_core.dart │ │ └── utc_timezone_test.dart │ └── tool │ │ └── generate_locale_data_files.dart ├── intl4x │ ├── AUTHORS │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── dart_test.yaml │ ├── example │ │ ├── .gitignore │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── pubspec.yaml │ │ └── web │ │ │ ├── index.html │ │ │ ├── main.dart │ │ │ └── styles.css │ ├── example_native │ │ ├── .gitignore │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin │ │ │ └── example_native.dart │ │ └── pubspec.yaml │ ├── hook │ │ ├── README.md │ │ ├── build.dart │ │ └── link.dart │ ├── lib │ │ ├── collation.dart │ │ ├── datetime_format.dart │ │ ├── display_names.dart │ │ ├── ecma_policy.dart │ │ ├── intl4x.dart │ │ ├── list_format.dart │ │ ├── number_format.dart │ │ ├── plural_rules.dart │ │ └── src │ │ │ ├── bindings │ │ │ ├── AnyCalendarKind.g.dart │ │ │ ├── Bcp47ToIanaMapper.g.dart │ │ │ ├── Bidi.g.dart │ │ │ ├── BidiDirection.g.dart │ │ │ ├── BidiInfo.g.dart │ │ │ ├── BidiParagraph.g.dart │ │ │ ├── Calendar.g.dart │ │ │ ├── CanonicalCombiningClassMap.g.dart │ │ │ ├── CanonicalComposition.g.dart │ │ │ ├── CanonicalDecomposition.g.dart │ │ │ ├── CaseMapCloser.g.dart │ │ │ ├── CaseMapper.g.dart │ │ │ ├── CodePointMapData16.g.dart │ │ │ ├── CodePointMapData8.g.dart │ │ │ ├── CodePointRangeIterator.g.dart │ │ │ ├── CodePointRangeIteratorResult.g.dart │ │ │ ├── CodePointSetBuilder.g.dart │ │ │ ├── CodePointSetData.g.dart │ │ │ ├── Collator.g.dart │ │ │ ├── CollatorAlternateHandling.g.dart │ │ │ ├── CollatorBackwardSecondLevel.g.dart │ │ │ ├── CollatorCaseFirst.g.dart │ │ │ ├── CollatorCaseLevel.g.dart │ │ │ ├── CollatorMaxVariable.g.dart │ │ │ ├── CollatorNumeric.g.dart │ │ │ ├── CollatorOptions.g.dart │ │ │ ├── CollatorStrength.g.dart │ │ │ ├── ComposingNormalizer.g.dart │ │ │ ├── CustomTimeZone.g.dart │ │ │ ├── DataProvider.g.dart │ │ │ ├── Date.g.dart │ │ │ ├── DateFormatter.g.dart │ │ │ ├── DateLength.g.dart │ │ │ ├── DateTime.g.dart │ │ │ ├── DateTimeFormatter.g.dart │ │ │ ├── Decomposed.g.dart │ │ │ ├── DecomposingNormalizer.g.dart │ │ │ ├── DisplayNamesFallback.g.dart │ │ │ ├── DisplayNamesOptions.g.dart │ │ │ ├── DisplayNamesStyle.g.dart │ │ │ ├── Error.g.dart │ │ │ ├── FixedDecimal.g.dart │ │ │ ├── FixedDecimalFormatter.g.dart │ │ │ ├── FixedDecimalGroupingStrategy.g.dart │ │ │ ├── FixedDecimalSign.g.dart │ │ │ ├── FixedDecimalSignDisplay.g.dart │ │ │ ├── GeneralCategoryNameToMaskMapper.g.dart │ │ │ ├── GraphemeClusterBreakIteratorLatin1.g.dart │ │ │ ├── GraphemeClusterBreakIteratorUtf16.g.dart │ │ │ ├── GraphemeClusterBreakIteratorUtf8.g.dart │ │ │ ├── GraphemeClusterSegmenter.g.dart │ │ │ ├── GregorianDateFormatter.g.dart │ │ │ ├── GregorianDateTimeFormatter.g.dart │ │ │ ├── GregorianZonedDateTimeFormatter.g.dart │ │ │ ├── IanaToBcp47Mapper.g.dart │ │ │ ├── IsoDate.g.dart │ │ │ ├── IsoDateTime.g.dart │ │ │ ├── IsoTimeZoneFormat.g.dart │ │ │ ├── IsoTimeZoneMinuteDisplay.g.dart │ │ │ ├── IsoTimeZoneOptions.g.dart │ │ │ ├── IsoTimeZoneSecondDisplay.g.dart │ │ │ ├── IsoWeekday.g.dart │ │ │ ├── LanguageDisplay.g.dart │ │ │ ├── LeadingAdjustment.g.dart │ │ │ ├── LineBreakIteratorLatin1.g.dart │ │ │ ├── LineBreakIteratorUtf16.g.dart │ │ │ ├── LineBreakIteratorUtf8.g.dart │ │ │ ├── LineBreakOptions.g.dart │ │ │ ├── LineBreakStrictness.g.dart │ │ │ ├── LineBreakWordOption.g.dart │ │ │ ├── LineSegmenter.g.dart │ │ │ ├── ListFormatter.g.dart │ │ │ ├── ListLength.g.dart │ │ │ ├── Locale.g.dart │ │ │ ├── LocaleCanonicalizer.g.dart │ │ │ ├── LocaleDirection.g.dart │ │ │ ├── LocaleDirectionality.g.dart │ │ │ ├── LocaleDisplayNamesFormatter.g.dart │ │ │ ├── LocaleExpander.g.dart │ │ │ ├── LocaleFallbackConfig.g.dart │ │ │ ├── LocaleFallbackIterator.g.dart │ │ │ ├── LocaleFallbackPriority.g.dart │ │ │ ├── LocaleFallbackSupplement.g.dart │ │ │ ├── LocaleFallbacker.g.dart │ │ │ ├── LocaleFallbackerWithConfig.g.dart │ │ │ ├── Logger.g.dart │ │ │ ├── MeasureUnit.g.dart │ │ │ ├── MeasureUnitParser.g.dart │ │ │ ├── MetazoneCalculator.g.dart │ │ │ ├── PluralCategories.g.dart │ │ │ ├── PluralCategory.g.dart │ │ │ ├── PluralOperands.g.dart │ │ │ ├── PluralRules.g.dart │ │ │ ├── PropertyValueNameToEnumMapper.g.dart │ │ │ ├── RegionDisplayNames.g.dart │ │ │ ├── ReorderedIndexMap.g.dart │ │ │ ├── ResolvedCollatorOptions.g.dart │ │ │ ├── RoundingIncrement.g.dart │ │ │ ├── ScriptExtensionsSet.g.dart │ │ │ ├── ScriptWithExtensions.g.dart │ │ │ ├── ScriptWithExtensionsBorrowed.g.dart │ │ │ ├── SegmenterWordType.g.dart │ │ │ ├── SentenceBreakIteratorLatin1.g.dart │ │ │ ├── SentenceBreakIteratorUtf16.g.dart │ │ │ ├── SentenceBreakIteratorUtf8.g.dart │ │ │ ├── SentenceSegmenter.g.dart │ │ │ ├── Time.g.dart │ │ │ ├── TimeFormatter.g.dart │ │ │ ├── TimeLength.g.dart │ │ │ ├── TimeZoneFormatter.g.dart │ │ │ ├── TimeZoneIdMapper.g.dart │ │ │ ├── TimeZoneIdMapperWithFastCanonicalization.g.dart │ │ │ ├── TitlecaseMapper.g.dart │ │ │ ├── TitlecaseOptions.g.dart │ │ │ ├── TrailingCase.g.dart │ │ │ ├── TransformResult.g.dart │ │ │ ├── UnicodeSetData.g.dart │ │ │ ├── UnitsConverter.g.dart │ │ │ ├── UnitsConverterFactory.g.dart │ │ │ ├── WeekCalculator.g.dart │ │ │ ├── WeekOf.g.dart │ │ │ ├── WeekRelativeUnit.g.dart │ │ │ ├── WeekendContainsDay.g.dart │ │ │ ├── WordBreakIteratorLatin1.g.dart │ │ │ ├── WordBreakIteratorUtf16.g.dart │ │ │ ├── WordBreakIteratorUtf8.g.dart │ │ │ ├── WordSegmenter.g.dart │ │ │ ├── ZonedDateTimeFormatter.g.dart │ │ │ └── lib.g.dart │ │ │ ├── collation │ │ │ ├── collation.dart │ │ │ ├── collation_4x.dart │ │ │ ├── collation_ecma.dart │ │ │ ├── collation_impl.dart │ │ │ ├── collation_options.dart │ │ │ ├── collation_stub.dart │ │ │ └── collation_stub_4x.dart │ │ │ ├── data.dart │ │ │ ├── data_4x.dart │ │ │ ├── datetime_format │ │ │ ├── datetime_format.dart │ │ │ ├── datetime_format_4x.dart │ │ │ ├── datetime_format_ecma.dart │ │ │ ├── datetime_format_impl.dart │ │ │ ├── datetime_format_options.dart │ │ │ ├── datetime_format_stub.dart │ │ │ └── datetime_format_stub_4x.dart │ │ │ ├── display_names │ │ │ ├── display_names.dart │ │ │ ├── display_names_4x.dart │ │ │ ├── display_names_ecma.dart │ │ │ ├── display_names_impl.dart │ │ │ ├── display_names_options.dart │ │ │ ├── display_names_stub.dart │ │ │ └── display_names_stub_4x.dart │ │ │ ├── ecma │ │ │ ├── ecma_policy.dart │ │ │ ├── ecma_stub.dart │ │ │ └── ecma_web.dart │ │ │ ├── find_locale.dart │ │ │ ├── hook_helpers │ │ │ ├── build_libs.g.dart │ │ │ ├── build_options.dart │ │ │ ├── hashes.dart │ │ │ ├── shared.dart │ │ │ └── version.dart │ │ │ ├── intl_browser.dart │ │ │ ├── intl_standalone.dart │ │ │ ├── list_format │ │ │ ├── list_format.dart │ │ │ ├── list_format_4x.dart │ │ │ ├── list_format_ecma.dart │ │ │ ├── list_format_impl.dart │ │ │ ├── list_format_options.dart │ │ │ ├── list_format_stub.dart │ │ │ └── list_format_stub_4x.dart │ │ │ ├── locale │ │ │ ├── locale.dart │ │ │ ├── locale_4x.dart │ │ │ ├── locale_ecma.dart │ │ │ └── locale_native.dart │ │ │ ├── number_format │ │ │ ├── number_format.dart │ │ │ ├── number_format_4x.dart │ │ │ ├── number_format_ecma.dart │ │ │ ├── number_format_impl.dart │ │ │ ├── number_format_options.dart │ │ │ ├── number_format_stub.dart │ │ │ └── number_format_stub_4x.dart │ │ │ ├── options.dart │ │ │ ├── plural_rules │ │ │ ├── plural_rules.dart │ │ │ ├── plural_rules_4x.dart │ │ │ ├── plural_rules_ecma.dart │ │ │ ├── plural_rules_impl.dart │ │ │ ├── plural_rules_options.dart │ │ │ ├── plural_rules_stub.dart │ │ │ └── plural_rules_stub_4x.dart │ │ │ ├── test_checker.dart │ │ │ └── utils.dart │ ├── pubspec.yaml │ ├── test │ │ ├── collation_test.dart │ │ ├── datetime_format_test.dart │ │ ├── display_names_test.dart │ │ ├── ecma │ │ │ ├── display_names_test.dart │ │ │ ├── ecma_policy_test_native_test.dart │ │ │ ├── ecma_policy_test_web_test.dart │ │ │ └── numberformat_test.dart │ │ ├── list_format_test.dart │ │ ├── locale │ │ │ └── locale_test.dart │ │ ├── numberformat_test.dart │ │ ├── plural_rules_test.dart │ │ ├── tools │ │ │ ├── conformance_config.json │ │ │ └── conformance_parser.dart │ │ └── utils.dart │ └── tool │ │ ├── build_libs.g.dart │ │ ├── regenerate_hashes.dart │ │ └── write_option_file.dart ├── intl_translation │ ├── .status │ ├── AUTHORS │ ├── CHANGELOG.md │ ├── LICENSE │ ├── PATENTS │ ├── README.md │ ├── analysis_options.yaml │ ├── bin │ │ ├── extract_to_arb.dart │ │ ├── generate_from_arb.dart │ │ ├── make_examples_const.dart │ │ └── rewrite_intl_messages.dart │ ├── example │ │ ├── Makefile │ │ ├── README.md │ │ ├── lib │ │ │ ├── example_messages.dart │ │ │ ├── generated │ │ │ │ ├── messages_all.dart │ │ │ │ ├── messages_all_locales.dart │ │ │ │ ├── messages_de.dart │ │ │ │ ├── messages_de_CH.dart │ │ │ │ ├── messages_en.dart │ │ │ │ ├── messages_es.dart │ │ │ │ └── messages_iw.dart │ │ │ └── messages │ │ │ │ ├── material_de.arb │ │ │ │ ├── material_de_CH.arb │ │ │ │ ├── material_en.arb │ │ │ │ ├── material_es.arb │ │ │ │ └── material_iw.arb │ │ └── pubspec.yaml │ ├── lib │ │ ├── extract_messages.dart │ │ ├── generate_localized.dart │ │ ├── src │ │ │ ├── arb_generation.dart │ │ │ ├── directory_utils.dart │ │ │ ├── language_version.dart │ │ │ ├── message_parser.dart │ │ │ ├── message_rewriter.dart │ │ │ └── messages │ │ │ │ ├── complex_message.dart │ │ │ │ ├── composite_message.dart │ │ │ │ ├── literal_string_message.dart │ │ │ │ ├── main_message.dart │ │ │ │ ├── message.dart │ │ │ │ ├── message_extraction_exception.dart │ │ │ │ ├── pair_message.dart │ │ │ │ ├── submessages │ │ │ │ ├── gender.dart │ │ │ │ ├── plural.dart │ │ │ │ ├── select.dart │ │ │ │ └── submessage.dart │ │ │ │ └── variable_substitution_message.dart │ │ └── visitors │ │ │ ├── interpolation_visitor.dart │ │ │ ├── message_finding_visitor.dart │ │ │ └── plural_gender_visitor.dart │ ├── pubspec.yaml │ └── test │ │ ├── data_directory.dart │ │ ├── generate_localized │ │ ├── README.txt │ │ ├── app_translation_getfromthelocale.arb │ │ ├── code_map_messages_all.dart │ │ ├── code_map_messages_all_locales.dart │ │ ├── code_map_messages_fr.dart │ │ ├── code_map_test.dart │ │ └── regenerate.sh │ │ ├── intl_message_test.dart │ │ ├── message_extraction │ │ ├── arb_list.txt │ │ ├── dart_list.txt │ │ ├── debug.sh │ │ ├── embedded_plural_text_after.dart │ │ ├── embedded_plural_text_after_test.dart │ │ ├── embedded_plural_text_before.dart │ │ ├── embedded_plural_text_before_test.dart │ │ ├── examples_parsing_test.dart │ │ ├── failed_extraction_test.dart │ │ ├── find_messages_test.dart │ │ ├── foo_messages_all.dart │ │ ├── make_hardcoded_translation.dart │ │ ├── message_extraction_flutter_test.dart │ │ ├── message_extraction_json_test.dart │ │ ├── message_extraction_no_deferred_test.dart │ │ ├── message_extraction_test.dart │ │ ├── mock_flutter │ │ │ ├── foo_messages_de_DE.dart │ │ │ ├── foo_messages_fr.dart │ │ │ └── services.dart │ │ ├── part_of_sample_with_messages.dart │ │ ├── print_to_list.dart │ │ ├── really_fail_extraction_test.dart │ │ ├── run_and_verify.dart │ │ ├── sample_with_messages.dart │ │ └── verify_messages.dart │ │ ├── message_parser_test.dart │ │ └── two_components │ │ ├── README.txt │ │ ├── app_messages_all.dart │ │ ├── app_messages_all_locales.dart │ │ ├── app_messages_fr.dart │ │ ├── app_translation_getfromthelocale.arb │ │ ├── component.dart │ │ ├── component_messages_all.dart │ │ ├── component_messages_all_locales.dart │ │ ├── component_messages_fr_xyz123.dart │ │ ├── component_translation_fr.arb │ │ ├── initialize_child_test.dart │ │ ├── main_app_test.dart │ │ └── regenerate.sh ├── messages │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── bin │ │ └── messages.dart │ ├── example │ │ ├── .gitignore │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── assets │ │ │ ├── l10n │ │ │ │ ├── testarb.arb │ │ │ │ ├── testarb_de.arb │ │ │ │ ├── testarbctx2.arb │ │ │ │ └── testarbctx2_fr.arb │ │ │ ├── testarb.arb.json │ │ │ ├── testarb_de.arb.json │ │ │ ├── testarbctx2.arb.json │ │ │ └── testarbctx2_fr.arb.json │ │ ├── bin │ │ │ └── example.dart │ │ ├── lib │ │ │ ├── AboutPage_en_empty.g.dart │ │ │ ├── AboutPage_fr_empty.g.dart │ │ │ ├── AboutPage_messages.g.dart │ │ │ ├── HomePage_de_empty.g.dart │ │ │ ├── HomePage_en_empty.g.dart │ │ │ └── HomePage_messages.g.dart │ │ └── pubspec.yaml │ ├── examples_flutter │ │ ├── my_application │ │ │ ├── .gitignore │ │ │ ├── .metadata │ │ │ ├── README.md │ │ │ ├── analysis_options.yaml │ │ │ ├── android │ │ │ │ ├── .gitignore │ │ │ │ ├── app │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── src │ │ │ │ │ │ ├── debug │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ ├── main │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ └── my_application │ │ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ │ └── res │ │ │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ ├── values-night │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ └── profile │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── build.gradle │ │ │ │ ├── deMessages │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── src │ │ │ │ │ │ └── main │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── enMessages │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── src │ │ │ │ │ │ └── main │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── gradle.properties │ │ │ │ ├── gradle │ │ │ │ │ └── wrapper │ │ │ │ │ │ └── gradle-wrapper.properties │ │ │ │ └── settings.gradle │ │ │ ├── assets │ │ │ │ ├── l10n │ │ │ │ │ ├── messages.arb │ │ │ │ │ └── messages_de.arb │ │ │ │ ├── messages.arb.json │ │ │ │ └── messages_de.arb.json │ │ │ ├── deferred_components_loading_units.yaml │ │ │ ├── lib │ │ │ │ ├── main.dart │ │ │ │ └── src │ │ │ │ │ ├── my_app_de_DE_empty.g.dart │ │ │ │ │ ├── my_app_en_US_empty.g.dart │ │ │ │ │ └── my_app_messages.g.dart │ │ │ ├── linux │ │ │ │ ├── .gitignore │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── flutter │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── generated_plugin_registrant.cc │ │ │ │ │ ├── generated_plugin_registrant.h │ │ │ │ │ └── generated_plugins.cmake │ │ │ │ ├── main.cc │ │ │ │ ├── my_application.cc │ │ │ │ └── my_application.h │ │ │ └── pubspec.yaml │ │ └── my_shopping_cart │ │ │ ├── .gitignore │ │ │ ├── .metadata │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── analysis_options.yaml │ │ │ ├── assets │ │ │ ├── l10n │ │ │ │ └── messages.arb │ │ │ └── messages.arb.json │ │ │ ├── lib │ │ │ ├── my_shopping_cart.dart │ │ │ └── src │ │ │ │ └── messages.g.dart │ │ │ └── pubspec.yaml │ ├── lib │ │ ├── messages.dart │ │ ├── messages_json.dart │ │ └── src │ │ │ ├── deserializer │ │ │ ├── deserializer.dart │ │ │ └── deserializer_json.dart │ │ │ ├── message.dart │ │ │ ├── message_format.dart │ │ │ ├── message_list_json.dart │ │ │ └── plural_selector.dart │ ├── pubspec.yaml │ ├── pubspec_overrides.yaml │ └── test │ │ └── messagelist_json_test.dart ├── messages_builder │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── bin │ │ └── messages_builder.dart │ ├── build.yaml │ ├── lib │ │ ├── arb_parser.dart │ │ ├── builder.dart │ │ ├── code_generation │ │ │ ├── class_generation.dart │ │ │ ├── classes_generation.dart │ │ │ ├── code_generation.dart │ │ │ ├── constructor_generation.dart │ │ │ ├── field_generation.dart │ │ │ ├── generation.dart │ │ │ ├── import_generation.dart │ │ │ └── method_generation.dart │ │ ├── generation_options.dart │ │ ├── located_message_file.dart │ │ ├── message_data_builder.dart │ │ ├── message_file.dart │ │ ├── message_parser │ │ │ ├── icu_message_parser.dart │ │ │ ├── message_parser.dart │ │ │ ├── plural_parser.dart │ │ │ └── select_parser.dart │ │ ├── parameterized_message.dart │ │ └── placeholder.dart │ ├── pubspec.yaml │ ├── pubspec_overrides.yaml │ └── test │ │ ├── testarb.arb.dart │ │ └── web_deserializer_native_test.dart ├── messages_serializer │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── lib │ │ ├── messages_serializer.dart │ │ └── src │ │ │ ├── serializer.dart │ │ │ └── serializer_json.dart │ ├── pubspec.yaml │ ├── pubspec_overrides.yaml │ └── test │ │ └── messages_serializer_test.dart └── messages_shrinker │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── bin │ └── messages_shrinker.dart │ ├── lib │ └── messages_shrinker.dart │ ├── pubspec.yaml │ ├── pubspec_overrides.yaml │ └── test │ ├── const_files.json │ ├── message_shrinker_test.dart │ ├── testarb.arb │ └── testarb.json └── tools └── regenerate_bindings.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | pkgs/intl4x/lib/src/bindings/* linguist-generated=true 2 | pkgs/intl4x/**/*.g.dart linguist-generated=true 3 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | .github/ @mosuem 2 | README.md @mosuem 3 | pkgs/ @mosuem 4 | tools/ @mosuem 5 | pkgs/intl4x @mosuem @robertbastian 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: 'type-bug' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Add a minimal working example or, if not possible or available, any code which might help to reproduce the problem 15 | ``` 16 | void main(List arguments) { 17 | } 18 | ``` 19 | 20 | **System info** 21 | 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report_intl_translation.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report for pkg:intl_translation 3 | about: Report a bug in intl_translation 4 | title: '' 5 | labels: 'type-bug' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | 12 | **Which script did you execute?** 13 | [ ] `extract_to_arb` 14 | [ ] `generate_from_arb` 15 | [ ] other 16 | 17 | **Input/output** 18 | Any `.arb` file contents or Dart code which could help in reproducing the bug? 19 | 20 | **System info** 21 | 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: 'type-enhancement' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/intl4x.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "package:intl4x" 3 | about: "Create a bug or file a feature request against package:intl4x." 4 | labels: "package:intl4x" 5 | --- 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/missing-locale.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Missing Locale 3 | about: My favorite locale is missing 4 | title: '' 5 | labels: ['type-enhancement', 'missing-locale-data'] 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Which locale is missing?** 11 | 12 | 13 | **Which locale have you considered of using instead, but was not sufficient?** 14 | 15 | -------------------------------------------------------------------------------- /.github/dependabot.yaml: -------------------------------------------------------------------------------- 1 | # Dependabot configuration file. 2 | version: 2 3 | 4 | updates: 5 | - package-ecosystem: github-actions 6 | directory: / 7 | schedule: 8 | interval: monthly 9 | labels: 10 | - autosubmit 11 | groups: 12 | github-actions: 13 | patterns: 14 | - "*" -------------------------------------------------------------------------------- /.github/workflows/health.yaml: -------------------------------------------------------------------------------- 1 | name: Health 2 | on: 3 | pull_request: 4 | branches: [ main ] 5 | types: [opened, synchronize, reopened, labeled, unlabeled] 6 | 7 | jobs: 8 | health: 9 | uses: dart-lang/ecosystem/.github/workflows/health.yaml@main 10 | with: 11 | coverage_web: true 12 | checkout_submodules: true 13 | experiments: native-assets 14 | sdk: dev 15 | ignore_license: "**.g.dart,pkgs/intl_translation/example/lib/generated/**,pkgs/intl_translation/test/generate_localized/**,pkgs/intl_translation/test/two_components/**" 16 | ignore_coverage: "**.g.dart" 17 | ignore_packages: "submodules" 18 | permissions: 19 | pull-requests: write 20 | -------------------------------------------------------------------------------- /.github/workflows/post_summaries.yaml: -------------------------------------------------------------------------------- 1 | name: Comment on the pull request 2 | 3 | on: 4 | # Trigger this workflow after the Health workflow completes. This workflow will have permissions to 5 | # do things like create comments on the PR, even if the original workflow couldn't. 6 | workflow_run: 7 | workflows: 8 | - Health 9 | - Publish 10 | types: 11 | - completed 12 | 13 | jobs: 14 | upload: 15 | uses: dart-lang/ecosystem/.github/workflows/post_summaries.yaml@main 16 | permissions: 17 | pull-requests: write 18 | -------------------------------------------------------------------------------- /.github/workflows/publish.yaml: -------------------------------------------------------------------------------- 1 | # A CI configuration to auto-publish pub packages. 2 | 3 | name: Publish 4 | 5 | on: 6 | pull_request: 7 | branches: [ main ] 8 | push: 9 | tags: [ '[0-9A-z]+-v[0-9]+.[0-9]+.[0-9]+' ] 10 | 11 | jobs: 12 | publish: 13 | if: ${{ github.repository_owner == 'dart-lang' }} 14 | uses: dart-lang/ecosystem/.github/workflows/publish.yaml@main 15 | with: 16 | sdk: dev 17 | write-comments: false 18 | checkout_submodules: true 19 | ignore-packages: "submodules" 20 | permissions: 21 | id-token: write 22 | pull-requests: write 23 | -------------------------------------------------------------------------------- /.github/workflows/pull_request_label.yml: -------------------------------------------------------------------------------- 1 | # This workflow applies labels to pull requests based on the paths that are 2 | # modified in the pull request. 3 | # 4 | # Edit `.github/labeler.yml` to configure labels. For more information, see 5 | # https://github.com/actions/labeler. 6 | 7 | name: Pull Request Labeler 8 | permissions: read-all 9 | 10 | on: 11 | pull_request_target 12 | 13 | jobs: 14 | label: 15 | permissions: 16 | pull-requests: write 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 20 | with: 21 | repo-token: "${{ secrets.GITHUB_TOKEN }}" 22 | sync-labels: true 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Don't commit the following directories created by pub. 2 | **/.dart_tool/ 3 | **/.packages 4 | **/.pub 5 | 6 | **/pubspec.lock 7 | 8 | # Files to avoid committing 9 | **/BUILD 10 | **/METADATA 11 | **/OWNERS 12 | **/README.google.md 13 | **/copy.bara.sky 14 | **/coverage 15 | 16 | # Specific files 17 | pkgs/intl/test/number_format_compact_google3_icu_test.dart 18 | pkgs/intl/update_from_cldr_data.sh 19 | 20 | .vscode 21 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "submodules/icu4x"] 2 | path = submodules/icu4x 3 | url = https://github.com/unicode-org/icu4x.git 4 | -------------------------------------------------------------------------------- /analysis_options.yaml: -------------------------------------------------------------------------------- 1 | analyzer: 2 | exclude: 3 | - "submodules/*" 4 | -------------------------------------------------------------------------------- /pkgs/intl/AUTHORS: -------------------------------------------------------------------------------- 1 | # Names should be added to this file with this pattern: 2 | # 3 | # For individuals: 4 | # Name 5 | # 6 | # For organizations: 7 | # Organization 8 | # 9 | Google Inc. <*@google.com> 10 | Aleksandr Yurkovskiy sanekyy@gmail.com 11 | -------------------------------------------------------------------------------- /pkgs/intl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:lints/recommended.yaml 2 | 3 | analyzer: 4 | language: 5 | strict-raw-types: true 6 | errors: 7 | deprecated_member_use_from_same_package: ignore 8 | 9 | linter: 10 | rules: 11 | # Enable additional lints. 12 | - always_declare_return_types 13 | - directives_ordering 14 | - prefer_single_quotes 15 | - sort_pub_dependencies 16 | - unnecessary_library_directive 17 | - unnecessary_parenthesis 18 | 19 | # These are works in progress. 20 | # - avoid_dynamic_calls 21 | # - type_annotate_public_apis 22 | -------------------------------------------------------------------------------- /pkgs/intl/example/.gitignore: -------------------------------------------------------------------------------- 1 | # https://dart.dev/guides/libraries/private-files 2 | # Created by `dart pub` 3 | .dart_tool/ 4 | -------------------------------------------------------------------------------- /pkgs/intl/example/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: example 2 | 3 | environment: 4 | sdk: ^3.0.0 5 | 6 | # Add regular dependencies here. 7 | dependencies: 8 | intl: 9 | path: ../ 10 | 11 | dev_dependencies: 12 | lints: ^4.0.0 13 | -------------------------------------------------------------------------------- /pkgs/intl/lib/find_locale.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/intl_default.dart' // Stub implementation 6 | // Browser implementation 7 | if (dart.library.js_interop) 'intl_browser.dart' 8 | // Native implementation 9 | if (dart.library.io) 'intl_standalone.dart'; 10 | -------------------------------------------------------------------------------- /pkgs/intl/lib/intl_default.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// This provides facilities for Internationalization that are only available 6 | /// when running in the web browser. You should import only one of this or 7 | /// intl_standalone.dart. Right now the only thing provided here is the 8 | /// ability to find the default locale from the browser. 9 | library; 10 | 11 | Future findSystemLocale() => throw UnimplementedError( 12 | 'This is a stub for either `intl_standalone` or `intl_browser`'); 13 | -------------------------------------------------------------------------------- /pkgs/intl/lib/locale.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Provides access to the [Locale] class. 6 | library; 7 | 8 | export 'src/locale.dart'; 9 | -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/af.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd-MM","MEd":"EEE d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM-y","yMd":"y-MM-dd","yMEd":"EEE y-MM-dd","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/am.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE፣ d/M","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE፣ MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE፣ MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE፣ d/M/y","yMMM":"MMM y","yMMMd":"MMM d y","yMMMEd":"EEE፣ MMM d y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"H","Hm":"HH:mm","Hms":"HH:mm:ss","j":"a h","jm":"a h:mm","jms":"a h:mm:ss","jmv":"h:mm a v","jmz":"h:mm a z","jz":"a h z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ar.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d‏/M","MEd":"EEE، d‏/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE، d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE، d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M‏/y","yMd":"d‏/M‏/y","yMEd":"EEE، d‏/M‏/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE، d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE، d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ar_DZ.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d‏/M","MEd":"EEE، d‏/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE، d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE، d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M‏/y","yMd":"d‏/M‏/y","yMEd":"EEE، d‏/M‏/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE، d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE، d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ar_EG.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d‏/M","MEd":"EEE، d‏/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE، d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE، d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M‏/y","yMd":"d‏/M‏/y","yMEd":"EEE، d‏/M‏/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE، d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE، d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/as.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd-MM","MEd":"EEE, dd-MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM-y","yMd":"dd-MM-y","yMEd":"EEE, dd-MM-y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM, y","yMMMMEEEEd":"EEEE, d MMMM, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"a h","jm":"a h:mm","jms":"a h:mm:ss","jmv":"a h:mm v","jmz":"a h:mm z","jz":"a h z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/az.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd.MM","MEd":"dd.MM, EEE","MMM":"LLL","MMMd":"d MMM","MMMEd":"d MMM, EEE","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"d MMMM, EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd.MM.y","yMEd":"dd.MM.y, EEE","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"d MMM y, EEE","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"d MMMM y, EEEE","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/be.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M","MEd":"EEE, d.M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"LLL y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"LLLL y","yMMMMd":"d MMMM y 'г'.","yMMMMEEEEd":"EEEE, d MMMM y 'г'.","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm.ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/bg.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.MM","MEd":"EEE, d.MM","MMM":"MM","MMMd":"d.MM","MMMEd":"EEE, d.MM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y 'г'.","yM":"MM.y 'г'.","yMd":"d.MM.y 'г'.","yMEd":"EEE, d.MM.y 'г'.","yMMM":"MM.y 'г'.","yMMMd":"d.MM.y 'г'.","yMMMEd":"EEE, d.MM.y 'г'.","yMMMM":"MMMM y 'г'.","yMMMMd":"d MMMM y 'г'.","yMMMMEEEEd":"EEEE, d MMMM y 'г'.","yQQQ":"QQQ y 'г'.","yQQQQ":"QQQQ y 'г'.","H":"HH 'ч'.","Hm":"HH:mm 'ч'.","Hms":"HH:mm:ss 'ч'.","j":"HH 'ч'.","jm":"HH:mm 'ч'.","jms":"HH:mm:ss 'ч'.","jmv":"HH:mm 'ч'. v","jmz":"HH:mm 'ч'. z","jz":"HH 'ч'. z","m":"m","ms":"m:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/bm.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"MMM","LLLL":"MMMM","M":"M","Md":"d/M","MEd":"MM-dd, EEE","MMM":"MMM","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"MMMM","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"m:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/bn.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d-M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM, y","yMMMEd":"EEE, d MMM, y","yMMMM":"MMMM y","yMMMMd":"d MMMM, y","yMMMMEEEEd":"EEEE, d MMMM, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/br.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"MM","Md":"dd/MM","MEd":"EEE dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/bs.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d. M.","MEd":"EEE, d. M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y.","yM":"MM/y","yMd":"d. M. y.","yMEd":"EEE, d. M. y.","yMMM":"MMM y.","yMMMd":"d. MMM y.","yMMMEd":"EEE, d. MMM y.","yMMMM":"LLLL y.","yMMMMd":"d. MMMM y.","yMMMMEEEEd":"EEEE, d. MMMM y.","yQQQ":"QQQ y.","yQQQQ":"QQQQ y.","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm (v)","jmz":"HH:mm (z)","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ca.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"LLL 'del' y","yMMMd":"d MMM 'del' y","yMMMEd":"EEE, d MMM y","yMMMM":"LLLL 'del' y","yMMMMd":"d MMMM 'del' y","yMMMMEEEEd":"EEEE, d MMMM 'del' y","yQQQ":"QQQ y","yQQQQ":"QQQQ 'del' y","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"H:mm v","jmz":"H:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/chr.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE, M/d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"M/d/y","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/cs.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d. M.","MEd":"EEE d. M.","MMM":"LLL","MMMd":"d. M.","MMMEd":"EEE d. M.","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d. M. y","yMEd":"EEE d. M. y","yMMM":"LLLL y","yMMMd":"d. M. y","yMMMEd":"EEE d. M. y","yMMMM":"LLLL y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"H:mm v","jmz":"H:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/cy.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/da.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"MMM","LLLL":"MMMM","M":"M","Md":"d.M","MEd":"EEE d.M","MMM":"MMM","MMMd":"d. MMM","MMMEd":"EEE d. MMM","MMMM":"MMMM","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE 'den' d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH.mm","Hms":"HH.mm.ss","j":"HH","jm":"HH.mm","jms":"HH.mm.ss","jmv":"HH.mm v","jmz":"HH.mm z","jz":"HH z","m":"m","ms":"mm.ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/de.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M.","MEd":"EEE, d.M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE, d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE, d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH 'Uhr'","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH 'Uhr'","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH 'Uhr' z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/de_AT.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M.","MEd":"EEE, d.M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE, d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE, d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH 'Uhr'","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH 'Uhr'","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH 'Uhr' z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/de_CH.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M.","MEd":"EEE, d.M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE, d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE, d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH 'Uhr'","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH 'Uhr'","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH 'Uhr' z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/el.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"MMM","LLLL":"MMMM","M":"L","Md":"d/M","MEd":"EEE d/M","MMM":"MMM","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"MMMM","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"LLLL y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE, M/d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"M/d/y","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_AU.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_CA.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"MM-dd","MEd":"EEE, MM-dd","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"y-MM-dd","yMEd":"EEE, y-MM-dd","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_GB.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_IE.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_IN.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE, dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM, y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_ISO.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE, M/d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"M/d/y","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_MY.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE, dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_NZ.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"d/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_SG.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE, dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_US.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE, M/d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"M/d/y","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/en_ZA.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"MM/dd","MEd":"EEE, MM/dd","MMM":"LLL","MMMd":"dd MMM","MMMEd":"EEE, dd MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, dd MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"y/MM/dd","yMEd":"EEE, y/MM/dd","yMMM":"MMM y","yMMMd":"dd MMM y","yMMMEd":"EEE, dd MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/es.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"EEEE, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQ y","yQQQQ":"QQQQ 'de' y","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"H:mm v","jmz":"H:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/es_419.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"EEEE, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQ 'de' y","yQQQQ":"QQQQ 'de' y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/es_ES.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"EEEE, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQ y","yQQQQ":"QQQQ 'de' y","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"H:mm v","jmz":"H:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/es_MX.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d 'de' MMM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"EEEE, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d 'de' MMM 'de' y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQ y","yQQQQ":"QQQQ 'de' y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/es_US.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d 'de' MMM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"EEEE, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d 'de' MMM 'de' y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQ y","yQQQQ":"QQQQ 'de' y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/et.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"MMMM","LLLL":"MMMM","M":"M","Md":"d.M","MEd":"EEE, d.M","MMM":"MMMM","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"MMMM","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE, d. MMMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE, d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/eu.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"M/d, EEE","MMM":"LLL","MMMd":"MMM d('a')","MMMEd":"MMM d('a'), EEE","MMMM":"LLLL","MMMMd":"MMMM'ren' d('a')","MMMMEEEEd":"MMMM d('a'), EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y/M","yMd":"y/M/d","yMEd":"y/M/d, EEE","yMMM":"y MMM","yMMMd":"y MMM d('a')","yMMMEd":"y MMM d('a'), EEE","yMMMM":"y('e')'ko' MMMM","yMMMMd":"y('e')'ko' MMMM'ren' d('a')","yMMMMEEEEd":"y('e')'ko' MMMM'ren' d('a'), EEEE","yQQQ":"y('e')'ko' QQQ","yQQQQ":"y('e')'ko' QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH (z)","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/fa.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE M/d","MMM":"LLL","MMMd":"d LLL","MMMEd":"EEE d LLL","MMMM":"LLLL","MMMMd":"d LLLL","MMMMEEEEd":"EEEE d LLLL","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y/M","yMd":"y/M/d","yMEd":"EEE y/M/d","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQQ y","yQQQQ":"QQQQ y","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"H:mm v","jmz":"HH:mm (z)","jz":"H (z)","m":"m","ms":"m:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/fi.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M.","MEd":"EEE d.M.","MMM":"LLL","MMMd":"d.M.","MMMEd":"ccc d.M.","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"cccc d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"L.y","yMd":"d.M.y","yMEd":"EEE d.M.y","yMMM":"LLL y","yMMMd":"d.M.y","yMMMEd":"EEE d.M.y","yMMMM":"LLLL y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"H","Hm":"H.mm","Hms":"H.mm.ss","j":"H","jm":"H.mm","jms":"H.mm.ss","jmv":"H.mm v","jmz":"H.mm z","jz":"H z","m":"m","ms":"m.ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/fil.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE, M/d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"M/d/y","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/fr.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"EEE","EEEE":"EEEE","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH 'h'","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH 'h'","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH 'h' z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/fr_CA.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"EEE","EEEE":"EEEE","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"MM-dd","MEd":"EEE MM-dd","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"y-MM-dd","yMEd":"EEE y-MM-dd","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH 'h'","Hm":"HH 'h' mm","Hms":"HH 'h' mm 'min' ss 's'","j":"HH 'h'","jm":"HH 'h' mm","jms":"HH 'h' mm 'min' ss 's'","jmv":"HH 'h' mm v","jmz":"HH 'h' mm z","jz":"HH 'h' z","m":"m","ms":"mm 'min' ss 's'","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/fr_CH.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"EEE","EEEE":"EEEE","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd.MM.","MEd":"EEE, dd.MM.","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd.MM.y","yMEd":"EEE, dd.MM.y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH 'h'","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH 'h'","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH 'h' z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/fur.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d 'di' MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"y-MM-dd","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"y MMM d","yMMMEd":"EEE d MMM y","yMMMM":"LLLL 'dal' y","yMMMMd":"d 'di' MMMM 'dal' y","yMMMMEEEEd":"EEEE d 'di' MMMM 'dal' y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"H:mm","Hms":"HH:mm:ss","j":"HH","jm":"H:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ga.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"LL","Md":"dd/MM","MEd":"EEE dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/gl.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d 'de' MMM","MMMEd":"EEE, d 'de' MMM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"EEEE, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM 'de' y","yMMMd":"d 'de' MMM 'de' y","yMMMEd":"EEE, d 'de' MMM 'de' y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQ y","yQQQQ":"QQQQ 'de' y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/gsw.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M.","MEd":"EEE, d.M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-M","yMd":"y-MM-dd","yMEd":"EEE, y-M-d","yMMM":"MMM y","yMMMd":"y MMM d","yMMMEd":"EEE, d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE, d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"H","Hm":"HH:mm","Hms":"HH:mm:ss","j":"H","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/gu.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM, y","yMMMEd":"EEE, d MMM, y","yMMMM":"MMMM y","yMMMMd":"d MMMM, y","yMMMMEEEEd":"EEEE, d MMMM, y","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/haw.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"y MMMM","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/he.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M","MEd":"EEE, d.M","MMM":"LLL","MMMd":"d בMMM","MMMEd":"EEE, d בMMM","MMMM":"LLLL","MMMMd":"d בMMMM","MMMMEEEEd":"EEEE, d בMMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM y","yMMMd":"d בMMM y","yMMMEd":"EEE, d בMMM y","yMMMM":"MMMM y","yMMMMd":"d בMMMM y","yMMMMEEEEd":"EEEE, d בMMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/hi.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/hr.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L.","Md":"dd. MM.","MEd":"EEE, dd. MM.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y.","yM":"MM. y.","yMd":"dd. MM. y.","yMEd":"EEE, dd. MM. y.","yMMM":"LLL y.","yMMMd":"d. MMM y.","yMMMEd":"EEE, d. MMM y.","yMMMM":"LLLL y.","yMMMMd":"d. MMMM y.","yMMMMEEEEd":"EEEE, d. MMMM y.","yQQQ":"QQQ y.","yQQQQ":"QQQQ y.","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH (z)","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/hu.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M. d.","MEd":"M. d., EEE","MMM":"LLL","MMMd":"MMM d.","MMMEd":"MMM d., EEE","MMMM":"LLLL","MMMMd":"MMMM d.","MMMMEEEEd":"MMMM d., EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y.","yM":"y. M.","yMd":"y. MM. dd.","yMEd":"y. MM. dd., EEE","yMMM":"y. MMM","yMMMd":"y. MMM d.","yMMMEd":"y. MMM d., EEE","yMMMM":"y. MMMM","yMMMMd":"y. MMMM d.","yMMMMEEEEd":"y. MMMM d., EEEE","yQQQ":"y. QQQ","yQQQQ":"y. QQQQ","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/hy.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd.MM","MEd":"dd.MM, EEE","MMM":"LLL","MMMd":"d MMM","MMMEd":"d MMM, EEE","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"d MMMM, EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd.MM.y","yMEd":"d.MM.y թ., EEE","yMMM":"y թ. LLL","yMMMd":"d MMM, y թ.","yMMMEd":"y թ. MMM d, EEE","yMMMM":"y թ․ LLLL","yMMMMd":"d MMMM, y թ.","yMMMMEEEEd":"y թ. MMMM d, EEEE","yQQQ":"y թ. QQQ","yQQQQ":"y թ. QQQQ","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/id.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH.mm","Hms":"HH.mm.ss","j":"HH","jm":"HH.mm","jms":"HH.mm.ss","jmv":"HH.mm v","jmz":"HH.mm z","jz":"HH z","m":"m","ms":"mm.ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/in.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH.mm","Hms":"HH.mm.ss","j":"HH","jm":"HH.mm","jms":"HH.mm.ss","jmv":"HH.mm v","jmz":"HH.mm z","jz":"HH z","m":"m","ms":"mm.ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/is.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M.","MEd":"EEE, d.M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M. y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE, d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE, d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"v – HH:mm","jmz":"z – HH:mm","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/it.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/it_CH.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/iw.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M","MEd":"EEE, d.M","MMM":"LLL","MMMd":"d בMMM","MMMEd":"EEE, d בMMM","MMMM":"LLLL","MMMMd":"d בMMMM","MMMMEEEEd":"EEEE, d בMMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM y","yMMMd":"d בMMM y","yMMMEd":"EEE, d בMMM y","yMMMM":"MMMM y","yMMMMd":"d בMMMM y","yMMMMEEEEd":"EEEE, d בMMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ja.json: -------------------------------------------------------------------------------- 1 | {"d":"d日","E":"ccc","EEEE":"cccc","LLL":"M月","LLLL":"M月","M":"M月","Md":"M/d","MEd":"M/d(EEE)","MMM":"M月","MMMd":"M月d日","MMMEd":"M月d日(EEE)","MMMM":"M月","MMMMd":"M月d日","MMMMEEEEd":"M月d日EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y年","yM":"y/M","yMd":"y/M/d","yMEd":"y/M/d(EEE)","yMMM":"y年M月","yMMMd":"y年M月d日","yMMMEd":"y年M月d日(EEE)","yMMMM":"y年M月","yMMMMd":"y年M月d日","yMMMMEEEEd":"y年M月d日EEEE","yQQQ":"y/QQQ","yQQQQ":"y年QQQQ","H":"H時","Hm":"H:mm","Hms":"H:mm:ss","j":"H時","jm":"H:mm","jms":"H:mm:ss","jmv":"H:mm v","jmz":"H:mm z","jz":"H時 z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ka.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M","MEd":"EEE, d.M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM. y","yMMMd":"d MMM. y","yMMMEd":"EEE, d MMM. y","yMMMM":"MMMM, y","yMMMMd":"d MMMM, y","yMMMMEEEEd":"EEEE, d MMMM, y","yQQQ":"QQQ, y","yQQQQ":"QQQQ, y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/kk.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd.MM","MEd":"dd.MM, EEE","MMM":"LLL","MMMd":"d MMM","MMMEd":"d MMM, EEE","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"d MMMM, EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd.MM.y","yMEd":"dd.MM.y, EEE","yMMM":"y 'ж'. MMM","yMMMd":"y 'ж'. d MMM","yMMMEd":"y 'ж'. d MMM, EEE","yMMMM":"y 'ж'. MMMM","yMMMMd":"y 'ж'. d MMMM","yMMMMEEEEd":"y 'ж'. d MMMM, EEEE","yQQQ":"y 'ж'. QQQ","yQQQQ":"y 'ж'. QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/km.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/kn.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"d/M, EEE","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"MMM d,y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ko.json: -------------------------------------------------------------------------------- 1 | {"d":"d일","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"M월","Md":"M. d.","MEd":"M. d. (EEE)","MMM":"LLL","MMMd":"MMM d일","MMMEd":"MMM d일 (EEE)","MMMM":"LLLL","MMMMd":"MMMM d일","MMMMEEEEd":"MMMM d일 EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y년","yM":"y. M.","yMd":"y. M. d.","yMEd":"y. M. d. (EEE)","yMMM":"y년 MMM","yMMMd":"y년 MMM d일","yMMMEd":"y년 MMM d일 (EEE)","yMMMM":"y년 MMMM","yMMMMd":"y년 MMMM d일","yMMMMEEEEd":"y년 MMMM d일 EEEE","yQQQ":"y년 QQQ","yQQQQ":"y년 QQQQ","H":"H시","Hm":"HH:mm","Hms":"H시 m분 s초","j":"a h시","jm":"a h:mm","jms":"a h:mm:ss","jmv":"a h:mm v","jmz":"a h:mm z","jz":"a h시 z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ky.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd-MM","MEd":"dd-MM, EEE","MMM":"LLL","MMMd":"d-MMM","MMMEd":"d-MMM, EEE","MMMM":"LLLL","MMMMd":"d-MMMM","MMMMEEEEd":"d-MMMM, EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"y-dd-MM","yMEd":"y-dd-MM, EEE","yMMM":"y-'ж'. MMM","yMMMd":"y-'ж'. d-MMM","yMMMEd":"y-'ж'. d-MMM, EEE","yMMMM":"y-'ж'., MMMM","yMMMMd":"y-'ж'., d-MMMM","yMMMMEEEEd":"y-'ж'., d-MMMM, EEEE","yQQQ":"y-'ж'., QQQ","yQQQQ":"y-'ж'., QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ln.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"y MMMM","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"m:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/lo.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/lt.json: -------------------------------------------------------------------------------- 1 | {"d":"dd","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"MM","Md":"MM-d","MEd":"MM-dd, EEE","MMM":"MM","MMMd":"MM-dd","MMMEd":"MM-dd, EEE","MMMM":"LLLL","MMMMd":"MMMM d 'd'.","MMMMEEEEd":"MMMM d 'd'., EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"y-MM-dd","yMEd":"y-MM-dd, EEE","yMMM":"y-MM","yMMMd":"y-MM-dd","yMMMEd":"y-MM-dd, EEE","yMMMM":"y 'm'. LLLL","yMMMMd":"y 'm'. MMMM d 'd'.","yMMMMEEEEd":"y 'm'. MMMM d 'd'., EEEE","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm; v","jmz":"HH:mm; z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/lv.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd.MM.","MEd":"EEE, dd.MM.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y. 'g'.","yM":"MM.y.","yMd":"d.MM.y.","yMEd":"EEE, d.MM.y.","yMMM":"y. 'g'. MMM","yMMMd":"y. 'g'. d. MMM","yMMMEd":"EEE, y. 'g'. d. MMM","yMMMM":"y. 'g'. MMMM","yMMMMd":"y. 'gada' d. MMMM","yMMMMEEEEd":"EEEE, y. 'gada' d. MMMM","yQQQ":"y. 'g'. QQQ","yQQQQ":"y. 'g'. QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/mg.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"MMM","LLLL":"MMMM","M":"M","Md":"d/M","MEd":"EEE d/M","MMM":"MMM","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"MMMM","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"y-MM-dd","yMEd":"EEE d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"m:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/mk.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M","MEd":"EEE, d.M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y 'г'.","yM":"M.y 'г'.","yMd":"d.M.y 'г'.","yMEd":"EEE, d.M.y 'г'.","yMMM":"MMM y 'г'.","yMMMd":"d MMM y 'г'.","yMMMEd":"EEE, d MMM y 'г'.","yMMMM":"MMMM y 'г'.","yMMMMd":"d MMMM y 'г'.","yMMMMEEEEd":"EEEE, d MMMM y 'г'.","yQQQ":"QQQ y 'г'.","yQQQQ":"QQQQ y 'г'.","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ml.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"d/M, EEE","MMM":"LLL","MMMd":"MMM d","MMMEd":"MMM d, EEE","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"MMMM d, EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"d/M/y","yMEd":"d-M-y, EEE","yMMM":"y MMM","yMMMd":"y MMM d","yMMMEd":"y MMM d, EEE","yMMMM":"y MMMM","yMMMMd":"y, MMMM d","yMMMMEEEEd":"y, MMMM d, EEEE","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/mn.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"LLLLL","Md":"MMMMM/dd","MEd":"MMMMM/dd. EEE","MMM":"LLL","MMMd":"MMM'ын' d","MMMEd":"MMM'ын' d. EEE","MMMM":"LLLL","MMMMd":"MMMM'ын' d","MMMMEEEEd":"MMMM'ын' d. EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y MMMMM","yMd":"y.MM.dd","yMEd":"y.MM.dd. EEE","yMMM":"y 'оны' MMM","yMMMd":"y 'оны' MMM'ын' d","yMMMEd":"y 'оны' MMM'ын' d. EEE","yMMMM":"y 'оны' MMMM","yMMMMd":"y 'оны' MMMM'ын' d","yMMMMEEEEd":"y 'оны' MMMM'ын' d, EEEE 'гараг'","yQQQ":"y 'оны' QQQ","yQQQQ":"y 'оны' QQQQ","H":"HH 'ц'","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH 'ц'","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm (v)","jmz":"HH:mm (z)","jz":"HH 'ц' (z)","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/mo.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd.MM","MEd":"EEE, dd.MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd.MM.y","yMEd":"EEE, dd.MM.y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/mr.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM, y","yMMMEd":"EEE, d, MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM, y","yMMMMEEEEd":"EEEE, d MMMM, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"H:mm","Hms":"H:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ms.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d-M","MEd":"EEE, d-M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M-y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/mt.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"MM-dd","MEd":"EEE, M-d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, d 'ta'’ MMM","MMMM":"LLLL","MMMMd":"d 'ta'’ MMMM","MMMMEEEEd":"EEEE, d 'ta'’ MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"M/d/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d 'ta'’ MMM, y","yMMMEd":"EEE, d 'ta'’ MMM, y","yMMMM":"MMMM y","yMMMMd":"d 'ta'’ MMMM y","yMMMMEEEEd":"EEEE, d 'ta'’ MMMM y","yQQQ":"QQQ - y","yQQQQ":"QQQQ - y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/my.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"d/M EEE","MMM":"LLL","MMMd":"MMM d","MMMEd":"MMM d EEE","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"MMMM d EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"d/M/y","yMEd":"d/M/y EEE","yMMM":"y MMM","yMMMd":"y MMM d","yMMMEd":"y MMM d EEE","yMMMM":"y MMMM","yMMMMd":"y MMMM d","yMMMMEEEEd":"y MMMM d EEEE","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"v HH:mm","jmz":"z HH:mm","jz":"z HH","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/nb.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L.","Md":"d.M.","MEd":"EEE d.M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ne.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"MM-dd","MEd":"MM-dd, EEE","MMM":"LLL","MMMd":"MMM d","MMMEd":"MMM d, EEE","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"MMMM d, EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"y-MM-dd","yMEd":"y-MM-dd, EEE","yMMM":"y MMM","yMMMd":"y MMM d","yMMMEd":"y MMM d, EEE","yMMMM":"y MMMM","yMMMMd":"y MMMM d","yMMMMEEEEd":"y MMMM d, EEEE","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/nl.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d-M","MEd":"EEE d-M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M-y","yMd":"d-M-y","yMEd":"EEE d-M-y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/no.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L.","Md":"d.M.","MEd":"EEE d.M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/no_NO.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L.","Md":"d.M.","MEd":"EEE d.M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE d.M.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/nyn.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE, M/d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"y-MM-dd","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"y MMM d","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/or.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE, M/d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"M/d/y","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/pa.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, dd-MM.","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/pl.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.MM","MEd":"EEE, d.MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"d.MM.y","yMEd":"EEE, d.MM.y","yMMM":"LLL y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"LLLL y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ps.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"MM-dd","MEd":"MM-dd, EEE","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"y-MM-dd","yMEd":"y-MM-dd, EEE","yMMM":"y MMM","yMMMd":"y MMM d","yMMMEd":"y MMM d, EEE","yMMMM":"y MMMM","yMMMMd":"y MMMM d","yMMMMEEEEd":"EEEE د y د MMMM d","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/pt.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE, dd/MM","MMM":"LLL","MMMd":"d 'de' MMM","MMMEd":"EEE, d 'de' MMM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"EEEE, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MMM 'de' y","yMMMd":"d 'de' MMM 'de' y","yMMMEd":"EEE, d 'de' MMM 'de' y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQ 'de' y","yQQQQ":"QQQQ 'de' y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/pt_BR.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE, dd/MM","MMM":"LLL","MMMd":"d 'de' MMM","MMMEd":"EEE, d 'de' MMM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"EEEE, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MMM 'de' y","yMMMd":"d 'de' MMM 'de' y","yMMMEd":"EEE, d 'de' MMM 'de' y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQ 'de' y","yQQQQ":"QQQQ 'de' y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/pt_PT.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd/MM","MEd":"EEE, dd/MM","MMM":"LLL","MMMd":"d/MM","MMMEd":"EEE, d/MM","MMMM":"LLLL","MMMMd":"d 'de' MMMM","MMMMEEEEd":"cccc, d 'de' MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MM/y","yMMMd":"d/MM/y","yMMMEd":"EEE, d/MM/y","yMMMM":"MMMM 'de' y","yMMMMd":"d 'de' MMMM 'de' y","yMMMMEEEEd":"EEEE, d 'de' MMMM 'de' y","yQQQ":"QQQQ 'de' y","yQQQQ":"QQQQ 'de' y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ro.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd.MM","MEd":"EEE, dd.MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd.MM.y","yMEd":"EEE, dd.MM.y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ru.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"dd.MM","MEd":"EEE, dd.MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"ccc, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"cccc, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd.MM.y","yMEd":"ccc, dd.MM.y 'г'.","yMMM":"LLL y 'г'.","yMMMd":"d MMM y 'г'.","yMMMEd":"EEE, d MMM y 'г'.","yMMMM":"LLLL y 'г'.","yMMMMd":"d MMMM y 'г'.","yMMMMEEEEd":"EEEE, d MMMM y 'г'.","yQQQ":"QQQ y 'г'.","yQQQQ":"QQQQ y 'г'.","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/sh.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"EEE","EEEE":"EEEE","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d. M.","MEd":"EEE, d. M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y.","yM":"M. y.","yMd":"d. M. y.","yMEd":"EEE, d. M. y.","yMMM":"MMM y.","yMMMd":"d. MMM y.","yMMMEd":"EEE, d. MMM y.","yMMMM":"MMMM y.","yMMMMd":"d. MMMM y.","yMMMMEEEEd":"EEEE, d. MMMM y.","yQQQ":"QQQ y.","yQQQQ":"QQQQ y.","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/si.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M-d","MEd":"M-d, EEE","MMM":"LLL","MMMd":"MMM d","MMMEd":"MMM d EEE","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"MMMM d EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-M","yMd":"y-M-d","yMEd":"y-M-d, EEE","yMMM":"y MMM","yMMMd":"y MMM d","yMMMEd":"y MMM d, EEE","yMMMM":"y MMMM","yMMMMd":"y MMMM d","yMMMMEEEEd":"y MMMM d, EEEE","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH.mm","Hms":"HH.mm.ss","j":"HH","jm":"HH.mm","jms":"HH.mm.ss","jmv":"HH.mm v","jmz":"HH.mm z","jz":"HH z","m":"m","ms":"mm.ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/sk.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L.","Md":"d. M.","MEd":"EEE d. M.","MMM":"LLL","MMMd":"d. M.","MMMEd":"EEE d. M.","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d. M. y","yMEd":"EEE d. M. y","yMMM":"M/y","yMMMd":"d. M. y","yMMMEd":"EEE d. M. y","yMMMM":"LLLL y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"H","Hm":"H:mm","Hms":"H:mm:ss","j":"H","jm":"H:mm","jms":"H:mm:ss","jmv":"H:mm v","jmz":"H:mm z","jz":"H z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/sl.json: -------------------------------------------------------------------------------- 1 | {"d":"d.","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d. M.","MEd":"EEE, d. M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE, d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d. M. y","yMEd":"EEE, d. M. y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"EEE, d. MMM y","yMMMM":"MMMM y","yMMMMd":"d. MMMM y","yMMMMEEEEd":"EEEE, d. MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH'h'","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH'h'","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH'h' z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/sq.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d.M","MEd":"EEE, d.M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"EEE, d.M.y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ, y","yQQQQ":"QQQQ, y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a, v","jmz":"h:mm a, z","jz":"h a, z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/sr.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"EEE","EEEE":"EEEE","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d. M.","MEd":"EEE, d. M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y.","yM":"M. y.","yMd":"d. M. y.","yMEd":"EEE, d. M. y.","yMMM":"MMM y.","yMMMd":"d. MMM y.","yMMMEd":"EEE, d. MMM y.","yMMMM":"MMMM y.","yMMMMd":"d. MMMM y.","yMMMMEEEEd":"EEEE, d. MMMM y.","yQQQ":"QQQ y.","yQQQQ":"QQQQ y.","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/sr_Latn.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"EEE","EEEE":"EEEE","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d. M.","MEd":"EEE, d. M.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"EEE d. MMM","MMMM":"LLLL","MMMMd":"d. MMMM","MMMMEEEEd":"EEEE, d. MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y.","yM":"M. y.","yMd":"d. M. y.","yMEd":"EEE, d. M. y.","yMMM":"MMM y.","yMMMd":"d. MMM y.","yMMMEd":"EEE, d. MMM y.","yMMMM":"MMMM y.","yMMMMd":"d. MMMM y.","yMMMMEEEEd":"EEEE, d. MMMM y.","yQQQ":"QQQ y.","yQQQQ":"QQQQ y.","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/sv.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"y-MM-dd","yMEd":"EEE, y-MM-dd","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/sw.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEE, d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ta.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"dd-MM, EEE","MMM":"LLL","MMMd":"d MMM","MMMEd":"MMM d, EEE","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"MMMM d, EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM, y","yMMMEd":"EEE, d MMM, y","yMMMM":"MMMM y","yMMMMd":"d MMMM, y","yMMMMEEEEd":"EEEE, d MMMM, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/te.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"d/M, EEE","MMM":"LLL","MMMd":"d MMM","MMMEd":"d MMM, EEE","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"d MMMM, EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"d/M/y, EEE","yMMM":"MMM y","yMMMd":"d, MMM y","yMMMEd":"d MMM, y, EEE","yMMMM":"MMMM y","yMMMMd":"d MMMM, y","yMMMMEEEEd":"d, MMMM y, EEEE","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/th.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEEที่ d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE d/M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE d MMM y","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"EEEEที่ d MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ G y","H":"HH","Hm":"HH:mm น.","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm น.","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/tl.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"M/d","MEd":"EEE, M/d","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"M/d/y","yMEd":"EEE, M/d/y","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/tr.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"d/MM EEE","MMM":"LLL","MMMd":"d MMM","MMMEd":"d MMM EEE","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"d MMMM EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM/y","yMd":"dd.MM.y","yMEd":"d.M.y EEE","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"d MMM y EEE","yMMMM":"MMMM y","yMMMMd":"d MMMM y","yMMMMEEEEd":"d MMMM y EEEE","yQQQ":"y QQQ","yQQQQ":"y QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/uk.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"LL","Md":"dd.MM","MEd":"EEE, dd.MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd.MM.y","yMEd":"EEE, dd.MM.y","yMMM":"LLL y 'р'.","yMMMd":"d MMM y 'р'.","yMMMEd":"EEE, d MMM y 'р'.","yMMMM":"LLLL y 'р'.","yMMMMd":"d MMMM y 'р'.","yMMMMEEEEd":"EEEE, d MMMM y 'р'.","yQQQ":"QQQ y","yQQQQ":"QQQQ y 'р'.","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/ur.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE، d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE، d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE، d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE، d/M/y","yMMM":"MMM y","yMMMd":"d MMM، y","yMMMEd":"EEE، d MMM، y","yMMMM":"MMMM y","yMMMMd":"d MMMM، y","yMMMMEEEEd":"EEEE، d MMMM، y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"h a","jm":"h:mm a","jms":"h:mm:ss a","jmv":"h:mm a v","jmz":"h:mm a z","jz":"h a z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/uz.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"LL","Md":"dd/MM","MEd":"EEE, dd/MM","MMM":"LLL","MMMd":"d-MMM","MMMEd":"EEE, d-MMM","MMMM":"LLLL","MMMMd":"d-MMMM","MMMMEEEEd":"EEEE, d-MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"MM.y","yMd":"dd/MM/y","yMEd":"EEE, dd/MM/y","yMMM":"MMM, y","yMMMd":"d-MMM, y","yMMMEd":"EEE, d-MMM, y","yMMMM":"MMMM, y","yMMMMd":"d-MMMM, y","yMMMMEEEEd":"EEEE, d-MMMM, y","yQQQ":"y, QQQ","yQQQQ":"y, QQQQ","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm (v)","jmz":"HH:mm (z)","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/vi.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"d/M","MEd":"EEE, d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"EEE, d MMM","MMMM":"LLLL","MMMMd":"d MMMM","MMMMEEEEd":"EEEE, d MMMM","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMMM":"MMM y","yMMMd":"d MMM, y","yMMMEd":"EEE, d MMM, y","yMMMM":"MMMM 'năm' y","yMMMMd":"d MMMM, y","yMMMMEEEEd":"EEEE, d MMMM, y","yQQQ":"QQQ y","yQQQQ":"QQQQ 'năm' y","H":"HH 'giờ'","Hm":"H:mm","Hms":"HH:mm:ss","j":"HH 'giờ'","jm":"H:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH 'giờ' z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/zh.json: -------------------------------------------------------------------------------- 1 | {"d":"d日","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"M月","Md":"M/d","MEd":"M/dEEE","MMM":"LLL","MMMd":"M月d日","MMMEd":"M月d日EEE","MMMM":"LLLL","MMMMd":"M月d日","MMMMEEEEd":"M月d日EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y年","yM":"y/M","yMd":"y/M/d","yMEd":"y/M/dEEE","yMMM":"y年M月","yMMMd":"y年M月d日","yMMMEd":"y年M月d日EEE","yMMMM":"y年M月","yMMMMd":"y年M月d日","yMMMMEEEEd":"y年M月d日EEEE","yQQQ":"y年第Q季度","yQQQQ":"y年第Q季度","H":"H时","Hm":"HH:mm","Hms":"HH:mm:ss","j":"H时","jm":"HH:mm","jms":"HH:mm:ss","jmv":"v HH:mm","jmz":"z HH:mm","jz":"zH时","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/zh_CN.json: -------------------------------------------------------------------------------- 1 | {"d":"d日","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"M月","Md":"M/d","MEd":"M/dEEE","MMM":"LLL","MMMd":"M月d日","MMMEd":"M月d日EEE","MMMM":"LLLL","MMMMd":"M月d日","MMMMEEEEd":"M月d日EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y年","yM":"y/M","yMd":"y/M/d","yMEd":"y/M/dEEE","yMMM":"y年M月","yMMMd":"y年M月d日","yMMMEd":"y年M月d日EEE","yMMMM":"y年M月","yMMMMd":"y年M月d日","yMMMMEEEEd":"y年M月d日EEEE","yQQQ":"y年第Q季度","yQQQQ":"y年第Q季度","H":"H时","Hm":"HH:mm","Hms":"HH:mm:ss","j":"H时","jm":"HH:mm","jms":"HH:mm:ss","jmv":"v HH:mm","jmz":"z HH:mm","jz":"zH时","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/zh_HK.json: -------------------------------------------------------------------------------- 1 | {"d":"d日","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"M月","Md":"d/M","MEd":"d/M(EEE)","MMM":"LLL","MMMd":"M月d日","MMMEd":"M月d日EEE","MMMM":"LLLL","MMMMd":"M月d日","MMMMEEEEd":"M月d日EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y年","yM":"M/y","yMd":"d/M/y","yMEd":"d/M/y(EEE)","yMMM":"y年M月","yMMMd":"y年M月d日","yMMMEd":"y年M月d日EEE","yMMMM":"y年M月","yMMMMd":"y年M月d日","yMMMMEEEEd":"y年M月d日EEEE","yQQQ":"y年QQQ","yQQQQ":"y年QQQQ","H":"H時","Hm":"HH:mm","Hms":"HH:mm:ss","j":"ah時","jm":"ah:mm","jms":"ah:mm:ss","jmv":"ah:mm [v]","jmz":"ah:mm [z]","jz":"ah時 z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/zh_TW.json: -------------------------------------------------------------------------------- 1 | {"d":"d日","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"M月","Md":"M/d","MEd":"M/d(EEE)","MMM":"LLL","MMMd":"M月d日","MMMEd":"M月d日 EEE","MMMM":"LLLL","MMMMd":"M月d日","MMMMEEEEd":"M月d日 EEEE","QQQ":"QQQ","QQQQ":"QQQQ","y":"y年","yM":"y/M","yMd":"y/M/d","yMEd":"y/M/d(EEE)","yMMM":"y年M月","yMMMd":"y年M月d日","yMMMEd":"y年M月d日 EEE","yMMMM":"y年M月","yMMMMd":"y年M月d日","yMMMMEEEEd":"y年M月d日 EEEE","yQQQ":"y年QQQ","yQQQQ":"y年QQQQ","H":"H時","Hm":"HH:mm","Hms":"HH:mm:ss","j":"ah時","jm":"ah:mm","jms":"ah:mm:ss","jmv":"ah:mm [v]","jmz":"ah:mm [z]","jz":"ah時 z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/data/dates/patterns/zu.json: -------------------------------------------------------------------------------- 1 | {"d":"d","E":"ccc","EEEE":"cccc","LLL":"LLL","LLLL":"LLLL","M":"L","Md":"MM-dd","MEd":"MM-dd, EEE","MMM":"LLL","MMMd":"MMM d","MMMEd":"EEE, MMM d","MMMM":"LLLL","MMMMd":"MMMM d","MMMMEEEEd":"EEEE, MMMM d","QQQ":"QQQ","QQQQ":"QQQQ","y":"y","yM":"y-MM","yMd":"y-MM-dd","yMEd":"y-MM-dd, EEE","yMMM":"MMM y","yMMMd":"MMM d, y","yMMMEd":"EEE, MMM d, y","yMMMM":"MMMM y","yMMMMd":"MMMM d, y","yMMMMEEEEd":"EEEE, MMMM d, y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","H":"HH","Hm":"HH:mm","Hms":"HH:mm:ss","j":"HH","jm":"HH:mm","jms":"HH:mm:ss","jmv":"HH:mm v","jmz":"HH:mm z","jz":"HH z","m":"m","ms":"mm:ss","s":"s","v":"v","z":"z","zzzz":"zzzz","ZZZZ":"ZZZZ"} -------------------------------------------------------------------------------- /pkgs/intl/lib/src/global_state.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'dart:async'; 6 | 7 | String systemLocale = 'en_US'; 8 | 9 | String? _defaultLocale; 10 | 11 | set defaultLocale(String? newLocale) { 12 | _defaultLocale = newLocale; 13 | } 14 | 15 | String? get defaultLocale { 16 | var zoneLocale = Zone.current[#Intl.locale] as String?; 17 | return zoneLocale ?? _defaultLocale; 18 | } 19 | 20 | String getCurrentLocale() { 21 | defaultLocale ??= systemLocale; 22 | return defaultLocale!; 23 | } 24 | -------------------------------------------------------------------------------- /pkgs/intl/lib/src/intl/regexp.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Hard-code the most common matcher, which has special RegExp syntax. 6 | final RegExp asciiDigitMatcher = RegExp(r'^\d+'); 7 | -------------------------------------------------------------------------------- /pkgs/intl/lib/src/intl_default.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Default implementation of findSystemLocale, which throws if called. 6 | /// Platforms with the 'io' and 'html' libraries should use 7 | /// `intl_standalone.dart` and `intl_browser.dart` respectively. 8 | library; 9 | 10 | /// Find the system locale, accessed via the appropriate system APIs, and 11 | /// set it as the default for internationalization operations in 12 | /// the [Intl.systemLocale] variable. 13 | Future findSystemLocale() { 14 | throw UnsupportedError( 15 | 'intl.findSystemLocale is not implemented on this platform.'); 16 | } 17 | -------------------------------------------------------------------------------- /pkgs/intl/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: intl 2 | version: 0.20.3-wip 3 | description: >- 4 | Contains code to deal with internationalized/localized messages, date and 5 | number formatting and parsing, bi-directional text, and other 6 | internationalization issues. 7 | repository: https://github.com/dart-lang/i18n/tree/main/pkgs/intl 8 | issue_tracker: https://github.com/dart-lang/i18n/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aintl 9 | 10 | topics: 11 | - i18n 12 | - intl 13 | 14 | environment: 15 | sdk: ^3.3.0 16 | 17 | dependencies: 18 | clock: ^1.1.0 19 | meta: ^1.3.0 20 | path: ^1.8.0 21 | 22 | dev_dependencies: 23 | benchmark_harness: ^2.2.0 24 | ffi: ^2.1.3 25 | fixnum: ^1.0.0 26 | lints: ^5.0.0 27 | test: ^1.16.6 28 | -------------------------------------------------------------------------------- /pkgs/intl/test/date_time_format_file_even_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Tests date formatting and parsing using locale data read from the 6 | /// local file system. This tests one half the locales, since testing all 7 | /// of them takes long enough that it may cause timeouts in the test bots. 8 | @Timeout(Duration(seconds: 60)) 9 | @TestOn('vm') 10 | library; 11 | 12 | import 'package:intl/date_symbol_data_file.dart'; 13 | import 'package:test/test.dart'; 14 | import 'data_directory.dart'; 15 | import 'date_time_format_test_stub.dart'; 16 | 17 | void main() { 18 | runWith(evenLocales, dataDirectory, initializeDateFormatting); 19 | } 20 | -------------------------------------------------------------------------------- /pkgs/intl/test/date_time_format_file_odd_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Tests date formatting and parsing using locale data read from the 6 | /// local file system. This tests one half the locales, since testing all 7 | /// of them takes long enough that it may cause timeouts in the test bots. 8 | @Timeout(Duration(seconds: 60)) 9 | @TestOn('vm') 10 | library; 11 | 12 | import 'package:intl/date_symbol_data_file.dart'; 13 | import 'package:test/test.dart'; 14 | import 'data_directory.dart'; 15 | import 'date_time_format_test_stub.dart'; 16 | 17 | void main() { 18 | runWith(oddLocales, dataDirectory, initializeDateFormatting); 19 | } 20 | -------------------------------------------------------------------------------- /pkgs/intl/test/date_time_format_local_even_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Test date formatting and parsing using locale data which is available 6 | /// directly in the program as a constant. This tests one half the locales, 7 | /// since testing all of them takes long enough that it may cause timeouts in 8 | /// the test bots. 9 | library; 10 | 11 | import 'package:intl/date_symbol_data_local.dart'; 12 | import 'date_time_format_test_stub.dart'; 13 | 14 | void main() { 15 | runWith(evenLocales, null, initializeDateFormatting); 16 | } 17 | -------------------------------------------------------------------------------- /pkgs/intl/test/date_time_format_local_odd_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Test date formatting and parsing using locale data which is available 6 | /// directly in the program as a constant. This tests one half the locales, 7 | /// since testing all of them takes long enough that it may cause timeouts in 8 | /// the test bots. 9 | library; 10 | 11 | import 'package:intl/date_symbol_data_local.dart'; 12 | import 'date_time_format_test_stub.dart'; 13 | 14 | void main() { 15 | runWith(oddLocales, null, initializeDateFormatting); 16 | } 17 | -------------------------------------------------------------------------------- /pkgs/intl/test/date_time_format_uninitialized_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Tests date formatting and parsing using locale data read from the 6 | /// local file system. 7 | library; 8 | 9 | import 'date_time_format_test_core.dart'; 10 | 11 | void main() { 12 | runDateTests(() => ['en_US']); 13 | } 14 | -------------------------------------------------------------------------------- /pkgs/intl/test/number_format_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'package:intl/intl.dart'; 6 | import 'package:test/test.dart'; 7 | 8 | void main() { 9 | test('numberOfIntegerDigits calculation', () { 10 | int n = 1; 11 | for (var i = 1; i < 20; i++) { 12 | expect(i, NumberFormat.numberOfIntegerDigits(n)); 13 | n *= 10; 14 | } 15 | }); 16 | } 17 | -------------------------------------------------------------------------------- /pkgs/intl/test/number_format_vm_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Number tests for the VM - includes numbers that can only 6 | /// be compiled for the VM. 7 | @TestOn('vm') 8 | library; 9 | 10 | import 'package:test/test.dart'; 11 | import 'number_format_test_core.dart' as core; 12 | 13 | /// Test numbers that won't work in Javascript because they're too big. 14 | Map testNumbersOnlyForTheVM = { 15 | '9,000,000,000,000,000,000': 9000000000000000000, 16 | '9,223,372,036,854,775,807': 9223372036854775807 17 | }; 18 | 19 | void main() { 20 | core.runTests(core.testNumbers..addAll(testNumbersOnlyForTheVM)); 21 | } 22 | -------------------------------------------------------------------------------- /pkgs/intl/test/number_format_web_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Number format tests for the web - excludes numbers too big to compile for 6 | /// the web. 7 | @TestOn('browser') 8 | library; 9 | 10 | import 'package:test/test.dart'; 11 | import 'number_format_test_core.dart' as core; 12 | 13 | void main() { 14 | core.runTests(core.testNumbers); 15 | } 16 | -------------------------------------------------------------------------------- /pkgs/intl4x/AUTHORS: -------------------------------------------------------------------------------- 1 | # Names should be added to this file with this pattern: 2 | # 3 | # For individuals: 4 | # Name 5 | # 6 | # For organizations: 7 | # Organization 8 | # 9 | Google Inc. <*@google.com> 10 | -------------------------------------------------------------------------------- /pkgs/intl4x/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:dart_flutter_team_lints/analysis_options.yaml 2 | 3 | linter: 4 | rules: 5 | - conditional_uri_does_not_exist 6 | - prefer_const_constructors 7 | - prefer_final_locals 8 | - prefer_relative_imports 9 | - unnecessary_parenthesis 10 | 11 | analyzer: 12 | exclude: 13 | - "submodules/*" 14 | - "lib/src/bindings/*" 15 | - lib/src/hook_helpers/build_libs.g.dart 16 | - tool/build_libs.g.dart 17 | 18 | enable-experiment: 19 | - native-assets 20 | -------------------------------------------------------------------------------- /pkgs/intl4x/dart_test.yaml: -------------------------------------------------------------------------------- 1 | tags: 2 | icu4xUnimplemented: 3 | on_platform: 4 | vm: 5 | skip: "Not implemented in ICU4X yet. Use -P force to force tests." 6 | presets: { force: { skip: false } } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/example/.gitignore: -------------------------------------------------------------------------------- 1 | # https://dart.dev/guides/libraries/private-files 2 | # Created by `dart pub` 3 | .dart_tool/ 4 | -------------------------------------------------------------------------------- /pkgs/intl4x/example/README.md: -------------------------------------------------------------------------------- 1 | An example on how to use `package:intl4x` in a browser context. -------------------------------------------------------------------------------- /pkgs/intl4x/example/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:dart_flutter_team_lints/analysis_options.yaml 2 | 3 | linter: 4 | rules: 5 | - prefer_relative_imports 6 | -------------------------------------------------------------------------------- /pkgs/intl4x/example/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: example_web 2 | description: An example on how to use the intl4x package. 3 | version: 1.0.0 4 | publish_to: none 5 | 6 | environment: 7 | sdk: '>=3.0.0 <4.0.0' 8 | 9 | dependencies: 10 | intl4x: 11 | path: ../ 12 | js: ^0.7.1 13 | 14 | dev_dependencies: 15 | dart_flutter_team_lints: ^3.0.0 16 | -------------------------------------------------------------------------------- /pkgs/intl4x/example/web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | example 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /pkgs/intl4x/example/web/styles.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css?family=Roboto); 2 | 3 | html, body { 4 | width: 100%; 5 | height: 100%; 6 | margin: 0; 7 | padding: 0; 8 | font-family: 'Roboto', sans-serif; 9 | } 10 | 11 | #output { 12 | padding: 20px; 13 | text-align: center; 14 | } 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/example_native/.gitignore: -------------------------------------------------------------------------------- 1 | # https://dart.dev/guides/libraries/private-files 2 | # Created by `dart pub` 3 | .dart_tool/ 4 | bin/example_native/ 5 | -------------------------------------------------------------------------------- /pkgs/intl4x/example_native/README.md: -------------------------------------------------------------------------------- 1 | A sample command-line application with an entrypoint in `bin/`, library code 2 | in `lib/`, and example unit test in `test/`. 3 | -------------------------------------------------------------------------------- /pkgs/intl4x/example_native/bin/example_native.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'package:intl4x/intl4x.dart'; 6 | 7 | void main(List arguments) { 8 | print(Intl().numberFormat().format(3)); 9 | } 10 | -------------------------------------------------------------------------------- /pkgs/intl4x/example_native/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: example_native 2 | description: A sample application using intl4x. 3 | 4 | environment: 5 | sdk: ^3.6.0 6 | 7 | publish_to: none 8 | 9 | dependencies: 10 | intl4x: 11 | path: ../ 12 | 13 | dev_dependencies: 14 | lints: ^6.0.0 15 | 16 | hooks: 17 | user_defines: 18 | intl4x: 19 | buildMode: checkout 20 | checkoutPath: ../../../submodules/icu4x/ 21 | -------------------------------------------------------------------------------- /pkgs/intl4x/hook/README.md: -------------------------------------------------------------------------------- 1 | ### How to update the ICU4X version used in package:intl4x. 2 | 3 | #### First PR 4 | 1. Create PR. 5 | 2. Update `submodules/icu4x` to whatever branch/hash you want. 6 | 3. Land PR. 7 | 4. Tag with `intl4x-icu*`, push. This creates new release with the new binaries. 8 | 9 | #### Second PR 10 | 1. Create PR. 11 | 2. Run `bash tools/regenerate_bindings.sh`, and fix resulting errors. 12 | 3. Update `const version` in `version.dart` to tag. 13 | 4. Regenerate hashes using `cd pkgs/intl4x/; dart tool/regenerate_hashes.dart`. 14 | 5. Land PR. 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/collation.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/collation/collation.dart'; 6 | export 'src/collation/collation_options.dart'; 7 | export 'src/options.dart'; 8 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/datetime_format.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/datetime_format/datetime_format.dart'; 6 | export 'src/datetime_format/datetime_format_options.dart'; 7 | export 'src/options.dart'; 8 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/display_names.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/display_names/display_names.dart'; 6 | export 'src/display_names/display_names_options.dart'; 7 | export 'src/options.dart'; 8 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/ecma_policy.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/ecma/ecma_policy.dart'; 6 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/list_format.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/list_format/list_format.dart'; 6 | export 'src/list_format/list_format_options.dart'; 7 | export 'src/options.dart'; 8 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/number_format.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/number_format/number_format.dart'; 6 | export 'src/number_format/number_format_options.dart'; 7 | export 'src/options.dart'; 8 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/plural_rules.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/options.dart'; 6 | export 'src/plural_rules/plural_rules.dart'; 7 | export 'src/plural_rules/plural_rules_options.dart'; 8 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/BidiDirection.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | enum BidiDirection { ltr, rtl, mixed } 6 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/CollatorAlternateHandling.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `AlternateHandling`](https://docs.rs/icu/latest/icu/collator/enum.AlternateHandling.html) for more information. 6 | enum CollatorAlternateHandling { auto, nonIgnorable, shifted } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/CollatorBackwardSecondLevel.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `BackwardSecondLevel`](https://docs.rs/icu/latest/icu/collator/enum.BackwardSecondLevel.html) for more information. 6 | enum CollatorBackwardSecondLevel { auto, off, on } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/CollatorCaseFirst.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `CaseFirst`](https://docs.rs/icu/latest/icu/collator/enum.CaseFirst.html) for more information. 6 | enum CollatorCaseFirst { auto, off, lowerFirst, upperFirst } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/CollatorCaseLevel.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `CaseLevel`](https://docs.rs/icu/latest/icu/collator/enum.CaseLevel.html) for more information. 6 | enum CollatorCaseLevel { auto, off, on } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/CollatorMaxVariable.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `MaxVariable`](https://docs.rs/icu/latest/icu/collator/enum.MaxVariable.html) for more information. 6 | enum CollatorMaxVariable { auto, space, punctuation, symbol, currency } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/CollatorNumeric.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `Numeric`](https://docs.rs/icu/latest/icu/collator/enum.Numeric.html) for more information. 6 | enum CollatorNumeric { auto, off, on } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/CollatorStrength.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `Strength`](https://docs.rs/icu/latest/icu/collator/enum.Strength.html) for more information. 6 | enum CollatorStrength { 7 | auto, 8 | 9 | primary, 10 | 11 | secondary, 12 | 13 | tertiary, 14 | 15 | quaternary, 16 | 17 | identical, 18 | } 19 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/DateLength.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `Date`](https://docs.rs/icu/latest/icu/datetime/options/length/enum.Date.html) for more information. 6 | enum DateLength { full, long, medium, short } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/DisplayNamesFallback.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `Fallback`](https://docs.rs/icu/latest/icu/displaynames/options/enum.Fallback.html) for more information. 6 | enum DisplayNamesFallback { code, none } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/DisplayNamesStyle.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `Style`](https://docs.rs/icu/latest/icu/displaynames/options/enum.Style.html) for more information. 6 | enum DisplayNamesStyle { auto, narrow, short, long, menu } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/FixedDecimalGroupingStrategy.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `GroupingStrategy`](https://docs.rs/icu/latest/icu/decimal/options/enum.GroupingStrategy.html) for more information. 6 | enum FixedDecimalGroupingStrategy { auto, never, always, min2 } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/FixedDecimalSign.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// The sign of a FixedDecimal, as shown in formatting. 6 | /// 7 | /// See the [Rust documentation for `Sign`](https://docs.rs/fixed_decimal/latest/fixed_decimal/enum.Sign.html) for more information. 8 | enum FixedDecimalSign { 9 | /// No sign (implicitly positive, e.g., 1729). 10 | none, 11 | 12 | /// A negative sign, e.g., -1729. 13 | negative, 14 | 15 | /// An explicit positive sign, e.g., +1729. 16 | positive, 17 | } 18 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/FixedDecimalSignDisplay.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// ECMA-402 compatible sign display preference. 6 | /// 7 | /// See the [Rust documentation for `SignDisplay`](https://docs.rs/fixed_decimal/latest/fixed_decimal/enum.SignDisplay.html) for more information. 8 | enum FixedDecimalSignDisplay { auto, never, always, exceptZero, negative } 9 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/IsoTimeZoneFormat.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `IsoFormat`](https://docs.rs/icu/latest/icu/datetime/time_zone/enum.IsoFormat.html) for more information. 6 | enum IsoTimeZoneFormat { basic, extended, utcBasic, utcExtended } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/IsoTimeZoneMinuteDisplay.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `IsoMinutes`](https://docs.rs/icu/latest/icu/datetime/time_zone/enum.IsoMinutes.html) for more information. 6 | enum IsoTimeZoneMinuteDisplay { required, optional } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/IsoTimeZoneSecondDisplay.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `IsoSeconds`](https://docs.rs/icu/latest/icu/datetime/time_zone/enum.IsoSeconds.html) for more information. 6 | enum IsoTimeZoneSecondDisplay { optional, never } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/IsoWeekday.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | enum IsoWeekday { 6 | monday, 7 | 8 | tuesday, 9 | 10 | wednesday, 11 | 12 | thursday, 13 | 14 | friday, 15 | 16 | saturday, 17 | 18 | sunday; 19 | 20 | int get _ffi { 21 | switch (this) { 22 | case monday: 23 | return 1; 24 | case tuesday: 25 | return 2; 26 | case wednesday: 27 | return 3; 28 | case thursday: 29 | return 4; 30 | case friday: 31 | return 5; 32 | case saturday: 33 | return 6; 34 | case sunday: 35 | return 7; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/LanguageDisplay.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `LanguageDisplay`](https://docs.rs/icu/latest/icu/displaynames/options/enum.LanguageDisplay.html) for more information. 6 | enum LanguageDisplay { dialect, standard } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/LeadingAdjustment.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `LeadingAdjustment`](https://docs.rs/icu/latest/icu/casemap/titlecase/enum.LeadingAdjustment.html) for more information. 6 | enum LeadingAdjustment { auto, none, toCased } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/LineBreakStrictness.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `LineBreakStrictness`](https://docs.rs/icu/latest/icu/segmenter/enum.LineBreakStrictness.html) for more information. 6 | enum LineBreakStrictness { loose, normal, strict, anywhere } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/LineBreakWordOption.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `LineBreakWordOption`](https://docs.rs/icu/latest/icu/segmenter/enum.LineBreakWordOption.html) for more information. 6 | enum LineBreakWordOption { normal, breakAll, keepAll } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/ListLength.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `ListLength`](https://docs.rs/icu/latest/icu/list/enum.ListLength.html) for more information. 6 | enum ListLength { wide, short, narrow } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/LocaleDirection.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `Direction`](https://docs.rs/icu/latest/icu/locid_transform/enum.Direction.html) for more information. 6 | enum LocaleDirection { leftToRight, rightToLeft, unknown } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/LocaleFallbackPriority.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// Priority mode for the ICU4X fallback algorithm. 6 | /// 7 | /// See the [Rust documentation for `LocaleFallbackPriority`](https://docs.rs/icu/latest/icu/locid_transform/fallback/enum.LocaleFallbackPriority.html) for more information. 8 | enum LocaleFallbackPriority { language, region, collation } 9 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/LocaleFallbackSupplement.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// What additional data is required to load when performing fallback. 6 | /// 7 | /// See the [Rust documentation for `LocaleFallbackSupplement`](https://docs.rs/icu/latest/icu/locid_transform/fallback/enum.LocaleFallbackSupplement.html) for more information. 8 | enum LocaleFallbackSupplement { none, collation } 9 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/RoundingIncrement.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// Increment used in a rounding operation. 6 | /// 7 | /// See the [Rust documentation for `RoundingIncrement`](https://docs.rs/fixed_decimal/latest/fixed_decimal/enum.RoundingIncrement.html) for more information. 8 | enum RoundingIncrement { 9 | multiplesOf1, 10 | 11 | multiplesOf2, 12 | 13 | multiplesOf5, 14 | 15 | multiplesOf25, 16 | } 17 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/TimeLength.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `Time`](https://docs.rs/icu/latest/icu/datetime/options/length/enum.Time.html) for more information. 6 | enum TimeLength { full, long, medium, short } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/TrailingCase.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `TrailingCase`](https://docs.rs/icu/latest/icu/casemap/titlecase/enum.TrailingCase.html) for more information. 6 | enum TrailingCase { lower, unchanged } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/TransformResult.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `TransformResult`](https://docs.rs/icu/latest/icu/locid_transform/enum.TransformResult.html) for more information. 6 | enum TransformResult { modified, unmodified } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/bindings/WeekRelativeUnit.g.dart: -------------------------------------------------------------------------------- 1 | // generated by diplomat-tool 2 | 3 | part of 'lib.g.dart'; 4 | 5 | /// See the [Rust documentation for `RelativeUnit`](https://docs.rs/icu/latest/icu/calendar/week/enum.RelativeUnit.html) for more information. 6 | enum WeekRelativeUnit { previous, current, next } 7 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/collation/collation_stub.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../collation.dart'; 6 | import '../locale/locale.dart'; 7 | import 'collation_impl.dart'; 8 | 9 | /// Stub for the conditional import 10 | CollationImpl? getCollatorECMA( 11 | Locale locale, 12 | CollationOptions options, 13 | LocaleMatcher localeMatcher, 14 | ) => throw UnimplementedError('Cannot use ECMA outside of web environments.'); 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/collation/collation_stub_4x.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../collation.dart'; 6 | import '../data.dart'; 7 | import '../locale/locale.dart'; 8 | import 'collation_impl.dart'; 9 | 10 | /// Stub for the conditional import 11 | CollationImpl getCollator4X( 12 | Locale locale, 13 | Data data, 14 | CollationOptions options, 15 | ) => throw UnimplementedError('Cannot use ICU4X in web environments.'); 16 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/data.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | sealed class Data { 6 | const Data(); 7 | } 8 | 9 | final class AssetData extends Data { 10 | final String key; 11 | 12 | const AssetData(this.key); 13 | } 14 | 15 | final class BundleData extends Data { 16 | const BundleData(); 17 | } 18 | 19 | final class NoData extends Data { 20 | const NoData(); 21 | } 22 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/data_4x.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'dart:io'; 6 | import 'bindings/lib.g.dart' as icu; 7 | import 'data.dart'; 8 | 9 | extension DataProvider on Data { 10 | icu.DataProvider to4X() => switch (this) { 11 | AssetData() => icu.DataProvider.fromByteSlice( 12 | File((this as AssetData).key).readAsBytesSync().buffer, 13 | ), 14 | BundleData() => icu.DataProvider.compiled(), 15 | NoData() => icu.DataProvider.empty(), 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/datetime_format/datetime_format_stub.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../datetime_format.dart'; 6 | import '../locale/locale.dart'; 7 | import 'datetime_format_impl.dart'; 8 | 9 | DateTimeFormatImpl? getDateTimeFormatterECMA( 10 | Locale locales, 11 | DateTimeFormatOptions options, 12 | LocaleMatcher localeMatcher, 13 | ) => throw UnimplementedError('Cannot use ECMA outside of web environments.'); 14 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/datetime_format/datetime_format_stub_4x.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../data.dart'; 6 | import '../locale/locale.dart'; 7 | import 'datetime_format_impl.dart'; 8 | import 'datetime_format_options.dart'; 9 | 10 | DateTimeFormatImpl getDateTimeFormatter4X( 11 | Locale locale, 12 | Data data, 13 | DateTimeFormatOptions options, 14 | ) => throw UnimplementedError('Cannot use ICU4X in web environments.'); 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/display_names/display_names_stub.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../display_names.dart'; 6 | import '../locale/locale.dart'; 7 | import 'display_names_impl.dart'; 8 | 9 | DisplayNamesImpl? getDisplayNamesECMA( 10 | Locale locales, 11 | DisplayNamesOptions options, 12 | LocaleMatcher localeMatcher, 13 | ) => throw UnimplementedError('Cannot use ECMA outside of web environments.'); 14 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/display_names/display_names_stub_4x.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../display_names.dart'; 6 | import '../data.dart'; 7 | import '../locale/locale.dart'; 8 | import 'display_names_impl.dart'; 9 | 10 | DisplayNamesImpl getDisplayNames4X( 11 | Locale locale, 12 | Data data, 13 | DisplayNamesOptions options, 14 | ) => throw UnimplementedError('Cannot use ICU4X in web environments.'); 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/ecma/ecma_stub.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'ecma_policy.dart'; 6 | 7 | /// On native, never use browser functions, as they are not available. 8 | const EcmaPolicy defaultPolicy = NeverEcma(); 9 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/ecma/ecma_web.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'ecma_policy.dart'; 6 | 7 | /// On the web, always use browser functions by default 8 | const EcmaPolicy defaultPolicy = AlwaysEcma(); 9 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/find_locale.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'intl_standalone.dart' if (dart.library.js) 'intl_browser.dart'; 6 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/hook_helpers/version.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | const version = 'intl4x-icu-v.0.11.2-artifacts'; 6 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/intl_browser.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'dart:js_interop'; 6 | 7 | import 'locale/locale.dart'; 8 | 9 | Locale findSystemLocale() => Locale.parse(window.navigator.language); 10 | 11 | @JS() 12 | external Window get window; 13 | 14 | extension type Window._(JSObject _) implements JSObject { 15 | external Navigator get navigator; 16 | } 17 | 18 | extension type Navigator._(JSObject _) implements JSObject { 19 | external String get language; 20 | } 21 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/intl_standalone.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'dart:io'; 6 | 7 | import 'locale/locale.dart'; 8 | 9 | Locale findSystemLocale() { 10 | try { 11 | return Locale.parse(Platform.localeName); 12 | } catch (e) { 13 | return const Locale(language: 'en', region: 'US'); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/list_format/list_format.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../test_checker.dart'; 6 | import 'list_format_impl.dart'; 7 | 8 | class ListFormat { 9 | final ListFormatImpl _listFormatImpl; 10 | 11 | const ListFormat(this._listFormatImpl); 12 | 13 | /// Locale-dependant concatenation of lists, for example in `en-US` locale: 14 | /// ```dart 15 | /// format(['A', 'B', 'C']) == 'A, B, and C' 16 | /// ``` 17 | String format(List list) { 18 | if (isInTest) { 19 | return '${list.join(', ')}//${_listFormatImpl.locale}'; 20 | } else { 21 | return _listFormatImpl.formatImpl(list); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/list_format/list_format_stub.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../list_format.dart'; 6 | import '../locale/locale.dart'; 7 | import 'list_format_impl.dart'; 8 | 9 | ListFormatImpl? getListFormatterECMA( 10 | Locale locale, 11 | ListFormatOptions options, 12 | LocaleMatcher localeMatcher, 13 | ) => throw UnimplementedError('Cannot use ECMA outside of web environments.'); 14 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/list_format/list_format_stub_4x.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../list_format.dart'; 6 | import '../data.dart'; 7 | import '../locale/locale.dart'; 8 | import 'list_format_impl.dart'; 9 | 10 | ListFormatImpl getListFormatter4X( 11 | Locale locale, 12 | Data data, 13 | ListFormatOptions options, 14 | ) => throw UnimplementedError('Cannot use ICU4X in web environments.'); 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/locale/locale_4x.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../bindings/lib.g.dart' as icu; 6 | 7 | import 'locale.dart'; 8 | 9 | extension Locale4X on Locale { 10 | icu.Locale to4X() { 11 | final icu4xLocale = icu.Locale.und()..language = language; 12 | if (region != null) icu4xLocale.region = region!; 13 | if (script != null) icu4xLocale.script = script!; 14 | return icu4xLocale; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/number_format/number_format.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../test_checker.dart'; 6 | import 'number_format_impl.dart'; 7 | 8 | class NumberFormat { 9 | final NumberFormatImpl _impl; 10 | 11 | NumberFormat(this._impl); 12 | 13 | String format(Object number) { 14 | if (isInTest) { 15 | return '$number//${_impl.locale}'; 16 | } else { 17 | return _impl.formatImpl(number); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/number_format/number_format_stub.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../list_format.dart'; 6 | import '../locale/locale.dart'; 7 | import 'number_format_impl.dart'; 8 | import 'number_format_options.dart'; 9 | 10 | NumberFormatImpl? getNumberFormatterECMA( 11 | Locale locale, 12 | NumberFormatOptions options, 13 | LocaleMatcher localeMatcher, 14 | ) => throw UnimplementedError('Cannot use ECMA outside of web environments.'); 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/number_format/number_format_stub_4x.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../data.dart'; 6 | import '../locale/locale.dart'; 7 | import 'number_format_impl.dart'; 8 | import 'number_format_options.dart'; 9 | 10 | NumberFormatImpl getNumberFormatter4X( 11 | Locale locale, 12 | Data data, 13 | NumberFormatOptions options, 14 | ) => throw UnimplementedError('Cannot use ICU4X in web environments.'); 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/plural_rules/plural_rules_stub.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../plural_rules.dart'; 6 | import '../locale/locale.dart'; 7 | import 'plural_rules_impl.dart'; 8 | 9 | PluralRulesImpl? getPluralSelectECMA( 10 | Locale locale, 11 | PluralRulesOptions options, 12 | LocaleMatcher localeMatcher, 13 | ) => throw UnimplementedError('Cannot use ECMA outside of web environments.'); 14 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/plural_rules/plural_rules_stub_4x.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../../plural_rules.dart'; 6 | import '../data.dart'; 7 | import '../locale/locale.dart'; 8 | import 'plural_rules_impl.dart'; 9 | 10 | PluralRulesImpl getPluralSelect4X( 11 | Locale locale, 12 | Data data, 13 | PluralRulesOptions options, 14 | ) => throw UnimplementedError('Cannot use ICU4X in web environments.'); 15 | -------------------------------------------------------------------------------- /pkgs/intl4x/lib/src/test_checker.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'dart:async'; 6 | 7 | /// Check if we are in a test environment, by checking for the `#test.declarer` 8 | /// symbol defined in the zone in which a Dart test runs. The 9 | /// `#test.allowFormatting` symbol can be used to override this. 10 | bool get isInTest => 11 | Zone.current[#test.declarer] != null && 12 | !(Zone.current[#test.allowFormatting] as bool? ?? false); 13 | -------------------------------------------------------------------------------- /pkgs/intl4x/test/ecma/ecma_policy_test_native_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | @TestOn('vm') 6 | library; 7 | 8 | import 'package:intl4x/intl4x.dart'; 9 | import 'package:intl4x/src/ecma/ecma_policy.dart'; 10 | import 'package:test/test.dart'; 11 | 12 | void main() { 13 | test( 14 | 'Check default policy', 15 | () => expect(Intl().ecmaPolicy, const NeverEcma()), 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /pkgs/intl4x/test/ecma/ecma_policy_test_web_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | @TestOn('browser') 6 | library; 7 | 8 | import 'package:intl4x/ecma_policy.dart'; 9 | import 'package:intl4x/intl4x.dart'; 10 | import 'package:test/test.dart'; 11 | 12 | void main() { 13 | test( 14 | 'Check default policy', 15 | () => expect(Intl().ecmaPolicy, const AlwaysEcma()), 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /pkgs/intl4x/test/tools/conformance_config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "prereq": { 4 | "name": "nvm", 5 | "version": "20.1.0", 6 | "command": "nvm install 20.1.0;nvm use 20.1.0" 7 | }, 8 | "run": { 9 | "icu_version": "icu73", 10 | "exec": "dart_web", 11 | "test_type": [ 12 | "collation_short", 13 | "number_fmt", 14 | "likely_subtags" 15 | ], 16 | "per_execution": 10000 17 | } 18 | } 19 | ] -------------------------------------------------------------------------------- /pkgs/intl_translation/AUTHORS: -------------------------------------------------------------------------------- 1 | # Names should be added to this file with this pattern: 2 | # 3 | # For individuals: 4 | # Name 5 | # 6 | # For organizations: 7 | # Organization 8 | # 9 | Google Inc. <*@google.com> 10 | -------------------------------------------------------------------------------- /pkgs/intl_translation/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:lints/recommended.yaml 2 | 3 | analyzer: 4 | errors: 5 | # Challenging with the file name patterns that this package generates. 6 | file_names: ignore 7 | # This can cause issues with recognizing localizable strings. 8 | unnecessary_string_interpolations: ignore 9 | 10 | linter: 11 | rules: 12 | # Enable some additional lints. 13 | - always_declare_return_types 14 | - directives_ordering 15 | - omit_local_variable_types 16 | - prefer_relative_imports 17 | - prefer_single_quotes 18 | - sort_pub_dependencies 19 | - type_annotate_public_apis 20 | 21 | # This is currently challenging for this package. 22 | # - avoid_dynamic_calls 23 | -------------------------------------------------------------------------------- /pkgs/intl_translation/example/Makefile: -------------------------------------------------------------------------------- 1 | OUTPUT_DIR=lib/generated 2 | 3 | MESSAGE_ARBS=\ 4 | lib/messages/material_de_CH.arb \ 5 | lib/messages/material_de.arb \ 6 | lib/messages/material_en.arb \ 7 | lib/messages/material_iw.arb \ 8 | lib/messages/material_es.arb 9 | 10 | # --json \ 11 | # --codegen_mode=debug \ 12 | 13 | generate: $(MESSAGE_ARBS) 14 | dart ../bin/generate_from_arb.dart \ 15 | --output-dir $(OUTPUT_DIR) \ 16 | lib/example_messages.dart \ 17 | $(MESSAGE_ARBS) 18 | 19 | clean: 20 | rm $(OUTPUT_DIR)/*.dart 21 | -------------------------------------------------------------------------------- /pkgs/intl_translation/example/README.md: -------------------------------------------------------------------------------- 1 | ## What's this? 2 | 3 | This is an example to demonstrate the output from `bin/generate_from_arb.dart`. 4 | 5 | You can see the example generated code in `lib/generated`. 6 | 7 | Note that the Dart code using the Intl messages - `lib/example_messages.dart` - 8 | is atypical Dart code. It exists just to have references to the `Intl.message` 9 | messages from the lib/messages ARB files, so the generator will output the 10 | cooresponding messages in `lib/generated`. 11 | 12 | ## Re-generating the example code 13 | 14 | - `cd example` 15 | - `make` 16 | -------------------------------------------------------------------------------- /pkgs/intl_translation/example/lib/generated/messages_all.dart: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT. This is code generated via package:intl/generate_localized.dart 2 | // This is a library that looks up messages for specific locales by 3 | // delegating to the appropriate library. 4 | // @dart=2.12 5 | export 'messages_all_locales.dart' 6 | show initializeMessages; 7 | 8 | -------------------------------------------------------------------------------- /pkgs/intl_translation/example/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: example 2 | publish_to: none 3 | 4 | environment: 5 | sdk: '>=2.18.0 <3.0.0' 6 | 7 | dependencies: 8 | intl: 9 | path: ../../intl/ -------------------------------------------------------------------------------- /pkgs/intl_translation/lib/src/messages/literal_string_message.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'message.dart'; 6 | 7 | /// Represents a simple constant string with no dynamic elements. 8 | class LiteralString extends Message { 9 | String string; 10 | LiteralString(this.string, [Message? parent]) : super(parent); 11 | @override 12 | String toCode() => Message.escapeString(string); 13 | @override 14 | String toJson() => string; 15 | @override 16 | String toString() => 'Literal($string)'; 17 | @override 18 | String expanded( 19 | [String Function(Message, Object) transform = nullTransform]) => 20 | transform(this, string); 21 | } 22 | -------------------------------------------------------------------------------- /pkgs/intl_translation/lib/src/messages/message_extraction_exception.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Exception thrown when we cannot process a message properly. 6 | class MessageExtractionException implements Exception { 7 | /// A message describing the error. 8 | final String message; 9 | 10 | /// Creates a new exception with an optional error [message]. 11 | const MessageExtractionException([this.message = '']); 12 | 13 | @override 14 | String toString() => 'MessageExtractionException: $message'; 15 | } 16 | -------------------------------------------------------------------------------- /pkgs/intl_translation/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: intl_translation 2 | version: 0.20.1 3 | description: >- 4 | Contains code to deal with internationalized/localized messages, 5 | date and number formatting and parsing, bi-directional text, and 6 | other internationalization issues. 7 | repository: https://github.com/dart-lang/i18n/tree/main/pkgs/intl_translation 8 | issue_tracker: https://github.com/dart-lang/i18n/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aintl_translation 9 | 10 | topics: 11 | - i18n 12 | - intl 13 | 14 | environment: 15 | sdk: ^3.0.0 16 | 17 | dependencies: 18 | analyzer: ^6.3.0 19 | args: ^2.0.0 20 | dart_style: ^2.0.0 21 | intl: '>=0.19.0 <0.21.0' 22 | package_config: ^2.1.0 23 | path: ^1.0.0 24 | pub_semver: '>=1.4.4 <3.0.0' 25 | 26 | dev_dependencies: 27 | lints: ^4.0.0 28 | test: ^1.0.0 29 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/generate_localized/README.txt: -------------------------------------------------------------------------------- 1 | A test for messages generated with code-map. 2 | 3 | The translation ARB files are hard-coded, and the generated files are 4 | checked in, so there's minimum infrastructure required, but if the 5 | files need to be regenerated, then the regenerate.sh script will need 6 | to be run. 7 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/generate_localized/app_translation_getfromthelocale.arb: -------------------------------------------------------------------------------- 1 | { 2 | "@@locale": "fr", 3 | "Hello from application": "Bonjour de l'application", 4 | "@Hello from application": null 5 | } 6 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/generate_localized/code_map_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// An application using the code map messages. 6 | library; 7 | 8 | import 'package:intl/intl.dart'; 9 | import 'package:test/test.dart'; 10 | 11 | import 'code_map_messages_all.dart'; 12 | 13 | String appMessage() => Intl.message('Hello from application', desc: 'hi'); 14 | 15 | void main() async { 16 | Intl.defaultLocale = 'fr'; 17 | await initializeMessages('fr'); 18 | test('String lookups should provide translation to French', () { 19 | expect(appMessage(), 'Bonjour de l\'application'); 20 | }); 21 | } 22 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/generate_localized/regenerate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Regenerate the messages Dart files. 3 | dart ../../bin/generate_from_arb.dart \ 4 | --code-map --generated-file-prefix=code_map_ \ 5 | code_map_test.dart app_translation_getfromthelocale.arb 6 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/arb_list.txt: -------------------------------------------------------------------------------- 1 | translation_fr.arb 2 | french2.arb 3 | translation_de_DE.arb 4 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/dart_list.txt: -------------------------------------------------------------------------------- 1 | sample_with_messages.dart 2 | part_of_sample_with_messages.dart 3 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/debug.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # The message_extraction_test.dart test uses a temporary directory and spawns 4 | # separate processes for each step. This can make it very painful to debug the 5 | # steps. 6 | # This script runs the steps individually, putting the files in the current 7 | # directory. You can run the script to run the test locally, or use this to 8 | # run individual steps or create them as launches in the editor. 9 | dart ../../bin/extract_to_arb.dart sample_with_messages.dart \ 10 | part_of_sample_with_messages.dart 11 | 12 | dart make_hardcoded_translation.dart intl_messages.arb 13 | 14 | dart ../../bin/generate_from_arb.dart \ 15 | --json --generated-file-prefix=foo_ \ 16 | sample_with_messages.dart part_of_sample_with_messages.dart \ 17 | translation_fr.arb french2.arb translation_de_DE.arb 18 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/embedded_plural_text_after.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// A test library that should fail because there is a plural with text 6 | /// following the plural expression. 7 | library embedded_plural_text_after; 8 | 9 | import 'package:intl/intl.dart'; 10 | 11 | String embeddedPlural2(num n) => Intl.message( 12 | "${Intl.plural(n, zero: 'none', one: 'one', other: 'some')} plus text.", 13 | name: 'embeddedPlural2', 14 | desc: 'An embedded plural', 15 | args: [n]); 16 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/embedded_plural_text_after_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | @Timeout(Duration(seconds: 180)) 6 | 7 | library embedded_plural_text_after_test; 8 | 9 | import 'package:test/test.dart'; 10 | 11 | import 'failed_extraction_test.dart'; 12 | 13 | void main() { 14 | test('Expect failure because of embedded plural with text after it', () { 15 | var specialFiles = ['embedded_plural_text_after.dart']; 16 | runTestWithWarnings( 17 | warningsAreErrors: true, 18 | expectedExitCode: 1, 19 | embeddedPlurals: false, 20 | sourceFiles: specialFiles); 21 | }); 22 | } 23 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/embedded_plural_text_before.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// A test library that should fail because there is a plural with text 6 | /// before the plural expression. 7 | library embedded_plural_text_before; 8 | 9 | import 'package:intl/intl.dart'; 10 | 11 | String embeddedPlural(num n) => Intl.message( 12 | "There are ${Intl.plural(n, zero: 'nothing', one: 'one', other: 'some')}.", 13 | name: 'embeddedPlural', 14 | desc: 'An embedded plural', 15 | args: [n]); 16 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/embedded_plural_text_before_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | @Timeout(Duration(seconds: 180)) 6 | 7 | library embedded_plural_text_before_test; 8 | 9 | import 'package:test/test.dart'; 10 | 11 | import 'failed_extraction_test.dart'; 12 | 13 | void main() { 14 | test('Expect failure because of embedded plural with text before it', () { 15 | var files = ['embedded_plural_text_before.dart']; 16 | runTestWithWarnings( 17 | warningsAreErrors: true, 18 | expectedExitCode: 1, 19 | embeddedPlurals: false, 20 | sourceFiles: files); 21 | }); 22 | } 23 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/foo_messages_all.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | library keep_the_static_analysis_from_complaining; 6 | 7 | Future initializeMessages(_) => 8 | throw UnimplementedError('This entire file is only here to make the static' 9 | ' analysis happy. It will be generated during actual tests.'); 10 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/message_extraction_flutter_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// A test for message extraction and code generation using generated 6 | /// JSON rather than functions 7 | @Timeout(Duration(seconds: 180)) 8 | library; 9 | 10 | import 'package:test/test.dart'; 11 | 12 | import 'message_extraction_test.dart' as main_test; 13 | 14 | void main() { 15 | main_test.useJson = true; 16 | main_test.useFlutterLocaleSplit = true; 17 | main_test.main(); 18 | } 19 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/message_extraction_json_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// A test for message extraction and code generation using generated 6 | /// JSON rather than functions 7 | @Timeout(Duration(seconds: 180)) 8 | library; 9 | 10 | import 'package:test/test.dart'; 11 | 12 | import 'message_extraction_test.dart' as main_test; 13 | 14 | void main() { 15 | main_test.useJson = true; 16 | main_test.main(); 17 | } 18 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/message_extraction_no_deferred_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | @Timeout(Duration(seconds: 180)) 6 | 7 | /// A test for message extraction and code generation not using deferred 8 | /// loading for the generated code. 9 | library message_extraction_no_deferred_test; 10 | 11 | import 'package:test/test.dart'; 12 | 13 | import 'message_extraction_test.dart' as main_test; 14 | 15 | void main() { 16 | main_test.useDeferredLoading = false; 17 | main_test.main(); 18 | } 19 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/mock_flutter/foo_messages_de_DE.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | library keep_the_static_analysis_from_complaining; 6 | 7 | class MessageLookup { 8 | String get messages => throw UnimplementedError( 9 | 'This entire file is only here to make the static' 10 | ' analysis happy. It will be generated during actual tests.'); 11 | } 12 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/mock_flutter/foo_messages_fr.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | library keep_the_static_analysis_from_complaining; 6 | 7 | class MessageLookup { 8 | String get messages => throw UnimplementedError( 9 | 'This entire file is only here to make the static' 10 | ' analysis happy. It will be generated during actual tests.'); 11 | } 12 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/print_to_list.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// This provides a way for a test to print to an internal list so the 6 | /// results can be verified rather than writing to and reading a file. 7 | 8 | library print_to_list.dart; 9 | 10 | List lines = []; 11 | 12 | void printOut(String s) { 13 | lines.add(s); 14 | } 15 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/message_extraction/really_fail_extraction_test.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | @Timeout(Duration(seconds: 180)) 6 | 7 | library really_fail_extraction_test; 8 | 9 | import 'package:test/test.dart'; 10 | 11 | import 'failed_extraction_test.dart'; 12 | 13 | void main() { 14 | test('Expect failure because warnings are errors', () { 15 | runTestWithWarnings(warningsAreErrors: true, expectedExitCode: 1); 16 | }); 17 | } 18 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/two_components/README.txt: -------------------------------------------------------------------------------- 1 | A test for a separate component with its own localized messages, different 2 | from the application. 3 | 4 | The translation ARB files are hard-coded, and the generated files are 5 | checked in, so there's minimum infrastructure required, but if the 6 | files need to be regenerated, then the regenerate.sh script will need 7 | to be run. 8 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/two_components/app_messages_all.dart: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT. This is code generated via package:intl/generate_localized.dart 2 | // This is a library that looks up messages for specific locales by 3 | // delegating to the appropriate library. 4 | 5 | export 'app_messages_all_locales.dart' show initializeMessages; 6 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/two_components/app_translation_getfromthelocale.arb: -------------------------------------------------------------------------------- 1 | { 2 | "@@locale": "fr", 3 | "Hello from application": "Bonjour de l'application" 4 | } 5 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/two_components/component_messages_all.dart: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT. This is code generated via package:intl/generate_localized.dart 2 | // This is a library that looks up messages for specific locales by 3 | // delegating to the appropriate library. 4 | 5 | export 'component_messages_all_locales.dart' show initializeMessages; 6 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/two_components/component_translation_fr.arb: -------------------------------------------------------------------------------- 1 | { 2 | "_locale": "fr_xyz123", 3 | "Hello from component": "Bonjour du composant", 4 | "_message2": "Locale explicite" 5 | } 6 | -------------------------------------------------------------------------------- /pkgs/intl_translation/test/two_components/regenerate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Regenerate the messages Dart files. 4 | dart ../../bin/generate_from_arb.dart --generated-file-prefix=component_ \ 5 | component.dart component_translation_fr.arb 6 | 7 | dart ../../bin/generate_from_arb.dart --generated-file-prefix=app_ \ 8 | main_app_test.dart app_translation_getfromthelocale.arb 9 | -------------------------------------------------------------------------------- /pkgs/messages/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.3.0-wip 2 | 3 | - Adapt to output data files to assets. 4 | 5 | ## 0.2.0 6 | 7 | - Remove `IntlObject` interface. 8 | - Introduce `PluralRules` to retrieve the correct message for plurals. 9 | 10 | ## 0.1.1 11 | 12 | - Update README. 13 | 14 | ## 0.1.0 15 | 16 | - Initial version. 17 | -------------------------------------------------------------------------------- /pkgs/messages/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:dart_flutter_team_lints/analysis_options.yaml 2 | 3 | linter: 4 | rules: 5 | - conditional_uri_does_not_exist 6 | - prefer_const_constructors 7 | - prefer_final_locals 8 | - prefer_relative_imports 9 | - unnecessary_parenthesis 10 | -------------------------------------------------------------------------------- /pkgs/messages/example/.gitignore: -------------------------------------------------------------------------------- 1 | # Files and directories created by pub. 2 | .dart_tool/ 3 | .packages 4 | 5 | # Conventional directory for build output. 6 | build/ 7 | bin/example/ 8 | -------------------------------------------------------------------------------- /pkgs/messages/example/README.md: -------------------------------------------------------------------------------- 1 | An example project using `package:messages`. 2 | 3 | To regenerate, run 4 | ```bash 5 | dart run build_runner build 6 | ``` 7 | 8 | or use `dart run tools/daemon.dart` for a faster rebuild. 9 | 10 | 11 | The options in the `pubspec.yaml` can be adjusted by changes the values for the `messages` key. -------------------------------------------------------------------------------- /pkgs/messages/example/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:dart_flutter_team_lints/analysis_options.yaml 2 | 3 | linter: 4 | rules: 5 | - conditional_uri_does_not_exist 6 | - prefer_const_constructors 7 | - prefer_final_locals 8 | - prefer_relative_imports 9 | - unnecessary_parenthesis 10 | -------------------------------------------------------------------------------- /pkgs/messages/example/assets/l10n/testarb_de.arb: -------------------------------------------------------------------------------- 1 | { 2 | "@@locale": "de", 3 | "@@context": "HomePage", 4 | "helloAndWelcome": "Willkommen {firstName} von {lastName}", 5 | "helloAndWelcome2": "Willkommen {firstName} von {lastName} 2", 6 | "newMessages": "testde {newMessages, plural, =0 {No new messages} =1 {One new message} two{Two new Messages} other {test {newMessages} new messages}}", 7 | "newMessages2": "testdse is just a simple message" 8 | } 9 | -------------------------------------------------------------------------------- /pkgs/messages/example/assets/l10n/testarbctx2_fr.arb: -------------------------------------------------------------------------------- 1 | { 2 | "@@context": "AboutPage", 3 | "@@locale": "fr", 4 | "helloAndWelcome": "Welcome {firstName} von {lastName} <", 5 | "otherMsg": "other", 6 | "aboutMessage": "Sur {websitename}", 7 | "newMessages": "test {newMessages, plural, =0 {No new messages} =1 {One new message} two{Two new Messages} other {test {newMessages} new messages}}", 8 | "newMessages2": "test {gender, select,male {No new messages} female {One new message} other{Two new Messages} other {test {gender} new messages of type {newVar}}}" 9 | } 10 | -------------------------------------------------------------------------------- /pkgs/messages/example/assets/testarb.arb.json: -------------------------------------------------------------------------------- 1 | [0,"en","dr9Md951",1,null,["helloAndWelcome","Welcome von !",[8,0],[13,1]],["helloAndWelcome2","Welcome von !",[8,0],[13,1]],[6,"newMessages","test ",[3,0,["test new messages",[5,0]],[0,"No new messages",1,"One new message","w2","Two new Messages"]]],[6,"newMessages2","test ",[4,0,"Two new Messages",{"male":"No new messages","female":"One new message"}]]] -------------------------------------------------------------------------------- /pkgs/messages/example/assets/testarb_de.arb.json: -------------------------------------------------------------------------------- 1 | [0,"de","hbDN1MhX",1,null,["helloAndWelcome","Willkommen von ",[11,0],[16,1]],["helloAndWelcome2","Willkommen von 2",[11,0],[16,1]],[6,"newMessages","testde ",[3,0,["test new messages",[5,0]],[0,"No new messages",1,"One new message","w2","Two new Messages"]]],["newMessages2","testdse is just a simple message"]] -------------------------------------------------------------------------------- /pkgs/messages/example/assets/testarbctx2.arb.json: -------------------------------------------------------------------------------- 1 | [0,"en","QrwRSsOy",1,null,["aboutMessage","About ",[6,0]],["helloAndWelcome","Welcome von <",[8,0],[13,1]],[6,"newMessages","test ",[3,0,["test new messages",[5,0]],[0,"No new messages",1,"One new message","w2","Two new Messages"]]],[6,"newMessages2","test ",[4,0,"Two new Messages",{"male":"No new messages","female":"One new message"}]],["otherMsg","other"]] -------------------------------------------------------------------------------- /pkgs/messages/example/assets/testarbctx2_fr.arb.json: -------------------------------------------------------------------------------- 1 | [0,"fr","390XWry3",1,null,["aboutMessage","Sur ",[4,0]],["helloAndWelcome","Welcome von <",[8,0],[13,1]],[6,"newMessages","test ",[3,0,["test new messages",[5,0]],[0,"No new messages",1,"One new message","w2","Two new Messages"]]],[6,"newMessages2","test ",[4,0,"Two new Messages",{"male":"No new messages","female":"One new message"}]],["otherMsg","other"]] -------------------------------------------------------------------------------- /pkgs/messages/example/lib/AboutPage_en_empty.g.dart: -------------------------------------------------------------------------------- 1 | // This is a helper file for deferred loading of the messages for locale en, 2 | // generated by `dart run messages`. 3 | -------------------------------------------------------------------------------- /pkgs/messages/example/lib/AboutPage_fr_empty.g.dart: -------------------------------------------------------------------------------- 1 | // This is a helper file for deferred loading of the messages for locale fr, 2 | // generated by `dart run messages`. 3 | -------------------------------------------------------------------------------- /pkgs/messages/example/lib/HomePage_de_empty.g.dart: -------------------------------------------------------------------------------- 1 | // This is a helper file for deferred loading of the messages for locale de, 2 | // generated by `dart run messages`. 3 | -------------------------------------------------------------------------------- /pkgs/messages/example/lib/HomePage_en_empty.g.dart: -------------------------------------------------------------------------------- 1 | // This is a helper file for deferred loading of the messages for locale en, 2 | // generated by `dart run messages`. 3 | -------------------------------------------------------------------------------- /pkgs/messages/example/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: example 2 | description: An example on how to use `package:messages`. 3 | publish_to: none 4 | 5 | environment: 6 | sdk: ^3.0.0 7 | 8 | dependencies: 9 | intl: ^0.19.0 10 | messages: 11 | path: ../../messages 12 | 13 | dev_dependencies: 14 | dart_flutter_team_lints: ^3.1.0 15 | lints: ^4.0.0 16 | messages_builder: 17 | path: ../../messages_builder 18 | path: ^1.8.3 19 | test: ^1.16.0 20 | 21 | package_options: 22 | messages_builder: 23 | generate_methods: true 24 | generate_find_by_id: true 25 | generate_find_by: integer 26 | plural_selector: intl 27 | arb_input_folder: assets/l10n/ 28 | message_output_folder: assets/ 29 | generated_code_files: lib/ 30 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/README.md: -------------------------------------------------------------------------------- 1 | # my_application 2 | 3 | A new Flutter project. 4 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:flutter_lints/flutter.yaml 2 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/to/reference-keystore 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/kotlin/com/example/my_application/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.my_application 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() 6 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dart-lang/i18n/43214dde639f496377b6151115d1415128298c53/pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dart-lang/i18n/43214dde639f496377b6151115d1415128298c53/pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dart-lang/i18n/43214dde639f496377b6151115d1415128298c53/pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dart-lang/i18n/43214dde639f496377b6151115d1415128298c53/pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dart-lang/i18n/43214dde639f496377b6151115d1415128298c53/pkgs/messages/examples_flutter/my_application/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | enMessages 4 | deMessages 5 | 6 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | } 6 | } 7 | 8 | rootProject.buildDir = "../build" 9 | subprojects { 10 | project.buildDir = "${rootProject.buildDir}/${project.name}" 11 | } 12 | subprojects { 13 | project.evaluationDependsOn(":app") 14 | } 15 | 16 | tasks.register("clean", Delete) { 17 | delete rootProject.buildDir 18 | } 19 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/deMessages/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/enMessages/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip 6 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/assets/l10n/messages.arb: -------------------------------------------------------------------------------- 1 | { 2 | "@@locale": "en_US", 3 | "@@context": "my_app", 4 | "current_sale_name": "{arg, select, other{No sale} winter{Winter sale} summer{Summer sale}}", 5 | "@current_sale_name": { 6 | "description": "current_sale_name", 7 | "placeholders": { 8 | "arg": { 9 | "type":"String", 10 | "example":"winter" 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/assets/l10n/messages_de.arb: -------------------------------------------------------------------------------- 1 | { 2 | "@@locale": "de_DE", 3 | "@@context": "my_app", 4 | "@@x-template": "messages.arb", 5 | "current_sale_name": "{arg, select, other{Kein Sonderverkauf} winter{Winterschlussverkauf} summer{Sommerschlussverkauf}}" 6 | } 7 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/assets/messages.arb.json: -------------------------------------------------------------------------------- 1 | [0,"en_US","h/qGCx3k",0,null,[4,0,"No sale",{"winter":"Winter sale","summer":"Summer sale"}]] -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/assets/messages_de.arb.json: -------------------------------------------------------------------------------- 1 | [0,"de_DE","xXViKglj",0,null,[4,0,"Kein Sonderverkauf",{"winter":"Winterschlussverkauf","summer":"Sommerschlussverkauf"}]] -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/lib/src/my_app_de_DE_empty.g.dart: -------------------------------------------------------------------------------- 1 | // This is a helper file for deferred loading of the messages for locale de_DE, 2 | // generated by `dart run messages`. 3 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/lib/src/my_app_en_US_empty.g.dart: -------------------------------------------------------------------------------- 1 | // This is a helper file for deferred loading of the messages for locale en_US, 2 | // generated by `dart run messages`. 3 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_application/linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | migrate_working_dir/ 12 | 13 | # IntelliJ related 14 | *.iml 15 | *.ipr 16 | *.iws 17 | .idea/ 18 | 19 | # The .vscode folder contains launch configuration and tasks you configure in 20 | # VS Code which you may wish to be included in version control, so this line 21 | # is commented out by default. 22 | #.vscode/ 23 | 24 | # Flutter/Dart/Pub related 25 | # Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. 26 | /pubspec.lock 27 | **/doc/api/ 28 | .dart_tool/ 29 | .flutter-plugins 30 | .flutter-plugins-dependencies 31 | build/ 32 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: "4ca51a1de59772d6adc6f8fbcc627c79d975a564" 8 | channel: "master" 9 | 10 | project_type: package 11 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.0.1 2 | 3 | * TODO: Describe initial release. 4 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/LICENSE: -------------------------------------------------------------------------------- 1 | TODO: Add your license here. 2 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:flutter_lints/flutter.yaml 2 | 3 | # Additional information about this file can be found at 4 | # https://dart.dev/guides/language/analysis-options 5 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/assets/l10n/messages.arb: -------------------------------------------------------------------------------- 1 | { 2 | "@@locale": "en_US", 3 | "@@context": "shopping_cart", 4 | "itemsInCart": "{count, plural, other{{count} items in cart} zero{No items in cart} one{1 item in cart}}", 5 | "@itemsInCart": { 6 | "description": "itemsInCart", 7 | "placeholders": { 8 | "count": { 9 | "type": "int", 10 | "example": "1" 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/assets/messages.arb.json: -------------------------------------------------------------------------------- 1 | [0,"en_US","Nj229ee7",0,null,[3,0,[" items in cart",[0,0]],["w0","No items in cart","w1","1 item in cart"]]] -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/lib/my_shopping_cart.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | library my_shopping_cart; 5 | 6 | import 'package:flutter/services.dart'; 7 | 8 | import 'src/messages.g.dart'; 9 | 10 | class MyShoppingCart { 11 | final _messages = ShoppingCartMessages(rootBundle.loadString); 12 | Future loadLocales() async => await _messages.loadAllLocales(); 13 | 14 | String itemsInCart(int number) => _messages.itemsInCart(number); 15 | } 16 | -------------------------------------------------------------------------------- /pkgs/messages/examples_flutter/my_shopping_cart/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: my_shopping_cart 2 | description: "A new Flutter package project." 3 | version: 0.0.1 4 | 5 | publish_to: none 6 | 7 | environment: 8 | sdk: ^3.5.0 9 | flutter: ">=1.17.0" 10 | 11 | dependencies: 12 | flutter: 13 | sdk: flutter 14 | intl: ^0.19.0 15 | messages: 16 | path: ../../../messages 17 | 18 | dev_dependencies: 19 | flutter_test: 20 | sdk: flutter 21 | flutter_lints: ^4.0.0 22 | messages_builder: 23 | path: ../../../messages_builder 24 | 25 | package_options: 26 | messages_builder: 27 | arb_input_folder: assets/l10n/ 28 | message_output_folder: assets/ 29 | generated_code_files: lib/src/ 30 | 31 | flutter: 32 | assets: 33 | - assets/messages.arb.json 34 | -------------------------------------------------------------------------------- /pkgs/messages/lib/messages.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'src/deserializer/deserializer.dart'; 6 | export 'src/message_format.dart'; 7 | -------------------------------------------------------------------------------- /pkgs/messages/lib/messages_json.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | export 'messages.dart'; 6 | export 'src/deserializer/deserializer_json.dart'; 7 | export 'src/message_list_json.dart'; 8 | -------------------------------------------------------------------------------- /pkgs/messages/lib/src/deserializer/deserializer.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import '../message_format.dart'; 6 | import '../plural_selector.dart'; 7 | 8 | abstract class Deserializer { 9 | T deserialize(PluralSelector selector); 10 | } 11 | -------------------------------------------------------------------------------- /pkgs/messages/lib/src/plural_selector.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'message.dart'; 6 | 7 | typedef PluralSelector = Message Function( 8 | num howMany, 9 | String locale, { 10 | Map? numberCases, 11 | Map? wordCases, 12 | Message? few, 13 | Message? many, 14 | required Message other, 15 | }); 16 | -------------------------------------------------------------------------------- /pkgs/messages/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: messages 2 | description: A lightweight modular library for localization (l10n) functionality. 3 | version: 0.3.0-wip 4 | repository: https://github.com/dart-lang/i18n/tree/main/pkgs/messages 5 | 6 | publish_to: none 7 | 8 | environment: 9 | sdk: ^3.0.0 10 | 11 | dependencies: 12 | collection: ^1.17.1 13 | path: ^1.9.0 14 | 15 | dev_dependencies: 16 | dart_flutter_team_lints: ^3.0.0 17 | intl: ^0.19.0 18 | test: ^1.16.0 19 | -------------------------------------------------------------------------------- /pkgs/messages/pubspec_overrides.yaml: -------------------------------------------------------------------------------- 1 | dependency_overrides: 2 | messages_serializer: 3 | path: ../messages_serializer 4 | -------------------------------------------------------------------------------- /pkgs/messages_builder/.gitignore: -------------------------------------------------------------------------------- 1 | # Files and directories created by pub. 2 | .dart_tool/ 3 | .packages 4 | 5 | # Conventional directory for build outputs. 6 | build/ 7 | 8 | # Omit committing pubspec.lock for library packages; see 9 | # https://dart.dev/guides/libraries/private-files#pubspeclock. 10 | pubspec.lock 11 | -------------------------------------------------------------------------------- /pkgs/messages_builder/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.3.0-wip 2 | 3 | - Adapt to output data files to assets. 4 | 5 | ## 0.2.1 6 | 7 | - Bump dependencies. 8 | 9 | ## 0.2.0 10 | 11 | - Remove `IntlObject` interface. 12 | - Introduce `PluralRules` to retrieve the correct message for plurals. 13 | 14 | ## 0.1.1 15 | 16 | - Add `header` to `GenerationOptions`. 17 | 18 | ## 0.1.0 19 | 20 | - Initial version. 21 | -------------------------------------------------------------------------------- /pkgs/messages_builder/README.md: -------------------------------------------------------------------------------- 1 | The builder for [`package:messages`](../messages/README.md). 2 | 3 | The options can be configured by setting configuring the following in the `pubspec.yaml`: 4 | 5 | ```yaml 6 | package_options: 7 | messages_builder: 8 | generateMethods: true 9 | generateFindById: true 10 | generateFindBy: [enumerate | integer | none] 11 | ``` -------------------------------------------------------------------------------- /pkgs/messages_builder/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:dart_flutter_team_lints/analysis_options.yaml 2 | 3 | linter: 4 | rules: 5 | - conditional_uri_does_not_exist 6 | - prefer_const_constructors 7 | - prefer_final_locals 8 | - prefer_relative_imports 9 | - unnecessary_parenthesis 10 | -------------------------------------------------------------------------------- /pkgs/messages_builder/build.yaml: -------------------------------------------------------------------------------- 1 | # Read about `build.yaml` at https://pub.dev/packages/build_config 2 | builders: 3 | copyBuilder: 4 | import: "package:messages_builder/builder.dart" 5 | builder_factories: ["messagesBuilder"] 6 | build_extensions: 7 | { 8 | "l10n.messages": ["messages.g.dart"], 9 | } 10 | build_to: source 11 | auto_apply: root_package 12 | -------------------------------------------------------------------------------- /pkgs/messages_builder/lib/code_generation/generation.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | String enumName(String? context) => '${context ?? ''}MessagesEnum'; 6 | 7 | String getDataFileName(String e) => e.split('.').first; 8 | -------------------------------------------------------------------------------- /pkgs/messages_builder/lib/located_message_file.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'message_file.dart'; 6 | 7 | /// A [MessageFile] with its [path]. 8 | class LocatedMessageFile { 9 | final String path; 10 | final MessageFile file; 11 | String get locale => file.locale ?? 'en_US'; 12 | String get hash => file.hash; 13 | 14 | String namespacedPath(String packageName) => 'packages/$packageName/$path'; 15 | 16 | LocatedMessageFile({required this.path, required this.file}); 17 | } 18 | -------------------------------------------------------------------------------- /pkgs/messages_builder/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: messages_builder 2 | description: Build the messages for consumption by package:messages 3 | version: 0.3.0-wip 4 | repository: https://github.com/dart-lang/i18n/pkgs/messages_builder 5 | 6 | environment: 7 | sdk: ^3.0.0 8 | 9 | publish_to: none 10 | 11 | dependencies: 12 | code_builder: ^4.3.0 13 | collection: ^1.18.0 14 | crypto: ^3.0.3 15 | dart_style: ^2.2.4 16 | intl: ^0.19.0 17 | logging: ^1.2.0 18 | messages: 19 | path: ../messages 20 | messages_serializer: 21 | path: ../messages_serializer 22 | path: ^1.8.2 23 | yaml: ^3.1.1 24 | 25 | dev_dependencies: 26 | dart_flutter_team_lints: ^3.0.0 27 | test: ^1.16.0 28 | -------------------------------------------------------------------------------- /pkgs/messages_builder/pubspec_overrides.yaml: -------------------------------------------------------------------------------- 1 | dependency_overrides: 2 | messages: 3 | path: ../messages 4 | messages_serializer: 5 | path: ../messages_serializer 6 | -------------------------------------------------------------------------------- /pkgs/messages_serializer/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.3.0-wip 2 | 3 | - Adapt to output data files to assets. 4 | 5 | ## 0.2.1 6 | 7 | - Bump dependencies. 8 | 9 | ## 0.2.0 10 | 11 | - Switch plural encoding to map. 12 | 13 | ## 0.1.0 14 | 15 | - Initial version. 16 | -------------------------------------------------------------------------------- /pkgs/messages_serializer/README.md: -------------------------------------------------------------------------------- 1 | The serialization for [`package:messages`](../messages/README.md). 2 | 3 | ## Status - experimental 4 | 5 | - Serialize to binary: - 6 | - Serialize to JSON: :heavy_check_mark: -------------------------------------------------------------------------------- /pkgs/messages_serializer/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:dart_flutter_team_lints/analysis_options.yaml 2 | 3 | linter: 4 | rules: 5 | - conditional_uri_does_not_exist 6 | - prefer_const_constructors 7 | - prefer_final_locals 8 | - prefer_relative_imports 9 | - unnecessary_parenthesis 10 | -------------------------------------------------------------------------------- /pkgs/messages_serializer/lib/messages_serializer.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | /// Support for doing something awesome. 6 | /// 7 | /// More dartdocs go here. 8 | library; 9 | 10 | export 'src/serializer.dart'; 11 | export 'src/serializer_json.dart'; 12 | -------------------------------------------------------------------------------- /pkgs/messages_serializer/lib/src/serializer.dart: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file 2 | // for details. All rights reserved. Use of this source code is governed by a 3 | // BSD-style license that can be found in the LICENSE file. 4 | 5 | import 'package:messages/messages.dart'; 6 | 7 | class Serialization { 8 | final T data; 9 | 10 | Serialization(this.data); 11 | } 12 | 13 | abstract class Serializer { 14 | final bool writeIds; 15 | 16 | Serializer(this.writeIds); 17 | 18 | String get extension; 19 | 20 | Serialization serialize( 21 | String hash, 22 | String locale, 23 | List messages, [ 24 | List? keepOnly, 25 | ]); 26 | } 27 | -------------------------------------------------------------------------------- /pkgs/messages_serializer/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: messages_serializer 2 | description: Serialization of messages for package:messages. 3 | version: 0.3.0-wip 4 | repository: https://github.com/dart-lang/i18n/tree/main/pkgs/messages_serializer 5 | 6 | environment: 7 | sdk: ^3.0.0 8 | 9 | publish_to: none 10 | 11 | dependencies: 12 | intl: ^0.19.0 13 | messages: 14 | path: ../messages 15 | 16 | dev_dependencies: 17 | dart_flutter_team_lints: ^3.0.0 18 | test: ^1.21.0 19 | -------------------------------------------------------------------------------- /pkgs/messages_serializer/pubspec_overrides.yaml: -------------------------------------------------------------------------------- 1 | dependency_overrides: 2 | messages: 3 | path: ../messages 4 | -------------------------------------------------------------------------------- /pkgs/messages_shrinker/.gitignore: -------------------------------------------------------------------------------- 1 | # https://dart.dev/guides/libraries/private-files 2 | # Created by `dart pub` 3 | .dart_tool/ 4 | 5 | # Avoid committing pubspec.lock for library packages; see 6 | # https://dart.dev/guides/libraries/private-files#pubspeclock. 7 | pubspec.lock 8 | -------------------------------------------------------------------------------- /pkgs/messages_shrinker/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.2.2-wip 2 | 3 | - Add license header. 4 | - Fixes related to API change in package:messages_builder. 5 | 6 | ## 0.2.1 7 | 8 | - Bump dependencies. 9 | 10 | ## 0.2.0 11 | 12 | - Adapt to `PluralRules` interface to retrieve the correct message for plurals. 13 | 14 | ## 0.1.0 15 | 16 | - Initial version. 17 | -------------------------------------------------------------------------------- /pkgs/messages_shrinker/README.md: -------------------------------------------------------------------------------- 1 | The data file treeshaker for [`package:messages`](../messages/README.md). 2 | 3 | This is to be used together with the `const_finder` from the Dart SDK (to be added). The `const_finder` will find all const instances in the treeshaken kernel file (in the VM) or Codegen World (in the Dart2Js compiler) and output them to a file. This file can be consumed by this package to remove all non-referenced messages from the data file. -------------------------------------------------------------------------------- /pkgs/messages_shrinker/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:dart_flutter_team_lints/analysis_options.yaml 2 | 3 | linter: 4 | rules: 5 | - prefer_final_locals 6 | -------------------------------------------------------------------------------- /pkgs/messages_shrinker/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: messages_shrinker 2 | description: Removing unneeded messages from message data files for package:messages. 3 | version: 0.2.2-wip 4 | repository: https://github.com/dart-lang/i18n/pkgs/messages_shrinker 5 | issue_tracker: https://github.com/dart-lang/i18n/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Amessages_shrinker 6 | 7 | environment: 8 | sdk: ^3.0.0 9 | 10 | # Add regular dependencies here. 11 | dependencies: 12 | analyzer: ^6.2.0 13 | args: ^2.4.2 14 | messages: ^0.2.0 15 | messages_builder: ^0.2.0 16 | messages_serializer: ^0.2.0 17 | 18 | dev_dependencies: 19 | dart_flutter_team_lints: ^3.0.0 20 | intl: ^0.19.0 21 | test: ^1.21.0 22 | -------------------------------------------------------------------------------- /pkgs/messages_shrinker/pubspec_overrides.yaml: -------------------------------------------------------------------------------- 1 | dependency_overrides: 2 | messages: 3 | path: ../messages 4 | messages_serializer: 5 | path: ../messages_serializer 6 | messages_builder: 7 | path: ../messages_builder 8 | -------------------------------------------------------------------------------- /pkgs/messages_shrinker/test/const_files.json: -------------------------------------------------------------------------------- 1 | { 2 | "constantInstances": [ 3 | { 4 | "index": 1, 5 | "_name": "aboutMessage" 6 | } 7 | ], 8 | "nonConstantLocations": [] 9 | } -------------------------------------------------------------------------------- /pkgs/messages_shrinker/test/testarb.json: -------------------------------------------------------------------------------- 1 | [0,"","",0,null,["Welcome von <",[8,0],[13,1]],[6,"test ",[3,0,["test new messages",[5,0]],[2,"No new messages",4,"One new message",5,"Two new Messages"]]],[6,"test ",[4,0,["test new messages of type ",[5,0],[27,1]],{"male":"No new messages","female":"One new message"}]]] -------------------------------------------------------------------------------- /tools/regenerate_bindings.sh: -------------------------------------------------------------------------------- 1 | rm pkgs/intl4x/lib/src/bindings/* 2 | cd pkgs/intl4x/lib/src/bindings/ 3 | cp -a ../../../../../submodules/icu4x/ffi/capi/bindings/dart/*.dart . 4 | cd ../../../../../ 5 | 6 | cp submodules/icu4x/ffi/dart/tool/build_libs.dart pkgs/intl4x/tool/build_libs.g.dart 7 | cp submodules/icu4x/ffi/dart/tool/build_libs.dart pkgs/intl4x/lib/src/hook_helpers/build_libs.g.dart 8 | dart format pkgs/intl4x/lib/src/bindings/ 9 | dart format pkgs/intl4x/tool/build_libs.g.dart 10 | dart format pkgs/intl4x/lib/src/hook_helpers/build_libs.g.dart 11 | --------------------------------------------------------------------------------