O MemberMouse inclui suporte para localização e, por padrão, carrega uma tradução em inglês dos EUA para uso com o plug-in. É possível traduzir a maior parte do texto no backend do MemberMouse para o idioma de sua escolha usando o recurso de localização incorporado do WordPress. Além disso, é possível criar conteúdo voltado para os membros no idioma de sua escolha, com poucas exceções. Elas são detalhadas na segunda parte deste artigo.
A maneira mais simples de adicionar suporte a outros idiomas é usar um plug-in de localização e o Traduzir MemberMouse - Básico apresenta as etapas para essa abordagem.
Porém, se houver uma personalização mais específica que você gostaria de obter, o suporte também pode ser adicionado programaticamente usando uma pequena quantidade de código. Embora esse código possa ser colocado em muitos locais diferentes, provavelmente é melhor criar um pequeno plug-in dedicado à tradução, que é o que será demonstrado neste artigo e explicado em mais detalhes a seguir.
Traduzir o back-end do MemberMouse - Avançado
Para traduzir o backend do inglês para o idioma de sua escolha, você precisará criar um arquivo de tradução ou arquivo de "Localização". O arquivo que contém essa tradução é anexado por .po / .mo, em que .po é o arquivo editável e .mo é a versão compilada.
Ao definir uma configuração adequada, o WordPress usará esse arquivo para fazer o trabalho com base no idioma selecionado. A localização usando arquivos .po / .mo é uma maneira básica de traduzir a frase "x" para a frase "y" no novo idioma respectivo.
Se feito corretamente, você poderá ter algo como o seguinte:
Exemplo de inglês/espanhol:
"How are you?" = "Como Estas?"
Como funciona: Construção de um arquivo .po
O arquivo .po é realmente um arquivo simples que faz a tradução conforme mencionado acima. O arquivo de idioma é normalmente nomeado da seguinte maneira:
[text-domain]-[language-prefix]_[Country]
text-domain: mm (Nosso plug-in tem um domínio de texto de "mm" por padrão).
prefixo de idioma: Lista de códigos de idioma
País: Lista de códigos de país
Por exemplo. Se você quiser traduzir para o alemão e estiver localizado na Alemanha, o nome do arquivo será: mm-de_DE
Um arquivo básico típico pode ser parecido com o seguinte:
Arquivo: mm-es_ES.po
msgid ""
msgstr ""
"Projeto-Id-Versão: Versão em espanhol 1.0\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: MemberMouse \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Idioma: es_ES\n"
"X-Generator: Poedit 1.8.8\n"
"Plural-Formas: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Como você está?"
msgstr "Como Estas?"
Como você pode ver, o msgid é o texto a ser traduzido e o msgstr é a frase traduzida resultante.
No topo da tradução, há apenas alguns metadados para ajudar a definir o idioma e a versão.
Informações adicionais: Há algumas leituras sobre formas plurais encontradas aqui: Poedit Formas Plurais
Configuração avançada de tradução
OBSERVAÇÃO: As etapas a seguir contêm passos avançados que exigirão tempo, esforço e planejamento para serem realizados:
- Baixar o MemberMouse - A primeira etapa é obter o versão mais recente do MemberMouse. Isso solicitará que você salve um arquivo zip chamado membermouse.zip. Coloque esse arquivo em um local conhecido ao qual você tenha acesso de leitura e gravação.
- Crie uma pasta para o novo plug-in - A próxima etapa é criar uma pasta/diretório no sistema de arquivos local para armazenar os arquivos que criaremos para o nosso novo plug-in. A pasta pode ter qualquer nome. Para este exemplo, usaremos o nome membermouse-translation.
- Descompacte o plug-in MemberMouse - Depois que a pasta "membermouse-translation" tiver sido criada, localize o plug-in MemberMouse baixado na etapa 1 e descompacte-o em um local conhecido. O processo de descompactação criará uma pasta chamada "membermouse".
- Copie os arquivos de idioma para a pasta do novo plug-in - Dentro da pasta "membermouse" que foi criada acima, haverá outra pasta chamada "languages" (idiomas). Essa pasta precisa ser copiada para a pasta "membermouse-translation".
- Faça o download do aplicativo Poedit - O Poedit é um aplicativo gratuito usado para editar arquivos de tradução para aplicativos que usam gettext (como o WordPress). A versão mais recente pode ser baixada aqui: Download do POEdit
- Criar uma nova tradução - Abra o aplicativo Poedit, escolha "Criar nova tradução" na tela principal e selecione o arquivo membermouse.po na pasta membermouse-translation/languages.
- Selecione o idioma para o qual traduzir - Na próxima caixa de diálogo exibida, selecione o idioma para o qual deseja criar uma tradução (Observação: se quiser apenas personalizar alguns dos rótulos em inglês, selecione English(US) no menu suspenso).
- Traduzir campos de texto desejados - A seleção do idioma desejado abrirá uma janela com todo o texto disponível para tradução em uma área de rolagem. Selecione os itens que deseja traduzir e, na caixa de texto "Translation" (Tradução), digite o texto traduzido.
- Salvar a nova tradução - Quando estiver satisfeito com a tradução, vá para o menu File (Arquivo), escolha "Save As" (Salvar como) e salve o novo .po para o seu idioma na pasta languages (idiomas).
O formato desse arquivo é muito importante, ele deve ser "membermouse-.po".
Felizmente, o Poedit preencherá previamente o campo de nome de arquivo com a localidade correta para o idioma selecionado, portanto, basta adicionar "membermouse-" na frente dele. Por exemplo, para o inglês (EUA), o Poedit preencherá previamente o campo de nome de arquivo com "en_US.po", portanto, adicionar "membermouse-" produzirá o nome de arquivo "membermouse-en_US.po".
Depois que o nome do arquivo tiver sido inserido corretamente, salve o novo arquivo .po na pasta membermouse-translation/languages. Se o idioma for inglês (EUA), ele perguntará se você deseja substituir o arquivo .po existente; responda sim.
Depois que o arquivo .po tiver sido salvo, acesse o menu Arquivo e selecione "Compilar para .mo". Crie um arquivo .mo em membermouse-translation/languages com o mesmo nome do arquivo .po, com a extensão alterada para .mo.
Por exemplo, usando o inglês (EUA), crie um arquivo .mo chamado "membermouse-en_US.mo".
- Criar o arquivo principal do plug-in - Crie um arquivo na pasta membermouse-translation chamado membermouse-translation.php.
O código que será colocado nesse arquivo é, em sua maior parte, código padrão do plug-in do WordPress, com um bloco especial adicionado para substituir a tradução criada na etapa anterior quando o MemberMouse tentar carregar seus arquivos de tradução.
Adicione o seguinte código ao arquivo:<?php
/*
Plugin Name: MemberMouse Translation
Plugin URI: http://www.membermouse.com/
Description: A translation for MemberMouse
Version: 1.0
*/
function membermouse_translation_override_load_textdomain($mofile, $domain)
{
if ('membermouse' === $domain) {
return plugin_dir_path(__FILE__).'languages/membermouse-
en_US.mo'; }
return $mofile;
}
add_filter( 'load_textdomain_mofile','membermouse_translation_override_load
_textdomain', 10, 2 ); - Modificar o código conforme necessário - Se o arquivo .mo da nova tradução for diferente do arquivo membermouse-translation.php, modifique a linha que diz
return plugin_dir_path(__FILE__).'languages/membermouse-en_US.mo';
e altere "membermouse-en_US.mo" para corresponder ao arquivo .mo criado na etapa 7. - Compacte e instale o novo plug-in - Crie um arquivo zip compactado chamado "membermouse-translation.zip" que contenha a pasta "membermouse-translation" e seu conteúdo.
Esse zip agora é um plug-in do WordPress totalmente funcional que pode ser instalado para substituir a tradução padrão!
Você simplesmente instalaria esse plug-in atualizado seguindo as mesmas etapas descritas no artigo Instalando o MemberMouse
Traduzir o conteúdo voltado para os membros
A maioria das coisas com as quais seus clientes estarão interagindo por meio de seu site e portal de membros pode ser traduzida, pois a maior parte do conteúdo voltado para o cliente que o MemberMouse cria é simplesmente texto HTML que pode ser modificado por meio do editor do WordPress.
Nas versões mais antigas do MemberMouse, anteriores à 3.0.6, há alguns casos em que os itens não podem ser traduzidos ou exigem mais codificação do que a alteração do HTML para traduzir. Sempre que possível, sugerimos outros métodos para traduzir esses elementos.
Versão 2.0 a 3.0.5 - Elementos que podem ser traduzidos com codificação adicional:
1. Mensagens de erro geradas pelo MemberMouse ou mensagens de erro recebidas de terceiros, como o provedor de serviços de pagamento.
Se você tiver conhecimentos técnicos, poderá personalizar essa mensagem para que seja exibida em outro idioma. A mensagem Personalizar mensagens de erro na página de checkout fornece informações adicionais sobre como fazer isso. Você observará nesse artigo que só poderá traduzir as mensagens de erro de terceiros se souber a mensagem de erro específica recebida do terceiro que deseja traduzir.
2. A descrição do preço do produto. Uma opção seria usar o SmartTag de Order_Decision para definir descrições alternativas para produtos específicos.
Para cada produto para o qual você deseja incluir uma tradução, é possível adicionar uma linha diretamente abaixo da SmartTag™ (ou substituir a SmartTag™ por completo se você incluir uma para cada produto) usando a SmartTag™ para filtrar a descrição por ID:
[MM_Order_Decision productId='#']
Sua descrição do preço do produto traduzido aqui
[/MM_Order_Decision]
Outra solução alternativa seria criar páginas de checkout personalizadas específicas do produto e substituir a SmartTag MM_Form_Data name='productPriceDescription' por um texto em seu idioma que descreva o preço desse produto. A Criar uma página de checkout personalizada fornece informações adicionais sobre como fazer isso.
3. A mensagem de processamento de pagamento na página de checkout que é exibida depois que o cliente envia o pedido. É possível personalizar essa mensagem para que seja exibida em outro idioma seguindo as informações fornecidas em Personalizar a mensagem de processamento da página de checkout
Como as mensagens provenientes de fornecedores terceirizados, como provedores de serviços de pagamento, são recebidas e, em seguida, emitidas diretamente pelo MemberMouse na tela, se você não souber a mensagem de erro específica do fornecedor terceirizado, ela não poderá ser traduzida.