| <?php |
| /******************************************************************************* |
| * Copyright (c) 2007 Eclipse Foundation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Paul Colton (Aptana)- initial API and implementation |
| * Eclipse Foundation |
| * Kit Lo (IBM) - [281434] Syncup overuses the "possibly incorrect" flag |
| *******************************************************************************/ |
| |
| require_once("cb_global.php"); |
| |
| $string_id = getHTTPParameter("string_id", "POST"); |
| $stringTableIndex = getHTTPParameter("stringTableIndex", "POST"); |
| |
| if(isset($_SESSION['language']) and isset($_SESSION['version']) and isset($_SESSION['project'])){ |
| $language = $_SESSION['language']; |
| $version = $_SESSION['version']; |
| $project_id = $_SESSION['project']; |
| }else{ |
| return false; |
| } |
| |
| |
| $query = "select |
| strings.string_id, |
| strings.non_translatable, |
| strings.value as string_value, |
| translations.value as translation_value, |
| translations.possibly_incorrect as fuzzy, |
| files.name, |
| strings.name as token, |
| max(translations.version) |
| from |
| files, |
| strings |
| left join translations on |
| (strings.string_id = translations.string_id |
| and |
| translations.is_active != 0 |
| and |
| translations.language_id = '".addslashes($language)."') |
| where |
| strings.is_active != 0 |
| and |
| strings.string_id = '".addslashes($string_id)."' |
| and |
| strings.file_id = files.file_id |
| and |
| files.version = '".addslashes($version)."' |
| group by translations.version |
| order by translations.version desc |
| limit 1 |
| "; |
| |
| //print $query; |
| |
| $res = mysql_query($query,$dbh); |
| |
| $line = mysql_fetch_array($res, MYSQL_ASSOC); |
| |
| //print_r($line); |
| |
| $trans = ""; |
| |
| if($line['translation_value']){ |
| $trans = " AND translations.value = '".addslashes($line['translation_value'])."' |
| AND |
| translations.is_active = 1 |
| "; |
| }else{ |
| // $trans = "translations.value is NULL "; |
| } |
| |
| $query = "select |
| strings.string_id, strings.value, strings.name max(translations.translation_id) |
| FROM |
| files, |
| strings |
| left join |
| translations |
| on |
| translations.string_id = strings.string_id |
| where |
| files.file_id = strings.file_id |
| AND |
| files.project_id = '".addslashes($project_id)."' |
| AND |
| strings.value = '".addslashes($line['string_value'])."' |
| |
| $trans |
| AND |
| files.is_active = 1 |
| group by translations.string_id |
| "; |
| // AND |
| // files.name = (SELECT files.name FROM files as F where F.project_id = '".addslashes($project_id)."') |
| |
| $query = "SELECT |
| S.* |
| FROM |
| strings AS S |
| inner join files AS F on F.file_id = S.file_id |
| inner join translations AS T on T.string_id = S.string_id |
| where |
| F.project_id = '".addslashes($project_id)."' |
| AND |
| F.file_id in (SELECT files.file_id FROM files where files.project_id = '".addslashes($project_id)."') |
| AND |
| S.value = '".addslashes($line['string_value'])."' |
| and |
| T.value = '".addslashes($line['translation_value'])."' |
| AND |
| T.is_active = 1 |
| "; |
| |
| //INSERT INTO translations SELECT S.string_id, 2, "Some Enhanced Text", other fields..... FROM strings AS S inner join files AS F on F.file_id = S.file_id inner join translations AS T on T.string_id = S.string_id where F.project_id = "eclipse" AND F.name=(SELECT files.name FROM files where file_id = 7) AND S.name="pluginName" and T.value = "Some Old Text" AND T.is_active = 1 |
| |
| //print $query; |
| |
| |
| /* |
| $res = mysql_query($query,$dbh); |
| while($same_trans = mysql_fetch_array($res, MYSQL_ASSOC)){ |
| print "<pre>--"; |
| print_r($same_trans); |
| print "</pre>"; |
| } |
| */ |
| |
| ?> |
| |
| <form id='translation-form'> |
| <input type="hidden" name="string_id" value="<?= $line['string_id'] ?>"> |
| <input type="hidden" name="stringTableIndex" value="<?= $stringTableIndex ?>"> |
| |
| <div id="english-area" class="side-component"> |
| <h4>English String [<a id="copy-english-string-link">Copy</a>]</h4> |
| <div style='overflow: auto; height: 75px;'> |
| <div id="english-string"><?= nl2br(htmlspecialchars($line['string_value'])); ?></div> |
| </div> |
| <h4 id="translation-hints-title">Translation Hints</h4> |
| <div id="translation-hints" style='overflow-x: hidden; overflow-y: auto; height: 75px;'> |
| Select some English text above to find similar translations. |
| </div> |
| |
| <input id='non-translatable-checkbox' type=checkbox name="non_translatable_string" <?= $line['non_translatable'] ? 'checked' : '' ;?>>Non-Translatable |
| </div> |
| <div id="translation-textarea" class="side-component"> |
| <?php if($line['non_translatable'] == 0) {?> |
| <h4> |
| Current Translation |
| [<a id="reset-current-translation-link">Reset</a>] |
| [<a id="clear-current-translation-link">Clear</a>] |
| </h4> |
| |
| <textarea id="current-translation" style='display: inline; width: 95%; height: 154px;' name="translation"><?=(($line['translation_value']));?></textarea> |
| <br /> |
| <!-- [281434] Syncup overuses the "possibly incorrect" flag |
| <input id='fuzzy' type=checkbox name="fuzzy_checkbox" <?= $line['fuzzy'] ? 'checked' : '' ;?>> Translation is possibly incorrect |
| <br /> |
| --> |
| <button id="allversions" type="submit" name="translateAction" value="All Versions">Submit</button> |
| |
| <?php }else{?> |
| <h4>Non Translatable String</h4> |
| <br /><br /><br /> |
| <div style='text-align:center;'>This string has been marked as <b>'non-translatable'</b>.</div> |
| |
| <?php }?> |
| </div> |
| <div id="translation-history-area" class="side-component"> |
| <h4>History of Translations</h4> |
| <div id="translation-history"> |
| <table> |
| <?php |
| $query = "select value,first_name,last_name,translations.created_on, possibly_incorrect as fuzzy from translations,users where string_id = '".addslashes($line['string_id'])."' and language_id = '".addslashes($language)."' and translations.userid = users.userid order by translations.created_on desc"; |
| $res_history = mysql_query($query,$dbh); |
| |
| if(!mysql_num_rows($res_history)){ |
| print "No history."; |
| }else{ |
| while($line = mysql_fetch_array($res_history, MYSQL_ASSOC)){ |
| $fuzzy = ""; |
| if($line['fuzzy'] == 1) { |
| $fuzzy = "<img src='images/fuzzy.png' />"; |
| } |
| print "<tr>"; |
| print "<td width='40%'>"; |
| // [281434] Syncup overuses the "possibly incorrect" flag |
| // print "<div>$fuzzy".nl2br(htmlspecialchars($line['value']))."</div>"; |
| print "<div>".nl2br(htmlspecialchars($line['value']))."</div>"; |
| print "</td>"; |
| print "<td width='20%'>"; |
| print $line['first_name']." ".$line['last_name']; |
| print "</td>"; |
| print "<td width='40%'>"; |
| print $line['created_on']; |
| print "</td>"; |
| print "</tr>"; |
| } |
| } |
| ?> |
| </table> |
| </div> |
| </div> |
| </form> |