Source for file auto_translate.action.php

Documentation is available at auto_translate.action.php

  1. <?php
  2. /**
  3. @package Mambo
  4. @subpackage Languages
  5. @copyright  Refer to copyright.php
  6. @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
  7. @author Mambo Foundation Inc see README.php
  8. */ 
  9. defined'_VALID_MOS' or die'Direct Access to this location is not allowed.' );
  10. class auto_translateAction extends Action
  11. {
  12.     function execute(&$controller&$request)
  13.     {
  14.         #FIXME
  15.         $domain     $_POST['domain'];
  16.         $textdomain $_POST['textdomain'];
  17.         $lang       $_POST['lang'];
  18.  
  19.         $language new mamboLanguage($lang$textdomain);
  20.         $catalog new PHPGettext_catalog($domain$textdomain);
  21.         $catalog->setproperty('mode''po');
  22.         $catalog->setproperty('lang'$lang);
  23.         $catalog->load();
  24.  
  25.         $catalog->setComments($_POST['comments']);
  26.         $catalog->setHeaders($_POST['headers']);        
  27.  
  28.         foreach ($_POST as $key => $value{
  29.             if (preg_match('/^([a-z]+)[_]?([0-9]+)?_([0-9]+)$/'$key$matches))  {
  30.                 switch ($matches[1])
  31.                 {
  32.                     case 'msgid':
  33.                     $messages[$matches[3]]['msgid'$value;
  34.                     break;
  35.                     case 'msgid_plural':
  36.                     $messages[$matches[3]]['msgid_plural'$value;
  37.                     break;
  38.                     case 'msgstr':
  39.                     if ($matches[2!= ''{
  40.                         $messages[$matches[3]]['msgstr'][$matches[2]] =  stripslashes($value);
  41.                     else {
  42.                         $messages[$matches[3]]['msgstr'=  stripslashes($value);
  43.                     }
  44.                     break;
  45.                     case 'fuzzy':
  46.                     $messages[$matches[3]]['fuzzy'$value == 'true' true false;
  47.                     break;
  48.                 }
  49.             }
  50.         }
  51.         foreach ($messages as $index => $arr{
  52.             if (strcmp($catalog->strings[$index]->msgid$arr['msgid']== 0{
  53.                 $catalog->strings[$index]->setmsgstr($arr['msgstr']);
  54.                 if ($arr['fuzzy']{
  55.                     $catalog->strings[$index]->setfuzzy($arr['fuzzy']);
  56.                 }
  57.             }
  58.         }
  59.         $catalog->save();        
  60.         
  61.         $gettext_admin new PHPGettextAdmin();
  62.         $gettext_admin->update_translation($domain$textdomain$lang);
  63.  
  64.         if ($request->get('act'== 'catalogs'{
  65.             $request->set('domain'$domain);
  66.         }
  67.         $controller->view('edit');
  68.     }
  69. }
  70.  
  71. ?>

Documentation generated on Mon, 05 May 2008 16:16:45 +0400 by phpDocumentor 1.4.0