Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Document the `use-explicit-plural-values` gen-l10n option

Abierto Apto para principiantes
#13,993 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
82/100
Tipo de issue
Documentación
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
dart, flutter

Línea de trabajo

Empieza por sites/docs/src/content/ui/internationalization/index.md, en especial por la tabla «Configuring the l10n.yaml file» y la sección «Placeholders, plurals, and selects». Explica cómo cambia la opción la coincidencia exacta de =N y añade su valor predeterminado y los nombres de CLI y configuración; aclara en qué se diferencian los valores explícitos de las categorías plurales de la configuración regional. El trabajo estará terminado cuando ambas secciones describan correctamente la opción y los ejemplos sigan siendo coherentes con el cambio de Flutter enlazado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Related code pull request or issue

https://github.com/flutter/flutter/pull/194816

Feature summary

flutter/flutter#194816 adds an opt-in use-explicit-plural-values option to flutter gen-l10n (l10n.yaml and --use-explicit-plural-values).

Today, gen-l10n maps the explicit plural values =0, =1 and =2 to the plural categories zero, one and two. In many locales those categories cover more than the exact number, so =1{1 item} is also shown for 21, 31 and 101 in Ukrainian, and for 0 in French. With the option enabled, explicit values match only that exact number and take precedence over the categories, as specified by ICU. Any non-negative integer can be used (=3, =10), and =1 and one can be used in the same message. The option defaults to false.

Type of documentation needed
  • New conceptual page or guide
  • Update to an existing guide on docs.flutter.dev
  • Cookbook recipe or practical code sample
  • CLI or tooling documentation
  • Platform support or integration guide
  • Breaking change migration guide
Code snippet or usage example
// l10n.yaml
// use-explicit-plural-values: true
//
// app_uk.arb
// "items": "{count, plural, =0{Немає елементів} =1{Рівно один елемент} one{{count} елемент} few{{count} елементи} many{{count} елементів} other{{count} елемента}}"
//
// Generated code:
String _temp0 = count == 0
    ? 'Немає елементів'
    : count == 1
    ? 'Рівно один елемент'
    : intl.Intl.pluralLogic(
        count,
        locale: localeName,
        other: '$count елемента',
        one: '$count елемент',
        few: '$count елементи',
        many: '$count елементів',
      );
Additional context or resources

Pages to update in sites/docs/src/content/ui/internationalization/index.md:

  • The "Configuring the l10n.yaml file" table: add a [no-]use-explicit-plural-values row, for example: "Whether explicit plural cases such as =1 match only that exact value and take precedence over plural categories such as one, as specified by ICU. When false (the default), =0, =1 and =2 are treated as zero, one and two."
  • The "Placeholders, plurals, and selects" section currently presents =0, =1 and =2 alongside few and many as if they were the same kind of case. It would help to explain the difference between explicit values (=N, exact match) and plural categories (zero, one, two, few, many, other, chosen by the locale's plural rules), and mention the new option.
Volunteer to help write this documentation
  • Draft the documentation PR on docs.flutter.dev.
Lenguaje dominante
Dart
Estrellas
3.1k
Forks
3.5k
Merge medio
2 d 2 h
PR fusionados (30 d)
45

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de flutter/website

Todos los issues de flutter/website

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.