Traducir una cadena a un idioma con sustantivos masculinos / femeninos

9

Entonces en inglés no tenemos sustantivos de género. Siempre es "una mesa" o "un escritorio" sin necesidad de preocuparse de que sea "une table" o "un tableau" (francés). Entonces mi pregunta es que cuando se trabaja en el archivo .mo francés, ¿cómo se traduce una cadena como:

Puede incluir un% s en un tema infantil

ya que la "a" depende de cuál es el% s?

helgatheviking
fuente

Respuestas:

7

Esto no es un problema si cada cadena tiene su propia plantilla para la traducción.

Si usa la cadena You can include a %s in a childtheme.más de una vez para diferentes nombres, no es traducible.

Un ejemplo, tomado de un artículo reciente : New %sestá en alemán (sí, también tenemos sustantivos de género) ...

  • Neues Buch (para un libro, neutral)
  • Neuer Film (para una película, masculina)

... así que tienes que escribir New book y New movie o You can include a logo in a child theme. y You can include a stylesheet in a child theme. .

Nota al margen

Esa es una de las razones por las cuales los archivos de traducción ocupan tanta memoria: hay que "repetir" muchas cadenas muy similares. Si bien una instalación de WordPress en inglés probablemente funcionará bien con 32 MB de memoria PHP, simplemente morirá si usa lo mismo con una traducción al alemán o al francés.

Si su tema o complemento utiliza muchas cadenas traducibles para el front-end y el back-end, considere usar dos archivos: uno para el back-end y un archivo separado para el front-end.

load_theme_textdomain( 
    'your_text_domain', 
    get_template_directory() . '/languages' . ( is_admin() ? '/backend' : '/frontend' )
);

El núcleo de WordPress acaba de cambiar a este sistema para un mejor rendimiento.

fuxia
fuente
gracias toscho. Supongo que necesito profundizar en el propósito de la cadena original y ver para qué% s se está utilizando. ¿Cómo separo las cadenas de back-end y front-end?
helgatheviking
@helgatheviking ver mi actualización.
fuxia
te tengo gracias por eso. Una cosa más, si la cadena solo se usa una vez, ¿puede dejarla con% sy solo proporcionar una aclaración del contexto?
helgatheviking
@helgatheviking Sí, lo haces. Pero no veo cómo esto facilitaría la traducción. El parámetro de contexto también debe ser una cadena codificada; No puede usar una variable PHP aquí.
fuxia
" sí, también tenemos sustantivos de género ", me recuerda a Mark Twain: cada vez que el alemán literario se sumerge en una oración, esa es la última que verá de él hasta que emerja al otro lado de su Atlántico con un verbo en su boca.
brasofilo
0

Helga, vikingo ... ¡Diría que esta es una presa de una pregunta simple e intrigante ...!

En una vista simple, parece que el problema es el %sy no el género:

Puedes incluir %sen un tema hijo

Para complicar el asunto, no sé si un hechizo de retraducción de gettext toscho abordaría esto, o si está fuera de tema y debe ser atendido por WP Polyglots .

nota al margen: Cómo: Traducir formas plurales para temas / complementos con PoEdit

brasofilo
fuente
uf, este material de traducción es complicado. ¡claramente doy por sentado que soy anglófono nativo! si este hilo fuera mejor en WP Polyglots, espero que alguien lo mueva.
helgatheviking
Bueno, ahora, al contrario , con la respuesta canónica proporcionada por toscho, WP Polyglots puede usar esta publicación como referencia para el tema :)
brasofilo