Traduci una stringa in una lingua con nomi maschili / femminili


9

Quindi in inglese non abbiamo nomi di genere. È sempre "un tavolo" o "una scrivania" senza preoccuparsi che sia "une table" o "un tableau" (francese). Quindi la mia domanda è che quando si lavora sul file .mo francese, come si traduce una stringa come:

Puoi includere un% s in un childtheme

dato che la "a" dipende da cosa è% s?

Risposte:


7

Questo non è un problema se ogni stringa ottiene il proprio modello per la traduzione.

Se usi la stringa You can include a %s in a childtheme.più di una volta per nomi diversi, non è traducibile.

Un esempio, tratto da un recente articolo : New %sè in tedesco (sì, anche noi abbiamo nomi di genere) ...

  • Neues Buch (per un libro, neutrale)
  • Neuer Film (per un film, maschile)

... quindi devi scrivere New book e New movie o You can include a logo in a child theme. e You can include a stylesheet in a child theme. .

Nota a margine

Questo è uno dei motivi per cui i file di traduzione occupano così tanta memoria: devi "ripetere" molte stringhe molto simili. Mentre un'installazione di WordPress in inglese probabilmente funzionerà bene con una memoria PHP da 32 MB, morirà solo se usi lo stesso con una traduzione in tedesco o francese.

Se il tuo tema o plugin utilizza molte stringhe traducibili per front-end e back-end, considera l'utilizzo di due file: uno per il back-end e un file separato per il front-end.

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

Il core di WordPress è appena cambiato in questo sistema per prestazioni migliori.


grazie toscho. immagino di dover scavare più a fondo nello scopo della stringa originale e vedere a cosa serve% s. come faccio a separare le stringhe back-end e front-end?
Helgatheviking

@helgatheviking vedere il mio aggiornamento.
fuxia

Gotcha. grazie per quello. un'altra cosa, se la stringa viene utilizzata una sola volta, puoi lasciarla con% s e fornire semplicemente chiarimenti sul contesto?
Helgatheviking

@helgatheviking Sì, lo fai. Ma non vedo come ciò faciliterebbe la traduzione. Anche il parametro context deve essere una stringa codificata; non puoi usare una variabile PHP qui.
fuxia

" sì, anche noi abbiamo nomi di genere " mi ricorda Mark Twain: ogni volta che il tedesco letterario si tuffa in una frase, questa è l'ultima volta che lo vedrai fino a quando non emerge dall'altra parte dell'Atlantico con un verbo nel suo bocca.
brasofilo,

0

Helga, tu vichingo ... Direi che questa è una diga di una domanda semplice e intrigante ..!

In una visione semplice, sembra che il problema sia %se non il genere:

È possibile includere %sin un tema figlio

Complessando la questione, non so se una magia di ritrasmissione di TOScho di Gettext affronterebbe questo problema, o se è fuori tema e dovrebbe essere curata da WP Polyglots .

nota a margine : Come fare: tradurre forme plurali per temi / plugin con PoEdit


cavolo, questa roba di traduzione è complicata. chiaramente prendo per scontato essere un anglofono nativo! se questo thread sarebbe meglio su WP Polyglots spero che qualcuno lo sposterà.
Helgatheviking

Bene, ora, al contrario , con la risposta canonica fornita da Toscho, WP Polyglots può usare questo post come riferimento per l'argomento :)
brasofilo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.