🎉 USE O CUPOM FIM.DE.SEMANA.FULL | 20% OFF acima de R$ 100,00

Como corrigir a tradução do Tutor LMS com WPML ou Polylang no WordPress

Time Full Services Time Full Services
Tipo Multisite & Multilingue
Nome do erro Tradução do Tutor LMS não funciona com WPML ou Polylang EN: Tutor LMS translation not working with WPML or Polylang
Severidade Atenção
Descrição A tradução do Tutor LMS com WPML ou Polylang não funciona quando você confunde os dois níveis de texto do plugin: os textos da interface (botões, rótulos, e-mails) vêm dos arquivos .po/.mo do Tutor, enquanto os cursos e lições que você criou só são traduzidos por WPML ou Polylang com o conteúdo registrado para tradução.

O que é tradução do Tutor LMS com WPML ou Polylang?

O Tutor LMS tem dois tipos de texto que muita gente trata como se fossem um só. O primeiro são as strings da interface: botões como Enroll Now, rótulos do painel do aluno, status de matrícula e modelos de e-mail. Esses textos vêm dos arquivos de idioma do próprio plugin (tutor.pot e os derivados .po/.mo) e não passam por WPML nem por Polylang. O segundo tipo é o conteúdo que você cria: cursos, lições, tópicos, questionários e perguntas. Esse conteúdo é o que o WPML ou o Polylang traduzem, post a post, como em qualquer custom post type.

A tradução do Tutor LMS com WPML ou Polylang não funciona quando esses dois níveis são misturados. Se você ativa o WPML esperando que ele traduza os botões da interface, eles continuam em inglês porque dependem do arquivo .mo, não do WPML. Se você traduz as strings com o PO Edit mas o custom post type courses não está marcado como traduzível no WPML ou no Polylang, os cursos não ganham versão em outro idioma. A documentação oficial do Tutor LMS deixa claro que a tradução do plugin é feita por três caminhos distintos, e cada nível de texto usa um caminho diferente.

Como identificar

  • Os botões e rótulos do Tutor LMS, como ‘Enroll Now’, ‘Add to Cart’, ‘Course Content’ e ‘Start Learning’, continuam em inglês mesmo com o site definido em português e o WPML ou Polylang ativos.
  • Os cursos criados no Tutor LMS não mostram a opção de adicionar tradução no editor do WPML, ou não aparecem na lista de conteúdo traduzível do Polylang.
  • O seletor de idiomas troca a interface do WordPress, mas as lições e os tópicos do curso continuam exibindo o conteúdo no idioma original.
  • Os modelos de e-mail do Tutor LMS (confirmação de matrícula, conclusão de curso) chegam ao aluno sempre no idioma padrão, ignorando o idioma da página onde ele se matriculou.
  • Ao traduzir um curso pelo WPML, as lições associadas não são vinculadas à versão traduzida e o aluno cai no curso original em inglês.
Antes de começar: Antes de enviar arquivos de idioma por FTP ou alterar a configuração de tipos de conteúdo do WPML ou do Polylang em produção, faça um backup do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, porque mudanças de idioma em custom post types podem reorganizar URLs e associações de conteúdo existentes.

Como prevenir

  • Defina desde o início qual plugin cuida de cada nível: arquivo .po/.mo para a interface do Tutor LMS e WPML ou Polylang para os cursos e lições, sem misturar os dois papéis.
  • Mantenha os arquivos de tradução em /wp-content/languages/plugins/, nunca dentro da pasta do plugin, para que as atualizações do Tutor LMS não apaguem a sua tradução.
  • Sempre que criar um novo tipo de conteúdo no Tutor LMS, verifique se ele está marcado como traduzível no WPML ou no Polylang antes de publicar conteúdo nele.
  • Use o PO Edit para gerar o par .po/.mo e nunca edite o tutor.pot diretamente, já que o WordPress só carrega o arquivo .mo compilado.
  • Acompanhe a tradução oficial em translate.wordpress.org/projects/wp-plugins/tutor/ para reaproveitar strings já traduzidas pela comunidade e reduzir o trabalho manual.

Causa

  • O custom post type 'courses' do Tutor LMS não está marcado como traduzível em WPML -> Configurações -> Tipos de Conteúdo de Posts (ou no painel Idiomas do Polylang), então o WPML/Polylang não cria versões traduzidas dos cursos.
  • Você espera que o WPML ou o Polylang traduzam os textos da interface (botões e rótulos), mas, segundo a doc oficial, essas strings vêm do arquivo tutor.pot e só são traduzidas por arquivo .po/.mo ou pela plataforma translate.wordpress.org, não pelos plugins multilíngues.
  • O arquivo de tradução do Tutor LMS está com nome ou local errado: o par tutor-pt_BR.po e tutor-pt_BR.mo precisa ficar em /wp-content/languages/plugins/, e não dentro de /wp-content/plugins/tutor/languages/, que é sobrescrito a cada atualização do plugin.
  • Você editou o tutor.pot diretamente em vez de gerar um .po/.mo a partir dele, então o WordPress não carrega a tradução, pois ele só lê arquivos .mo compilados.
  • O addon WPML Multilingual CMS do Tutor LMS não está ativado em Tutor LMS -> Addons, fazendo o WPML não reconhecer a estrutura de cursos, tópicos e lições para tradução conjunta.
  • As lições e tópicos foram traduzidos isoladamente, mas não foram reassociados ao curso traduzido, então o WPML/Polylang exibe a versão original do conteúdo filho.

Como resolver

  1. Separe o que é interface do que é conteúdo: Antes de mexer em qualquer plugin, entenda que botões e rótulos do Tutor LMS são strings de interface (vêm do arquivo de idioma do plugin) e cursos, lições e questionários são conteúdo (traduzidos por WPML ou Polylang). Cada um tem um caminho diferente e tratar tudo no WPML é a causa mais comum de tradução incompleta.
    Interface (botões, e-mails): arquivo .po/.mo do Tutor LMS
    Conteúdo (cursos, lições, quizzes): WPML ou Polylang
  2. Traduza as strings da interface com arquivo .po/.mo: Para colocar os botões e rótulos em português, gere um par de arquivos de idioma a partir do template tutor.pot usando o PO Edit, conforme a documentação oficial. Salve os arquivos com o nome correto e na pasta segura, que não é apagada nas atualizações do plugin.
    Abra /wp-content/plugins/tutor/languages/tutor.pot no PO Edit (poedit.net)
    Traduza as strings e gere tutor-pt_BR.po e tutor-pt_BR.mo
    Envie os dois arquivos para /wp-content/languages/plugins/
  3. Marque o curso como tipo de conteúdo traduzível: Para que WPML ou Polylang traduzam os cursos, o custom post type precisa estar habilitado para tradução. Sem isso, o editor de tradução simplesmente não oferece a opção de versão em outro idioma para os cursos.
    WPML: WPML -> Configurações -> Tradução de Tipos de Conteúdo -> marque 'Cursos' como Traduzível
    Polylang: Idiomas -> Configurações -> Custom post types -> habilite 'courses'
  4. Ative o addon WPML Multilingual CMS do Tutor LMS: Se você usa o WPML, ative o addon oficial do Tutor LMS para que o WPML reconheça a relação entre curso, tópicos e lições e traduza a estrutura de forma conjunta, evitando que a lição traduzida fique órfã do curso original.
    Painel WP -> Tutor LMS -> Addons
    Ative o addon 'WPML Multilingual CMS'
  5. Traduza cursos, tópicos e lições e revise as associações: Crie a versão traduzida do curso e de cada lição pelo editor de tradução do WPML ou pela coluna de idiomas do Polylang. Depois, abra o curso traduzido e confirme que ele aponta para as lições traduzidas, e não para o conteúdo original.
    WPML: WPML -> Tradução -> traduza o curso e as lições associadas
    Polylang: edite cada curso/lição e use a coluna do idioma de destino com o sinal +
    Abra o curso traduzido e confirme que tópicos e lições são as versões no idioma correto
PHP
<?php
// Registra o custom post type de cursos do Tutor LMS como traduzivel no Polylang.
// Use no functions.php do tema filho quando o post type nao aparece no painel do Polylang.
add_filter( 'pll_get_post_types', 'full_tutor_lms_polylang_cpt', 10, 2 );
function full_tutor_lms_polylang_cpt( $post_types, $is_settings ) {
    if ( $is_settings ) {
        // Garante que o post type 'courses' apareca nas configuracoes do Polylang.
        $post_types['courses'] = 'courses';
    } else {
        // Torna os cursos efetivamente traduziveis.
        $post_types['courses'] = 'courses';
    }
    return $post_types;
}

Perguntas frequentes

Por que os botões do Tutor LMS continuam em inglês mesmo com WPML ativo
Porque os botões e rótulos são strings da interface do plugin e vêm do arquivo de idioma tutor.po/.mo, não do WPML. Segundo a documentação oficial, essas strings se traduzem por arquivo .po/.mo gerado no PO Edit ou pela plataforma translate.wordpress.org, e o WPML cuida apenas dos cursos e lições que você cria.
O Tutor LMS é compatível com WPML e Polylang
Sim. O Tutor LMS é translation-ready e oferece um addon oficial WPML Multilingual CMS para sites multilíngues. O Polylang também funciona desde que o custom post type de cursos esteja habilitado para tradução. A interface do plugin, no entanto, é traduzida por arquivo de idioma, e não por esses plugins.
Onde devo colocar o arquivo de tradução do Tutor LMS
Coloque o par tutor-pt_BR.po e tutor-pt_BR.mo em /wp-content/languages/plugins/. A documentação recomenda essa pasta porque ela não é apagada nas atualizações do plugin, ao contrário de /wp-content/plugins/tutor/languages/, que é sobrescrita.
Por que meu curso não aparece para traduzir no WPML ou Polylang
Porque o custom post type de cursos provavelmente não está marcado como traduzível. No WPML, habilite o tipo Cursos em Tradução de Tipos de Conteúdo; no Polylang, ative o post type courses em Idiomas, Configurações, Custom post types. Sem isso, o editor de tradução não oferece a opção.
Preciso do addon WPML do Tutor LMS para traduzir os cursos
Para uma tradução conjunta de curso, tópicos e lições com o WPML, sim, é recomendado ativar o addon WPML Multilingual CMS em Tutor LMS, Addons. Ele faz o WPML reconhecer a estrutura do curso e evita que a lição traduzida fique desvinculada do curso original.
Posso editar o arquivo tutor.pot diretamente para traduzir
Não. O arquivo .pot é apenas um template de origem. Você deve abri-lo no PO Edit, traduzir e gerar um par .po/.mo no idioma desejado. O WordPress só carrega o arquivo .mo compilado, então editar o .pot sozinho não tem efeito na interface.
As lições traduzidas ficam soltas do curso, como resolver
Isso acontece quando a lição é traduzida sem reassociar ao curso traduzido. Abra o curso na versão de destino e confirme que tópicos e lições apontam para as versões no idioma correto. O addon WPML do Tutor LMS ajuda a manter essa estrutura amarrada durante a tradução.
Existe tradução pronta do Tutor LMS em português
Sim. A documentação oficial indica a plataforma translate.wordpress.org/projects/wp-plugins/tutor/, onde traduções da comunidade ficam disponíveis e baixam automaticamente ao atingir 90 por cento de progresso. Você pode reaproveitar essas strings em vez de traduzir tudo do zero.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes