From 004fd6a595f6f155c109bd0a031f461bdb2b02ce Mon Sep 17 00:00:00 2001 From: "Reynaldo T. Santos" Date: Fri, 30 May 2025 14:59:49 -0300 Subject: [PATCH 1/5] feat: week prefix for day --- lib/src/codecs/text/l10n/en.dart | 4 ++++ lib/src/codecs/text/l10n/l10n.dart | 1 + lib/src/codecs/text/l10n/nl.dart | 2 ++ 3 files changed, 7 insertions(+) diff --git a/lib/src/codecs/text/l10n/en.dart b/lib/src/codecs/text/l10n/en.dart index 5cb8de3..6954288 100644 --- a/lib/src/codecs/text/l10n/en.dart +++ b/lib/src/codecs/text/l10n/en.dart @@ -94,6 +94,10 @@ class RruleL10nEn extends RruleL10n { String? get weekdaysString => 'weekdays'; @override String get everyXDaysOfWeekPrefix => 'every '; + + @override + String everyXDaysOfWeekPrefixForDay(int day) => 'every '; + @override String nthDaysOfWeek(Iterable occurrences, String daysOfWeek) { if (occurrences.isEmpty) return daysOfWeek; diff --git a/lib/src/codecs/text/l10n/l10n.dart b/lib/src/codecs/text/l10n/l10n.dart index ba99504..506694c 100644 --- a/lib/src/codecs/text/l10n/l10n.dart +++ b/lib/src/codecs/text/l10n/l10n.dart @@ -48,6 +48,7 @@ abstract class RruleL10n { }); String? get weekdaysString; String get everyXDaysOfWeekPrefix; + String everyXDaysOfWeekPrefixForDay(int day); String dayOfWeek(int dayOfWeek) { assert(dayOfWeek.isValidRruleDayOfWeek); diff --git a/lib/src/codecs/text/l10n/nl.dart b/lib/src/codecs/text/l10n/nl.dart index a7a803d..340bda2 100644 --- a/lib/src/codecs/text/l10n/nl.dart +++ b/lib/src/codecs/text/l10n/nl.dart @@ -98,6 +98,8 @@ class RruleL10nNl extends RruleL10n { @override String get everyXDaysOfWeekPrefix => 'elke '; @override + String everyXDaysOfWeekPrefixForDay(int day) => 'elke '; + @override String nthDaysOfWeek(Iterable occurrences, String daysOfWeek) { if (occurrences.isEmpty) return daysOfWeek; From fd7af71b91e16fd947623dabdde6e3466b0ff538 Mon Sep 17 00:00:00 2001 From: "Reynaldo T. Santos" Date: Fri, 30 May 2025 15:01:13 -0300 Subject: [PATCH 2/5] feat: Until DateFormat --- lib/src/codecs/text/encoder.dart | 8 +++++--- lib/src/codecs/text/l10n/en.dart | 7 ++++--- lib/src/codecs/text/l10n/l10n.dart | 2 +- lib/src/codecs/text/l10n/nl.dart | 6 +++--- lib/src/recurrence_rule.dart | 5 +++-- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/src/codecs/text/encoder.dart b/lib/src/codecs/text/encoder.dart index 931c55e..8ed6953 100644 --- a/lib/src/codecs/text/encoder.dart +++ b/lib/src/codecs/text/encoder.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:collection/collection.dart'; +import 'package:intl/intl.dart'; import 'package:meta/meta.dart'; import '../../by_week_day_entry.dart'; @@ -11,9 +12,10 @@ import 'l10n/l10n.dart'; @immutable class RecurrenceRuleToTextEncoder extends Converter { - const RecurrenceRuleToTextEncoder(this.l10n); + const RecurrenceRuleToTextEncoder(this.l10n, {this.untilDateFormat}); final RruleL10n l10n; + final DateFormat? untilDateFormat; @override String convert(RecurrenceRule input) { @@ -52,7 +54,7 @@ class RecurrenceRuleToTextEncoder extends Converter { } if (input.until != null) { - output.write(l10n.until(input.until!, input.frequency)); + output.write(l10n.until(input.until!, input.frequency, dateFormat: untilDateFormat)); } else if (input.count != null) { output.write(l10n.count(input.count!)); } @@ -486,7 +488,7 @@ extension on Iterable { (day) { var string = l10n.dayOfWeek(day); if (addEveryPrefix && !addedEveryPrefix && day == startValue) { - string = '${l10n.everyXDaysOfWeekPrefix}$string'; + string = '${l10n.everyXDaysOfWeekPrefixForDay(day)}$string'; addedEveryPrefix = true; } return string; diff --git a/lib/src/codecs/text/l10n/en.dart b/lib/src/codecs/text/l10n/en.dart index 6954288..b470ae8 100644 --- a/lib/src/codecs/text/l10n/en.dart +++ b/lib/src/codecs/text/l10n/en.dart @@ -41,9 +41,10 @@ class RruleL10nEn extends RruleL10n { } @override - String until(DateTime until, Frequency frequency) { - final untilString = - formatWithIntl(() => DateFormat.yMMMMEEEEd().add_jms().format(until)); + String until(DateTime until, Frequency frequency, {DateFormat? dateFormat}) { + final untilString = formatWithIntl(() => + dateFormat?.format(until) ?? DateFormat.yMMMMEEEEd().add_jms().format(until) + ); return ', until $untilString'; } diff --git a/lib/src/codecs/text/l10n/l10n.dart b/lib/src/codecs/text/l10n/l10n.dart index 506694c..94efb00 100644 --- a/lib/src/codecs/text/l10n/l10n.dart +++ b/lib/src/codecs/text/l10n/l10n.dart @@ -21,7 +21,7 @@ abstract class RruleL10n { Intl.withLocale(locale, formatter) as String; String frequencyInterval(Frequency frequency, int interval); - String until(DateTime until, Frequency frequency); + String until(DateTime until, Frequency frequency, {DateFormat? dateFormat}); String count(int count); String range(String start, String end) => '$start – $end'; diff --git a/lib/src/codecs/text/l10n/nl.dart b/lib/src/codecs/text/l10n/nl.dart index 340bda2..131f507 100644 --- a/lib/src/codecs/text/l10n/nl.dart +++ b/lib/src/codecs/text/l10n/nl.dart @@ -39,9 +39,9 @@ class RruleL10nNl extends RruleL10n { } @override - String until(DateTime until, Frequency frequency) { - final untilString = formatWithIntl( - () => DateFormat("EEEE d MMMM yyyy 'om' H:mm 'uur'", 'nl').format(until), + String until(DateTime until, Frequency frequency, {DateFormat? dateFormat}) { + final untilString = formatWithIntl(() => + dateFormat?.format(until) ?? DateFormat("EEEE d MMMM yyyy 'om' H:mm 'uur'", 'nl').format(until) ); return ', tot $untilString'; } diff --git a/lib/src/recurrence_rule.dart b/lib/src/recurrence_rule.dart index 13b3204..9a3cc8f 100644 --- a/lib/src/recurrence_rule.dart +++ b/lib/src/recurrence_rule.dart @@ -1,4 +1,5 @@ import 'package:collection/collection.dart'; +import 'package:intl/intl.dart'; import 'package:meta/meta.dart'; import 'by_week_day_entry.dart'; @@ -334,14 +335,14 @@ class RecurrenceRule { /// Converts this rule to a human-readable string. /// /// This may only be called on rules that are fully convertable to text. - String toText({required RruleL10n l10n}) { + String toText({required RruleL10n l10n, DateFormat? untilDateFormat}) { assert( canFullyConvertToText, "This recurrence rule can't fully be converted to text. See " '[RecurrenceRule.canFullyConvertToText] for more information.', ); - return RecurrenceRuleToTextEncoder(l10n).convert(this); + return RecurrenceRuleToTextEncoder(l10n, untilDateFormat: untilDateFormat).convert(this); } /// Converts this rule to a machine-readable, RFC-7265-compliant string. From a8cc97a40fce37d2679ca4823528a32a99558992 Mon Sep 17 00:00:00 2001 From: "Reynaldo T. Santos" Date: Fri, 30 May 2025 18:57:21 -0300 Subject: [PATCH 3/5] feat: pt_BR --- lib/src/codecs/text/encoder.dart | 2 +- lib/src/codecs/text/l10n/en.dart | 4 - lib/src/codecs/text/l10n/l10n.dart | 2 +- lib/src/codecs/text/l10n/nl.dart | 2 - lib/src/codecs/text/l10n/pt_BR.dart | 195 ++++++++++++++++++++++++++++ test/codecs/text/data.yaml | 133 +++++++++++++++++++ test/codecs/text/text_test.dart | 1 + 7 files changed, 331 insertions(+), 8 deletions(-) create mode 100644 lib/src/codecs/text/l10n/pt_BR.dart diff --git a/lib/src/codecs/text/encoder.dart b/lib/src/codecs/text/encoder.dart index 8ed6953..54ce74c 100644 --- a/lib/src/codecs/text/encoder.dart +++ b/lib/src/codecs/text/encoder.dart @@ -488,7 +488,7 @@ extension on Iterable { (day) { var string = l10n.dayOfWeek(day); if (addEveryPrefix && !addedEveryPrefix && day == startValue) { - string = '${l10n.everyXDaysOfWeekPrefixForDay(day)}$string'; + string = '${l10n.everyXDaysOfWeekPrefix}$string'; addedEveryPrefix = true; } return string; diff --git a/lib/src/codecs/text/l10n/en.dart b/lib/src/codecs/text/l10n/en.dart index b470ae8..25b9a28 100644 --- a/lib/src/codecs/text/l10n/en.dart +++ b/lib/src/codecs/text/l10n/en.dart @@ -95,10 +95,6 @@ class RruleL10nEn extends RruleL10n { String? get weekdaysString => 'weekdays'; @override String get everyXDaysOfWeekPrefix => 'every '; - - @override - String everyXDaysOfWeekPrefixForDay(int day) => 'every '; - @override String nthDaysOfWeek(Iterable occurrences, String daysOfWeek) { if (occurrences.isEmpty) return daysOfWeek; diff --git a/lib/src/codecs/text/l10n/l10n.dart b/lib/src/codecs/text/l10n/l10n.dart index 94efb00..b610204 100644 --- a/lib/src/codecs/text/l10n/l10n.dart +++ b/lib/src/codecs/text/l10n/l10n.dart @@ -8,6 +8,7 @@ import 'en.dart'; export 'en.dart'; export 'nl.dart'; +export 'pt_BR.dart'; /// Contains localized strings used by [RecurrenceRule.toText]. /// @@ -48,7 +49,6 @@ abstract class RruleL10n { }); String? get weekdaysString; String get everyXDaysOfWeekPrefix; - String everyXDaysOfWeekPrefixForDay(int day); String dayOfWeek(int dayOfWeek) { assert(dayOfWeek.isValidRruleDayOfWeek); diff --git a/lib/src/codecs/text/l10n/nl.dart b/lib/src/codecs/text/l10n/nl.dart index 131f507..d538143 100644 --- a/lib/src/codecs/text/l10n/nl.dart +++ b/lib/src/codecs/text/l10n/nl.dart @@ -98,8 +98,6 @@ class RruleL10nNl extends RruleL10n { @override String get everyXDaysOfWeekPrefix => 'elke '; @override - String everyXDaysOfWeekPrefixForDay(int day) => 'elke '; - @override String nthDaysOfWeek(Iterable occurrences, String daysOfWeek) { if (occurrences.isEmpty) return daysOfWeek; diff --git a/lib/src/codecs/text/l10n/pt_BR.dart b/lib/src/codecs/text/l10n/pt_BR.dart new file mode 100644 index 0000000..e08de46 --- /dev/null +++ b/lib/src/codecs/text/l10n/pt_BR.dart @@ -0,0 +1,195 @@ +import 'package:intl/date_symbol_data_local.dart'; +import 'package:intl/intl.dart'; +import 'package:meta/meta.dart'; + +import '../../../frequency.dart'; +import 'l10n.dart'; + +@immutable +class RruleL10nPtBr extends RruleL10n { + const RruleL10nPtBr._(); + + static Future create() async { + // TODO(JonasWanke): Move `initializeDateFormatting(…)` call to the + // library's user + await initializeDateFormatting('pt_BR'); + return const RruleL10nPtBr._(); + } + + @override + String get locale => 'pt_BR'; + + @override + String frequencyInterval(Frequency frequency, int interval) { + String plurals({required String one, required String singular}) { + if (frequency == Frequency.monthly) { + return switch (interval) { + 1 => one, + _ => 'A cada $interval meses', + }; + } + + return switch (interval) { + 1 => one, + _ => 'A cada $interval ${singular}s', + }; + } + + return { + Frequency.secondly: plurals(one: 'A cada segundo', singular: 'segundo'), + Frequency.minutely: plurals(one: 'A cada minuto', singular: 'minuto'), + Frequency.hourly: plurals(one: 'A cada hora', singular: 'hora'), + Frequency.daily: plurals(one: 'Todos os dias', singular: 'dia'), + Frequency.weekly: plurals(one: 'Semanal:', singular: 'semana'), + Frequency.monthly: plurals(one: 'Mensal', singular: 'mês'), + Frequency.yearly: plurals(one: 'Anual:', singular: 'ano'), + }[frequency]!; + } + + @override + String until(DateTime until, Frequency frequency, {DateFormat? dateFormat}) { + final untilString = formatWithIntl(() => + dateFormat?.format(until) ?? DateFormat('d MMM y', 'pt_BR').format(until) + ); + return ' até $untilString'; + } + + @override + String count(int count) { + return switch (count) { + 1 => ', uma vez', + 2 => ', duas vezes', + _ => ' $count vezes', + }; + } + + @override + String onInstances(String instances) => 'na $instances ocorrência'; + + @override + String inMonths(String months, {InOnVariant variant = InOnVariant.simple}) => + '${_inVariant(variant)} $months'; + + @override + String inWeeks(String weeks, {InOnVariant variant = InOnVariant.simple}) => + '${_inVariant(variant)} $weeks semana do ano'; + + String _inVariant(InOnVariant variant) { + return switch (variant) { + InOnVariant.simple => 'em', + InOnVariant.also => 'que também estão em', + InOnVariant.instanceOf => 'de', + }; + } + + @override + String onDaysOfWeek( + String days, { + bool indicateFrequency = false, + DaysOfWeekFrequency? frequency = DaysOfWeekFrequency.monthly, + InOnVariant variant = InOnVariant.simple, + }) { + assert(variant != InOnVariant.also); + + final frequencyString = frequency == DaysOfWeekFrequency.monthly ? 'mês' : 'ano'; + final suffix = indicateFrequency ? ' do $frequencyString' : ''; + + // Workaround: replace "toda sábado" with "todo sábado" and "toda domingo" with "todo domingo" + final modifiedDays = days + .replaceAll('toda sábado', 'todo sábado') + .replaceAll('toda domingo', 'todo domingo'); + + return '${_onVariant(variant, Frequency.weekly)} $modifiedDays$suffix'; + } + + @override + String? get weekdaysString => 'dias úteis'; + + @override + String get everyXDaysOfWeekPrefix => 'toda '; + + @override + String nthDaysOfWeek(Iterable occurrences, String daysOfWeek) { + if (occurrences.isEmpty) return daysOfWeek; + + final ordinals = list( + occurrences.map(ordinal).toList(), + ListCombination.conjunctiveShort, + ); + + // Workaround: replace the feminine form "última" with the masculine "último" + // when the first day of the week is Saturday or Sunday + final firstDay = daysOfWeek.split(',')[0].trim(); + final modifiedOrdinals = (firstDay == 'sábado' || firstDay == 'domingo') + ? ordinals.replaceAll('última', 'último') + : ordinals; + + return '$modifiedOrdinals $daysOfWeek'; + } + + @override + String onDaysOfMonth( + String days, { + DaysOfVariant daysOfVariant = DaysOfVariant.dayAndFrequency, + InOnVariant variant = InOnVariant.simple, + }) { + final suffix = { + DaysOfVariant.simple: ' dia', + DaysOfVariant.day: ' dia', + DaysOfVariant.dayAndFrequency: ' dia do mês', + }[daysOfVariant]; + + // Workaround: replace the feminine form "última" with the masculine "último" + // when referring to the last day of the month. + final modifiedDays = days.endsWith('última') ? days.replaceAll('última', 'último') : days; + return '${_onVariant(variant, Frequency.monthly)} $modifiedDays$suffix'; + } + + @override + String onDaysOfYear( + String days, { + InOnVariant variant = InOnVariant.simple, + }) { + // Workaround: replace the feminine form "última" with the masculine "último" + // when referring to the last day of the year. + final modifiedDays = days.endsWith('última') ? days.replaceAll('última', 'último') : days; + return '${_onVariant(variant, Frequency.yearly)} $modifiedDays dia do ano'; + } + + String _onVariant(InOnVariant variant, Frequency frequency) { + return switch (variant) { + InOnVariant.simple => frequency == Frequency.monthly ? 'no' : 'cada', + InOnVariant.also => 'que também são', + InOnVariant.instanceOf => 'de', + }; + } + + @override + String list(List items, ListCombination combination) { + final (two, end) = switch (combination) { + ListCombination.conjunctiveShort => (' e ', ' e '), + ListCombination.conjunctiveLong => (' e ', ', e '), + ListCombination.disjunctive => (' ou ', ', ou '), + }; + return RruleL10n.defaultList(items, two: two, end: end); + } + + @override + String ordinal(int number) { + assert(number != 0); + if (number == -1) return 'última'; + + final n = number.abs(); + String string; + if (n % 10 == 1 && n % 100 != 11) { + string = '${n}º'; + } else if (n % 10 == 2 && n % 100 != 12) { + string = '${n}º'; + } else if (n % 10 == 3 && n % 100 != 13) { + string = '${n}º'; + } else { + string = '${n}º'; + } + return number < 0 ? '${n}º última' : string; + } +} diff --git a/test/codecs/text/data.yaml b/test/codecs/text/data.yaml index cfca5d1..e771179 100644 --- a/test/codecs/text/data.yaml +++ b/test/codecs/text/data.yaml @@ -1,24 +1,30 @@ RRULE:FREQ=WEEKLY;BYMONTH=1,2,3,8,9;BYDAY=MO,WE,TH,FR,SU: en: "Weekly in January – March, August & September on Monday, Wednesday – Friday & Sunday" nl: "Wekelijks in januari – maart, augustus en september op maandag, woensdag – vrijdag en zondag" + pt_BR: "Semanal: em janeiro – março, agosto e setembro cada segunda-feira, quarta-feira – sexta-feira e domingo" RRULE:FREQ=WEEKLY;INTERVAL=2;BYMONTH=1,2,3;BYDAY=MO,TU,WE,TH,FR,SU: en: Every other week in January – March on weekdays & Sunday nl: Om de twee weken in januari – maart op weekdagen en zondag + pt_BR: "A cada 2 semanas em janeiro – março cada dias úteis e domingo" RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,1TH,1FR,2TH,2FR,2SA,-2TH,-2FR,-2SU,-1TH,-1FR,-1SU;BYMONTHDAY=1,2,3,4,5,26,-3,-2,-1: en: "Monthly on every Monday – Wednesday, the 1st Thursday & Friday, the 2nd Thursday – Saturday, the 2nd-to-last Thursday, Friday & Sunday, and the last Thursday, Friday & Sunday that are also the 1st – 5th, 26th, or 3rd-to-last – last day of the month" nl: "Maandelijks op elke maandag – woensdag, de eerste donderdag en vrijdag, de 2de donderdag – zaterdag, de voorlaatste donderdag, vrijdag en zondag, en de laatste donderdag, vrijdag en zondag die tevens de eerste – 5de, 26ste of 3-na-laatste – laatste dag van de maand zijn" + pt_BR: "Mensal cada toda segunda-feira – quarta-feira, 1º quinta-feira e sexta-feira, 2º quinta-feira – sábado, 2º última quinta-feira, sexta-feira e domingo, e última quinta-feira, sexta-feira e domingo que também são 1º – 5º, 26º, ou 3º último – último dia do mês" # Daily RRULE:FREQ=DAILY;BYDAY=MO: en: Daily on Monday nl: Dagelijks op maandag + pt_BR: "Todos os dias cada segunda-feira" RRULE:FREQ=DAILY;INTERVAL=2;BYDAY=MO: en: Every other day on Monday nl: Om de twee dagen op maandag + pt_BR: "A cada 2 dias cada segunda-feira" RRULE:FREQ=DAILY;INTERVAL=4;BYDAY=MO: en: Every 4 days on Monday nl: Om de 4 dagen op maandag + pt_BR: "A cada 4 dias cada segunda-feira" # 0/1 digits in the comment before a text function mean whether each of # bySetPositions, byMonths, byMonthDays & byWeekDays (in that order) is @@ -28,75 +34,93 @@ RRULE:FREQ=DAILY;INTERVAL=4;BYDAY=MO: RRULE:FREQ=DAILY: en: Daily nl: Dagelijks + pt_BR: "Todos os dias" # 0001 RRULE:FREQ=DAILY;BYDAY=MO,TH: en: Daily on Monday & Thursday nl: Dagelijks op maandag en donderdag + pt_BR: "Todos os dias cada segunda-feira e quinta-feira" # 0010 RRULE:FREQ=DAILY;BYMONTHDAY=1,-1: en: Daily on the 1st & last day of the month nl: Dagelijks op de eerste en laatste dag van de maand + pt_BR: "Todos os dias no 1º e último dia do mês" # 0011 RRULE:FREQ=DAILY;BYMONTHDAY=1,-1;BYDAY=MO,TH: en: Daily on Monday & Thursday that are also the 1st or last day of the month nl: Dagelijks op maandag en donderdag die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Todos os dias cada segunda-feira e quinta-feira que também são 1º ou último dia do mês" # 0100 RRULE:FREQ=DAILY;BYMONTH=1,12: en: Daily in January & December nl: Dagelijks in januari en december + pt_BR: "Todos os dias em janeiro e dezembro" # 0101 RRULE:FREQ=DAILY;BYMONTH=1,12;BYDAY=MO,TH: en: Daily in January & December on Monday & Thursday nl: Dagelijks in januari en december op maandag en donderdag + pt_BR: "Todos os dias em janeiro e dezembro cada segunda-feira e quinta-feira" # 0110 RRULE:FREQ=DAILY;BYMONTH=1,12;BYMONTHDAY=1,-1: en: Daily in January & December on the 1st & last day of the month nl: Dagelijks in januari en december op de eerste en laatste dag van de maand + pt_BR: "Todos os dias em janeiro e dezembro no 1º e último dia do mês" # 0111 RRULE:FREQ=DAILY;BYMONTH=1,12;BYMONTHDAY=1,-1;BYDAY=MO,TH: en: Daily in January & December on Monday & Thursday that are also the 1st or last day of the month nl: Dagelijks in januari en december op maandag en donderdag die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Todos os dias em janeiro e dezembro cada segunda-feira e quinta-feira que também são 1º ou último dia do mês" # 1000: invalid # 1001 RRULE:FREQ=DAILY;BYSETPOS=1,-2;BYDAY=MO,TH: en: Daily on the 1st & 2nd-to-last instance of Monday & Thursday nl: Dagelijks op de eerste en voorlaatste van maandag en donderdag + pt_BR: "Todos os dias na 1º e 2º última ocorrência de segunda-feira e quinta-feira" # 1010 RRULE:FREQ=DAILY;BYSETPOS=1,-2;BYMONTHDAY=1,-1: en: Daily on the 1st & 2nd-to-last instance of the 1st & last day of the month nl: Dagelijks op de eerste en voorlaatste van de eerste en laatste dag van de maand + pt_BR: "Todos os dias na 1º e 2º última ocorrência de 1º e último dia do mês" # 1011 RRULE:FREQ=DAILY;BYSETPOS=1,-2;BYMONTHDAY=1,-1;BYDAY=MO,TH: en: Daily on the 1st & 2nd-to-last instance of Monday & Thursday that are also the 1st or last day of the month nl: Dagelijks op de eerste en voorlaatste van maandag en donderdag die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Todos os dias na 1º e 2º última ocorrência de segunda-feira e quinta-feira que também são 1º ou último dia do mês" # 1100 RRULE:FREQ=DAILY;BYSETPOS=1,-2;BYMONTH=1,12: en: Daily in January & December on the 1st & 2nd-to-last instance nl: Dagelijks in januari en december op de eerste en voorlaatste + pt_BR: "Todos os dias em janeiro e dezembro na 1º e 2º última ocorrência" # 1101 RRULE:FREQ=DAILY;BYSETPOS=1,-2;BYMONTH=1,12;BYDAY=MO,TH: en: Daily in January & December on the 1st & 2nd-to-last instance of Monday & Thursday nl: Dagelijks in januari en december op de eerste en voorlaatste van maandag en donderdag + pt_BR: "Todos os dias em janeiro e dezembro na 1º e 2º última ocorrência de segunda-feira e quinta-feira" # 1110 RRULE:FREQ=DAILY;BYSETPOS=1,-2;BYMONTH=1,12;BYMONTHDAY=1,-1: en: Daily in January & December on the 1st & 2nd-to-last instance of the 1st & last day of the month nl: Dagelijks in januari en december op de eerste en voorlaatste van de eerste en laatste dag van de maand + pt_BR: "Todos os dias em janeiro e dezembro na 1º e 2º última ocorrência de 1º e último dia do mês" # 1111 RRULE:FREQ=DAILY;BYSETPOS=1,-2;BYMONTH=1,12;BYMONTHDAY=1,-1;BYDAY=MO,TH: en: Daily in January & December on the 1st & 2nd-to-last instance of Monday & Thursday that are also the 1st or last day of the month nl: Dagelijks in januari en december op de eerste en voorlaatste van maandag en donderdag die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Todos os dias em janeiro e dezembro na 1º e 2º última ocorrência de segunda-feira e quinta-feira que também são 1º ou último dia do mês" # Weekly RRULE:FREQ=WEEKLY;BYDAY=MO: en: Weekly on Monday nl: Wekelijks op maandag + pt_BR: "Semanal: cada segunda-feira" RRULE:FREQ=WEEKLY;INTERVAL=2;BYDAY=MO: en: Every other week on Monday nl: Om de twee weken op maandag + pt_BR: "A cada 2 semanas cada segunda-feira" RRULE:FREQ=WEEKLY;INTERVAL=4;BYDAY=MO: en: Every 4 weeks on Monday nl: Om de 4 weken op maandag + pt_BR: "A cada 4 semanas cada segunda-feira" # 0/1 digits in the comment before a text function mean whether each of # bySetPositions, byMonths & byWeekDays (in that order) is included. @@ -105,48 +129,59 @@ RRULE:FREQ=WEEKLY;INTERVAL=4;BYDAY=MO: RRULE:FREQ=WEEKLY: en: Weekly nl: Wekelijks + pt_BR: "Semanal:" # 001 RRULE:FREQ=WEEKLY;BYDAY=MO,TH: en: Weekly on Monday & Thursday nl: Wekelijks op maandag en donderdag + pt_BR: "Semanal: cada segunda-feira e quinta-feira" # 010 RRULE:FREQ=WEEKLY;BYMONTH=1,12: en: Weekly in January & December nl: Wekelijks in januari en december + pt_BR: "Semanal: em janeiro e dezembro" # 011 RRULE:FREQ=WEEKLY;BYMONTH=1,12;BYDAY=MO,TH: en: Weekly in January & December on Monday & Thursday nl: Wekelijks in januari en december op maandag en donderdag + pt_BR: "Semanal: em janeiro e dezembro cada segunda-feira e quinta-feira" # 100: invalid # 101 RRULE:FREQ=WEEKLY;BYSETPOS=1,-2;BYDAY=MO,TH: en: Weekly on the 1st & 2nd-to-last instance of Monday & Thursday nl: Wekelijks op de eerste en voorlaatste van maandag en donderdag + pt_BR: "Semanal: na 1º e 2º última ocorrência de segunda-feira e quinta-feira" # 110 RRULE:FREQ=WEEKLY;BYSETPOS=1,-2;BYMONTH=1,12: en: Weekly in January & December on the 1st & 2nd-to-last instance nl: Wekelijks in januari en december op de eerste en voorlaatste + pt_BR: "Semanal: em janeiro e dezembro na 1º e 2º última ocorrência" # 111 RRULE:FREQ=WEEKLY;BYSETPOS=1,-2;BYMONTH=1,12;BYDAY=MO,TH: en: Weekly in January & December on the 1st & 2nd-to-last instance of Monday & Thursday nl: Wekelijks in januari en december op de eerste en voorlaatste van maandag en donderdag + pt_BR: "Semanal: em janeiro e dezembro na 1º e 2º última ocorrência de segunda-feira e quinta-feira" # Monthly RRULE:FREQ=MONTHLY;BYDAY=MO: en: Monthly on every Monday nl: Maandelijks op elke maandag + pt_BR: "Mensal cada toda segunda-feira" RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=MO: en: Every other month on every Monday nl: Om de twee maanden op elke maandag + pt_BR: "A cada 2 meses cada toda segunda-feira" RRULE:FREQ=MONTHLY;INTERVAL=4;BYDAY=MO: en: Every 4 months on every Monday nl: Om de 4 maanden op elke maandag + pt_BR: "A cada 4 meses cada toda segunda-feira" # https://github.com/JonasWanke/rrule/issues/13 RRULE:FREQ=MONTHLY;INTERVAL=1;BYSETPOS=-1;BYDAY=MO,TU,WE,TH,FR,SA,SU: en: Monthly on the last day nl: Maandelijks op de laatste dag + pt_BR: "Mensal no último dia" # 0/1 digits in the comment before a text function mean whether each of # bySetPositions, byMonths, byMonthDays & byWeekDays (in that order) is @@ -156,75 +191,93 @@ RRULE:FREQ=MONTHLY;INTERVAL=1;BYSETPOS=-1;BYDAY=MO,TU,WE,TH,FR,SA,SU: RRULE:FREQ=MONTHLY: en: Monthly nl: Maandelijks + pt_BR: "Mensal" # 0001 RRULE:FREQ=MONTHLY;BYDAY=MO,-1TH: en: Monthly on every Monday & the last Thursday nl: Maandelijks op elke maandag en de laatste donderdag + pt_BR: "Mensal cada toda segunda-feira e última quinta-feira" # 0010 RRULE:FREQ=MONTHLY;BYMONTHDAY=1,-1: en: Monthly on the 1st & last day nl: Maandelijks op de eerste en laatste dag + pt_BR: "Mensal no 1º e último dia" # 0011 RRULE:FREQ=MONTHLY;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Monthly on every Monday & the last Thursday that are also the 1st or last day of the month nl: Maandelijks op elke maandag en de laatste donderdag die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Mensal cada toda segunda-feira e última quinta-feira que também são 1º ou último dia do mês" # 0100 RRULE:FREQ=MONTHLY;BYMONTH=1,12: en: Monthly in January & December nl: Maandelijks in januari en december + pt_BR: "Mensal em janeiro e dezembro" # 0101 RRULE:FREQ=MONTHLY;BYMONTH=1,12;BYDAY=MO,-1TH: en: Monthly in January & December on every Monday & the last Thursday nl: Maandelijks in januari en december op elke maandag en de laatste donderdag + pt_BR: "Mensal em janeiro e dezembro cada toda segunda-feira e última quinta-feira" # 0110 RRULE:FREQ=MONTHLY;BYMONTH=1,12;BYMONTHDAY=1,-1: en: Monthly in January & December on the 1st & last day nl: Maandelijks in januari en december op de eerste en laatste dag + pt_BR: "Mensal em janeiro e dezembro no 1º e último dia" # 0111 RRULE:FREQ=MONTHLY;BYMONTH=1,12;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Monthly in January & December on every Monday & the last Thursday that are also the 1st or last day of the month nl: Maandelijks in januari en december op elke maandag en de laatste donderdag die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Mensal em janeiro e dezembro cada toda segunda-feira e última quinta-feira que também são 1º ou último dia do mês" # 1000: invalid # 1001 RRULE:FREQ=MONTHLY;BYSETPOS=1,-2;BYDAY=MO,-1TH: en: Monthly on the 1st & 2nd-to-last instance of every Monday & the last Thursday nl: Maandelijks op de eerste en voorlaatste van elke maandag en de laatste donderdag + pt_BR: "Mensal na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira" # 1010 RRULE:FREQ=MONTHLY;BYSETPOS=1,-2;BYMONTHDAY=1,-1: en: Monthly on the 1st & 2nd-to-last instance of the 1st & last day nl: Maandelijks op de eerste en voorlaatste van de eerste en laatste dag + pt_BR: "Mensal na 1º e 2º última ocorrência de 1º e último dia" # 1011 RRULE:FREQ=MONTHLY;BYSETPOS=1,-2;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Monthly on the 1st & 2nd-to-last instance of every Monday & the last Thursday that are also the 1st or last day of the month nl: Maandelijks op de eerste en voorlaatste van elke maandag en de laatste donderdag die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Mensal na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira que também são 1º ou último dia do mês" # 1100 RRULE:FREQ=MONTHLY;BYSETPOS=1,-2;BYMONTH=1,12: en: Monthly in January & December on the 1st & 2nd-to-last instance nl: Maandelijks in januari en december op de eerste en voorlaatste + pt_BR: "Mensal em janeiro e dezembro na 1º e 2º última ocorrência" # 1101 RRULE:FREQ=MONTHLY;BYSETPOS=1,-2;BYMONTH=1,12;BYDAY=MO,-1TH: en: Monthly in January & December on the 1st & 2nd-to-last instance of every Monday & the last Thursday nl: Maandelijks in januari en december op de eerste en voorlaatste van elke maandag en de laatste donderdag + pt_BR: "Mensal em janeiro e dezembro na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira" # 1110 RRULE:FREQ=MONTHLY;BYSETPOS=1,-2;BYMONTH=1,12;BYMONTHDAY=1,-1: en: Monthly in January & December on the 1st & 2nd-to-last instance of the 1st & last day nl: Maandelijks in januari en december op de eerste en voorlaatste van de eerste en laatste dag + pt_BR: "Mensal em janeiro e dezembro na 1º e 2º última ocorrência de 1º e último dia" # 1111 RRULE:FREQ=MONTHLY;BYSETPOS=1,-2;BYMONTH=1,12;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Monthly in January & December on the 1st & 2nd-to-last instance of every Monday & the last Thursday that are also the 1st or last day of the month nl: Maandelijks in januari en december op de eerste en voorlaatste van elke maandag en de laatste donderdag die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Mensal em janeiro e dezembro na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira que também são 1º ou último dia do mês" # Yearly RRULE:FREQ=YEARLY;BYDAY=MO: en: Annually on every Monday nl: Jaarlijks op elke maandag + pt_BR: "Anual: cada toda segunda-feira" RRULE:FREQ=YEARLY;INTERVAL=2;BYDAY=MO: en: Every other year on every Monday nl: Om de twee jaar op elke maandag + pt_BR: "A cada 2 anos cada toda segunda-feira" RRULE:FREQ=YEARLY;INTERVAL=4;BYDAY=MO: en: Every 4 years on every Monday nl: Om de 4 jaar op elke maandag + pt_BR: "A cada 4 anos cada toda segunda-feira" # 0/1 digits in the comment before a text function mean whether each of # bySetPositions, byMonths, byWeeks, byYearDays, byMonthDays & byWeekDays @@ -234,308 +287,388 @@ RRULE:FREQ=YEARLY;INTERVAL=4;BYDAY=MO: RRULE:FREQ=YEARLY: en: Annually nl: Jaarlijks + pt_BR: "Anual:" # 000001 RRULE:FREQ=YEARLY;BYDAY=MO,-1TH: en: Annually on every Monday & the last Thursday of the year nl: Jaarlijks op elke maandag en de laatste donderdag van het jaar + pt_BR: "Anual: cada toda segunda-feira e última quinta-feira do ano" # 000010 RRULE:FREQ=YEARLY;BYMONTHDAY=1,-1: en: Annually on the 1st & last day of the month nl: Jaarlijks op de eerste en laatste dag van de maand + pt_BR: "Anual: no 1º e último dia do mês" # 000011 RRULE:FREQ=YEARLY;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Annually on every Monday & the last Thursday of the year that are also the 1st or last day of the month nl: Jaarlijks op elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Anual: cada toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do mês" # 000100 RRULE:FREQ=YEARLY;BYYEARDAY=1,-1: en: Annually on the 1st & last day of the year nl: Jaarlijks op de eerste en laatste dag van het jaar + pt_BR: "Anual: cada 1º e último dia do ano" # 000101 RRULE:FREQ=YEARLY;BYYEARDAY=1,-1;BYDAY=MO,-1TH: en: Annually on every Monday & the last Thursday of the year that are also the 1st or last day of the year nl: Jaarlijks op elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van het jaar zijn + pt_BR: "Anual: cada toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do ano" # 000110 RRULE:FREQ=YEARLY;BYYEARDAY=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & last day of the month that are also the 1st or last day of the year nl: Jaarlijks op de eerste en laatste dag van de maand die tevens de eerste of laatste dag van het jaar zijn + pt_BR: "Anual: no 1º e último dia do mês que também são 1º ou último dia do ano" # 000111 RRULE:FREQ=YEARLY;BYYEARDAY=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Annually on every Monday & the last Thursday of the year that are also the 1st or last day of the month and that are also the 1st or last day of the year nl: Jaarlijks op elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van de maand zijn en die tevens de eerste of laatste dag van het jaar zijn + pt_BR: "Anual: cada toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do mês e que também são 1º ou último dia do ano" # 001000 RRULE:FREQ=YEARLY;BYWEEKNO=1,-1: en: Annually in the 1st & last week of the year nl: Jaarlijks in de eerste en laatste week + pt_BR: "Anual: em 1º e última semana do ano" # 001001 RRULE:FREQ=YEARLY;BYWEEKNO=1,-1;BYDAY=MO,WE: en: Annually on every Monday & Wednesday in the 1st & last week of the year nl: Jaarlijks op elke maandag en woensdag in de eerste en laatste week + pt_BR: "Anual: cada toda segunda-feira e quarta-feira em 1º e última semana do ano" # 001010 RRULE:FREQ=YEARLY;BYWEEKNO=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & last day of the month that are also in the 1st or last week of the year nl: Jaarlijks op de eerste en laatste dag van de maand die tevens in de eerste of laatste week vallen + pt_BR: "Anual: no 1º e último dia do mês que também estão em 1º ou última semana do ano" # 001011 RRULE:FREQ=YEARLY;BYWEEKNO=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,WE: en: Annually on every Monday & Wednesday that are also the 1st or last day of the month and that are also in the 1st or last week of the year nl: Jaarlijks op elke maandag en woensdag die tevens de eerste of laatste dag van de maand zijn en die tevens in de eerste of laatste week vallen + pt_BR: "Anual: cada toda segunda-feira e quarta-feira que também são 1º ou último dia do mês e que também estão em 1º ou última semana do ano" # 001100 RRULE:FREQ=YEARLY;BYWEEKNO=1,-1;BYYEARDAY=1,-1: en: Annually on the 1st & last day of the year that are also in the 1st or last week of the year nl: Jaarlijks op de eerste en laatste dag van het jaar die tevens in de eerste of laatste week vallen + pt_BR: "Anual: cada 1º e último dia do ano que também estão em 1º ou última semana do ano" # 001101 RRULE:FREQ=YEARLY;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYDAY=MO,WE: en: Annually on every Monday & Wednesday that are also the 1st or last day of the year and that are also in the 1st or last week of the year nl: Jaarlijks op elke maandag en woensdag die tevens de eerste of laatste dag van het jaar zijn en die tevens in de eerste of laatste week vallen + pt_BR: "Anual: cada toda segunda-feira e quarta-feira que também são 1º ou último dia do ano e que também estão em 1º ou última semana do ano" # 001110 RRULE:FREQ=YEARLY;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & last day of the month that are also the 1st or last day of the year and that are also in the 1st or last week of the year nl: Jaarlijks op de eerste en laatste dag van de maand die tevens de eerste of laatste dag van het jaar zijn en die tevens in de eerste of laatste week vallen + pt_BR: "Anual: no 1º e último dia do mês que também são 1º ou último dia do ano e que também estão em 1º ou última semana do ano" # 001111 RRULE:FREQ=YEARLY;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,WE: en: "Annually on every Monday & Wednesday that are also the 1st or last day of the month, that are also the 1st or last day of the year, and that are also in the 1st or last week of the year" nl: "Jaarlijks op elke maandag en woensdag die tevens de eerste of laatste dag van de maand zijn, die tevens de eerste of laatste dag van het jaar zijn, en die tevens in de eerste of laatste week vallen" + pt_BR: "Anual: cada toda segunda-feira e quarta-feira que também são 1º ou último dia do mês, que também são 1º ou último dia do ano, e que também estão em 1º ou última semana do ano" # 010000 RRULE:FREQ=YEARLY;BYMONTH=1,12: en: Annually in January & December nl: Jaarlijks in januari en december + pt_BR: "Anual: em janeiro e dezembro" # 010001 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYDAY=MO,-1TH: en: Annually on every Monday & the last Thursday of the month in January & December nl: Jaarlijks op elke maandag en de laatste donderdag van de maand in januari en december + pt_BR: "Anual: cada toda segunda-feira e última quinta-feira do mês em janeiro e dezembro" # 010010 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYMONTHDAY=1,-1: en: Annually on the 1st & last day of the month in January & December nl: Jaarlijks op de eerste en laatste dag van de maand in januari en december + pt_BR: "Anual: no 1º e último dia do mês em janeiro e dezembro" # 010011 # TODO(JonasWanke): the 1st or last day in January or December RRULE:FREQ=YEARLY;BYMONTH=1,12;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Annually on every Monday & the last Thursday of the year that are also the 1st or last day of the month and that are also in January or December nl: Jaarlijks op elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van de maand zijn en die tevens in januari of december vallen + pt_BR: "Anual: cada toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do mês e que também estão em janeiro ou dezembro" # 010100 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYYEARDAY=1,-1: en: Annually on the 1st & last day of the year that are also in January or December nl: Jaarlijks op de eerste en laatste dag van het jaar die tevens in januari of december vallen + pt_BR: "Anual: cada 1º e último dia do ano que também estão em janeiro ou dezembro" # 010101 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYYEARDAY=1,-1;BYDAY=MO,-1TH: en: Annually on every Monday & the last Thursday of the year that are also the 1st or last day of the year and that are also in January or December nl: Jaarlijks op elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van het jaar zijn en die tevens in januari of december vallen + pt_BR: "Anual: cada toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do ano e que também estão em janeiro ou dezembro" # 010110 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYYEARDAY=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & last day of the month that are also the 1st or last day of the year and that are also in January or December nl: Jaarlijks op de eerste en laatste dag van de maand die tevens de eerste of laatste dag van het jaar zijn en die tevens in januari of december vallen + pt_BR: "Anual: no 1º e último dia do mês que também são 1º ou último dia do ano e que também estão em janeiro ou dezembro" # 010111 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYYEARDAY=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: "Annually on every Monday & the last Thursday of the year that are also the 1st or last day of the month, that are also the 1st or last day of the year, and that are also in January or December" nl: "Jaarlijks op elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van de maand zijn, die tevens de eerste of laatste dag van het jaar zijn, en die tevens in januari of december vallen" + pt_BR: "Anual: cada toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do mês, que também são 1º ou último dia do ano, e que também estão em janeiro ou dezembro" # 011000 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYWEEKNO=1,-1: en: Annually in the 1st & last week of the year that are also in January or December nl: Jaarlijks in de eerste en laatste week die tevens in januari of december vallen + pt_BR: "Anual: em 1º e última semana do ano que também estão em janeiro ou dezembro" # 011001 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYWEEKNO=1,-1;BYDAY=MO,WE: en: Annually on every Monday & Wednesday in the 1st & last week of the year that are also in January or December nl: Jaarlijks op elke maandag en woensdag in de eerste en laatste week die tevens in januari of december vallen + pt_BR: "Anual: cada toda segunda-feira e quarta-feira em 1º e última semana do ano que também estão em janeiro ou dezembro" # 011010 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYWEEKNO=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & last day of the month that are also in the 1st or last week of the year and that are also in January or December nl: Jaarlijks op de eerste en laatste dag van de maand die tevens in de eerste of laatste week vallen en die tevens in januari of december vallen + pt_BR: "Anual: no 1º e último dia do mês que também estão em 1º ou última semana do ano e que também estão em janeiro ou dezembro" # 011011 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYWEEKNO=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,WE: en: "Annually on every Monday & Wednesday that are also the 1st or last day of the month, that are also in the 1st or last week of the year, and that are also in January or December" nl: "Jaarlijks op elke maandag en woensdag die tevens de eerste of laatste dag van de maand zijn, die tevens in de eerste of laatste week vallen, en die tevens in januari of december vallen" + pt_BR: "Anual: cada toda segunda-feira e quarta-feira que também são 1º ou último dia do mês, que também estão em 1º ou última semana do ano, e que também estão em janeiro ou dezembro" # 011100 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYWEEKNO=1,-1;BYYEARDAY=1,-1: en: Annually on the 1st & last day of the year that are also in the 1st or last week of the year and that are also in January or December nl: Jaarlijks op de eerste en laatste dag van het jaar die tevens in de eerste of laatste week vallen en die tevens in januari of december vallen + pt_BR: "Anual: cada 1º e último dia do ano que também estão em 1º ou última semana do ano e que também estão em janeiro ou dezembro" # 011101 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYDAY=MO,WE: en: "Annually on every Monday & Wednesday that are also the 1st or last day of the year, that are also in the 1st or last week of the year, and that are also in January or December" nl: "Jaarlijks op elke maandag en woensdag die tevens de eerste of laatste dag van het jaar zijn, die tevens in de eerste of laatste week vallen, en die tevens in januari of december vallen" + pt_BR: "Anual: cada toda segunda-feira e quarta-feira que também são 1º ou último dia do ano, que também estão em 1º ou última semana do ano, e que também estão em janeiro ou dezembro" # 011110 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYMONTHDAY=1,-1: en: "Annually on the 1st & last day of the month that are also the 1st or last day of the year, that are also in the 1st or last week of the year, and that are also in January or December" nl: "Jaarlijks op de eerste en laatste dag van de maand die tevens de eerste of laatste dag van het jaar zijn, die tevens in de eerste of laatste week vallen, en die tevens in januari of december vallen" + pt_BR: "Anual: no 1º e último dia do mês que também são 1º ou último dia do ano, que também estão em 1º ou última semana do ano, e que também estão em janeiro ou dezembro" # 011111 RRULE:FREQ=YEARLY;BYMONTH=1,12;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,WE: en: "Annually on every Monday & Wednesday that are also the 1st or last day of the month, that are also the 1st or last day of the year, that are also in the 1st or last week of the year, and that are also in January or December" nl: "Jaarlijks op elke maandag en woensdag die tevens de eerste of laatste dag van de maand zijn, die tevens de eerste of laatste dag van het jaar zijn, die tevens in de eerste of laatste week vallen, en die tevens in januari of december vallen" + pt_BR: "Anual: cada toda segunda-feira e quarta-feira que também são 1º ou último dia do mês, que também são 1º ou último dia do ano, que também estão em 1º ou última semana do ano, e que também estão em janeiro ou dezembro" # 100000: invalid # 100001 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYDAY=MO,-1TH: en: Annually on the 1st & 2nd-to-last instance of every Monday & the last Thursday of the year nl: Jaarlijks op de eerste en voorlaatste van elke maandag en de laatste donderdag van het jaar + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira do ano" # 100010 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTHDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the month nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van de maand + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do mês" # 100011 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Annually on the 1st & 2nd-to-last instance of every Monday & the last Thursday of the year that are also the 1st or last day of the month nl: Jaarlijks op de eerste en voorlaatste van elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van de maand zijn + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do mês" # 100100 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYYEARDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the year nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van het jaar + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do ano" # 100101 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYYEARDAY=1,-1;BYDAY=MO,-1TH: en: Annually on the 1st & 2nd-to-last instance of every Monday & the last Thursday of the year that are also the 1st or last day of the year nl: Jaarlijks op de eerste en voorlaatste van elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van het jaar zijn + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do ano" # 100110 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYYEARDAY=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the month that are also the 1st or last day of the year nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van de maand die tevens de eerste of laatste dag van het jaar zijn + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do mês que também são 1º ou último dia do ano" # 100111 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYYEARDAY=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Annually on the 1st & 2nd-to-last instance of every Monday & the last Thursday of the year that are also the 1st or last day of the month and that are also the 1st or last day of the year nl: Jaarlijks op de eerste en voorlaatste van elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van de maand zijn en die tevens de eerste of laatste dag van het jaar zijn + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do mês e que também são 1º ou último dia do ano" # 101000 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYWEEKNO=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last week of the year nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste week + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e última semana do ano" # 101001 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYWEEKNO=1,-1;BYDAY=MO,WE: en: Annually on the 1st & 2nd-to-last instance of every Monday & Wednesday in the 1st & last week of the year nl: Jaarlijks op de eerste en voorlaatste van elke maandag en woensdag in de eerste en laatste week + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e quarta-feira em 1º e última semana do ano" # 101010 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYWEEKNO=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the month that are also in the 1st or last week of the year nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van de maand die tevens in de eerste of laatste week vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do mês que também estão em 1º ou última semana do ano" # 101011 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYWEEKNO=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,WE: en: Annually on the 1st & 2nd-to-last instance of every Monday & Wednesday that are also the 1st or last day of the month and that are also in the 1st or last week of the year nl: Jaarlijks op de eerste en voorlaatste van elke maandag en woensdag die tevens de eerste of laatste dag van de maand zijn en die tevens in de eerste of laatste week vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e quarta-feira que também são 1º ou último dia do mês e que também estão em 1º ou última semana do ano" # 101100 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYWEEKNO=1,-1;BYYEARDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the year that are also in the 1st or last week of the year nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van het jaar die tevens in de eerste of laatste week vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do ano que também estão em 1º ou última semana do ano" # 101101 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYDAY=MO,WE: en: Annually on the 1st & 2nd-to-last instance of every Monday & Wednesday that are also the 1st or last day of the year and that are also in the 1st or last week of the year nl: Jaarlijks op de eerste en voorlaatste van elke maandag en woensdag die tevens de eerste of laatste dag van het jaar zijn en die tevens in de eerste of laatste week vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e quarta-feira que também são 1º ou último dia do ano e que também estão em 1º ou última semana do ano" # 101110 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the month that are also the 1st or last day of the year and that are also in the 1st or last week of the year nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van de maand die tevens de eerste of laatste dag van het jaar zijn en die tevens in de eerste of laatste week vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do mês que também são 1º ou último dia do ano e que também estão em 1º ou última semana do ano" # 101111 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,WE: en: "Annually on the 1st & 2nd-to-last instance of every Monday & Wednesday that are also the 1st or last day of the month, that are also the 1st or last day of the year, and that are also in the 1st or last week of the year" nl: "Jaarlijks op de eerste en voorlaatste van elke maandag en woensdag die tevens de eerste of laatste dag van de maand zijn, die tevens de eerste of laatste dag van het jaar zijn, en die tevens in de eerste of laatste week vallen" + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e quarta-feira que também são 1º ou último dia do mês, que também são 1º ou último dia do ano, e que também estão em 1º ou última semana do ano" # 110000 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12: en: Annually on the 1st & 2nd-to-last instance of January & December nl: Jaarlijks op de eerste en voorlaatste van januari en december + pt_BR: "Anual: na 1º e 2º última ocorrência de janeiro e dezembro" # 110001 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYDAY=MO,-1TH: en: Annually on the 1st & 2nd-to-last instance of every Monday & the last Thursday of the month in January & December nl: Jaarlijks op de eerste en voorlaatste van elke maandag en de laatste donderdag van de maand in januari en december + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira do mês em janeiro e dezembro" # 110010 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYMONTHDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the month in January & December nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van de maand in januari en december + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do mês em janeiro e dezembro" # 110011 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: Annually on the 1st & 2nd-to-last instance of every Monday & the last Thursday of the year that are also the 1st or last day of the month and that are also in January or December nl: Jaarlijks op de eerste en voorlaatste van elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van de maand zijn en die tevens in januari of december vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do mês e que também estão em janeiro ou dezembro" # 110100 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYYEARDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the year that are also in January or December nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van het jaar die tevens in januari of december vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do ano que também estão em janeiro ou dezembro" # 110101 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYYEARDAY=1,-1;BYDAY=MO,-1TH: en: Annually on the 1st & 2nd-to-last instance of every Monday & the last Thursday of the year that are also the 1st or last day of the year and that are also in January or December nl: Jaarlijks op de eerste en voorlaatste van elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van het jaar zijn en die tevens in januari of december vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do ano e que também estão em janeiro ou dezembro" # 110110 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYYEARDAY=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the month that are also the 1st or last day of the year and that are also in January or December nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van de maand die tevens de eerste of laatste dag van het jaar zijn en die tevens in januari of december vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do mês que também são 1º ou último dia do ano e que também estão em janeiro ou dezembro" # 110111 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYYEARDAY=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,-1TH: en: "Annually on the 1st & 2nd-to-last instance of every Monday & the last Thursday of the year that are also the 1st or last day of the month, that are also the 1st or last day of the year, and that are also in January or December" nl: "Jaarlijks op de eerste en voorlaatste van elke maandag en de laatste donderdag van het jaar die tevens de eerste of laatste dag van de maand zijn, die tevens de eerste of laatste dag van het jaar zijn, en die tevens in januari of december vallen" + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e última quinta-feira do ano que também são 1º ou último dia do mês, que também são 1º ou último dia do ano, e que também estão em janeiro ou dezembro" # 111000 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYWEEKNO=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last week of the year that are also in January or December nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste week die tevens in januari of december vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e última semana do ano que também estão em janeiro ou dezembro" # 111001 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYWEEKNO=1,-1;BYDAY=MO,WE: en: Annually on the 1st & 2nd-to-last instance of every Monday & Wednesday in the 1st & last week of the year that are also in January or December nl: Jaarlijks op de eerste en voorlaatste van elke maandag en woensdag in de eerste en laatste week die tevens in januari of december vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e quarta-feira em 1º e última semana do ano que também estão em janeiro ou dezembro" # 111010 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYWEEKNO=1,-1;BYMONTHDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the month that are also in the 1st or last week of the year and that are also in January or December nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van de maand die tevens in de eerste of laatste week vallen en die tevens in januari of december vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do mês que também estão em 1º ou última semana do ano e que também estão em janeiro ou dezembro" # 111011 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYWEEKNO=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,WE: en: "Annually on the 1st & 2nd-to-last instance of every Monday & Wednesday that are also the 1st or last day of the month, that are also in the 1st or last week of the year, and that are also in January or December" nl: "Jaarlijks op de eerste en voorlaatste van elke maandag en woensdag die tevens de eerste of laatste dag van de maand zijn, die tevens in de eerste of laatste week vallen, en die tevens in januari of december vallen" + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e quarta-feira que também são 1º ou último dia do mês, que também estão em 1º ou última semana do ano, e que também estão em janeiro ou dezembro" # 111100 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYWEEKNO=1,-1;BYYEARDAY=1,-1: en: Annually on the 1st & 2nd-to-last instance of the 1st & last day of the year that are also in the 1st or last week of the year and that are also in January or December nl: Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van het jaar die tevens in de eerste of laatste week vallen en die tevens in januari of december vallen + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do ano que também estão em 1º ou última semana do ano e que também estão em janeiro ou dezembro" # 111101 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYDAY=MO,WE: en: "Annually on the 1st & 2nd-to-last instance of every Monday & Wednesday that are also the 1st or last day of the year, that are also in the 1st or last week of the year, and that are also in January or December" nl: "Jaarlijks op de eerste en voorlaatste van elke maandag en woensdag die tevens de eerste of laatste dag van het jaar zijn, die tevens in de eerste of laatste week vallen, en die tevens in januari of december vallen" + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e quarta-feira que também são 1º ou último dia do ano, que também estão em 1º ou última semana do ano, e que também estão em janeiro ou dezembro" # 111110 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYMONTHDAY=1,-1: en: "Annually on the 1st & 2nd-to-last instance of the 1st & last day of the month that are also the 1st or last day of the year, that are also in the 1st or last week of the year, and that are also in January or December" nl: "Jaarlijks op de eerste en voorlaatste van de eerste en laatste dag van de maand die tevens de eerste of laatste dag van het jaar zijn, die tevens in de eerste of laatste week vallen, en die tevens in januari of december vallen" + pt_BR: "Anual: na 1º e 2º última ocorrência de 1º e último dia do mês que também são 1º ou último dia do ano, que também estão em 1º ou última semana do ano, e que também estão em janeiro ou dezembro" # 111111 RRULE:FREQ=YEARLY;BYSETPOS=1,-2;BYMONTH=1,12;BYWEEKNO=1,-1;BYYEARDAY=1,-1;BYMONTHDAY=1,-1;BYDAY=MO,WE: en: "Annually on the 1st & 2nd-to-last instance of every Monday & Wednesday that are also the 1st or last day of the month, that are also the 1st or last day of the year, that are also in the 1st or last week of the year, and that are also in January or December" nl: "Jaarlijks op de eerste en voorlaatste van elke maandag en woensdag die tevens de eerste of laatste dag van de maand zijn, die tevens de eerste of laatste dag van het jaar zijn, die tevens in de eerste of laatste week vallen, en die tevens in januari of december vallen" + pt_BR: "Anual: na 1º e 2º última ocorrência de toda segunda-feira e quarta-feira que também são 1º ou último dia do mês, que também são 1º ou último dia do ano, que também estão em 1º ou última semana do ano, e que também estão em janeiro ou dezembro" # All remaining examples taken from https://github.com/jakubroztocil/rrule/blob/3dc698300e5861311249e85e0e237708702b055d/test/nlp.test.ts, # though with modified texts. RRULE:FREQ=HOURLY: en: Hourly nl: Elk uur + pt_BR: "A cada hora" RRULE:INTERVAL=4;FREQ=HOURLY: en: Every 4 hours nl: Om de 4 uren + pt_BR: "A cada 4 horas" RRULE:FREQ=WEEKLY;COUNT=20: en: "Weekly, 20 times" nl: "Wekelijks, 20 keer" + pt_BR: "Semanal: 20 vezes" RRULE:FREQ=WEEKLY;UNTIL=20070101T080000Z: en: "Weekly, until Monday, January 1, 2007 8:00:00 AM" nl: "Wekelijks, tot maandag 1 januari 2007 om 8:00 uur" + pt_BR: "Semanal: até 1 jan. 2007" RRULE:FREQ=WEEKLY;BYDAY=TU: en: Weekly on Tuesday nl: Wekelijks op dinsdag + pt_BR: "Semanal: cada terça-feira" RRULE:FREQ=WEEKLY;BYDAY=MO,WE: en: Weekly on Monday & Wednesday nl: Wekelijks op maandag en woensdag + pt_BR: "Semanal: cada segunda-feira e quarta-feira" RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR: en: Weekly on weekdays nl: Wekelijks op weekdagen + pt_BR: "Semanal: cada dias úteis" RRULE:INTERVAL=2;FREQ=WEEKLY: en: Every other week nl: Om de twee weken + pt_BR: "A cada 2 semanas" RRULE:FREQ=MONTHLY;BYMONTHDAY=4: en: Monthly on the 4th nl: Maandelijks op de 4de + pt_BR: "Mensal no 4º dia" RRULE:FREQ=MONTHLY;BYMONTHDAY=-4: en: Monthly on the 4th-to-last day nl: Maandelijks op de 4-na-laatste dag + pt_BR: "Mensal no 4º último dia" RRULE:FREQ=MONTHLY;BYDAY=+3TU: en: Monthly on the 3rd Tuesday nl: Maandelijks op de 3de dinsdag + pt_BR: "Mensal cada 3º terça-feira" RRULE:FREQ=MONTHLY;BYDAY=-3TU: en: Monthly on the 3rd-to-last Tuesday nl: Maandelijks op de 3-na-laatste dinsdag + pt_BR: "Mensal cada 3º última terça-feira" RRULE:FREQ=MONTHLY;BYDAY=-1MO: en: Monthly on the last Monday nl: Maandelijks op de laatste maandag + pt_BR: "Mensal cada última segunda-feira" RRULE:FREQ=MONTHLY;BYDAY=-2FR: en: Monthly on the 2nd-to-last Friday nl: Maandelijks op de voorlaatste vrijdag + pt_BR: "Mensal cada 2º última sexta-feira" RRULE:INTERVAL=6;FREQ=MONTHLY: en: Every 6 months nl: Om de 6 maanden + pt_BR: "A cada 6 meses" RRULE:FREQ=YEARLY;BYDAY=+1FR: en: Annually on the 1st Friday of the year nl: Jaarlijks op de eerste vrijdag van het jaar + pt_BR: "Anual: cada 1º sexta-feira do ano" RRULE:FREQ=YEARLY;BYDAY=+13FR: en: Annually on the 13th Friday of the year nl: Jaarlijks op de 13de vrijdag van het jaar + pt_BR: "Anual: cada 13º sexta-feira do ano" diff --git a/test/codecs/text/text_test.dart b/test/codecs/text/text_test.dart index d698510..0218ed9 100644 --- a/test/codecs/text/text_test.dart +++ b/test/codecs/text/text_test.dart @@ -44,5 +44,6 @@ Future> createL10n() async { return { 'en': await RruleL10nEn.create(), 'nl': await RruleL10nNl.create(), + 'pt_BR': await RruleL10nPtBr.create(), }; } From 129c5c3b6a9e4c69320a216263bcfa4736ffe127 Mon Sep 17 00:00:00 2001 From: "Reynaldo T. Santos" Date: Fri, 30 May 2025 19:04:35 -0300 Subject: [PATCH 4/5] refact: format --- lib/src/codecs/text/l10n/en.dart | 5 ++--- lib/src/codecs/text/l10n/nl.dart | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/src/codecs/text/l10n/en.dart b/lib/src/codecs/text/l10n/en.dart index 25b9a28..ca79058 100644 --- a/lib/src/codecs/text/l10n/en.dart +++ b/lib/src/codecs/text/l10n/en.dart @@ -42,9 +42,8 @@ class RruleL10nEn extends RruleL10n { @override String until(DateTime until, Frequency frequency, {DateFormat? dateFormat}) { - final untilString = formatWithIntl(() => - dateFormat?.format(until) ?? DateFormat.yMMMMEEEEd().add_jms().format(until) - ); + final untilString = + formatWithIntl(() => dateFormat?.format(until) ?? DateFormat.yMMMMEEEEd().add_jms().format(until)); return ', until $untilString'; } diff --git a/lib/src/codecs/text/l10n/nl.dart b/lib/src/codecs/text/l10n/nl.dart index d538143..472b38c 100644 --- a/lib/src/codecs/text/l10n/nl.dart +++ b/lib/src/codecs/text/l10n/nl.dart @@ -40,8 +40,8 @@ class RruleL10nNl extends RruleL10n { @override String until(DateTime until, Frequency frequency, {DateFormat? dateFormat}) { - final untilString = formatWithIntl(() => - dateFormat?.format(until) ?? DateFormat("EEEE d MMMM yyyy 'om' H:mm 'uur'", 'nl').format(until) + final untilString = formatWithIntl( + () => dateFormat?.format(until) ?? DateFormat("EEEE d MMMM yyyy 'om' H:mm 'uur'", 'nl').format(until), ); return ', tot $untilString'; } From efb043dab2c6049987f24dc04df86c1d0fec9d18 Mon Sep 17 00:00:00 2001 From: "Reynaldo T. Santos" Date: Fri, 30 May 2025 19:06:00 -0300 Subject: [PATCH 5/5] refact: format --- lib/src/codecs/text/l10n/en.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/codecs/text/l10n/en.dart b/lib/src/codecs/text/l10n/en.dart index ca79058..fe611e4 100644 --- a/lib/src/codecs/text/l10n/en.dart +++ b/lib/src/codecs/text/l10n/en.dart @@ -42,7 +42,7 @@ class RruleL10nEn extends RruleL10n { @override String until(DateTime until, Frequency frequency, {DateFormat? dateFormat}) { - final untilString = + final untilString = formatWithIntl(() => dateFormat?.format(until) ?? DateFormat.yMMMMEEEEd().add_jms().format(until)); return ', until $untilString'; }