forked from science-ation/science-ation
rework/rename the translationeditor
This commit is contained in:
parent
d17de3f6e6
commit
bef9c279ec
@ -389,10 +389,9 @@ function send_header($title="", $nav=null, $icon=null, $titletranslated=false)
|
|||||||
<script type="text/javascript" src="<?=$config['SFIABDIRECTORY']?>/sfiab.js"></script>
|
<script type="text/javascript" src="<?=$config['SFIABDIRECTORY']?>/sfiab.js"></script>
|
||||||
|
|
||||||
<?
|
<?
|
||||||
//if we're under /admin or /config we also want the translationDropdown javascript stuff
|
//if we're under /admin or /config we also want the translation editor
|
||||||
if(substr(getcwd(),-6)=="/admin" || substr(getcwd(),-7)=="/config")
|
if(substr(getcwd(),-6)=="/admin" || substr(getcwd(),-7)=="/config")
|
||||||
// require_once("../translationsdropdown.inc.php");
|
require_once("../translationseditor.inc.php");
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div id="header">
|
<div id="header">
|
||||||
|
38
translationseditor.inc.php
Normal file
38
translationseditor.inc.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?
|
||||||
|
/*
|
||||||
|
This file is part of the 'Science Fair In A Box' project
|
||||||
|
SFIAB Website: http://www.sfiab.ca
|
||||||
|
|
||||||
|
Copyright (C) 2009 James Grant <james@lightbox.org>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public
|
||||||
|
License as published by the Free Software Foundation, version 2.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; see the file COPYING. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<script type="text/javascript" src="<?=$config['SFIABDIRECTORY']?>/translationeditor.js.php"</script>
|
||||||
|
<div style="display: none" title="<?=i18n("Translation Editor")?>" id="translation_editor">
|
||||||
|
<form id="translationform" onsubmit="return save_translations()">
|
||||||
|
<input type="hidden" id="translate_str_hidden" name="translate_str_hidden">
|
||||||
|
<table style="width: 100%;">
|
||||||
|
<?
|
||||||
|
echo "<tr><td align=\"right\" width=\"100\">".$config['languages'][$config['default_language']].":</td><td><span id=\"translate_str\" style=\"font-weight: bold;\"></span></td></tr>\n";
|
||||||
|
echo "<tr><td colspan=\"2\"><hr /></td></tr>\n";
|
||||||
|
foreach($config['languages'] AS $l=>$ln) {
|
||||||
|
if($l==$config['default_language']) continue;
|
||||||
|
echo "<tr><td align=\"right\">$ln</td><td><input style=\"width: 100%;\" type=\"text\" name=\"translate_{$l}\" id=\"translate_{$l}\"></td></tr>\n";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
64
translationseditor.js.php
Normal file
64
translationseditor.js.php
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<?
|
||||||
|
require_once("common.inc.php");
|
||||||
|
?>
|
||||||
|
var currentLang='<?=$_SESSION['lang']?>';
|
||||||
|
var translateLangs=new Array();
|
||||||
|
<?
|
||||||
|
$x=0;
|
||||||
|
foreach($config['languages'] AS $l=>$ln) {
|
||||||
|
if($l==$_SESSION['lang']) continue;
|
||||||
|
echo "translateLangs[$x]=\"$l\";\n";
|
||||||
|
$x++;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
//add a link right after any element that has the class "translatable"
|
||||||
|
$(".translatable").each( function(i) {
|
||||||
|
$(this).after(" <a href=\"#translate\"><?=i18n("translations")?></a>");
|
||||||
|
});
|
||||||
|
|
||||||
|
//add a click handler to the previously added link
|
||||||
|
$("[href*=#translate]").click(function() {
|
||||||
|
popup_translator($(this).prev().val());
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
//initialize the dialog
|
||||||
|
$("#translation_editor").dialog({
|
||||||
|
bgiframe: true, autoOpen: false,
|
||||||
|
modal: true, resizable: false,
|
||||||
|
draggable: false
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function popup_translator(str) {
|
||||||
|
var w = (document.documentElement.clientWidth * 0.8);
|
||||||
|
var h = (document.documentElement.clientHeight * 0.4);
|
||||||
|
|
||||||
|
$('#translation_editor').dialog('option','width',w);
|
||||||
|
$('#translation_editor').dialog('option','height',h);
|
||||||
|
$('#translation_editor').dialog('option','buttons',{ "<?=i18n("Save")?>": function() { save_translations(); },
|
||||||
|
"<?=i18n("Cancel")?>": function(){ $(this).dialog("close");}});
|
||||||
|
$('#translation_editor').dialog('open');
|
||||||
|
|
||||||
|
$('#translate_str').html(str);
|
||||||
|
$('#translate_str_hidden').val(str);
|
||||||
|
|
||||||
|
$.getJSON("<?=$config['SFIABDIRECTORY']?>/admin/gettranslation.php?str="+escape(str),function(json){
|
||||||
|
for(var i=0;i<translateLangs.length;i++) {
|
||||||
|
$("#translate_"+translateLangs[i]).val(json[translateLangs[i]]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function save_translations() {
|
||||||
|
$.post("<?=$config['SFIABDIRECTORY']?>/admin/settranslation.php",
|
||||||
|
$("#translationform").serialize(),
|
||||||
|
function(data) {
|
||||||
|
$('#translation_editor').dialog('close');
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user