Traduci un plugin usando i file .po .mo
5 risposta
- voti
-
- 2012-07-02
L'editor
Cene sono altri,ma questo èilpiù utilizzato: Poedit ,un catalogogettextmultipiattaforma (file .po).
Iformati
-
.mo
staper Machine Object
-esportazione compilata delfile.po
utilizzato da WordPress -
.po
staper Portable Object
-file ditestomodificabile con le stringhe ditraduzione
-basato sulfile.pot
principale,utilizzando lafunzione Aggiorna dafile POT PoEdit
- alcunepersone lo distribuiscono comefileprincipale,ma dovrebbeessere usato soloper letraduzioni -
.pot
staper Portable Object Template
-file ditestomodificabile utilizzatoper acquisiretutte le stringhetraducibili da WordPress stessoe temie plug-in,utilizzando lafunzione Aggiorna da sorgenti PoEdit
Laprocedura
- Duplicailfile .pote rinominaloin
plugin-basename-lang_COUNTRY.po
- Esempioperil caso delplug-in di riferimento: <"
subscribe-reloaded-pt_BR.po
"
- pt_BR significaportoghese Brasile,mamolte linguenon hanno una variazione dipaese ...
- dovrai compilare con latua lingua -
WPLANG
inwp-config.php
ilfile deveessereimpostato sullatua lingua,adesempiopt_BR
- Ogni volta che salviilfile
.po
,PoEditgenera automaticamente unfile.mo
,che è quello utilizzato da WordPresse fondamentalmente l'unico che devi caricare
Osservazioni
- Sefai unatraduzione completa oparziale decente,inviala all'autore delpluginin modo chepossaincluderlanel repositorye tu vieni accreditato per questo
- Non dimenticare difare unbackup dellatuatraduzione,perché se aggiorniilpluginiltuofile andràperso
- Il suggerimento delplugin @ user17078 è abbastanza carino,manon l'homai usatomolto
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 dovrebbeimpiegareilnuovofilemo/poper avereeffetto?How long is the new mo/po file supposed to take to have effect?
- 2
- 2015-12-14
- Nemo
-
- 2012-07-02
Puoiprovare questo plug-in di codestyling-localization: .Puoitradurrei tuoiplugine temi usando questo.
You can try this codestyling-localization plugin:. You can translate you plugins and themes using this.
-
Questo èilmigliorplugin ditraduzione che abbiamai visto.Questopluginpuòpossederepoedit ognigiornoe lapartemigliore è che ègratuitoe facile da usare.Questa risposta dovrebbeessere votata afavore almeno.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
-
Nonesistepiù.No longer exists.
- 1
- 2015-06-03
- Chris Cox
-
Questa sembra unabuona 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,non sembrafunzionareperilmiofilepo:/@jetlej interesting, doesn't seem to work for my po file though :/
- 0
- 2015-12-14
- Nemo
-
- 2013-10-24
(Ecco un ESEMPIO ditraduzionein DEUTSCH. CAMBIA le abitudiniin quelle DESIDERATE.)
in ogniintestazione diplugin,c'è unnome univoco. (adesempio:
/* Nomeplugin:my-pluginname ....... */ quindi,nella cartella di quelplugin,crea una cartella "lingue";
quindi,nelfile .php deltuoplugin (da qualchepartein alto),inserisciil codice diinizializzazione:
class load_language { funzionepubblica __construct () { add_action ('init',array ($this,'load_my_transl')); } funzionepubblica load_my_transl () { load_plugin_textdomain ('my-pluginname',FALSE,dirname (plugin_basename (__ FILE __)). '/languages /'); } } $ zzzz=nuovo load_language;
quindi apri qualsiasieditor ditesto,quindiinserisciil codice come questo (NOTA,che stiamo aggiungendo solo duemessaggi diesempio,"ciao"e "ciao",quindipuoi AGGIUNGERE TUTTI Imessaggi VUOI con le righe simili) .
#traduzioniin ingleseperilpacchetto PACKAGE. # Copyright (C) 2012 TITOLARE DEL COPYRIGHT DEL PACCHETTO # Questofile è distribuito con la stessa licenza delpacchetto PACKAGE. # Generato automaticamente,2012. # msgstr "" msgstr "" "Project-Id-Version:my-pluginname 1.0 \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-08-06 13: 46-0400 \n" "Data revisione ordine di acquisto: 21/03/2013 11:20 + 0400 \n" "Last-Translator:generato automaticamente \n" "Language-Team:nessuno \n" "Versione MIME: 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 (è solo una riga di unanota,per ricordare dove appareilnostro codice) msgstr "mymessage1" msgstr "Ciao" #:mypluginindex.php: 88 msgstr "mymessage2" msgstr "Ciao"
quindi salva questofile come "my-pluginname-en_US.po" (nota,che .po è un'estensione delfile,quindi controlla cheiltuoeditor ditestonon sia stato salvatoin "my-pluginname-en_US.po.TXT ").
quindi scaricail software POEDITe apri questofile. quindimodificail campo "traduzione"e salva come "nome-plug-in-de_DE" verrannogenerati duefile (sepoEditnongenera automaticamenteil secondofile .mo,vai su File -> Preferenze -> Editore seleziona la casella "Compila automaticamenteilfile .mo al salvataggio"),
quindimetti questi duefilenella cartella "lingue".
dopo questo,apri wp-config.phpe trova questo codice:
define ('WPLANG,' ');
e cambiain
define ('WPLANG,' de_DE ');
Ètutto. Quando WordPress viene caricato,leggeràilfile della lingua deiplugin,conilprefisso -de_DE.
Quindi,nelfile .php delplugin,invece di:
echo "Qualcosa di stringa";
dovresti usare:
echo __ ("mymessage1",'my-pluginname');
Finito. Ora dovrestitestareiltuoplugin.p.s. link utilizzati:
(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:
-
Hoprovato questo conilmiotema.In header.php,ho `echo __ ("grazieper la visita ",'trasparente');`.Intheme \ languages \transparent-en_US.po,ho `msgid"grazieper la visita "` `msgstr" Ciao! Grazieper la visita. Dai un'occhiatain giroe iscriviti al "".Questogenera "grazieper la visita" sulfront-end.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
Ti consigliamo di utilizzare POEdit .È un'applicazionegratuitaper la creazione difile .po/.mo.
Ho scritto untutorialpiuttosto approfondito sull'intero argomento qui .Puoi andare alpassaggio 3: creazione delfile ditraduzioneperil dominio ditesto.
-
- 2013-01-29
Suggerisco anche h ttp://poeditor.com/.È uno strumento ditraduzionebasato sul Web chefunziona allagrande con .po,.mo,.pote altritipi difile.
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 visitatore haproposto unamodificapuntando a unnuovopluginper questo servizio: 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.comnonesistepiù ...poeditor.com not longer exists...
- 0
- 2020-04-27
- Cypher
Vogliotradurre questo plugin.
Ilplugin ègià statotradottoin altre linguee hafile
.pot
per l'aggiunta dinuove lingue (per quanto ho capito dalla descrizione).Come creoi file
.po
e.mo
per lamianuova linguae li rendo accessibiliin modo chepossanoessere utilizzati dalplugin?Hoprovato a definire la lingua russanelmiofilewp-config.php
inserendo la definizione di seguito: