Traduza um Plugin usando arquivos .PO .MO
5 respostas
- votos
-
- 2012-07-02
Oeditor
Há outros,masisso émais usado: poedit ,um catálogos GetText deplataforma cruzada (arquivos .po) Editor.
osformatos
-
.mo
significa objeto damáquina
- Compilado Exportação do arquivo.po
que é usadopelo WordPress -
.po
significa o objetoportátil
- Arquivo detextoeditável com as strings detraduções
- Combaseno arquivo.POT
,usando Atualização do arquivo POT Função Poedit
- Algumaspessoas distribuemisso como um arquivomestre,mas deve ser usado apenasparatraduções -
.pot
significa omodelo de objetoportátil
- Arquivo detextoeditável usadoparapegartodas as stringstraduzíveis dopróprio WordPresse temase plugins,usando Atualização defontes função Poedit
Oprocedimento
- Duplicar o arquivo .pote renomeá-lopara
plugin-basename-lang_country.po
- Exemplopara oestojo deplug-in referenciado:
Subscribe-reloaded-pt_br.po
- pt_br significa oportuguês Brasil,masmuitas línguasnãotêm uma variação dopaís ...
- Vocêterá quepreencher com seupróprioidioma -
wplang
emwp-config.php
O arquivo deve ser definidono seuidioma,porexemplo,pt_br
- toda vez que você salvar o arquivo
.po
,Poeditgera automaticamente um arquivo.mo
,que é o único WordPress usae basicamente o único que vocêprecisafazer o upload .
Observações
- Se vocêfizer umatraduçãoparcialtotal ou decente,enviá-lopara o autor dopluginpara queelepossaincluí-lono repositórioe você Recebido paraele
- Não seesqueça defazer umbackup de suatradução,porque se você atualizar oplugin,seu arquivo seráperdido
- @ user17078 sugestão deplugin ébastante agradável,maseununca useimuito
The Editor
There are others, but this is most used: Poedit, a cross-platform gettext catalogs (.po files) editor.
The Formats
.mo
stands for Machine Object
-- compiled export of the.po
file which is used by WordPress.po
stands for Portable Object
-- editable text file with the translations strings
-- based on the master.pot
file, using Update from POT file PoEdit function
-- some folks distribute this as a master file, but it should be used only for translations.pot
stands for Portable Object Template
-- editable text file used to grab all the translatable strings from WordPress itself and Themes and Plugins, using Update from Sources PoEdit function
The Procedure
- Duplicate the .pot file and rename it to
plugin-basename-lang_COUNTRY.po
- Example for the referenced plugin case:
subscribe-reloaded-pt_BR.po
-- pt_BR means Portuguese Brazil, but many languages don't have a country variation...
-- you'll have to fill in with your own language WPLANG
inwp-config.php
file must be set to your language, e.g.,pt_BR
- Every time you save the
.po
file, PoEdit automatically generates a.mo
file, which is the one WordPress uses and basically the only one you need to upload
Observations
- If you do a full or a decent partial translation, submit it to the plugin author so he can include it in the Repository and you get credited for it
- Don't forget to make a backup of your translation, because if you upgrade the plugin your file will be lost
- @user17078 plugin suggestion is quite nice, but I never used it much
-
Quantotempo onovo arquivomo/po deveriaterefeito?How long is the new mo/po file supposed to take to have effect?
- 2
- 2015-12-14
- Nemo
-
- 2012-07-02
Vocêpodetentarisso plugin de localização de codestyling: .Vocêpodetraduzirpluginse temas usandoisso.
You can try this codestyling-localization plugin:. You can translate you plugins and themes using this.
-
Este é omelhorplugin detradução queeujá vi.Estepluginpodepossuir Poeditem qualquer diae amelhorparte é que égratuitoe fácil de usar.Esta resposta deve serelaboradapelomenos.This is the best translation plugin I have ever seen. This plugin can own poedit anyday and the best part is that it is free and user-friendly. This answer should be voted up atleast.
- 1
- 2014-10-02
- Gogol
-
Nãoexistemais.No longer exists.
- 1
- 2015-06-03
- Chris Cox
-
Issoparece umaboa alternativa: https://wordpress.org/plugins/say-what/This looks like a good alternative: https://wordpress.org/plugins/say-what/
- 1
- 2015-06-10
- jetlej
-
@Jetlejinteressante,nãoparecefuncionarpara omeu arquivo POembora:/@jetlej interesting, doesn't seem to work for my po file though :/
- 0
- 2015-12-14
- Nemo
-
- 2013-10-24
(Aquiestá umexemplo detraduçãopara a Deutsch. Altere os costumespara os desejos.)
Em cada cabeça deplugins,há umnomeexclusivo. (Porexemplo:
/* Plugin Name: my-pluginname ....... */
Então,nessapasta doplugin,crie umapasta "idiomas";
Então,em seu arquivoplugin .php (em algum lugarnotopo),insira o código deinicialização:
class load_language { public function __construct() { add_action('init', array($this, 'load_my_transl')); } public function load_my_transl() { load_plugin_textdomain('my-pluginname', FALSE, dirname(plugin_basename(__FILE__)).'/languages/'); } } $zzzz = new load_language;
Então abra qualquereditor detexto,em seguida,insira comoeste código (Nota,que somos apenas adicionando duasmensagens de amostra,"olá"e "bye",portanto,vocêpode adicionar quantasmensagens quiser com as linhas semelhantes) .
# English translations for PACKAGE package. # Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: my-pluginname 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-08-06 13:46-0400\n" "PO-Revision-Date: 2013-03-21 11:20+0400\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "X-Poedit-SourceCharset: iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.5.4\n" #: mypluginindex.php:87 (it is just a line of a note, to remind where our code appears) msgid "mymessage1" msgstr "Hello" #: mypluginindex.php:88 msgid "mymessage2" msgstr "Bye"
Então salveeste arquivo como "my-pluginname-en_us.po" (Nota,que .po é umaextensão do arquivo,portanto,verifique se oprograma do seueditor detextonão salvoupara "my-pluginname-en_us.po.txt ").
Em seguida,baixe o software Poedite abraeste arquivo. Em seguida,edite o campo "Tradução"e,em seguida,salve como "my-pluginname-de_de" Será que serágerado dois arquivos (se Poeditnãogerar o segundo arquivo .mo automaticamente,bastairpara Arquivo -> Preferências -> Editore Marque a caixa que diz "Compile automaticamente o arquivo .MOno Salvar"),
Em seguida,coloqueesses dois arquivosem pasta "idiomas".
Depois disso,abra o WP-Config.phpe encontreeste código:
define ('WPLANG, '');
e mudepara
define ('WPLANG, 'de_DE');
Isso étudo. Quando o WordPress é carregado,ele lerá seu arquivo deidioma deplugins,comprefixo -de_de.
Então,no arquivo .php doplugin,em vez de:
echo "Something string";
Você deve usar:
echo __("mymessage1", 'my-pluginname');
Finalizado. Agora você devetestar seuplugin.p.s. Links usados:
(Here is an EXAMPLE of translation to DEUTSCH. CHANGE the customs to YOUR DESIRED ones.)
in every plugins head, there is an unique name. (for example:
/* Plugin Name: my-pluginname ....... */
then, in that plugin's folder, create a folder "languages";
then, into your plugin .php file (somewhere in the top), insert the initialization code:
class load_language { public function __construct() { add_action('init', array($this, 'load_my_transl')); } public function load_my_transl() { load_plugin_textdomain('my-pluginname', FALSE, dirname(plugin_basename(__FILE__)).'/languages/'); } } $zzzz = new load_language;
then open any text editor, then insert like this code (NOTE, THAT we are only adding two sample messages, "hello" and "bye", so , you can ADD AS MANY messages AS YOU WANT with the similar lines).
# English translations for PACKAGE package. # Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: my-pluginname 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-08-06 13:46-0400\n" "PO-Revision-Date: 2013-03-21 11:20+0400\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "X-Poedit-SourceCharset: iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.5.4\n" #: mypluginindex.php:87 (it is just a line of a note, to remind where our code appears) msgid "mymessage1" msgstr "Hello" #: mypluginindex.php:88 msgid "mymessage2" msgstr "Bye"
then save this file as "my-pluginname-en_US.po" (note, that .po is an extension of file, so check that your text editor program has not saved to "my-pluginname-en_US.po.TXT").
then download POEDIT software, and open this file. then edit the "translation" field, and then save as "my-pluginname-de_DE" there will be generated two files ( If poEdit does not generate the second .mo file automatically, just go to File -> Preferences -> Editor and check the box that says "Automatically compile .mo file on save"),
then put those two file into "languages" folder.
after this, open wp-config.php and find this code:
define ('WPLANG, '');
and change to
define ('WPLANG, 'de_DE');
That's all. When WordPress is loaded, it will read your plugins language file, with prefix -de_DE.
So, in the plugin's .php file, instead of:
echo "Something string";
you should use:
echo __("mymessage1", 'my-pluginname');
Finished. Now you should test your plugin.p.s. used links:
-
Eutentei isso commeutema.No header.php,eutenho "eco __ (" obrigadopor visitar ","transparente ");`Notema \idiomas \transparent-en_us.po,eutenho "msgstr" obrigado-por-visitando " "Msgstr" Olá! Obrigadopor visitar. Dê uma olhadae assine o "`.Issoproduz "obrigadopor visitar"nofrontend.I tried this with my theme. In header.php, I have `echo __("thanks-for-visiting", 'transparent');`. In theme\languages\transparent-en_US.po, I have `msgid "thanks-for-visiting"` `msgstr "Hello! Thank you for visiting. Take a look around and subscribe to the "`. This outputs "thanks-for-visiting" on the front end.
- 0
- 2014-03-10
- Steve
-
- 2012-07-02
Você vai querer usar poedit .É um aplicativogratuitopara criar arquivos .po/.mo.
Euescrevi umtutorialbastanteprofundo sobretodo otópico aqui .Vocêpodepularpara opasso 3 - criar o arquivo detraduçãopara o domínio detexto.
-
- 2013-01-29
Eutambém sugirotambém h ttp://poeditor.com/.É umaferramenta detraduçãobaseadana Web quefuncionamuitobem com .po,.mo,.pote outrostipos de arquivos.
I suggest also http://poeditor.com/. It is a web-based translation tool that works great with .po, .mo, .pot and other types of files.
-
Um visitantepropôs umaedição apontandopara umnovopluginparaeste serviço: http://wordpress.org/extend/plugins/poeditor/A visitor proposed an edit pointing to a new plugin for this service: http://wordpress.org/extend/plugins/poeditor/
- 0
- 2013-05-17
- brasofilo
-
poeditor.comnãoexistemais ...poeditor.com not longer exists...
- 0
- 2020-04-27
- Cypher
Eu querotraduzir esteplug-in
Oplug-injáfoitraduzidopara outrosidiomase tem arquivos
.pot
para adicionarnovosidiomas (tanto quantoeuentendi da descrição).Comofaçopara criar
.po
e.mo
arquivospara omeunovoidiomae torná-los acessíveispara serem usadospeloplugin?Eutentei definir oidioma russonomeu arquivowp-config.php
inserindo a definição abaixo: