Changeset 120 for trunk


Ignore:
Timestamp:
Feb 21, 2009, 7:38:18 PM (16 years ago)
Author:
george
Message:
  • Přidáno: Program MPQEditor ke stažení.
  • Přidáno: Možnost exportovat překlady jako Lua překladové soubory.
  • Odstraněno: Stará překladová skupina client.
Location:
trunk
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/export/create_addon.php

    r117 r120  
    174174       
    175175  $Buffer = "local f=function(name, en, cz) CzWoW_interface[name]=cz; CzWoW_interface_entoname[en]=name; end; CzWoW_interface={ };CzWoW_interface_entoname={ };\n";
    176   $Group = $TranslationTree[9]; // client table
     176  $Group = $TranslationTree[14]; // client table
    177177  $Column['Column'] = 'Text';
    178   $Query = 'SELECT T2.'.$Column['Column'].' AS Translation, T3.'.$Column['Column'].' as Original, T3.id_text FROM (SELECT T1.entry, T1.'.$Column['Column'].' FROM (SELECT entry,'.$Column['Column'].' FROM '.$Group['TablePrefix'].' WHERE (Complete = 1) AND '.$WhereLang.' AND '.$WhereUsers.$OrderByUserList.') AS T1 GROUP BY T1.entry) as T2 JOIN '.$Group['TablePrefix'].' AS T3 ON (T2.entry = T3.entry) AND (T3.Language = 0)';
     178  $Query = 'SELECT T2.'.$Column['Column'].' AS Translation, T3.'.$Column['Column'].' as Original, T3.ShortCut FROM (SELECT T1.entry, T1.'.$Column['Column'].' FROM (SELECT entry,'.$Column['Column'].' FROM '.$Group['TablePrefix'].' WHERE (Complete = 1) AND '.$WhereLang.' AND '.$WhereUsers.$OrderByUserList.') AS T1 GROUP BY T1.entry) as T2 JOIN '.$Group['TablePrefix'].' AS T3 ON (T2.entry = T3.entry) AND (T3.Language = 0)';
    179179  $DbResult = $Database->SQLCommand($Query);
    180180  while($Line = mysql_fetch_array($DbResult))
     
    182182        $Original = str_replace("\r", '', str_replace("\n", '\r\\'."\n", addslashes($Line['Original'])));
    183183        $Translated = str_replace("\r", '', str_replace("\n", '\r\\'."\n", addslashes($Line['Translation'])));
    184     $Buffer .= 'f("'.addslashes($Line['id_text']).'", "'.$Original.'", "'.$Translated.'");'."\n";
     184    $Buffer .= 'f("'.addslashes($Line['ShortCut']).'", "'.$Original.'", "'.$Translated.'");'."\n";
    185185  }
    186186  file_put_contents($TempDir.'LocalizationStrings.lua', $Buffer);
  • trunk/export/export.php

    r117 r120  
    167167  global $Database, $Config, $TranslationTree;
    168168 
    169   $TempDir = 'tmp/'.$_SESSION['User'].'/dbc/';
     169  $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/dbc/';
    170170  if(!file_exists($TempDir)) mkdir($TempDir, 0777, true);
    171171 
     
    205205        echo($Group['Name'].'... ');
    206206    $DBCFile = new DBCFile();
    207     $DBCFile->OpenFile('dbc/'.$Group['DBCFileName'].'.dbc', $Group['DBCColumns']);
     207    $DBCFile->OpenFile('../source/'.$Config['Web']['GameVersion'].'/dbc/'.$Group['DBCFileName'].'.dbc', $Group['DBCColumns']);
    208208    $DBCFile2 = new DBCFile();
    209209    $DBCFile2->CreateFile($TempDir.$Group['DBCFileName'].'.dbc', $Group['DBCColumns']);
     
    235235}
    236236
     237function ExportToLua($Setting)
     238{
     239  global $Database, $Config, $TranslationTree;
     240 
     241  $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/lua/';
     242  if(!file_exists($TempDir)) mkdir($TempDir, 0777, true);
     243 
     244  if($_SESSION['UserID'] != '')
     245  {
     246    $DbResult = $Database->SQLCommand('SELECT user FROM `user` WHERE ID='.$_SESSION['UserID']);
     247    $User = mysql_fetch_assoc($DbResult);
     248  } else $User = array('user' => 'Neznámý');
     249
     250  $WhereLang = '';
     251  if($Setting['language-cz']) $WhereLang .= " OR (Language = 1)";
     252  if($Setting['language-sk']) $WhereLang .= " OR (Language = 2)";
     253  if($Setting['language-other']) $WhereLang .= " OR (Language = 3)";
     254  if($WhereLang == '') $WhereLang = 1;
     255    else $WhereLang = '('.substr($WhereLang, 4).')';
     256
     257  $SelectedUsers = ''; 
     258  foreach($Setting['users-selection'] as $Item)
     259    $SelectedUsers .= ','.$Item;
     260  $SelectedUsers = substr($SelectedUsers, 1);
     261
     262  if($SelectedUsers == '') $Where = 0;
     263    else $Where = 'ID IN ('.$SelectedUsers.')';
     264 
     265  $UserNames = '';
     266  $DbResult = $Database->SQLCommand('SELECT user FROM `user` WHERE '.$Where);
     267  while($DbRow = mysql_fetch_assoc($DbResult))
     268    $UserNames .= ','.$DbRow['user'];
     269  $UserNames = substr($UserNames, 1);   
     270   
     271  if($SelectedUsers == '') $WhereUsers = 1;
     272    else $WhereUsers = '(User IN ('.$SelectedUsers.'))';
     273 
     274  foreach($TranslationTree as $Group)
     275  if(in_array($Group['Id'], $Setting['groups']) and ($Group['LuaFileName'] != ''))
     276  {
     277        echo($Group['Name'].'... ');
     278    $File = new FileStream();
     279    $File->OpenFile('../source/'.$Config['Web']['GameVersion'].'/lua/'.$Group['LuaFileName'].'.lua');
     280    $File2 = new FileStream();
     281    $File2->CreateFile($TempDir.$Group['LuaFileName'].'.lua');
     282
     283    while(!$File->EOF())
     284        {
     285          $Line = $File->ReadLine();
     286          if(strpos($Line, '=') !== false)
     287          {
     288                $LineParts = explode(';', $Line);
     289        $LineParts2 = explode('=', $LineParts[0]);
     290                $Value['ShortCut'] = addslashes(trim($LineParts2[0]));
     291                $Value['Text'] = addslashes(substr(trim($LineParts2[1]), 1, -1));
     292                $Value['Comment'] = addslashes(substr(trim($LineParts[1]), 3));
     293
     294            $Query = 'SELECT * FROM (SELECT * FROM '.$Group['TablePrefix'].' WHERE (Complete = 1) AND '.$WhereLang.' AND '.$WhereUsers.' AND (ShortCut="'.$Value['ShortCut'].'") ORDER BY FIELD(User, '.$SelectedUsers.')) AS T GROUP BY T.entry';
     295                //echo($Query);
     296            $DbResult = $Database->SQLCommand($Query);
     297            if(mysql_num_rows($DbResult) > 0)
     298            {
     299              $DbRow = mysql_fetch_assoc($DbResult);
     300                  $Value['Text'] = $DbRow['Text'];
     301                  $Value['Comment'] = $DbRow['Comment'];
     302              //echo('.');
     303                }
     304                $File2->WriteLine($Value['ShortCut'].' = "'.$Value['Text'].'"; -- '.$Value['Comment']."\n");
     305          } else $File2->WriteLine($Line."\n");
     306        }
     307    echo('Hotovo <br />');
     308  }
     309}
     310
    237311?>
  • trunk/export/index.php

    r117 r120  
    197197          '<a href="'.$SaveFilename.'">CzWoW_DBC.zip</a><br />'.
    198198          'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
    199                 echo('<br /><strong>Použití ve hře</strong><br />Ze souborů vytvořte MPQ archív a nahrajte ho do hry do podsložky Data/enUS jako patch-enUS-5.MPQ. Hru spusťte pomocí programu WoWMe.exe (WoW Model Editor Fix).');
     199                echo('<br /><br /><strong>Použití ve hře</strong><br />Ze souborů vytvořte MPQ archív a nahrajte ho do hry do podsložky Data/enUS jako patch-enUS-5.MPQ. Hru spusťte pomocí programu WoWMe.exe (WoW Model Editor Fix).');
     200            break;
     201          case 'Lua':
     202        if(function_exists('gzcompress'))
     203        {
     204          $TempDir = $Config['Web']['TempFolder'].$_SESSION['User'].'/lua/';
     205              echo('Generování lua souborů...<br />');
     206          ExportToLUA($ExportSetting);
     207          $SaveFilename = $Config['Web']['TempFolder'].$_SESSION['User'].'/CzWoW_Lua.zip';         
     208          $Zip = new zipfile();
     209          CreateZipFromDir($Zip, $TempDir, '');
     210              $Buffer = $Zip->file();
     211          file_put_contents($SaveFilename, $Buffer);
     212                  echo('Hotovo<br /><br />');
     213        } else echo('Funkce pro tvorbu Zip souboru není podporována!');
     214        echo('<script type="text/javascript" language="JavaScript" charset="utf-8">'.
     215          'setTimeout("parent.location.href=\''.$SaveFilename.'\'", 1000)'.
     216          '</script>');
     217     
     218        echo('Pokud nezačalo stahování, soubor by mělo jít stáhnout pomocí tohoto odkazu: '.
     219          '<a href="'.$SaveFilename.'">CzWoW_Lua.zip</a><br />'.
     220          'Pokud se vám zdá, že filtr na export nefunguje, vymažte si vyrovnávací paměť prohlížeče a zkuste stáhnout soubor znovu.');
     221                echo('<br /><br /><strong>Použití ve hře</strong><br />Ze souborů vytvořte MPQ archív a nahrajte ho do hry do podsložky Data/enUS jako patch-enUS-5.MPQ. Hru spusťte pomocí programu WoWMe.exe (WoW Model Editor Fix).');
    200222            break;
    201223        }
     
    217239          RadioButton('Export', 'XMLCompressed', $ExportSetting['Export'] == 'XMLCompressed').'XML - komprimovaný soubor<br />'.
    218240      //RadioButton('Export', 'DBC', $ExportSetting['Export'] == 'DBC').'DBC - komprimovaný soubor<br />'.
    219           RadioButton('Export', 'Addon', $ExportSetting['Export'] == 'Addon').'Addon - komprimovaný soubor<br />');
     241          RadioButton('Export', 'Addon', $ExportSetting['Export'] == 'Addon').'Addon - komprimovaný soubor<br />'.
     242          RadioButton('Export', 'Lua', $ExportSetting['Export'] == 'Lua').'Lua skripty - komprimovaný soubor<br />');
    220243    if(Licence(LICENCE_ADMIN))
    221244      echo(RadioButton('Export', 'Server', $ExportSetting['Export'] == 'Server').'Poslat přímo na server (pouze admin)<br />');
  • trunk/form.php

    r91 r120  
    4444   
    4545  $version = mysql_fetch_array($Database->SQLCommand('SELECT count(*) FROM '.$Table.' Where entry = '.$Line['entry'].' AND Language <> 0'));
    46   if ($version['count(*)'] > 1) {
     46  if ($version['count(*)'] > 1)
     47  {
    4748    echo('<form action="comparison.php" method="get"><a href="TranslationList.php?group='.$GroupId.'&amp;action=searchentry&amp;ID='.$Line['entry'].'" Title="Zobrazit všechny verze tohoto překladu">Počet verzí: <b>'.$version['count(*)'].'</b></a> 
    4849            <input type="hidden" name="group" value="'.$GroupId.'" />
     
    5253        <option value="-1">Vyberte text k porovnání</option>
    5354        <option value="-1">Zobrazit/porovnat všechny</option>');
    54          $DataID = $Database->SQLCommand('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User  FROM '.$Table.' Where entry = '.$Line['entry'].' AND Language <> 0 AND ID <> '.$Line['ID']); 
     55         $DataID = $Database->SQLCommand('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User  FROM '.$Table.' WHERE (entry = '.$Line['entry'].') AND (Language <> 0) AND (ID <> '.$Line['ID'].')'); 
    5556         while($version = mysql_fetch_array($DataID))
    5657         {     
     
    5960     }
    6061     echo('</select></form>');         
    61   } else {
     62  } else
     63  {
    6264          echo('<a href="TranslationList.php?group='.$GroupId.'&amp;action=searchentry&amp;ID='.$Line['entry'].'" Title="Zobrazit všechny verze tohoto překladu">Počet verzí: <b>'.$version['count(*)'].'</b></a>');
    6365  }
     
    100102  echo('</td></tr>');
    101103  foreach($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
     104  if($TextItem['Visible'] == 1)
    102105  {         
    103106    if(($LineAJ[$TextItem['Column']] <> '') or ($Line[$TextItem['Column']] <> '')) 
     
    106109      <td>'.htmlspecialchars($LineAJ[$TextItem['Column']]).'</td>
    107110      <td><textarea rows="8" cols="40" onkeydown="ResizeTextArea(this)" class="textedit" id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'">'.htmlspecialchars($Line[$TextItem['Column']]).'</textarea></td></tr>');
     111  } else
     112  {
     113        echo('<input id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'" type="hidden" value="'.htmlspecialchars($Line[$TextItem['Column']]).'" />');
    108114  }
    109115  echo('</table></div></form>');
  • trunk/import/index.php

    r118 r120  
    33include('../includes/global.php');
    44include('../includes/dbc.php');
    5 
    6 $PatchVersion = '3.0.3';
    75
    86function ImportSQLMangos()
     
    6765function ImportDBC()
    6866{
    69   global $Database, $TranslationTree, $PatchVersion;
     67  global $Database, $TranslationTree, $Config;
    7068
    7169  echo('Načítání textů z DBC souborů...');
     
    7674      echo('<br />'.$Group['Name'].'<br />');   
    7775          $DBCFile = new DBCFile();
    78           $DBCFile->OpenFile('../source/'.$PatchVersion.'/dbc/'.$Group['DBCFileName'].'.dbc', $Group['DBCColumns']);
     76          $DBCFile->OpenFile('../source/'.$Config['Web']['GameVersion'].'/dbc/'.$Group['DBCFileName'].'.dbc', $Group['DBCColumns']);
    7977          $ItemCount = $DBCFile->GetRecordCount();
    8078          $NewCount = 0;
     
    123121function ImportLUA()
    124122{
    125   global $Database, $TranslationTree, $PatchVersion;
     123  global $Database, $TranslationTree, $PatchVersion, $Config;
    126124
    127125  echo('Načítání textů z LUA souborů...');
     
    132130      echo('<br />'.$Group['Name'].'<br />');   
    133131          $File = new FileStream();
    134           $File->OpenFile('../source/'.$PatchVersion.'/lua/'.$Group['LuaFileName'].'.lua');
     132          $File->OpenFile('../source/'.$Config['Web']['GameVersion'].'/lua/'.$Group['LuaFileName'].'.lua');
    135133          $NewCount = 0;
    136134          $Count = 0;
  • trunk/includes/config.sample.php

    r117 r120  
    2222        'ItemsPerPage' => 50,
    2323        'TempFolder' => '../tmp/',
     24    'GameVersion' => '3.0.3',
    2425  ),
    2526);
  • trunk/includes/global.php

    r118 r120  
    105105 
    106106  echo('<strong>Překladové skupiny:</strong><br /><div id="TranslationMenu">');
    107     if(Licence(LICENCE_USER)) echo ('<a title="Všechny překlady, které jste přeložil" href="TranslationList.php?user='.$_SESSION['UserID'].'&amp;action=userall">Všechny moje texty</a><br />');
     107    if(Licence(LICENCE_USER)) echo ('<a title="Všechny překlady, které jste přeložil" href="'.$Config['Web']['BaseURL'].'TranslationList.php?user='.$_SESSION['UserID'].'&amp;action=userall">Všechny moje texty</a><br />');
    108108  foreach($TranslationTree as $Group)
    109109  {
     
    111111      <a href="TranslationList.php?group='.$Group['Id'].'&amp;action=filter">'.$Group['Name'].'</a></div>       
    112112      <div id="group'.$Group['Id'].'" class="hidden-menu-item" onmousemove="show(\'group'.$Group['Id'].'\')" onmouseout="hide(\'group'.$Group['Id'].'\')">');
    113     echo('&nbsp;<a title="Zde můžete začít překládat" href="TranslationList.php?group='.$Group['Id'].'&amp;action=notran">Nepřeložené</a><br />
    114       &nbsp;<a title="Přeložené texty, můžete zde hlasovat, nebo opravovat překlady" href="TranslationList.php?group='.$Group['Id'].'&amp;action=Translate">Přeložené</a><br />');
     113    echo('&nbsp;<a title="Zde můžete začít překládat" href="'.$Config['Web']['BaseURL'].'TranslationList.php?group='.$Group['Id'].'&amp;action=notran">Nepřeložené</a><br />
     114      &nbsp;<a title="Přeložené texty, můžete zde hlasovat, nebo opravovat překlady" href="'.$Config['Web']['BaseURL'].'TranslationList.php?group='.$Group['Id'].'&amp;action=Translate">Přeložené</a><br />');
    115115    if(Licence(LICENCE_USER))
    116116    {
    117       echo('&nbsp;<a title="Nedokončené překlady" href="TranslationList.php?group='.$Group['Id'].'&amp;action=mydevelop">Rozepsané</a><br />
    118         &nbsp;<a title="Všechny překlady, které jste přeložil" href="TranslationList.php?group='.$Group['Id'].'&amp;action=my">Vlastní</a><br />');
     117      echo('&nbsp;<a title="Nedokončené překlady" href="'.$Config['Web']['BaseURL'].'TranslationList.php?group='.$Group['Id'].'&amp;action=mydevelop">Rozepsané</a><br />
     118        &nbsp;<a title="Všechny překlady, které jste přeložil" href="'.$Config['Web']['BaseURL'].'TranslationList.php?group='.$Group['Id'].'&amp;action=my">Vlastní</a><br />');
    119119    }
    120     echo('&nbsp;<a title="Sestavit speciální filtr" href="TranslationList.php?group='.$Group['Id'].'&amp;action=filter">Filtr</a><br />');
     120    echo('&nbsp;<a title="Sestavit speciální filtr" href="'.$Config['Web']['BaseURL'].'TranslationList.php?group='.$Group['Id'].'&amp;action=filter">Filtr</a><br />');
    121121    echo('</div>');
    122122  }
  • trunk/includes/stream.php

    r118 r120  
    105105  }
    106106
    107   public function WriteLine()
     107  public function WriteLine($Text)
    108108  {
    109     fputs($this->Handle);
     109    fputs($this->Handle, $Text);
    110110  }       
    111111   
Note: See TracChangeset for help on using the changeset viewer.