From 087c49d0648de73b5dbc9cae0298f5e12b9957e3 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Date: Tue, 26 Mar 2013 12:17:50 -0400 Subject: [PATCH 1/2] Improvement plunis translation create and merge of translation. --- workflow/engine/classes/model/Language.php | 61 ++++++++++++++++++---- 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/workflow/engine/classes/model/Language.php b/workflow/engine/classes/model/Language.php index f6171b7df..6b3be515b 100755 --- a/workflow/engine/classes/model/Language.php +++ b/workflow/engine/classes/model/Language.php @@ -666,17 +666,58 @@ class Language extends BaseLanguage G::LoadSystem( 'i18n_po' ); G::LoadClass( "system" ); - //creating the .po file - $sPOFile = PATH_PLUGINS . $plugin . PATH_SEP . 'translations' . PATH_SEP . $plugin . '.' . $idLanguage . '.po'; - $poFile = new i18n_PO( $sPOFile ); - $poFile->buildInit(); - $language = new Language(); $locale = $language; $targetLang = $idLanguage; $baseLang = 'en'; + $aLabels = array (); + $aMsgids = array ('' => true + ); + include PATH_PLUGINS . $plugin . PATH_SEP . 'translations'. PATH_SEP . 'translations.php'; + $translatedText = array(); + + if (file_exists( PATH_PLUGINS . $plugin . PATH_SEP . 'translations' . PATH_SEP . $plugin . '.' . $idLanguage . '.po' )) { + //reading the .po file + G::LoadSystem( 'i18n_po' ); + $POFile = new i18n_PO( PATH_PLUGINS . $plugin . PATH_SEP . 'translations' . PATH_SEP . $plugin . '.' . $idLanguage . '.po' ); + $POFile->readInit(); + + while ($rowTranslation = $POFile->getTranslation()) { + foreach ($POFile->translatorComments as $a => $aux) { + $aux = trim( $aux ); + if ($aux == 'TRANSLATION') { + $identifier = $aux; + } else { + $var = explode( '/', $aux ); + if ($var[0] == 'LABEL') { + $context = $aux; + } + if ($var[0] == 'JAVASCRIPT') { + $context = $aux; + } + } + if (preg_match( '/^([\w-]+)\/([\w-]+\/*[\w-]*\.xml\?)/', $aux, $match )) { + $identifier = $aux; + } else { + if (preg_match( '/^([\w-]+)\/([\w-]+\/*[\w-]*\.xml$)/', $aux, $match )) { + $context = $aux; + } + } + } + if ($identifier == 'TRANSLATION') { + list ($category, $id) = explode( '/', $context ); + $translatedText[$id] = $rowTranslation['msgstr']; + } + } + } + + //creating the .po file + $sPOFile = PATH_PLUGINS . $plugin . PATH_SEP . 'translations' . PATH_SEP . $plugin . '.' . $idLanguage . '.po'; + $poFile = new i18n_PO( $sPOFile ); + $poFile->buildInit(); + //setting headers $poFile->addHeader( 'Project-Id-Version', $plugin ); $poFile->addHeader( 'POT-Creation-Date', '' ); @@ -690,14 +731,16 @@ class Language extends BaseLanguage $poFile->addHeader( 'X-Poedit-SourceCharset', 'utf-8' ); $poFile->addHeader( 'Content-Transfer-Encoding', '8bit' ); - $aLabels = array (); - $aMsgids = array ('' => true - ); - include PATH_PLUGINS . $plugin . PATH_SEP . 'translations'. PATH_SEP . 'translations.php'; foreach ($translations as $id => $translation) { $msgid = trim( $translation); $msgstr = trim( $translation ); + foreach ($translatedText as $key => $value) { + if ($id == $key) { + $msgstr = trim( $value ); + break; + } + } $poFile->addTranslatorComment( 'TRANSLATION' ); $poFile->addTranslatorComment( 'LABEL/' . $id ); $poFile->addReference( 'LABEL/'. $id ); From 8c0d1524845ed0668cb05ab4fddf21ce93cb358e Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Date: Tue, 26 Mar 2013 15:01:53 -0400 Subject: [PATCH 2/2] Improvement plunis translation create and merge of translation. --- workflow/engine/classes/model/Language.php | 35 ++-------------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/workflow/engine/classes/model/Language.php b/workflow/engine/classes/model/Language.php index 6b3be515b..c417fb63a 100755 --- a/workflow/engine/classes/model/Language.php +++ b/workflow/engine/classes/model/Language.php @@ -678,39 +678,10 @@ class Language extends BaseLanguage include PATH_PLUGINS . $plugin . PATH_SEP . 'translations'. PATH_SEP . 'translations.php'; $translatedText = array(); - if (file_exists( PATH_PLUGINS . $plugin . PATH_SEP . 'translations' . PATH_SEP . $plugin . '.' . $idLanguage . '.po' )) { + if (file_exists( PATH_LANGUAGECONT . $plugin . "." . $idLanguage)) { //reading the .po file - G::LoadSystem( 'i18n_po' ); - $POFile = new i18n_PO( PATH_PLUGINS . $plugin . PATH_SEP . 'translations' . PATH_SEP . $plugin . '.' . $idLanguage . '.po' ); - $POFile->readInit(); - - while ($rowTranslation = $POFile->getTranslation()) { - foreach ($POFile->translatorComments as $a => $aux) { - $aux = trim( $aux ); - if ($aux == 'TRANSLATION') { - $identifier = $aux; - } else { - $var = explode( '/', $aux ); - if ($var[0] == 'LABEL') { - $context = $aux; - } - if ($var[0] == 'JAVASCRIPT') { - $context = $aux; - } - } - if (preg_match( '/^([\w-]+)\/([\w-]+\/*[\w-]*\.xml\?)/', $aux, $match )) { - $identifier = $aux; - } else { - if (preg_match( '/^([\w-]+)\/([\w-]+\/*[\w-]*\.xml$)/', $aux, $match )) { - $context = $aux; - } - } - } - if ($identifier == 'TRANSLATION') { - list ($category, $id) = explode( '/', $context ); - $translatedText[$id] = $rowTranslation['msgstr']; - } - } + include PATH_LANGUAGECONT . $plugin . "." . $idLanguage; + eval('$translatedText = $translation'.$plugin.';'); } //creating the .po file