Si solo 1 publicación no está publicada, diría “Publicar %{count} publicación no publicada en el Tema #%{topic_id}. La publicación no se entregará a los seguidores de los Actores del Grupo.”
“%{min_length} a %{max_length} letras, números, guiones o guiones bajos.”
Para estos dos, dejo las cadenas como están. Un sitio estaría mal configurado si tuviera nombres de usuario limitados a 1 carácter… no es necesario cambiar.
¿Qué pasa con los sitios que tienen un nombre de usuario de 11 caracteres? Hay idiomas en los que la versión para 1 también se usa para 11. ¿Y cómo funciona para los idiomas con más de una forma plural si no ofreces una en inglés? ¿Pueden los traductores introducir esas diferentes versiones plurales?
Existen idiomas que utilizan una versión para “uno” en los números que terminan en uno. (No estoy seguro de si 11 fue el mejor ejemplo). Y también tienen más versiones que “uno” y “otro”, por lo que incluso con solo recuentos diferentes mayores que 1, estos necesitan traducciones diferentes según el recuento exacto.
El alemán no es uno de ellos, así que supongo que algunos de tus colegas sabrán mejor que yo.
Tengo algunas dificultades con la traducción: ¿Discourse elige el singular y el plural basándose en count o total?
Por lo que entiendo, normalmente es count.
Pero no puedo averiguar cómo manejar el caso en que count es 1 y total es 3. Obtengo algo como “1 de 3 post en este tema está publicado”. Puedo arreglar eso usando “posts”: “1 de 3 posts en este tema está publicado”. Pero entonces no funciona si total es 1.
Eso es algo que llamamos inglés de ingeniería. Tal forma nunca debería usarse. Debería ser algo como la/esta publicación está publicada. O tema si es posible, las siguientes publicaciones se publicarán automáticamente.
Situación similar, al menos en finlandés, es que el número uno (en realidad, todos los números entre 0 y 9) debe escribirse, sin usar números. Pero un concepto bastante común es escribir one en lugar de 1 y los más grandes son números.
Algo como 1 post está siempre condenado a ser algo que usan los desarrolladores de habla inglesa, porque son demasiado perezosos para usar el estilo humano, casi me da pena decirlo en voz alta. Y, en general: se considera una forma estadounidense en lugar de usar esta forma en encabezados, textos
No se trata de pereza. Usar el marcador de posición para el número es muy importante. Como expliqué anteriormente, hay idiomas en los que también se dice “21 post”, al igual que se dice “1 post”. Si el texto en inglés usara “one” en lugar de %{count}, sería muy fácil para un traductor traducirlo, y luego el número no sería reemplazado por el recuento real, lo que resultaría en “one post” cuando el recuento es en realidad 21.
Por lo tanto, hay una razón por la que se usan los números. Ver también: Always use %{count} variable when translating pluralized strings
Por cierto, también es muy útil en alemán porque evita problemas como este.
Me cuesta creer que la codificación esté a un nivel tan bajo que sea imposible reemplazar %(count) por una palabra cuando %(count) = 1. Estoy bastante seguro de que he cambiado ese marcador de posición a texto puro cuando la traducción local ofrece diferentes opciones para singular y plural.
Eso es a lo que me refiero con pereza e inglés de ingenieros. Internamente se deben usar variables y marcadores de posición, pero estos deben transformarse en una forma legible por humanos y nativa. Después de todo, los usuarios finales son quienes usan el software, no los ingenieros…
Sí, lo sé. Esa es una pregunta más amplia y grande que solo considerar cómo traducir 1 de 3... o 1 de 1.... Pero mi punto más profundo es que no debería haber necesidad de preguntarse tales cosas (fuera de otras diferencias de un millón de idiomas).
Pero claro, tal vez vivimos en un mundo donde podemos tener IA complejas pero no hay solución para evitar situaciones como 1 de 1
Es bastante fuera de tema, ya que este tema trataba de permitir cualquier forma de tener una versión singular y plural diferente para estos textos.
Pero tal vez podrías reemplazar 1 con “one” en todas partes de la interfaz en inglés.
Sin embargo, eso no funcionará tan fácilmente en alemán. El problema es que en alemán, la palabra para “uno” cambia dependiendo del caso, género y rol gramatical.
Por ejemplo:
El tema permanecerá abierto durante un mes. → Das Thema ist noch einen Monat geöffnet.
El tema se cerrará en un mes. → Das Thema wird in einem Monat geschlossen.
Ha pasado un mes. → Ein Monat ist vergangen.
Así que, si bien también es común en alemán escribir los números como palabras, manejar esto correctamente es gramaticalmente complejo.
No puedes simplemente reemplazar el número “1” con la palabra “eins”, porque esa forma nunca se usa antes de un sustantivo y la forma correcta de la palabra depende del caso gramatical.
En otras palabras, usar palabras en lugar de dígitos crearía mucho más trabajo para los traductores.
No podrías simplemente usar un marcador de posición como %{duration} que se expanda a “un mes”, “una semana” o “un día” en todos los contextos.
En lugar de tres duraciones y tres oraciones, necesitarías una versión separada para cada combinación gramatical posible, lo que potencialmente multiplicaría la cantidad de texto varias veces.
Gracias por el enlace. Puedo ver, al leer el código y mirar otros idiomas como el árabe, que los idiomas pueden proporcionar sus propias anulaciones incluso si la cadena en inglés es la misma en todas las variantes. Por ejemplo, el árabe tiene reglas separadas cuando el recuento es 2, y veo two: usado en cadenas en árabe que no están definidas en inglés. Así que para 1/11, el idioma que tiene una regla puede proporcionar esa variante. No es necesario definirlo en inglés, por lo que puedo decir.
Gracias por investigar esto. No tengo el contexto para esta cadena, pero si quieres enviar un PR con el cambio, estaré encantado de echarle un vistazo. Gracias.
¿Puedes explicar cómo se puede hacer esto en Crowdin?
Esto es lo que veo en Crowdin si quiero traducir discourse_activity_pub.actor.warning.invalid_username al árabe
Pero, en mi experiencia, solo puedes añadir estas diferentes versiones si los plurales también están definidos en inglés.
Yo tampoco. La última vez que eché un vistazo a los textos de ActivityPub fue en abril, cuando creé este tema. Ahora, simplemente estaba reemplazando los marcadores de posición durante la traducción porque, de lo contrario, es muy difícil elegir las palabras. Fue entonces cuando noté que “1 de 3 publicaciones en este tema se ha publicado” me parecía incorrecto, no solo en alemán sino también en inglés.