Traduce un complemento usando archivos .po .mo
5 respuestas
- votos
-
- 2012-07-02
Eleditor
Hay otros,peroesteeselmás utilizado: Poedit ,un catálogo degettextmultiplataforma (archivos .po)editor.
Losformatos
-
.mo
son las siglas de Machine Object
-exportación compilada del archivo.po
que utiliza WordPress -
.po
son las siglas de Portable Object
- archivo detextoeditable con las cadenas detraducción
-basadoen el archivomaestro.pot
,usando lafunción Actualizar desde archivo POT PoEdit
- algunaspersonas lo distribuyen como un archivomaestro,pero solo debe usarseparatraducciones -
.pot
son las siglas de Portable Object Template
- archivo detextoeditable utilizadoparatomartodas las cadenastraducibles delpropio WordPress y Temas y complementos,usando lafunción Actualizar desdefuentes PoEdit
Elprocedimiento
- Dupliqueel archivo .pot y cámbieleelnombre a
plugin-basename-lang_COUNTRY.po
- Ejemploparael caso del complemento al que se hace referencia: <×
subscribe-reloaded-pt_BR.po
"
- pt_BR significaportugués de Brasil,peromuchosidiomasnotienen una variación depaís ...
-tendrás que completarlo contupropioidioma -
WPLANG
enwp-config.php
el archivo debeestar configuradoen suidioma,porejemplo,pt_BR
- Cada vez queguardael archivo
.po
,PoEditgenera automáticamente un archivo.mo
,queesel que usa WordPress ybásicamenteel único quenecesita cargar
Observaciones
- Si realiza unatraducción completa oparcial decente,envíela al autor del complementopara quepuedaincluirlaen el Repositorio y usted obtener crédito porello
- No olvide hacer una copia de seguridad de sutraducción,porque si actualizael complemento,su archivo seperderá
- La sugerencia del complemento @ user17078esbastante agradable,peronunca la usémucho
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
-
¿Cuántotiempo se supone que debetardaren surtirefectoelnuevo archivomo/po?How long is the new mo/po file supposed to take to have effect?
- 2
- 2015-12-14
- Nemo
-
- 2012-07-02
Puedeprobareste complemento de localización yestilo de código: .Puedestraducirtus complementos ytemas usandoesto.
You can try this codestyling-localization plugin:. You can translate you plugins and themes using this.
-
Esteeselmejor complemento detraducción que he visto.Este complementopuedetenerpoediten cualquiermomento y lamejorpartees queesgratuito yfácil de usar.Esta respuesta debe votarse afavor almenos.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
-
Yanoexiste.No longer exists.
- 1
- 2015-06-03
- Chris Cox
-
Estaparece unabuena alternativa: https://wordpress.org/plugins/say-what/This looks like a good alternative: https://wordpress.org/plugins/say-what/
- 1
- 2015-06-10
- jetlej
-
@jetlejinteresante,aunquenoparecefuncionarparami archivopo:/@jetlej interesting, doesn't seem to work for my po file though :/
- 0
- 2015-12-14
- Nemo
-
- 2013-10-24
(Aquí hay un EJEMPLO detraducción a DEUTSCH. CAMBIE las costumbrespor las QUE DESEA)
en cadaencabezado de complementos,hay unnombre único. (porejemplo:
/* Plugin Name: my-pluginname ....... */
luego,en la carpeta deese complemento,cree una carpeta "idiomas";
luego,en el archivo .php de su complemento (en algún lugar de laparte superior),inserteel código deinicialización:
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;
luego abra cualquiereditor detexto,luegoinsértelo comoeste código (TENGA EN CUENTA,QUE soloestamos agregando dosmensajes demuestra,"hola" y "adiós",por lo quepuede AGREGAR TODOS losmensajes que desee con líneas similares) .
# 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"
luegoguardeeste archivo como "my-pluginname-en_US.po" (tengaen cuenta que .poes unaextensión de archivo,así que verifique que suprograma deedición detextono se hayaguardadoen "my-pluginname-en_US.po.TXT ").
luego descargueel software POEDIT y abraeste archivo. luegoediteel campo "traducción" y luegoguárdelo como "my-pluginname-de_DE" segenerarán dos archivos (sipoEditnogenerael segundo archivo .mo automáticamente,simplemente vaya a Archivo -> Preferencias -> Editor ymarque la casilla que dice "Compilar automáticamenteel archivo .mo alguardar"),
luego coloqueesos dos archivosen la carpeta "idiomas".
después deesto,abra wp-config.php ybusqueeste código:
define ('WPLANG, '');
y cambie a
define ('WPLANG, 'de_DE');
Esoestodo. Cuando WordPressestá cargado,leeráel archivo deidioma de los complementos,conelprefijo -de_DE.
Entonces,en el archivo .php del complemento,en lugar de:
echo "Something string";
debería utilizar:
echo __("mymessage1", 'my-pluginname');
Terminado. Ahora deberíaprobar su complemento.p.s.enlaces 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:
-
Intentéesto conmi tema.En header.php,tengo `echo __ ("gracias-por-visitar ",'transparente');`.Entheme \ languages \transparent-en_US.po,tengo `msgid"gracias-por-visitar "` `msgstr" ¡Hola! Graciaspor visitarnos. Echa un vistazo y suscríbete al "`.Estogenera "graciaspor visitar"en lainterfaz.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
Querrá utilizar POEdit .Es una aplicacióngratuitapara crear archivos .po/.mo.
Escribí untutorialbastante detallado sobretodoeltema aquí .Puedepasar al Paso 3: crearel archivo detraducciónparael dominio detexto.
-
- 2013-01-29
Sugierotambién h ttp://poeditor.com/.Es una herramienta detraducciónbasadaen web quefuncionamuybien con .po,.mo,.pot y otrostipos de archivos.
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.
-
Un visitantepropuso unaedición que apunta a unnuevo complementoparaeste servicio: 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.com yanoexiste ...poeditor.com not longer exists...
- 0
- 2020-04-27
- Cypher
Quierotraducir este complemento.
El complemento ya se hatraducido a otrosidiomas ytiene archivos
.pot
para agregarnuevosidiomas (hasta donde heentendidopor la descripción).¿Cómo creo archivos
.po
y.mo
parami nuevoidioma y los hago accesiblespara que los utiliceel complemento?Intenté definirelidioma rusoen mi archivowp-config.php
insertando la siguiente definición: