Suporte » Questões avançadas » Adicionar String e tradução sem .PO / .MO

  • Criei um plugin e queria deixa-lo com multi-linguagem, mas sem usar o arquivos .po ou .mo

    O wordpress não tem alguma função do tipo add_translation($orinigal, $tradução) ?

    Achei uma função do wp que é a make_entry($original,$trnaslation) mas dá erro quando uso, ou não sei usa-la…

    Alguém pode ajudar?

    Obrigado

A visualizar 5 respostas - de 1 a 5 (de um total de 5)
  • O WordPress não tem nenhuma função denominada “make_entry”.

    Tem sim, uma função de uma classe com esse nome ( classe MO ) , logo, a forma de chamar essa função será algo:

    $oLanguage = new MO();
    ....funções para carregar traduções......
    $oLanguage->make_entry($original,$tranlation);
    ....funções para carregar traduções......

    Mas a volta seria um pouco grande se fosses por esse caminho, aconselho a leres alguns artigos do Codex, este por exemplo: http://codex.wordpress.org/I18n_for_WordPress_Developers

    Thread Starter Gilson de Carvalho

    (@gilsones)

    Eu sei como criar tradução com arquivo .mo, mas queria que o usuário pudesse ele mesmo alterar a tradução, e usando .mo deficultaria isso.

    você passou um código para carregar tradução, mas não teria como definir uma string e sua tradução manualmente?

    Se é para o utilizador alterar, porque não usar o get/add/delete_option e simplificas o processo?

    Thread Starter Gilson de Carvalho

    (@gilsones)

    porque queria que a tradução fosse inserida como no padrão do wordpresss __(“My string”)

    A unica forma que estou a ver de fazeres isso sem os MO’s é usares as funções get/add/delete_option para administrares e o filtro gettex para retornar, exemplo:

    function __filter_gettext($translated_text, $text, $domain) {
        switch ($translated_text) {
            case 'My First Translation String' :
            $translated_text = get_option('translate_my_first_string', $translated_text);
        break;
        case 'My Secound Translation String' :
            $translated_text = get_option('translate_my_secound_string', $translated_text);
        break;
        }
    return $translated_text;
    }
    add_filter('gettext', '__filter_gettext');
A visualizar 5 respostas - de 1 a 5 (de um total de 5)
  • O tópico ‘Adicionar String e tradução sem .PO / .MO’ está fechado a novas respostas.