Math Challenge
Más

Internacionalizar la notación matemática: números, símbolos y división larga en cinco idiomas

mc-34 · Publicado: · de Math Challenge Research · 4,233 palabras · 14 fuentes citadas

Resumen ejecutivo

La notación matemática no es universal y varía en formas que rompen un tutor ingenuo. El separador decimal es coma en es-ES/fr-FR/pt-PT/de-DE pero punto en en-US/en-GB y en es-MX — México es la excepción dentro del mundo hispanohablante [1]. El BIPM recomienda desde 1948 (reafirmado en 2003) usar espacios finos para agrupar millares y deja abierta la elección entre coma o punto como marcador decimal — no hay "la" convención correcta [1]. El algoritmo de la división larga se dibuja distinto en cada país: EE. UU./Reino Unido usan el tablero con "casita" (⟌) y el cociente arriba; Francia, España y Portugal usan la "potencia" con el divisor a la derecha separado por una barra vertical y el cociente abajo; Alemania escribe una ecuación horizontal 127 : 4 = 31,75; México usa el formato anglosajón pero sin escribir los pasos de resta explícitos (cálculo mental); Brasil, a diferencia del resto de Latinoamérica, adopta el formato europeo [5]. Esto rompe directamente cualquier tutor de "pasos" que asuma un solo layout. La escala numérica también difiere: EE. UU., Reino Unido (desde 1974) y Brasil usan escala corta (billón = 10⁹); España, México, Francia, Alemania y Portugal usan escala larga (billón = 10¹²) [2][3]. La estructura de las palabras numéricas también varía: el alemán invierte unidades y decenas ("einundzwanzig" = uno-y-veinte = 21), el francés usa base vigesimal para 70/80/90 ("soixante-dix", "quatre-vingt-dix", con "septante/nonante" en Bélgica y Suiza) [7], y el español tiene formas fusionadas ("dieciséis") frente a las históricas separadas ("diez y seis"). La investigación de Miura, Fuson y colegas muestra que los sistemas de palabras numéricas regulares del este asiático (chino/japonés/coreano) dan una ventaja temprana de conteo y comprensión del valor posicional frente al inglés y otras lenguas irregulares [11][12][13][14]. La implicación de diseño central: los ítems matemáticos deben almacenarse como un árbol de sintaxis abstracta (AST) estructurado, nunca como texto ya renderizado, y toda localización (separador decimal, símbolo de división, layout de división larga, nombre de escala) debe aplicarse en el límite de renderizado, no en el contenido.

337 palabras

Este documento fue traducido del original en inglés por Claude (Anthropic) y verificado automáticamente contra la fuente: cada número, URL, marcador de cita y marca [unverified] coincide con el original. La prosa todavía no ha sido revisada por un hablante nativo humano.

Estado de verificación

Este documento no lleva ninguna marca [unverified]. Cada afirmación está atada a una fuente numerada de abajo.

[unverified] quiere decir que la afirmación está en la investigación pero no se confirmó contra una fuente primaria en la sesión que la produjo. Se publica en vez de borrarse, porque un corpus que esconde sus huecos no es verificable.

Cómo se produjo esta investigación

Los 47 documentos se hicieron el 2026-07-31 por agentes independientes, cada uno con instrucción explícita de no inventar citas y de marcar como [unverified] lo que no pudiera confirmar contra una fuente primaria. La cuota de búsqueda web de la sesión se agotó a media investigación y los agentes posteriores trabajaron por descarga directa contra fuentes primarias. Varios sitios (ftc.gov, ico.org.uk) bloquean la descarga automatizada, y por eso ciertas afirmaciones legales están marcadas a propósito.

Matriz de notación

Convenciónen-USen-GBes-MXes-ESfr-FRpt-BRpt-PTde-DEFuente
Separador decimal...,,,,,[1]
Separador de agrupación de dígitos (práctica común), (1,234,567),,. (1.234.567)espacio/. (1 234 567)...[1]
Agrupación recomendada por el BIPMespacio finoespacio finoespacio finoespacio finoespacio finoespacio finoespacio finoespacio fino[1]
Separador de lista cuando la coma es el decimal,,,; (para evitar choque);;;;[1], práctica general
Símbolo de división que se enseña÷ luego /÷ luego /÷÷ / ::÷÷ / ::[5][6]
Símbolo de multiplicación que se enseña×××××××· (punto)[6]
Layout de la división largatablero de EE. UU., corchete, cociente arribatablero de EE. UU.layout anglosajón, resta mental“potencia”: divisor a la derecha de ``, cociente abajo“potencia”: divisor a la derecha de ``, cociente abajoeuropeo: divisor a la derecha de ``, cociente abajo
Intervalo, abierto(0,1)(0,1)(0,1)(0,1)]0,1[ (enseñado en la escuela)(0,1)(0,1)/]0,1[ (varía)(0,1) (también ]0,1[ en algunos currículos)[4]
Intervalo, semiabierto[0,1)[0,1)[0,1)[0,1)[0,1[[0,1)[0,1)/[0,1[[0,1)/[0,1[[4]
Nombre de escala para 10⁹billionbillion (desde 1974)mil millonesmil millonesmilliardbilhão (excepción de escala corta)mil milhõesMilliarde[2][3]
Nombre de escala para 10¹²trilliontrillionbillónbillónbilliontrilhãobiliãoBillion[2][3]
Estructura de los números adolescentesregular (thirteen–nineteen irregular también en EN)igualdieciséis (fusionado)dieciséis (fusionado)seize (raíz opaca)dezesseisdezasseissechzehn (regular, pero 21 = “einundzwanzig”, invertido)[7], conocimiento general (marcado como no verificado para la fecha exacta de la RAE)
Estructura de las palabras 70/80/90regular (seventy/eighty/ninety)igualsetenta/ochenta/noventa (regular)igualsoixante-dix/quatre-vingts/quatre-vingt-dix (BE/CH: septante/nonante)setenta/oitenta/noventa (regular)igualsiebzig/achtzig/neunzig (regular)[7]
Categorías plurales de CLDRone, otherone, otherone, many, otherone, many, otherone, many, otherone, many, otherone, many, otherone, other[8][9]

Nota: la fila de notación de intervalos para pt-PT/de-DE está marcada como “varía” porque los currículos difieren según el libro de texto/región y la fuente de Wikipedia [4] documenta la existencia de la convención de corchete invertido (Bourbaki) sin dar una tabla de adopción país por país; trátese como direccionalmente correcto, no confirmado de forma independiente para cada locale nombrado.

Hallazgos

1. El marcador decimal: la posición del BIPM/ISO, y por qué México es la excepción

La 22ª Conferencia General de Pesos y Medidas (2003) declara que el marcador decimal “shall be either the point on the line or the comma on the line” — ambos son igualmente válidos bajo el SI [1]. ISO 80000-1 repite esta neutralidad, aunque las directivas editoriales de ISO/IEC usan la coma en el propio texto de los estándares [1]. La agrupación de dígitos es una cuestión aparte: la política del BIPM desde 1948 (reafirmada en 2003) recomienda un espacio fino para agrupar millares (p. ej., 20 000, 1 000 000), específicamente para evitar por completo la ambigüedad entre coma y punto [1]. En la práctica casi nadie en el software de consumo sigue la recomendación del espacio fino; los países en cambio usan como agrupador el símbolo que no sea ya su marcador decimal — los países con decimal de coma (España, Francia, Alemania, Brasil, Portugal) usan el punto para agrupar, y los países con decimal de punto (EE. UU., Reino Unido, México, Canadá anglófono) usan la coma [1]. México usa el punto, a diferencia de España, a pesar de que ambos son hispanohablantes [1] — esta es una división documentada dentro de la misma familia lingüística y el lugar más probable donde un fallback genérico de locale “es” se rompe en silencio.

2. La colisión de la coma como separador de lista

Donde el marcador decimal es una coma, usar la coma como separador de lista/argumento es ambiguo (3,5 podría ser “3.5” o “la lista 3, 5”). La solución convencional en los locales con decimal de coma es usar un punto y coma como separador de lista/argumento (las fórmulas de hojas de cálculo en fr-FR/de-DE/es-ES hacen exactamente esto) [1, práctica general]. Esto importa directamente para cualquier cadena de interfaz que liste valores numéricos en línea, y para las exportaciones tipo CSV donde una cadena ingenua de números decimales unidos por comas no es parseable en un locale con decimal de coma.

3. Los símbolos de división y multiplicación

La instrucción aritmética en países angloparlantes usa ÷; la instrucción francesa y alemana comúnmente usa los dos puntos : para la división, consistente con el layout de división larga descrito abajo [5][6]. Para la multiplicación, la convención educativa alemana favorece el operador de punto · sobre ×, en parte porque × se parece visualmente a la letra x usada como variable, y en parte porque un punto alzado no choca con la coma decimal alemana al escribir a·b junto a números decimales [6]. El asterisco * es una convención de la era de la computación (el ASCII carecía de ×) y no es un símbolo que se enseñe en el salón de clases en ninguno de nuestros cinco idiomas [6] — debería aparecer solo en contextos de código/entrada (p. ej., un campo de entrada estilo calculadora), nunca en contenido instruccional renderizado.

4. El layout de la división larga — el ítem de mayor riesgo para un tutor paso a paso

El artículo de Wikipedia sobre la división larga documenta al menos cuatro layouts estructuralmente distintos relevantes para nuestros locales [5]:

Un tutor que muestra “pasos” para la división larga no puede usar una sola plantilla visual fija — necesita como mínimo cuatro renderizadores distintos (EE. UU./Reino Unido, potencia/europeo, ecuación alemana, escueto-mexicano) seleccionados por locale, no por idioma.

5. La notación de intervalos

ISO 31-11 documenta dos convenciones válidas para excluir un extremo: reemplazar el corchete por un paréntesis ((0,1), [0,1)), o invertir el corchete (]0,1[, [0,1[) [4]. La forma de corchete invertido fue introducida por el colectivo Bourbaki (francés) y es la forma que se enseña en los currículos de secundaria franceses (y, según conocimiento general no confirmado de forma independiente en el texto consultado, belgas); la forma de paréntesis domina la instrucción en inglés, español y portugués, y los currículos alemanes usan ambas dependiendo del libro de texto [4]. Este es un caso donde el renderizado “correcto” es una marca por locale (a veces por currículo) en lugar de un mapeo fijo desde el código de idioma.

6. Escala larga vs. escala corta — cinco idiomas, cinco/seis respuestas

La escala corta (billón = 10⁹, cada término nuevo ×1,000) la usa EE. UU. siempre, y el Reino Unido desde una decisión gubernamental de 1974 anunciada públicamente por el primer ministro Harold Wilson, adoptando “billion = 1,000 million” como la convención internacional/estadounidense [2]. La escala larga (billón = 10¹², milliard/mil millones/mil milhões = 10⁹ como término intermedio) la usan Francia (que revirtió a la escala larga en 1948 después de haber popularizado originalmente la escala corta en todo el mundo) [3], España y México (escala larga; “mil millones” es el término cotidiano para 10⁹ en lugar de una palabra nativa cercana a “billón”) [2], Alemania (Milliarde = 10⁹, Billion = 10¹²) [2][3], y Portugal (bilião = 10¹², mil milhões = 10⁹) [2]. Brasil es la excepción dentro del portugués: a diferencia de Portugal, el portugués brasileño usa la escala corta — “bilhão” = 10⁹ [2]. Así que a través de nuestros cinco idiomas/ocho locales, el grupo de escala corta es {en-US, en-GB, pt-BR} y el grupo de escala larga es {es-MX, es-ES, fr-FR, pt-PT, de-DE} — la división atraviesa tanto el inglés como el portugués, no sigue las líneas de idioma.

7. La estructura de las palabras numéricas y su efecto en aprender a contar

Tres diferencias estructurales (no solo léxicas) importan para la interfaz de conteo temprano y los scripts de TTS:

Lo que está en juego en ciencia del aprendizaje está establecido en la literatura de desarrollo cognitivo: los idiomas del este de Asia (chino, japonés, coreano) construyen las palabras numéricas con una estructura base-10 totalmente transparente (13 como “diez-tres” en lugar de “trece”), y las comparaciones entre países (Miura y colegas, comparando China, Francia, Japón, Corea, Suecia y EE. UU.) encontraron que esta transparencia se correlaciona con una comprensión temprana más fuerte del valor posicional y con representaciones mentales base-10 del número en niños pequeños [11][12]. Una línea de trabajo más reciente pone a prueba específicamente y complica en parte la fuerza de esta “explicación lingüística”, encontrando el efecto real pero modulado por otros factores instruccionales [13][14]. La conclusión práctica para Math Challenge: los ejercicios de conteo en alemán, francés y español para el grupo de edad más joven no se pueden producir traduciendo literalmente una secuencia de conteo al estilo inglés o chino — las propias palabras de conteo codifican una estructura distinta, así que el contenido de secuencias de conteo debe autorarse de forma nativa por idioma, incluyendo los rangos irregulares, no traducirse por máquina.

8. Las reglas plurales (CLDR) y la expansión de texto en alemán

Las categorías plurales de CLDR no son un binario “singular/plural” — son un conjunto de categorías gramaticales definidas por locale, según propiedades numéricas del operando (entero/decimal, dígitos finales, magnitud), y el número de categorías difiere por idioma: el inglés y el alemán usan dos categorías (one, other), cada una disparada específicamente por i = 1 and v = 0 (un valor entero de exactamente 1, sin dígitos decimales visibles) [9]. El francés, el español y el portugués usan tres categorías (one, many, other); notablemente en estos idiomas la categoría one también cubre el 0 en algunos conjuntos de reglas (francés: i = 0,1), lo que significa que “0 elementos” se pluraliza como “1 elemento” en lugar de como “5 elementos” — lo opuesto de la suposición por defecto del inglés de que cualquier cosa que no sea exactamente 1 es plural [9]. Cualquier cadena de interfaz con un conteo (“Resolviste {n} problemas”) debe pasar por ICU MessageFormat/Intl.PluralRules en lugar de una verificación fija tipo n === 1 ? singular : plural, o las cadenas de conteo cero en francés/español/portugués se leerán agramaticalmente. Por separado, es bien sabido que el alemán resulta 20–35% más largo que el inglés para cadenas de interfaz equivalentes debido a la composición de palabras — este es un hecho de localización general y ampliamente documentado, no algo reconfirmado mediante una búsqueda específica en esta sesión, y debe tratarse como una restricción de presupuesto de layout (probar con pseudolocalización, no solo con texto alemán real, ya que las cadenas en alemán pueden dispararse mucho más largas que el promedio en términos compuestos específicos).

9. La disponibilidad de voces TTS por locale

Esta es una pregunta de ingeniería/inventario de proveedores más que de lingüística, y no se pudo resolver con una fuente citable y actual en esta sesión (la cobertura de SpeechSynthesis.getVoices() del navegador depende del SO/navegador y cambia sin una referencia canónica estable; la lista de idiomas del modelo melotts de Cloudflare Workers AI y la matriz de locale/voz de cualquier proveedor de TTS de terceros deben verificarse directamente contra la ficha de modelo actual del proveedor al momento de la implementación, no asumirse a partir de este reporte). Márquese como no verificado y que requiere una verificación directa contra el proveedor de TTS que se elija, con atención particular a si pt-BR y pt-PT tienen voces distintas (a menudo no) y si es-MX y es-ES tienen voces distintas (cada vez más sí, pero no universalmente).

10. Las capacidades de Intl.NumberFormat / Intl.PluralRules

Intl.NumberFormat maneja de forma nativa la selección del separador decimal/de agrupación, el sistema de dígitos (p. ej., dígitos indoarábigos), y el formato style: "unit"/"currency"/"percent" según la etiqueta de locale BCP-47, y expone formatToParts() para construir salida con estilo personalizado y formatRange() para mostrar algo tipo intervalo [10]. Es consciente del locale en la salida, pero no dice nada sobre el parseo de locale en la entrada — no existe un Intl.NumberFormat.parse(); parsear la entrada de un usuario formateada según su locale (un niño alemán escribiendo “3,5”) tiene que manejarse en el código de la aplicación, típicamente usando formatToParts() sobre un valor conocido para descubrir los caracteres decimal/agrupador del locale actual y luego normalizar la entrada del usuario contra ese mapeo descubierto antes de llamar a Number()/parseFloat(). Intl.PluralRules (emparejado con los datos de CLDR, ver §8) resuelve la categoría plural para un número dado en un locale dado y es la primitiva correcta para manejar cadenas pluralizadas al estilo ICU MessageFormat.

Implicaciones de diseño

  1. Guardar los ítems como un AST estructurado, no como texto renderizado — veredicto: AST. Un ítem matemático (ecuación, intervalo, problema de división larga) debe guardarse como una estructura semántica agnóstica de locale (operador, operandos, precisión, magnitud) y renderizarse a texto/visuales solo en el límite de presentación. Guardar cadenas ya renderizadas (p. ej., “3,5 ÷ 2 = 1,75”) convierte cada locale en una bifurcación de contenido; guardar un AST convierte al locale en un parámetro de renderizado.
  2. El parseo de respuestas debe aceptar la entrada decimal correcta para el locale. Un niño alemán o francés que escriba “3,5” debe ser aceptado como 3.5; un niño de es-MX o en-US que escriba “3.5” también debe ser aceptado. Implementar un normalizador consciente del locale (descubrir los caracteres decimal/agrupador del locale vía Intl.NumberFormat().formatToParts(), quitar/convertir según corresponda) en lugar de una sola expresión regular global.
  3. La división larga necesita al menos cuatro renderizadores paso a paso distintos, seleccionados por una configuración de locale (o de región de currículo explícita), no solo por código de idioma: tablero de EE. UU./Reino Unido, potencia de Francia/España/Portugal/Brasil, ecuación horizontal de Alemania, escueto-anglosajón de México. No asumas que es implica un solo layout — es-MX y es-ES/Brasil divergen entre sí en este eje.
  4. Los símbolos de división y multiplicación son una preferencia de despliegue configurable por locale, no parte del contenido semántico del ítem. Guarda el operador como un nodo abstracto DIVIDE/MULTIPLY; renderízalo como ÷/: y ×/· según la configuración de locale/currículo.
  5. El estilo de corchete de intervalo ((0,1) vs. ]0,1[) es una marca de renderizado por locale/currículo, más relevante para fr-FR (y posiblemente el francés belga), con de-DE y pt-PT ambiguos según el currículo — expónlo como una configuración de renderizado de contenido en lugar de una regla fija por idioma, y confírmalo con un consultor de currículo nativo antes de fijar un valor por defecto.
  6. El nombrado de números grandes debe pasar por una función de número-a-palabras consciente del locale que distinga escala larga de corta, y específicamente NO debe asumir que la escala se correlaciona con el idioma: los locales de escala corta son {en-US, en-GB, pt-BR}; los locales de escala larga son {es-MX, es-ES, fr-FR, pt-PT, de-DE}. Un nombrador de números “pt” compartido nombrará mal los billones ya sea para Brasil o para Portugal.
  7. Los separadores de lista/argumento en cadenas generadas deben cambiar a punto y coma (o a Intl.ListFormat) en los locales con decimal de coma para evitar chocar con la coma decimal — cualquier función que renderice una lista de números en línea (p. ej., “respuestas posibles: 2,5, 3,5, 4,5”) es activamente ambigua en fr/de/es-ES/pt sin esto.
  8. Las cadenas de interfaz sensibles al conteo deben usar ICU MessageFormat/Intl.PluralRules con el conjunto completo de categorías CLDR por idioma, no una verificación n===1 — el francés/español/portugués enrutan el 0 a través de la categoría tipo one en algunas variantes de reglas, algo que un ayudante de pluralización centrado en inglés hará mal.
  9. Reserva presupuesto de layout de interfaz para la expansión de texto en alemán (aproximadamente 20–35% más largo que el inglés en promedio, más en compuestos específicos) — valida los layouts con pseudolocalización o con cadenas alemanas largas reales, no solo con la línea base en inglés, especialmente en interfaces restringidas como botones, insignias y etiquetas de navegación móvil.
  10. El contenido de secuencias de conteo y palabras numéricas para el grupo de edad más joven debe autorarse de forma nativa por idioma, no traducirse por máquina, porque la inversión alemana, el 70/80/90 vigesimal francés (más las variantes regionales septante/nonante), y los numerales adolescentes fusionados en español son diferencias estructurales en cómo se hablan los números, no solo sustituciones de vocabulario. Una traducción palabra por palabra de un ejercicio de conteo al estilo inglés o chino enseñará la forma hablada incorrecta.
  11. La cobertura de voces TTS debe verificarse por locale antes de prometer lectura de números en audio, con atención explícita a si el proveedor de TTS elegido distingue es-MX de es-ES y pt-BR de pt-PT (esto queda sin resolver en este reporte — marcado como un ítem abierto, ver abajo) — construye una matriz de respaldo explícita (p. ej., pt-PT recae en una voz pt-BR con una limitación declarada) en lugar de dar la voz incorrecta a un locale en silencio.
  12. Adopta Intl.NumberFormat / Intl.PluralRules / Intl.ListFormat como la capa de cumplimiento para todo el renderizado de número/texto sensible al locale, manteniendo un valor numérico canónico (p. ej., una cadena decimal, BigInt, o una representación de punto fijo — no una cadena formateada por locale) como la única fuente de verdad, localizando solo en el límite de renderizado y deslocalizando de inmediato en el límite de entrada.
  13. Construye una tabla de “configuración de locale matemático” de primera clase (separador decimal, separador de agrupación, separador de lista, símbolo de división, símbolo de multiplicación, clave de layout de división larga, escala numérica, estilo de corchete de intervalo) indexada por un identificador de locale o de currículo, separada del i18n ordinario de cadenas de interfaz — las herramientas estándar de gettext/ICU manejan plurales e interpolación de cadenas pero no tienen un concepto nativo de “layout de división larga” o “escala numérica”, así que esto necesita una configuración personalizada, versionada y probable, junto a los archivos de traducción.
  14. Las convenciones de despliegue de números mixtos vs. fracciones impropias difieren por país/currículo (mayor énfasis en números mixtos en los currículos de primaria de EE. UU./Reino Unido vs. un uso más consistente de fracciones impropias en algunas tradiciones europeas) — esto no se confirmó de forma independiente con una fuente citable en esta sesión y debe validarse directamente con consultores de currículo por locale antes de fijar un valor por defecto; trátese como un ítem abierto, no una convención establecida.
  15. Cualquier función de entrada/salida de números hablados (entrada de respuesta por voz, ejercicios de números dictados) debe aceptar/producir ambas formas de palabra históricamente atestiguadas donde coexisten (p. ej., “dieciséis” vs. “diez y seis” en español) y manejar correctamente la inversión del orden hablado del alemán al mapear una palabra numérica dictada a su forma en dígitos — este es un problema de parseo distinto de la normalización de separador decimal escrito (implicación 2) y necesita su propia gramática consciente del locale, no una compartida.

Preguntas abiertas para el dueño del proyecto

Fuentes

  1. Wikipedia — Decimal separator
  2. Wikipedia — Long and short scales
  3. Wikipedia — Names of large numbers
  4. Wikipedia — Interval (mathematics)
  5. Wikipedia — Long division
  6. Wikipedia — Multiplication sign
  7. Omniglot — Numbers in French
  8. Unicode CLDR — Language Plural Rules chart
  9. CLDR spec — Plural Rules
  10. MDN — Intl.NumberFormat
  11. ResearchGate — "Language supports for mathematics understanding and performance."
  12. ResearchGate — Miura et al., "Comparisons of Children's Cognitive Representation of Number: China, France, Japan, Korea, Sweden, and the United States."
  13. ScienceDirect (edited volume chapter) — "Effects of mathematics language on children's learning."
  14. ScienceDirect — "Reexamining the language account of cross-national differences" in mathematics cognition

Preguntas que este documento le deja abiertas al dueño

Están sin responder a propósito. Se listan, no se resuelven — convertirlas en preguntas frecuentes obligaría a inventar respuestas que el documento no tiene.

Uno de 51 documentos de investigación, 168,346 palabras en total, contadas en el build sobre los archivos mismos. Leer este documento en el repositorio