Traduzir uma string para um idioma com substantivos masculinos / femininos


9

Portanto, em inglês, não temos substantivos de gênero. É sempre "uma mesa" ou "uma mesa" sem necessidade de se preocupar com o fato de ser "une table" ou "un tableau" (francês). Portanto, minha pergunta é que, ao trabalhar no arquivo .mo em francês, como se traduz uma string como:

Você pode incluir% s em um tema infantil

já que o "a" depende de qual é o% s?

Respostas:


7

Isso não é um problema se cada string obtiver seu próprio modelo para tradução.

Se você usar a sequência You can include a %s in a childtheme.mais de uma vez para substantivos diferentes, ela não poderá ser traduzida.

Um exemplo, retirado de um artigo recente : New %sestá em alemão (sim, também temos substantivos de gênero)…

  • Neues Buch (para um livro, neutro)
  • Filme Neuer (para filme, masculino)

... então você tem que escrever New book e New movie ou You can include a logo in a child theme. e You can include a stylesheet in a child theme. .

Nota

Essa é uma das razões pelas quais os arquivos de tradução consomem tanta memória: é necessário "repetir" muitas strings muito semelhantes. Enquanto uma instalação do WordPress em inglês provavelmente funcionará bem com 32 MB de memória PHP, ela morrerá se você usar o mesmo com uma tradução em alemão ou francês.

Se o seu tema ou plug-in estiver usando muitas seqüências traduzíveis para front-end e back-end, considere usar dois arquivos: um para o back-end e um arquivo separado para o front-end.

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

O núcleo do WordPress acabou de mudar para esse sistema para melhorar o desempenho.


obrigado toscho. Acho que preciso me aprofundar no objetivo da string original e ver para que% s está sendo usado. como separo as seqüências de back-end e front-end?
helgatheviking

@helgatheviking ver minha atualização.
Fuxia

Peguei vocês. obrigado por isso. mais uma coisa, se a string for usada apenas uma vez, você pode deixá-la com% se fornecer apenas esclarecimentos de contexto?
helgatheviking

@helgatheviking Sim, você faz isso. Mas não vejo como isso tornaria a tradução mais fácil. O parâmetro context também deve ser uma string codificada; você não pode usar uma variável PHP aqui.
Fuxia

" sim, também temos substantivos de gênero ", lembra-me de Mark Twain: sempre que o alemão literário mergulha em uma frase, é o último que você o vê até que ele apareça do outro lado do Atlântico com um verbo boca.
Brasjilo

0

Helga, seu viking ... Eu diria que essa é uma represa de uma pergunta simples e intrigante ..!

Em uma visão simples, parece que o problema é %sdo gênero e não do gênero:

Você pode incluir %sem um tema filho

Complexificando o assunto, eu sei agora se a magia de retranslate de um gettext toscho abordaria isso ou se é fora de tópico e deve ser tratada pelo WP Polyglots .

nota lateral: Como fazer: Traduzir formas plurais para temas / plugins com PoEdit


ufa, esse material de tradução é complicado. claramente eu considero ser um nativo-anglófono como garantido! se esse tópico for melhor no WP Polyglots, espero que alguém o mova.
helgatheviking

Bem, agora, au contraire , com a resposta canônica fornecido pelo toscho, WP poliglotas podem usar este post como referência para o assunto :)
brasofilo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.