Pergunta sobre Desenvolvimento com WordPress por WordPress: Domínio de texto e tradução

Um usuário perguntou ?

Olá. Sei que existem muitos documentos sobre este tema e quero assegurar a todos que li tudo o que pude encontrar. O problema é que ainda não entendi. O que diabos é domínio de texto, por que é necessário?

Eu sei que uso _e() ou __() para texto que quero traduzir, mas como isso acontece?

Peço desculpas por fazer uma pergunta sobre algo que está claramente documentado, mas não faz sentido para mim.

Estou lendo sobre a implementação do meu plugin e vejo que o arquivo leia-me pode/deve incluir um diretório de “idiomas”. Mas aqui está outra coisa que não faz nenhum sentido para mim.

Alguém teria a gentileza de me explicar tudo isso nos termos mais simples possíveis?

(@stephencottontail)

2 anos, 11 meses atrás

Muitas coisas diferentes podem se traduzir em um site WordPress; O próprio WordPress fornece traduções para suas próprias coisas, seu tema pode fornecer traduções, todos os seus plugins podem fornecer traduções, etc. Um domínio de texto é como o PHP sabe quais traduções usar.

Ao traduzir seu plugin, você deve gerar um arquivo PO contendo as strings passáveis ​​e seus tradutores usarão isso para criar um arquivo MO que possa ser lido pelo PHP. poeditar é uma ferramenta gratuita comumente usada para fazer isso.

Depois de ter tudo traduzido, você colará os arquivos PO e MO na pasta de idioma de seus plugins; é onde o WordPress/PHP procura os arquivos.

Veja e para mais informações.

(@chz516)

2 anos, 10 meses atrás

Desculpe, mas isso ainda não faz sentido. Aqui estão algumas perguntas específicas de sua resposta:

“O próprio WordPress fornece traduções de suas próprias coisas” Quais são as coisas em si?

“Seu tema pode fornecer traduções, todos os seus plugins podem fornecer traduções” Como?

“Você precisa gerar um arquivo PO contendo as strings passáveis ​​e seus tradutores irão usá-lo para criar um arquivo MO que possa ser lido pelo PHP” O que é arquivo PO? Cada thread e sua tradução?

Acho que apenas olhar para o editor ao qual você vinculou responderá a algumas dessas perguntas (talvez). Então obrigado pelo link. Vou verificar.

(@stephencottontail)

2 anos, 10 meses atrás

“O próprio WordPress fornece traduções de suas próprias coisas” Quais são as coisas em si?

Coisas como o próprio painel, a tela de edição de trabalho, os widgets padrão, etc.

“Seu tema pode fornecer traduções, todos os seus plugins podem fornecer traduções” Como?

Do ponto de vista do usuário, você não precisa fazer nada. Você pode selecionar o idioma apropriado no Painel do WordPress e, se seu tema e plugins fornecerem traduções para esse idioma, você os verá.

Do ponto de vista do desenvolvedor, use uma ferramenta como o Poedit para gerar os arquivos PO e MO apropriados para incluir no seu tema/plugin.

“Você precisa gerar um arquivo PO contendo as strings passáveis ​​e seus tradutores irão usá-lo para criar um arquivo MO que possa ser lido pelo PHP” O que é arquivo PO? Cada thread e sua tradução?

sim. Da forma que o sistema estiver configurado, ele terá um arquivo PO e MO para cada idioma diferente: fr-FR.po para tradução francesa, es-ES.po para tradução em espanhol, etc.

(@chz516)

2 anos, 10 meses atrás

Ainda estou um pouco confuso, mas vou fazer algumas tentativas e erros com o Poedit para tentar descobrir. Obrigado pela ajuda.

Além disso, pareço lembrar da minha pesquisa que outras pessoas às vezes criam os arquivos de tradução para um site, tema ou plug-in. É assim que funciona? Os outros fazem isso conforme necessário? Ou como desenvolvedor de plugins, você disponibiliza todas as traduções que precisa?

Ah, e outra pergunta. Eu ainda não entendo o domínio do texto. A palavra domínio tem algo a ver com um domínio como é usado na web? Não acredito. Mas alguém pode explicar como os domínios de texto contribuem para isso e como eles são usados? Não entendo sua função.

(@stephencottontail)

2 anos, 10 meses atrás

Além disso, pareço lembrar da minha pesquisa que outras pessoas às vezes criam os arquivos de tradução para um site, tema ou plug-in. É assim que funciona? Os outros fazem isso conforme necessário? Ou como desenvolvedor de plugins, você cria todas as traduções que precisa para estar disponível?

Claro, você pode enviar arquivos PO para outras pessoas e pedir que façam as traduções para você. Se o seu plugin for muito popular, as pessoas podem até entrar em contato com você e se oferecer para fazer uma tradução.

Ah, e outra pergunta. Eu ainda não entendo o domínio do texto. A palavra domínio tem algo a ver com um domínio como é usado na web? Não acredito. Mas alguém pode explicar como os domínios de texto contribuem para isso e como eles são usados? Não entendo sua função.

O domínio de texto não tem nada a ver com o domínio do seu site. O domínio de texto é usado para que o analisador PHP saiba onde procurar para obter as traduções.

(@chz516)

2 anos, 10 meses atrás

Bom, eu me lembro de ter lido que era algo aberto, que outros podiam criar traduções à vontade. Mas devo ter lido errado. Eu acho que eles têm que adicionar os arquivos PO ao SVN, então faz sentido que o criador do plugin tenha o controle.

Quanto ao domínio do texto, acho que não entendo como são as traduções:

O domínio de texto é usado para que o analisador PHP saiba onde procurar para obter as traduções.

Então, ele não aparece em um subdiretório de plugin. Diga textdomain = “myplugin”, o que o analisador faz com essa informação?

(@stephencottontail)

2 anos, 10 meses atrás

Cada plugin tem um caracol, que geralmente é o nome do plugin com todas as pontuações removidas, espaços convertidos em hífens e todas as letras convertidas em minúsculas. Um plugin chamado “Steve’s Plugin” teria um “Steve Plugin”. Esse caracol é geralmente usado como um domínio de texto para esse plug-in e como o nome da pasta que contém o plug-in.

Quando o analisador PHP vê uma função de tradução em uso:

<?php _e( 'Hello', 'steves-plugin' ); ?>

O analisador analisa o domínio de texto (steves-pluginneste caso) e encontra a pasta apropriada i wp-content. Quando encontra a pasta apropriada, ele pesquisa o languages pasta para o arquivo MO apropriado. Se encontrar o arquivo MO para o idioma atual, a string de tradução será substituída por “Hello”.

(@bcworkz)

2 anos, 10 meses atrás

O domínio de texto deve corresponder à primeira parte do nome do arquivo .mo. Se textdomain = “myplugin” for alemão e a tradução que você está procurando for procurada em um arquivo chamado myplugin-de_DE.mo. O arquivo será pesquisado em wp-content/plugins content e, em seguida, wp-content/plugins. Os plug-ins no repositório WP devem usar um domínio de texto que corresponda ao caracol de plug-in atribuído.

Isso é provavelmente muito otimista, mas não é realmente o analisador procurando por arquivos de tradução .mo, é o módulo PHP gettext. O Poedit usa um analisador para encontrar strings de tradução para gerar um arquivo .pot.

Observe também que para plugins que residem no repositório WP, o processo informal de tradução em que confiávamos anteriormente está sendo substituído por um processo baseado na comunidade WP mais organizado. Veja O post tem mais de 2 anos, a atualização mencionada já está prometida. Os aditivos existentes devem solicitar a migração. Novos plugins são registrados automaticamente no IIRC.

(@choozler)

2 anos, 10 meses atrás

Não há necessidade de responder como minha conta original. Eu criei um novo para combinar com meu plugin que usarei em todos os posts após este tópico.

Esta resposta foi modificada 2 anos, 10 meses atrás por. Esta resposta foi modificada 2 anos, 10 meses atrás por. Esta resposta foi modificada 2 anos, 10 meses atrás por.

(@chz516)

2 anos, 10 meses atrás

Isso me confunde incrivelmente.

Se o nome do meu plugin estiver no topo do meu arquivo PHP: Meu primeiro plugin

Eu tenho que fazer meu domínio, usado em todas as chamadas _e() e __(): my-very-first-plugin

Como em:
echo 'untranslated text and ' . __('translated text', 'my-very-first-plugin')

Se isso estiver correto, definitivamente farei isso, mas para ser honesto, não tenho ideia do que isso significa. vou fazer funcionar corretamente quando eu finalmente entender isso.

Altere os nomes de usuário como você vê 🙂

(@bcworkz)

2 anos, 10 meses atrás

Obrigado por ser claro sobre os nomes de usuário. Embora os mods possam ver que ambos são para o mesmo usuário, isso apenas lhes dá um pouco de altura extra. Enquanto isso, a mudança pode ser uma espécie de batismo.

Se você está confuso, você está em boa companhia. É confuso. Basicamente você tem agora, se você fizer isso vai ficar bem. No entanto, na verdade é ainda mais complicado. Como todos os objetos no WP, os plugins têm um caracol e um nome. Para a maioria dos desenvolvedores, esses dois dizem a mesma coisa. Nomeie “Meu plugin” e Caracol “Meu plugin”. Não há nenhuma razão técnica para que todos digam a mesma coisa. Seu plugin pode ser chamado de “Plugin incrível”, mesmo que o caracol seja um “mi-plugin”. Seu domínio de texto para fins de gettext deve ser compatível com o plugin snail.

Agora lembre-se, eu não faço parte da equipe de revisão de plugins. Eles agora podem precisar de novos aditivos e as lesmas dizem a mesma coisa. Pode haver um motivo comercial para reivindicar isso, mesmo que não haja requisitos técnicos. Eu também sugiro que ambos digam a mesma coisa porque é mais claro para os usuários. Não há muita diferença entre um caracol diferente ou mudar de conta nos fóruns aqui. Você pode fazer isso, mas é um pouco confuso no começo 🙂

Espero que ajude e não seja mais confuso.

Isto foi útil?

0 / 0

Deixe um comentário 0

Your email address will not be published. Required fields are marked *