Upgrade to Xinha 0.931. Xinha has been optimized for size and dozens of issues have been closed

out since the last upgrade . Add Firefox and Xinha buttons to main page to show our support.
This commit is contained in:
Chris Morgan
2007-05-31 22:43:05 +00:00
committed by WineHQ
parent ff46a4485d
commit 2d4b27530d
354 changed files with 19793 additions and 21419 deletions

BIN
images/xinha-red-95.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -693,7 +693,7 @@ function HtmlAreaLoaderScript($aTextareas)
echo '
<!-- Load up the actual editor core -->
<script type="text/javascript" src="'.BASE.'xinha/htmlarea.js"></script>
<script type="text/javascript" src="'.BASE.'xinha/XinhaCore.js"></script>
<script type="text/javascript">
xinha_editors_'.$outputIndex.' = null;

View File

@@ -131,6 +131,26 @@ If you have screenshots or links to contribute, please browse the database and u
application site, with tips and how-to's on getting listed apps to run.
</p>
</div>
<?php
// promotional buttons
echo "<center>\n";
echo "<table>\n";
echo "<tr>\n";
echo "<td style='padding:10px;'>\n";
echo '<a href="http://getfirefox.com/"
title="Get Firefox - Web browsing redefined."><img
src="http://www.mozilla.org/products/firefox/buttons/getfirefox_large2.png"
width="178" height="60" border="0" alt="Get Firefox"></a>'."\n";
echo "</td>\n";
echo "<td style='padding:10px;'>\n";
echo '<a href="http://xinha.python-hosting.com/" title="Xinha textarea replacement">
<img src="images/xinha-red-95.png" width="95" height="100" alt="Xinha"></a>'."\n";
echo "</td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</center>\n";
apidb_footer();
?>

View File

@@ -1,4 +1,5 @@
.htmlarea { background: #fff; margin:2px; }
.htmlarea { background: #fff; }
.htmlarea td { margin:0;padding:0; }
.htmlarea .toolbar {
cursor: default;
@@ -49,11 +50,12 @@
.htmlarea .toolbar .buttonDisabled img {
filter: gray() alpha(opacity = 25);
-moz-opacity: 0.25;
opacity: 0.25;
}
.htmlarea .toolbar .separator {
/*position: relative;*/
margin: 3px;
margin:0 3px;
border-left: 1px solid ButtonShadow;
border-right: 1px solid ButtonHighlight;
width: 0px;
@@ -70,8 +72,8 @@
.htmlarea .toolbar select:active {
margin-top: 2px;
margin-bottom: 1px;
background: FieldFace;
color: ButtonText;
height: 17px;
}
.htmlarea iframe.xinha_iframe, .htmlarea textarea.xinha_textarea
@@ -86,6 +88,7 @@
background-color: ButtonFace;
color: ButtonText;
font: 11px Tahoma,Verdana,sans-serif;
height:16px;
}
.htmlarea .statusBar .statusBarTree a {
@@ -145,16 +148,13 @@
}
.dialog .buttonColor {
width :1em;
padding: 1px;
cursor: default;
border: 1px solid;
border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
}
.dialog .buttonColor-hilite {
border-color: #000;
}
.dialog .buttonColor .chooser, .dialog .buttonColor .nocolor {
height: 0.6em;
border: 1px solid;
@@ -162,6 +162,13 @@
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
}
.dialog .buttonClick {
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
}
.dialog .buttonColor-hilite {
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
}
.dialog .buttonColor .nocolor { padding: 0px; }
.dialog .buttonColor .nocolor-hilite { background-color: #fff; color: #f00; }
@@ -225,10 +232,32 @@ form { margin: 0px; border: none; }
font-size:100%;
font-weight:bold;
padding: 2px;
clear:left;
}
.htmlarea .panel { overflow:hidden; }
.htmlarea .panels.left .panel { border-right:none; border-left:none; }
.htmlarea .panels.left h1 { border-right:none; }
.htmlarea .panels.right .panel { border-right:none; border-left:none; }
.htmlarea .panels.left h1 { border-left:none; }
.htmlarea { border: 1px solid black; }
.loading
{
background-color:#666;
position:absolute;
z-index:998;
}
.loading_main
{
font-size:1.6em;
color:#ff6;
text-align:center;
}
.loading_sub
{
font-size:1.0em;
color:#fff;
text-align:center;
}

3668
xinha/XinhaCore.js Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,264 +0,0 @@
<?php
//die("this script is disabled for security");
/**
* LC-Parse-Strings-Script
*
* This script parses all xinhas source-files and creates base lang-files
* in the lang-folders (one for base and one every plugin)
*
* How To use it: - remove the die() in line 2 (security)
* - make sure all lang-folders are writeable for your webserver
* - open the contrib/lc_parse_strings.php in your browser
* - lang/base.js will be written
* - open base.js, translate all strings into your language and save it
* as yourlangauge.js
* - send the translated file to the xinha-team
**/
error_reporting(E_ALL);
$ret = array();
$files = getFiles("../", "js$");
foreach($files as $file)
{
$fp = fopen($file, "r");
$data = "";
while(!feof($fp)) {
$data .= fread($fp, 1024);
}
preg_match_all('#_lc\("([^"]+)"\)|_lc\(\'([^\']+)\'\)#', $data, $m);
foreach($m[1] as $i) {
if(trim($i)=="") continue;
$ret[] = $i;
}
foreach($m[2] as $i) {
if(trim($i)=="") continue;
$ret[] = $i;
}
if(eregi('htmlarea\\.js$', $file)) {
//toolbar-buttons
//bold: [ "Bold"
preg_match_all('#[a-z]+: *\[ * "([^"]+)"#', $data, $m);
foreach($m[1] as $i) {
if(trim($i)=="") continue;
$ret[] = $i;
}
//HTMLArea._lc({key: 'button_bold', string
preg_match_all('#HTMLArea\\._lc\\({key: \'([^\']*)\'#', $data, $m);
foreach($m[1] as $i) {
if(trim($i)=="") continue;
$ret[] = $i;
}
//config.fontname, fontsize and formatblock
$data = substr($data, strpos($data, "this.fontname = {"), strpos($data, "this.customSelects = {};")-strpos($data, "this.fontname = {"));
preg_match_all('#"([^"]+)"[ \t]*:[ \t]*["\'][^"\']*["\'],?#', $data, $m);
foreach($m[1] as $i) {
if(trim($i)=="") continue;
$ret[] = $i;
}
}
}
$files = getFiles("../popups/", "html$");
foreach($files as $file)
{
if(preg_match("#custom2.html$#", $file)) continue;
if(preg_match('#old_#', $file)) continue;
$ret = array_merge($ret, parseHtmlFile($file));
}
$ret = array_unique($ret);
$langData['HTMLArea'] = $ret;
$plugins = getFiles("../plugins/");
foreach($plugins as $pluginDir)
{
$plugin = substr($pluginDir, 12);
if($plugin=="ibrowser") continue;
$ret = array();
$files = getFiles("$pluginDir/", "js$");
$files = array_merge($files, getFiles("$pluginDir/popups/", "html$"));
$files = array_merge($files, getFiles("$pluginDir/", "php$"));
foreach($files as $file)
{
$fp = fopen($file, "r");
$data = "";
if($fp) {
echo "$file open...<br>";
while(!feof($fp)) {
$data .= fread($fp, 1024);
}
preg_match_all('#_lc\("([^"]+)"|_lc\(\'([^\']+)\'#', $data, $m);
foreach($m[1] as $i) {
if(trim(strip_tags($i))=="") continue;
$ret[] = $i;
}
foreach($m[2] as $i) {
if(trim(strip_tags($i))=="") continue;
$ret[] = $i;
}
}
}
if($plugin=="TableOperations")
{
preg_match_all('#options = \\[([^\\]]+)\\];#', $data, $m);
foreach($m[1] as $i) {
preg_match_all('#"([^"]+)"#', $i, $m1);
foreach($m1[1] as $i) {
$ret[] = $i;
}
}
//["cell-delete", "td", "Delete cell"],
preg_match_all('#\\["[^"]+",[ \t]*"[^"]+",[ \t]*"([^"]+)"\\]#', $data, $m);
foreach($m[1] as $i) {
$ret[] = $i;
}
}
$files = getFiles("$pluginDir/", "html$");
$files = array_merge($files, getFiles("$pluginDir/", "php$"));
foreach($files as $file)
{
$ret = array_merge($ret, parseHtmlFile($file, $plugin));
}
$files = getFiles("$pluginDir/popups/", "html$");
foreach($files as $file)
{
$ret = array_merge($ret, parseHtmlFile($file, $plugin));
}
$ret = array_unique($ret);
$langData[$plugin] = $ret;
}
foreach($langData as $plugin=>$strings)
{
if(sizeof($strings)==0) continue;
$data = "// I18N constants\n";
$data .= "//\n";
$data .= "//LANG: \"base\", ENCODING: UTF-8\n";
$data .= "//Author: Translator-Name, <email@example.com>\n";
$data .= "// FOR TRANSLATORS:\n";
$data .= "//\n";
$data .= "// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE\n";
$data .= "// (at least a valid email address)\n";
$data .= "//\n";
$data .= "// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;\n";
$data .= "// (if this is not possible, please include a comment\n";
$data .= "// that states what encoding is necessary.)\n";
$data .= "\n";
$data .= "{\n";
sort($strings);
foreach($strings as $string) {
$string = str_replace(array('\\', '"'), array('\\\\', '\\"'), $string);
$data .= " \"".$string."\": \"\",\n";
}
$data = substr($data, 0, -2);
$data .= "\n";
$data .= "}\n";
if($plugin=="HTMLArea")
$file = "../lang/base.js";
else
$file = "../plugins/$plugin/lang/base.js";
$fp = fopen($file, "w");
if(!$fp) continue;
fwrite($fp, $data);
fclose($fp);
echo "$file written...<br>";
}
function parseHtmlFile($file, $plugin="")
{
$ret = array();
$fp = fopen($file, "r");
if(!$fp) {
die("invalid fp");
}
$data = "";
while(!feof($fp)) {
$data .= fread($fp, 1024);
}
if($plugin=="FormOperations" || $plugin=="SuperClean" || $plugin=="Linker") {
//<l10n>-tags for inline-dialog or panel-dialog based dialogs
$elems = array("l10n");
} else {
$elems = array("title", "input", "select", "legend", "span", "option", "td", "button", "div", "label");
}
foreach($elems as $elem) {
preg_match_all("#<{$elem}[^>]*>([^<^\"]+)</$elem>#i", $data, $m);
foreach($m[1] as $i) {
if(trim(strip_tags($i))=="") continue;
if($i=="/") continue;
if($plugin=="ImageManager" && preg_match('#^--+$#', $i)) continue; //skip those ------
if($plugin=="CharacterMap" && preg_match('#&[a-z0-9]+;#i', trim($i)) || $i=="@") continue;
if($plugin=="SpellChecker" && preg_match('#^\'\\.\\$[a-z]+\\.\'$#', $i)) continue;
$ret[] = trim($i);
}
}
if($plugin=="FormOperations" || $plugin=="SuperClean" || $plugin=="Linker")
{
//_( for inline-dialog or panel-dialog based dialogs
preg_match_all('#"_\(([^"]+)\)"#i', $data, $m);
foreach($m[1] as $i) {
if(trim($i)=="") continue;
$ret[] = $i;
}
}
else
{
preg_match_all('#title="([^"]+)"#i', $data, $m);
foreach($m[1] as $i) {
if(trim(strip_tags($i))=="") continue;
if(strip_tags($i)==" - ") continue; //skip those - (ImageManager)
$ret[] = $i;
}
}
return($ret);
}
function getFiles($rootdirpath, $eregi_match='') {
$array = array();
if ($dir = @opendir($rootdirpath)) {
$array = array();
while (($file = readdir($dir)) !== false) {
if($file=="." || $file==".." || $file==".svn") continue;
if($eregi_match=="")
$array[] = $rootdirpath."/".$file;
else if(eregi($eregi_match,$file))
$array[] = $rootdirpath."/".$file;
}
closedir($dir);
}
return $array;
}
?>

202
xinha/contrib/php-xinha.php Normal file
View File

@@ -0,0 +1,202 @@
<?php
/** Write the appropriate xinha_config directives to pass data to a PHP (Plugin) backend file.
*
* ImageManager Example:
* The following would be placed in step 3 of your configuration (see the NewbieGuide
* (http://xinha.python-hosting.com/wiki/NewbieGuide)
*
* <script language="javascript">
* with (xinha_config.ImageManager)
* {
* <?php
* xinha_pass_to_php_backend
* (
* array
* (
* 'images_dir' => '/home/your/directory',
* 'images_url' => '/directory'
* )
* )
* ?>
* }
* </script>
*
*/
function xinha_pass_to_php_backend($Data, $KeyLocation = 'Xinha:BackendKey')
{
$bk = array();
$bk['data'] = serialize($Data);
@session_start();
if(!isset($_SESSION[$KeyLocation]))
{
$_SESSION[$KeyLocation] = uniqid('Key_');
}
$bk['session_name'] = session_name();
$bk['key_location'] = $KeyLocation;
$bk['hash'] =
function_exists('sha1') ?
sha1($_SESSION[$KeyLocation] . $bk['data'])
: md5($_SESSION[$KeyLocation] . $bk['data']);
// The data will be passed via a postback to the
// backend, we want to make sure these are going to come
// out from the PHP as an array like $bk above, so
// we need to adjust the keys.
$backend_data = array();
foreach($bk as $k => $v)
{
$backend_data["backend_data[$k]"] = $v;
}
// The session_start() above may have been after data was sent, so cookies
// wouldn't have worked.
$backend_data[session_name()] = session_id();
echo 'backend_data = ' . xinha_to_js($backend_data) . "; \n";
}
/** Convert PHP data structure to Javascript */
function xinha_to_js($var, $tabs = 0)
{
if(is_numeric($var))
{
return $var;
}
if(is_string($var))
{
return "'" . xinha_js_encode($var) . "'";
}
if(is_array($var))
{
$useObject = false;
foreach(array_keys($var) as $k) {
if(!is_numeric($k)) $useObject = true;
}
$js = array();
foreach($var as $k => $v)
{
$i = "";
if($useObject) {
if(preg_match('#^[a-zA-Z]+[a-zA-Z0-9]*$#', $k)) {
$i .= "$k: ";
} else {
$i .= "'$k': ";
}
}
$i .= xinha_to_js($v, $tabs + 1);
$js[] = $i;
}
if($useObject) {
$ret = "{\n" . xinha_tabify(implode(",\n", $js), $tabs) . "\n}";
} else {
$ret = "[\n" . xinha_tabify(implode(",\n", $js), $tabs) . "\n]";
}
return $ret;
}
return 'null';
}
/** Like htmlspecialchars() except for javascript strings. */
function xinha_js_encode($string)
{
static $strings = "\\,\",',%,&,<,>,{,},@,\n,\r";
if(!is_array($strings))
{
$tr = array();
foreach(explode(',', $strings) as $chr)
{
$tr[$chr] = sprintf('\x%02X', ord($chr));
}
$strings = $tr;
}
return strtr($string, $strings);
}
/** Used by plugins to get the config passed via
* xinha_pass_to_backend()
* returns either the structure given, or NULL
* if none was passed or a security error was encountered.
*/
function xinha_read_passed_data()
{
if(isset($_REQUEST['backend_data']) && is_array($_REQUEST['backend_data']))
{
$bk = $_REQUEST['backend_data'];
session_name($bk['session_name']);
@session_start();
if(!isset($_SESSION[$bk['key_location']])) return NULL;
if($bk['hash'] ===
function_exists('sha1') ?
sha1($_SESSION[$bk['key_location']] . $bk['data'])
: md5($_SESSION[$bk['key_location']] . $bk['data']))
{
return unserialize(ini_get('magic_quotes_gpc') ? stripslashes($bk['data']) : $bk['data']);
}
}
return NULL;
}
/** Used by plugins to get a query string that can be sent to the backend
* (or another part of the backend) to send the same data.
*/
function xinha_passed_data_querystring()
{
$qs = array();
if(isset($_REQUEST['backend_data']) && is_array($_REQUEST['backend_data']))
{
foreach($_REQUEST['backend_data'] as $k => $v)
{
$v = ini_get('magic_quotes_gpc') ? stripslashes($v) : $v;
$qs[] = "backend_data[" . rawurlencode($k) . "]=" . rawurlencode($v);
}
}
$qs[] = session_name() . '=' . session_id();
return implode('&', $qs);
}
/** Just space-tab indent some text */
function xinha_tabify($text, $tabs)
{
if($text)
{
return str_repeat(" ", $tabs) . preg_replace('/\n(.)/', "\n" . str_repeat(" ", $tabs) . "\$1", $text);
}
}
/** Return upload_max_filesize value from php.ini in kilobytes (function adapted from php.net)**/
function upload_max_filesize_kb()
{
$val = ini_get('upload_max_filesize');
$val = trim($val);
$last = strtolower($val{strlen($val)-1});
switch($last)
{
// The 'G' modifier is available since PHP 5.1.0
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
}
return $val;
}
?>

View File

@@ -1,76 +0,0 @@
// htmlArea v3.0 - Copyright (c) 2003-2004 interactivetools.com, inc.
// This copyright notice MUST stay intact for use (see license.txt).
//
// Portions (c) dynarch.com, 2003-2004
//
// A free WYSIWYG editor replacement for <textarea> fields.
// For full source code and docs, visit http://www.interactivetools.com/
//
// Version 3.0 developed by Mihai Bazon.
// http://dynarch.com/mishoo
//
// $Id$
// Though "Dialog" looks like an object, it isn't really an object. Instead
// it's just namespace for protecting global symbols.
function Dialog(url, action, init) {
if (typeof init == "undefined") {
init = window; // pass this window object by default
}
Dialog._geckoOpenModal(url, action, init);
}
Dialog._parentEvent = function(ev) {
setTimeout( function() { if (Dialog._modal && !Dialog._modal.closed) { Dialog._modal.focus() } }, 50);
if (Dialog._modal && !Dialog._modal.closed) {
HTMLArea._stopEvent(ev);
}
};
// should be a function, the return handler of the currently opened dialog.
Dialog._return = null;
// constant, the currently opened dialog
Dialog._modal = null;
// the dialog will read it's args from this variable
Dialog._arguments = null;
Dialog._geckoOpenModal = function(url, action, init) {
var dlg = window.open(url, "hadialog",
"toolbar=no,menubar=no,personalbar=no,width=10,height=10," +
"scrollbars=no,resizable=yes,modal=yes,dependable=yes");
Dialog._modal = dlg;
Dialog._arguments = init;
// capture some window's events
function capwin(w) {
HTMLArea._addEvent(w, "click", Dialog._parentEvent);
HTMLArea._addEvent(w, "mousedown", Dialog._parentEvent);
HTMLArea._addEvent(w, "focus", Dialog._parentEvent);
}
// release the captured events
function relwin(w) {
HTMLArea._removeEvent(w, "click", Dialog._parentEvent);
HTMLArea._removeEvent(w, "mousedown", Dialog._parentEvent);
HTMLArea._removeEvent(w, "focus", Dialog._parentEvent);
}
capwin(window);
// capture other frames, note the exception trapping, this is because
// we are not permitted to add events to frames outside of the current
// window's domain.
for (var i = 0; i < window.frames.length; i++) {try { capwin(window.frames[i]); } catch(e) { } };
// make up a function to be called when the Dialog ends.
Dialog._return = function (val) {
if (val && action) {
action(val);
}
relwin(window);
// capture other frames
for (var i = 0; i < window.frames.length; i++) { try { relwin(window.frames[i]); } catch(e) { } };
Dialog._modal = null;
};
Dialog._modal.focus();
};

View File

@@ -15,14 +15,55 @@ function getAbsolutePos(el) {
return r;
};
function comboSelectValue(c, val) {
var ops = c.getElementsByTagName("option");
function getSelectedValue(el) {
if(!el)
return "";
return el[el.selectedIndex].value;
}
function setSelectedValue(el, val) {
if(!el)
return "";
var ops = el.getElementsByTagName("option");
for (var i = ops.length; --i >= 0;) {
var op = ops[i];
op.selected = (op.value == val);
}
c.value = val;
};
el.value = val;
}
function getCheckedValue(el) {
if(!el)
return "";
var radioLength = el.length;
if(radioLength == undefined)
if(el.checked)
return el.value;
else
return "false";
for(var i = 0; i < radioLength; i++) {
if(el[i].checked) {
return el[i].value;
}
}
return "";
}
function setCheckedValue(el, val) {
if(!el)
return;
var radioLength = el.length;
if(radioLength == undefined) {
el.checked = (el.value == val.toString());
return;
}
for(var i = 0; i < radioLength; i++) {
el[i].checked = false;
if(el[i].value == val.toString()) {
el[i].checked = true;
}
}
}
function __dlg_onclose() {
opener.Dialog._return(null);
@@ -84,49 +125,76 @@ function __dlg_init(bottom) {
document.body.onkeypress = __dlg_close_on_esc;
};
function placeFocus() {
var bFound = false;
// for each form
for (f=0; f < document.forms.length; f++) {
// for each element in each form
for(i=0; i < document.forms[f].length; i++) {
// if it's not a hidden element
if (document.forms[f][i].type != "hidden") {
// and it's not disabled
if (document.forms[f][i].disabled != true) {
// set the focus to it
document.forms[f][i].focus();
var bFound = true;
}
}
// if found in this element, stop looking
if (bFound == true)
break;
}
// if found in this form, stop looking
if (bFound == true)
break;
}
}
function Init() {
__dlg_init();
var param = window.dialogArguments;
if(param) {
document.getElementById("width").value = param["width"];
document.getElementById("height").value = param["height"];
document.getElementById("sizeIncludesBars").checked = (param["sizeIncludesBars"] == 'true');
document.getElementById("statusBar").checked = (param["statusBar"] == 'true');
document.getElementById("mozParaHandler").value = param["mozParaHandler"];
document.getElementById("undoSteps").value = param["undoSteps"];
document.getElementById("baseHref").value = param["baseHref"];
document.getElementById("stripBaseHref").checked = (param["stripBaseHref"] == 'true');
document.getElementById("stripSelfNamedAnchors").checked = (param["stripSelfNamedAnchors"] == 'true');
document.getElementById("only7BitPrintablesInURLs").checked = (param["only7BitPrintablesInURLs"] == 'true');
document.getElementById("sevenBitClean").checked = (param["sevenBitClean"] == 'true');
document.getElementById("killWordOnPaste").checked = (param["killWordOnPaste"] == 'true');
document.getElementById("flowToolbars").checked = (param["flowToolbars"] == 'true');
document.getElementById("CharacterMapMode").value = param["CharacterMapMode"];
document.getElementById("ListTypeMode").value = param["ListTypeMode"];
var el;
for (var field in param) {
//alert(field + '="' + param[field] + '"');
el = document.getElementById(field);
if (el.tagName.toLowerCase()=="input"){
if ((el.type.toLowerCase()=="radio") || (el.type.toLowerCase()=="checkbox")){
setCheckedValue(el, param[field]);
} else {
el.value = param[field];
}
document.getElementById("width").focus();
window.resizeTo(420, 500);
} else if (el.tagName.toLowerCase()=="select"){
setSelectedValue(el, param[field]);
} else if (el.tagName.toLowerCase()=="textarea"){
el.value = param[field];
}
}
}
placeFocus();
};
function onOK() {
// pass data back to the calling window
var param = { width: document.getElementById("width").value,
height: document.getElementById("height").value,
sizeIncludesBars: (document.getElementById("sizeIncludesBars").checked?true:""),
statusBar: (document.getElementById("statusBar").checked?true:""),
mozParaHandler: document.getElementById("mozParaHandler").value,
undoSteps: document.getElementById("undoSteps").value,
baseHref: document.getElementById("baseHref").value,
stripBaseHref: (document.getElementById("stripBaseHref").checked?true:""),
stripSelfNamedAnchors: (document.getElementById("stripSelfNamedAnchors").checked?true:""),
only7BitPrintablesInURLs: (document.getElementById("only7BitPrintablesInURLs").checked?true:""),
sevenBitClean: (document.getElementById("sevenBitClean").checked?true:""),
killWordOnPaste: (document.getElementById("killWordOnPaste").checked?true:""),
flowToolbars: (document.getElementById("flowToolbars").checked?true:""),
CharacterMapMode: document.getElementById("CharacterMapMode").value,
ListTypeOptions: document.getElementById("ListTypeMode").value
};
function onOK() {
var param = new Object();
var el = document.getElementsByTagName('input');
for (var i=0; i<el.length;i++){
if ((el[i].type.toLowerCase()=="radio") || (el[i].type.toLowerCase()=="checkbox")){
if (getCheckedValue(el[i])!=''){
param[el[i].id] = getCheckedValue(el[i]);
}
} else {
param[el[i].id] = el[i].value;
}
}
el = document.getElementsByTagName('select');
for (var i=0; i<el.length;i++){
param[el[i].id] = getSelectedValue(el[i]);
}
el = document.getElementsByTagName('textarea');
for (var i=0; i<el.length;i++){
param[el[i].id] = el[i].value;
}
__dlg_close(param);
return false;
};
@@ -144,7 +212,7 @@ function onCancel() {
</head>
<body class="dialog" onload="Init()">
<body class="dialog" onload="Init(); window.resizeTo(360, 590);">
<div class="title">Settings</div>
<form action="" method="get">
<div class="fr">Editor width:</div>
@@ -154,10 +222,10 @@ function onCancel() {
<input type="text" name="height" id="height" title="" />
<p />
<div class="fr">Size includes bars</div>
<input type="checkbox" name="sizeIncludesBars" id="sizeIncludesBars" />
<input type="checkbox" name="sizeIncludesBars" id="sizeIncludesBars" value="true" />
<p />
<div class="fr">Status Bar</div>
<input type="checkbox" name="statusBar" id="statusBar" />
<input type="checkbox" name="statusBar" id="statusBar" value="true" />
<p />
<div class="fr">Mozilla Parameter Handler:</div>
<select name="mozParaHandler" id="mozParaHandler">
@@ -173,22 +241,25 @@ function onCancel() {
<input type="text" name="baseHref" id="baseHref" title="" />
<p />
<div class="fr">Strip base href</div>
<input type="checkbox" name="stripBaseHref" id="stripBaseHref" />
<input type="checkbox" name="stripBaseHref" id="stripBaseHref" value="true" />
<p />
<div class="fr">Strip self named anchors</div>
<input type="checkbox" name="stripSelfNamedAnchors" id="stripSelfNamedAnchors" />
<input type="checkbox" name="stripSelfNamedAnchors" id="stripSelfNamedAnchors" value="true" />
<p />
<div class="fr">only 7bit printables in URLs</div>
<input type="checkbox" name="only7BitPrintablesInURLs" id="only7BitPrintablesInURLs" />
<input type="checkbox" name="only7BitPrintablesInURLs" id="only7BitPrintablesInURLs" value="true" />
<p />
<div class="fr">7bit Clean</div>
<input type="checkbox" name="sevenBitClean" id="sevenBitClean" />
<input type="checkbox" name="sevenBitClean" id="sevenBitClean" value="true" />
<p />
<div class="fr">kill Word on paste</div>
<input type="checkbox" name="killWordOnPaste" id="killWordOnPaste" />
<input type="checkbox" name="killWordOnPaste" id="killWordOnPaste" value="true" />
<p />
<div class="fr">flow toolbars</div>
<input type="checkbox" name="flowToolbars" id="flowToolbars" />
<input type="checkbox" name="flowToolbars" id="flowToolbars" value="true" />
<p />
<div class="fr">show loading</div>
<input type="checkbox" name="showLoading" id="showLoading" value="true" />
<p />
<div id="CharacterMapOptions" class="options">
@@ -211,6 +282,14 @@ function onCancel() {
</div>
<p />
<div id="CharCounterOptions" class="options">
<hr size="0.5">
<div class="fr">CharCounter (showChar) :</div><input type="checkbox" name="showChar" id="showChar" value="true" /><br />
<div class="fr">CharCounter (showWord) :</div><input type="checkbox" name="showWord" id="showWord" value="true" /><br />
<div class="fr">CharCounter (showHtml) :</div><input type="checkbox" name="showHtml" id="showHtml" value="true" />
</div>
<p />
<div id="buttons">
<button type="submit" name="ok" onclick="return onOK();">OK</button>
<button type="button" name="cancel" onclick="return onCancel();">Cancel</button>

View File

@@ -0,0 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Xinha Newbie Guide</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
_editor_url = "../" // (preferably absolute) URL (including trailing slash) where Xinha is installed
_editor_lang = "en"; // And the language we need to use in the editor.
_editor_skin = "silva"; // If you want use skin, add the name here
</script>
<script type="text/javascript" src="../XinhaCore.js"></script>
<script type="text/javascript" src="XinhaConfig.js"></script>
</head>
<body>
<form action="">
<textarea id="myTextArea" name="myTextArea" rows="10" cols="50" style="width: 100%"></textarea>
</form>
</body>
</html>

View File

@@ -0,0 +1,17 @@
xinha_editors=null;
xinha_init=null;
xinha_config=null;
xinha_plugins=null;
xinha_init=xinha_init?xinha_init:function(){
xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"];
xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","ListType","Stylist","Linker","SuperClean","TableOperations"];
if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){
return;
}
xinha_config=xinha_config?xinha_config():new Xinha.Config();
xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"];
xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins);
Xinha.startEditors(xinha_editors);
};
Xinha._addEvent(window,"load",xinha_init);

View File

@@ -4,9 +4,9 @@
-- @TODO Make this CSS more useful.
--
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/custom.css $
-- $LastChangedDate: 2005-02-18 23:10:03 -0500 (Fri, 18 Feb 2005) $
-- $LastChangedRevision: 14 $
-- $LastChangedBy: gogo $
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
-- $LastChangedRevision: 677 $
-- $LastChangedBy: ray $
--------------------------------------------------------------------------*/
body { background-color: #234; color: #dd8; font-family: tahoma; font-size: 12px; }

View File

@@ -4,9 +4,9 @@
-- @TODO Make this CSS more useful.
--
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/dynamic.css $
-- $LastChangedDate: 2005-02-18 23:10:03 -0500 (Fri, 18 Feb 2005) $
-- $LastChangedRevision: 14 $
-- $LastChangedBy: gogo $
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
-- $LastChangedRevision: 677 $
-- $LastChangedBy: ray $
--------------------------------------------------------------------------*/
p {

View File

@@ -4,14 +4,14 @@
<!-- ---------------------------------------------------------------------
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/ext_example-body.html $
-- $LastChangedDate: 2005-07-27 16:43:19 +0200 (Mi, 27 Jul 2005) $
-- $LastChangedRevision: 287 $
-- $LastChangedDate: 2007-01-22 16:06:18 +0100 (Mo, 22 Jan 2007) $
-- $LastChangedRevision: 686 $
-- $LastChangedBy: gocher $
------------------------------------------------------------------------ -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Example of Xinha</title>
<link rel="stylesheet" href="full_example.css" />
<link rel="stylesheet" type="text/css" href="full_example.css" />
<script type="text/javascript">
function showError( sMsg, sUrl, sLine){
@@ -20,10 +20,6 @@
'Line: ' + sLine + '\n';
return false;
}
window.onerror = showError;
document.onerror = showError;
var f = window.parent.menu.document.forms[0];
// You must set _editor_url to the URL (including trailing slash) where
// where xinha is installed, it's highly recommended to use an absolute URL
// eg: _editor_url = "/path/to/xinha/";
@@ -31,12 +27,11 @@
// eg: _editor_url = "../";
// in this example we do a little regular expression to find the absolute path.
_editor_url = document.location.href.replace(/examples\/ext_example-body\.html.*/, '')
_editor_lang = f.lang.value; // And the language we need to use in the editor.
_editor_skin = f.skin.value; // the skin we use in the editor
//moved _editor_lang & _editor_skin to init function because of error thrown when frame document not ready
</script>
<!-- Load up the actual editor core -->
<script type="text/javascript" src="../htmlarea.js"></script>
<script type="text/javascript" src="../XinhaCore.js"></script>
<script type="text/javascript">
xinha_editors = null;
@@ -45,7 +40,12 @@
xinha_plugins = null;
xinha_init = xinha_init ? xinha_init : function() {
var f = window.parent.menu.document.forms[0];
window.onerror = showError;
document.onerror = showError;
var f = top.frames["menu"].document.forms["fsettings"];
_editor_lang = f.lang[f.lang.selectedIndex].value; // the language we need to use in the editor.
_editor_skin = f.skin[f.skin.selectedIndex].value; // the skin we use in the editor
// What are the plugins you will be using in the editors on this page.
// List all the plugins you will need, even if not all the editors will use all the plugins.
xinha_plugins = [ ];
@@ -54,7 +54,7 @@
}
// THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
if(!HTMLArea.loadPlugins(xinha_plugins, xinha_init)) return;
if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;
// What are the names of the textareas you will be turning into editors?
var num = 1;
@@ -86,22 +86,31 @@
}
// Create a default configuration to be used by all the editors.
xinha_config = new HTMLArea.Config();
if (f.width) xinha_config.width = f.width.value;
if (f.height) xinha_config.height = f.height.value;
if (f.sizeIncludesBars) xinha_config.sizeIncludesBars = f.sizeIncludesBars.value;
if (f.statusBar) xinha_config.statusBar = f.statusBar.value;
if (f.mozParaHandler) xinha_config.mozParaHandler = f.mozParaHandler.value;
if (f.undoSteps) xinha_config.undoSteps = f.undoSteps.value;
if (f.baseHref) xinha_config.baseHref = f.baseHref.value;
if (f.stripBaseHref) xinha_config.stripBaseHref = f.stripBaseHref.value;
if (f.stripSelfNamedAnchors) xinha_config.stripSelfNamedAnchors = f.stripSelfNamedAnchors.value;
if (f.only7BitPrintablesInURLs) xinha_config.only7BitPrintablesInURLs = f.only7BitPrintablesInURLs.value;
if (f.sevenBitClean) xinha_config.sevenBitClean = f.sevenBitClean.value;
if (f.killWordOnPaste) xinha_config.killWordOnPaste = f.killWordOnPaste.value;
if (f.flowToolbars) xinha_config.flowToolbars = f.flowToolbars.value;
if ((typeof CharacterMap != 'undefined') && (f.CharacterMapMode)) xinha_config.CharacterMap.mode = f.CharacterMapMode.value;
if ((typeof ListType != 'undefined') && (f.ListTypeMode)) xinha_config.ListType.mode = f.ListTypeMode.value;
settings = top.frames["menu"].settings;
xinha_config = new Xinha.Config();
xinha_config.width = settings.width;
xinha_config.height = settings.height;
xinha_config.sizeIncludesBars = settings.sizeIncludesBars;
xinha_config.statusBar = settings.statusBar;
xinha_config.mozParaHandler = settings.mozParaHandler;
xinha_config.undoSteps = settings.undoSteps;
xinha_config.baseHref = settings.baseHref;
xinha_config.stripBaseHref = settings.stripBaseHref;
xinha_config.stripSelfNamedAnchors = settings.stripSelfNamedAnchors;
xinha_config.only7BitPrintablesInURLs = settings.only7BitPrintablesInURLs;
xinha_config.sevenBitClean = settings.sevenBitClean;
xinha_config.killWordOnPaste = settings.killWordOnPaste;
xinha_config.flowToolbars = settings.flowToolbars;
xinha_config.showLoading = settings.showLoading;
if (typeof CharCounter != 'undefined') {
xinha_config.CharCounter.showChar = settings.showChar;
xinha_config.CharCounter.showWord = settings.showWord;
xinha_config.CharCounter.showHtml = settings.showHtml;
}
if (typeof CharacterMap != 'undefined') xinha_config.CharacterMap.mode = settings.CharacterMapMode;
if (typeof ListType != 'undefined') xinha_config.ListType.mode = settings.ListTypeMode;
if(typeof CSS != 'undefined') {
xinha_config.pageStyle = "@import url(custom.css);";
@@ -143,58 +152,51 @@
}
}
if(typeof InsertPicture != 'undefined') {
// Path for InsertPicture plugin
InsertPicture.PicturePath = '/schmal/pictures/';
}
if(typeof Filter != 'undefined') {
xinha_config.Filters = ["Word", "Paragraph"];
}
// First create editors for the textareas.
// You can do this in two ways, either
// xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
// xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
// if you want all the editor objects to use the same set of plugins, OR;
// xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config);
// xinha_editors['myTextArea'].registerPlugins(['Stylist','FullScreen']);
// xinha_editors['anotherOne'].registerPlugins(['CSS','SuperClean']);
// xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config);
// xinha_editors['myTextarea0'].registerPlugins(['Stylist','FullScreen']);
// xinha_editors['myTextarea1'].registerPlugins(['CSS','SuperClean']);
// if you want to use a different set of plugins for one or more of the editors.
xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
// If you want to change the configuration variables of any of the editors,
// this is the place to do that, for example you might want to
// change the width and height of one of the editors, like this...
// xinha_editors.myTextArea.config.width = '640px';
// xinha_editors.myTextArea.config.height = '480px';
// xinha_editors['myTextarea0'].config.width = '640px';
// xinha_editors['myTextarea0'].config.height = '480px';
// Finally we "start" the editors, this turns the textareas into Xinha editors.
HTMLArea.startEditors(xinha_editors);
Xinha.startEditors(xinha_editors);
}
// javascript submit handler
// this shows how to create a javascript submit button that works with the htmleditor.
submitHandler = function(formname) {
var form = document.getElementById(formname);
// in order for the submit to work both of these methods have to be called.
form.onsubmit();
window.parent.menu.document.getElementById('myTextarea0').value = document.getElementById('myTextarea0').value;
form.submit();
return true;
}
window.onload = xinha_init;
// window.onunload = Xinha.collectGarbageForIE;
</script>
</head>
<body>
<form id="to_submit" method="post" action="ext_example-dest.php">
<div id="editors_here"></div>
<button type="submit">Submit</button>
<textarea id="errors" style="width:100%; height:100px; background:silver;"></textarea><!-- style="display:none;"> -->
<form id="to_submit" name="to_submit" method="post" action="ext_example-dest.php">
<div id="editors_here" name="editors_here"></div>
<button type="button" onclick="submitHandler('to_submit');">Submit</button>
<textarea id="errors" name="errors" style="width:100%; height:100px; background:silver;"></textarea><!-- style="display:none;" -->
</form>
<script type="text/javascript">
var _oldSubmitHandler = null;
if (document.forms[0].onsubmit != null) {
_oldSubmitHandler = document.forms[0].onsubmit;
}
function frame_onSubmit(){
document.getElementById('myTextarea0').value = document.getElementById('myTextarea0').value.replace(/^[\r\n]+|\s+$/, '')
window.parent.menu.document.getElementById('myTextarea0').value = document.getElementById('myTextarea0').value;
if (_oldSubmitHandler != null) {
_oldSubmitHandler();
}
}
document.forms[0].onsubmit = frame_onSubmit;
</script>
</body>
</html>

View File

@@ -1,6 +1,6 @@
<?PHP
$LocalPluginPath = dirname(dirname(__FILE__)).'\plugins';
$LocalSkinPath = dirname(dirname(__File__)).'\skins';
$LocalPluginPath = dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'plugins';
$LocalSkinPath = dirname(dirname(__File__)).DIRECTORY_SEPARATOR.'skins';
?>
<html>
<head>
@@ -10,10 +10,10 @@
-- frame to provide a menu for generating example editors using
-- full_example-body.html, and full_example.js.
--
-- $HeadURL$
-- $LastChangedDate$
-- $LastChangedRevision$
-- $LastChangedBy$
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/ext_example-menu.php $
-- $LastChangedDate: 2007-02-07 20:12:42 +0100 (Mi, 07 Feb 2007) $
-- $LastChangedRevision: 715 $
-- $LastChangedBy: htanaka $
--------------------------------------------------------------------------->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
@@ -25,6 +25,29 @@
label { display:block;}
</style>
<script language="JavaScript" type="text/javascript">
var settings = null;
settings = {
width: "auto",
height: "auto",
sizeIncludesBars: true,
statusBar: true,
mozParaHandler: "best",
undoSteps: 20,
baseHref: null,
stripBaseHref: true,
stripSelfNamedAnchors: true,
only7BitPrintablesInURLs: true,
sevenBitClean: false,
killWordOnPaste: true,
flowToolbars: true,
CharacterMapMode: "popup",
ListTypeMode: "toolbar",
showLoading: false,
showChar: true,
showWord: true,
showHtml: true
};
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
@@ -117,15 +140,15 @@ Dialog._geckoOpenModal = function(url, action, init) {
// capture some window's events
function capwin(w) {
// HTMLArea._addEvent(w, "click", Dialog._parentEvent);
// HTMLArea._addEvent(w, "mousedown", Dialog._parentEvent);
// HTMLArea._addEvent(w, "focus", Dialog._parentEvent);
// Xinha._addEvent(w, "click", Dialog._parentEvent);
// Xinha._addEvent(w, "mousedown", Dialog._parentEvent);
// Xinha._addEvent(w, "focus", Dialog._parentEvent);
};
// release the captured events
function relwin(w) {
// HTMLArea._removeEvent(w, "click", Dialog._parentEvent);
// HTMLArea._removeEvent(w, "mousedown", Dialog._parentEvent);
// HTMLArea._removeEvent(w, "focus", Dialog._parentEvent);
// Xinha._removeEvent(w, "click", Dialog._parentEvent);
// Xinha._removeEvent(w, "mousedown", Dialog._parentEvent);
// Xinha._removeEvent(w, "focus", Dialog._parentEvent);
};
capwin(window);
// capture other frames
@@ -143,41 +166,29 @@ Dialog._geckoOpenModal = function(url, action, init) {
};
function fExtended () {
var outparam = { width: document.getElementById("width").value,
height: document.getElementById("height").value,
sizeIncludesBars: document.getElementById("sizeIncludesBars").value,
statusBar: document.getElementById("statusBar").value,
mozParaHandler: document.getElementById("mozParaHandler").value,
undoSteps: document.getElementById("undoSteps").value,
baseHref: document.getElementById("baseHref").value,
stripBaseHref: document.getElementById("stripBaseHref").value,
stripSelfNamedAnchors: document.getElementById("stripSelfNamedAnchors").value,
only7BitPrintablesInURLs: document.getElementById("only7BitPrintablesInURLs").value,
sevenBitClean: document.getElementById("sevenBitClean").value,
killWordOnPaste: document.getElementById("killWordOnPaste").value,
flowToolbars: document.getElementById("flowToolbars").value,
CharacterMapMode: document.getElementById("CharacterMapMode").value,
ListTypeMode: document.getElementById("ListTypeMode").value
};
Dialog("Extended.html", function(param) {
if(param) {
document.getElementById("width").value = param["width"];
document.getElementById("height").value = param["height"];
document.getElementById("sizeIncludesBars").value = param["sizeIncludesBars"];
document.getElementById("statusBar").value = param["statusBar"];
document.getElementById("mozParaHandler").value = param["mozParaHandler"];
document.getElementById("undoSteps").value = param["undoSteps"];
document.getElementById("baseHref").value = param["baseHref"];
document.getElementById("stripBaseHref").value = param["stripBaseHref"];
document.getElementById("stripSelfNamedAnchors").value = param["stripSelfNamedAnchors"];
document.getElementById("only7BitPrintablesInURLs").value = param["only7BitPrintablesInURLs"];
document.getElementById("sevenBitClean").value = param["sevenBitClean"];
document.getElementById("killWordOnPaste").value = param["killWordOnPaste"];
document.getElementById("flowToolbars").value = param["flowToolbars"];
document.getElementById("CharacterMapMode").value = param["CharacterMapMode"];
document.getElementById("ListTypeMode").value = param["ListTypeMode"];
settings.width = param["width"];
settings.height = param["height"];
settings.sizeIncludesBars = (param["sizeIncludesBars"]=="true");
settings.statusBar = (param["statusBar"]=="true");
settings.mozParaHandler = param["mozParaHandler"];
settings.undoSteps = param["undoSteps"];
settings.baseHref = param["baseHref"];
settings.stripBaseHref = (param["stripBaseHref"]=="true");
settings.stripSelfNamedAnchors = (param["stripSelfNamedAnchors"]=="true");
settings.only7BitPrintablesInURLs = (param["only7BitPrintablesInURLs"]=="true");
settings.sevenBitClean = (param["sevenBitClean"]=="true");
settings.killWordOnPaste = (param["killWordOnPaste"]=="true");
settings.flowToolbars = (param["flowToolbars"]=="true");
settings.CharacterMapMode = param["CharacterMapMode"];
settings.ListTypeMode = param["ListTypeMode"];
settings.showLoading = (param["showLoading"]=="true");
settings.showChar = (param["showChar"]=="true");
settings.showWord = (param["showWord"]=="true");
settings.showHtml = (param["showHtml"]=="true");
}
}, outparam );
}, settings );
}
function init(){
@@ -207,7 +218,7 @@ Dialog._geckoOpenModal = function(url, action, init) {
</head>
<body>
<form action="ext_example-body.html" target="body">
<form action="ext_example-body.html" target="body" name="fsettings" id="fsettings">
<h1>Xinha Example</h1>
<fieldset>
<legend>Settings</legend>
@@ -223,6 +234,7 @@ Dialog._geckoOpenModal = function(url, action, init) {
<option value="it">Italian</option>
<option value="no">Norwegian</option>
<option value="pl">Polish</option>
<option value="ja">Japanese</option>
</select>
</label>
<label>
@@ -233,28 +245,13 @@ Dialog._geckoOpenModal = function(url, action, init) {
$d = @dir($LocalSkinPath);
while (false !== ($entry = $d->read())) //not a dot file or directory
{ if(substr($entry,0,1) != '.')
{ echo '<option value="' . $entry . '"> ' . $entry . '</option>';
{ echo '<option value="' . $entry . '"> ' . $entry . '</option>'."\n";
}
}
$d->close();
?>
</select>
</label>
<input type="hidden" id="width" name="width" value="auto" />
<input type="hidden" id="height" name="height" value="auto" />
<input type="hidden" id="sizeIncludesBars" name="sizeIncludeBars" value="true" />
<input type="hidden" id="statusBar" name="statusBar" value="true" />
<input type="hidden" id="mozParaHandler" name="mozParaHandler" value="best" />
<input type="hidden" id="undoSteps" name="undoSteps" value="20" />
<input type="hidden" id="baseHref" name="baseHref" value="null" />
<input type="hidden" id="stripBaseHref" name="stripBaseHref" value="true" />
<input type="hidden" id="stripSelfNamedAnchors" name="stripSelfNamedAnchors" value="true" />
<input type="hidden" id="only7BitPrintablesInURLs" name="only7BitPrintablesInURLs" value="true" />
<input type="hidden" id="sevenBitClean" name="sevenBitClean" value="false" />
<input type="hidden" id="killWordOnPaste" name="killWordOnPaste" value="true" />
<input type="hidden" id="flowToolbars" name="flowToolbars" value="true" />
<input type="hidden" id="CharacterMapMode" name="CharacterMapMode" value="popup" />
<input type="hidden" id="ListTypeMode" name="ListTypeMode" value="toolbar" />
<center><input type="button" value="extended Settings" onClick="fExtended();" /></center>
</fieldset>
@@ -263,12 +260,20 @@ Dialog._geckoOpenModal = function(url, action, init) {
<div id="div_plugins" style="width:100%; overflow:auto">
<?php
$d = @dir($LocalPluginPath);
$dir_array = array();
while (false !== ($entry = $d->read())) //not a dot file or directory
{ if(substr($entry,0,1) != '.')
{ echo '<label><input type="checkbox" name="plugins" value="' . $entry . '"> ' . $entry . '</label>';
{
$dir_array[] = $entry;
}
}
$d->close();
sort($dir_array);
foreach ($dir_array as $entry)
{
echo '<label><input type="checkbox" name="plugins" id="plugins" value="' . $entry . '"> ' . $entry . '</label>'."\n";
}
?>
</div>
</fieldset>

View File

@@ -3,14 +3,14 @@
<!--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
-- Xinha example frameset.
--
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example.html $
-- $LastChangedDate: 2005-06-02 11:14:41 +0200 (Thu, 02 Jun 2005) $
-- $LastChangedRevision: 212 $
-- $LastChangedBy: gocher $
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/ext_example.html $
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
-- $LastChangedRevision: 677 $
-- $LastChangedBy: ray $
--------------------------------------------------------------------------->
<frameset cols="240,*">
<frame src="ext_example-menu.php" name="menu">
<frame src="about:blank" name="body">
<frame src="ext_example-menu.php" name="menu" id="menu">
<frame src="about:blank" name="body" id="body">
</frameset>
</html>

View File

@@ -1,185 +0,0 @@
<!DOCTYPE BHTML PUBLIC "-//BC//DTD BHTML 3.2 Final//EN">
<html>
<head>
<!--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
-- Xinha example usage. This file shows how a developer might make use of
-- Xinha, it forms the primary example file for the entire Xinha project.
-- This file can be copied and used as a template for development by the
-- end developer who should simply removed the area indicated at the bottom
-- of the file to remove the auto-example-generating code and allow for the
-- use of the file as a boilerplate.
--
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example-body.html $
-- $LastChangedDate: 2005-07-27 10:43:19 -0400 (Wed, 27 Jul 2005) $
-- $LastChangedRevision: 287 $
-- $LastChangedBy: gocher $
--------------------------------------------------------------------------->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Example of Xinha</title>
<link rel="stylesheet" href="full_example.css" />
<script type="text/javascript">
// You must set _editor_url to the URL (including trailing slash) where
// where xinha is installed, it's highly recommended to use an absolute URL
// eg: _editor_url = "/path/to/xinha/";
// You may try a relative URL if you wish]
// eg: _editor_url = "../";
// in this example we do a little regular expression to find the absolute path.
_editor_url = document.location.href.replace(/examples\/full_example-body\.html.*/, '')
_editor_lang = "en"; // And the language we need to use in the editor.
</script>
<!-- Load up the actual editor core -->
<script type="text/javascript" src="../htmlarea.js"></script>
<script type="text/javascript">
xinha_editors = null;
xinha_init = null;
xinha_config = null;
xinha_plugins = null;
// This contains the names of textareas we will make into Xinha editors
xinha_init = xinha_init ? xinha_init : function()
{
/** STEP 1 ***************************************************************
* First, what are the plugins you will be using in the editors on this
* page. List all the plugins you will need, even if not all the editors
* will use all the plugins.
************************************************************************/
xinha_plugins = xinha_plugins ? xinha_plugins :
[
'CharacterMap',
'ContextMenu',
'FullScreen',
'ListType',
'SpellChecker',
'Stylist',
'SuperClean',
'TableOperations'
];
// THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
if(!HTMLArea.loadPlugins(xinha_plugins, xinha_init)) return;
/** STEP 2 ***************************************************************
* Now, what are the names of the textareas you will be turning into
* editors?
************************************************************************/
xinha_editors = xinha_editors ? xinha_editors :
[
'myTextArea',
'anotherOne'
];
/** STEP 3 ***************************************************************
* We create a default configuration to be used by all the editors.
* If you wish to configure some of the editors differently this will be
* done in step 5.
*
* If you want to modify the default config you might do something like this.
*
* xinha_config = new HTMLArea.Config();
* xinha_config.width = '640px';
* xinha_config.height = '420px';
*
*************************************************************************/
xinha_config = xinha_config ? xinha_config() : new HTMLArea.Config();
/** STEP 4 ***************************************************************
* We first create editors for the textareas.
*
* You can do this in two ways, either
*
* xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
*
* if you want all the editor objects to use the same set of plugins, OR;
*
* xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config);
* xinha_editors['myTextArea'].registerPlugins(['Stylist','FullScreen']);
* xinha_editors['anotherOne'].registerPlugins(['CSS','SuperClean']);
*
* if you want to use a different set of plugins for one or more of the
* editors.
************************************************************************/
xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
/** STEP 5 ***************************************************************
* If you want to change the configuration variables of any of the
* editors, this is the place to do that, for example you might want to
* change the width and height of one of the editors, like this...
*
* xinha_editors.myTextArea.config.width = '640px';
* xinha_editors.myTextArea.config.height = '480px';
*
************************************************************************/
/** STEP 6 ***************************************************************
* Finally we "start" the editors, this turns the textareas into
* Xinha editors.
************************************************************************/
HTMLArea.startEditors(xinha_editors);
}
window.onload = xinha_init;
</script>
<!--link type="text/css" rel="alternate stylesheet" title="blue-look" href="../skins/blue-look/skin.css" />
<link type="text/css" rel="alternate stylesheet" title="green-look" href="../skins/green-look/skin.css" />
<link type="text/css" rel="alternate stylesheet" title="xp-blue" href="../skins/xp-blue/skin.css" />
<link type="text/css" rel="alternate stylesheet" title="xp-green" href="../skins/xp-green/skin.css" />
<link type="text/css" rel="alternate stylesheet" title="inditreuse" href="../skins/inditreuse/skin.css" />
<link type="text/css" rel="alternate stylesheet" title="blue-metallic" href="../skins/blue-metallic/skin.css" /-->
</head>
<body>
<form id="editors_here">
<textarea id="myTextArea" name="myTextArea" rows="10" cols="80" style="width:100%"></textarea>
<textarea id="anotherOne" name="anotherOne" rows="10" cols="80" style="width:100%"></textarea>
</form>
<!-- *************************************************************************
- !! IMPORTANT !!
- The html and javascript below is the code used to create the example page.
- It renders a lot of the above unused because it pre-fills xinha_editors,
- xinha_config and xinha_plugins for you, and creates new textareas in place
- of the ones above. The items above are not used while the example is being
- used!
-
- If you are going to take the code in this file to form the basis of your
- own, then leave out this marked area.
- ********************************************************************* -->
<div id="lipsum" style="display:none">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aliquam et tellus vitae justo varius placerat. Suspendisse iaculis
velit semper dolor. Donec gravida tincidunt mi. Curabitur tristique
ante elementum turpis. Aliquam nisl. Nulla posuere neque non
tellus. Morbi vel nibh. Cum sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Nam nec wisi. In wisi.
Curabitur pharetra bibendum lectus.</p>
<ul>
<li> Phasellus et massa sed diam viverra semper. </li>
<li> Mauris tincidunt felis in odio. </li>
<li> Nulla placerat nunc ut pede. </li>
<li> Vivamus ultrices mi sit amet urna. </li>
<li> Quisque sed augue quis nunc laoreet volutpat.</li>
<li> Nunc sit amet metus in tortor semper mattis. </li>
</ul>
</div>
<script src="full_example.js"></script>
<!-- ********************************************************************* -->
</body>
</html>

View File

@@ -1,213 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!--
:noTabs=true:tabSize=2:indentSize=2:
Xinha example menu. This file is used by full_example.html within a
frame to provide a menu for generating example editors using
full_example-body.html, and full_example.js.
-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Example of Xinha</title>
<link rel="stylesheet" href="full_example.css" type="text/css">
<style type="text/css">
form, p {margin:0; padding:0;}
label {display:block;}
#numeditor {width:25px;}
.options {display:none;}
</style>
<script type="text/javascript">
function checkPluginsOptions()
{
var plugins = document.forms[0].elements['plugins'];
for(var x = 0; x < plugins.length; x++)
if (document.getElementById(plugins[x].value + 'Options'))
document.getElementById(plugins[x].value + 'Options').style.display = (plugins[x].checked)? 'block':'none';
}
function toggleOnChange(elt) {
document.getElementById(elt.value + 'Options').style.display = (elt.checked)? 'block':'none';
}
</script>
</head>
<body onload="checkPluginsOptions();">
<form action="full_example-body.html" target="body">
<p>
Select from the options below and <input type="submit" value="click to show Example">
</p>
<fieldset>
<legend>Settings</legend>
<label>
Number of Editors: <input type="text" name="num" value="1" id="numeditor" maxlength="2">
</label>
<label>
Language:
<select name="lang">
<option value="en">English</option>
<option value="de">German</option>
<option value="fr">French</option>
<option value="it">Italian</option>
<option value="no">Norwegian</option>
</select>
</label>
<label>
Skin:
<select name="skin">
<option value="blue-look">blue-look</option>
<option value="green-look">green-look</option>
<option value="xp-blue">xp-blue</option>
<option value="xp-green">xp-green</option>
<option value="inditreuse">inditreuse</option>
<option value="blue-metallic">blue-metallic</option>
<option value="titan">titan</option>
</select>
</label>
</fieldset>
<fieldset>
<legend>Plugins</legend>
<label>
<input type="checkbox" name="plugins" value="Abbreviation"> Abbreviation
</label>
<label>
<input type="checkbox" name="plugins" value="BackgroundImage"> BackgroundImage
</label>
<label>
<input type="checkbox" name="plugins" value="CharacterMap" checked="checked" onchange="toggleOnChange(this);"> CharacterMap
</label>
<div id="CharacterMapOptions" class="options">
mode : <select name="CharacterMapMode">
<option value="popup">popup</option>
<option value="panel">panel</option>
</select>
</div>
<label>
<input type="checkbox" name="plugins" value="CharCounter"> CharCounter
</label>
<label>
<input type="checkbox" name="plugins" value="ClientsideSpellcheck" checked="checked"> ClientsideSpellcheck
</label>
<label>
<input type="checkbox" name="plugins" value="ContextMenu" checked="checked"> ContextMenu
</label>
<label>
<input type="checkbox" name="plugins" value="CSS" > CSS
</label>
<label>
<input type="checkbox" name="plugins" value="DoubleClick"> DoubleClick
</label>
<label>
<input type="checkbox" name="plugins" value="DynamicCSS" > DynamicCSS
</label>
<label>
<input type="checkbox" name="plugins" value="EditTag"> EditTag
</label>
<label>
<input type="checkbox" name="plugins" value="EnterParagraphs"> EnterParagraphs
</label>
<label>
<input type="checkbox" name="plugins" value="Equation"> Equation
</label>
<label>
<input type="checkbox" name="plugins" value="FindReplace" checked="checked"> FindReplace
</label>
<label>
<input type="checkbox" name="plugins" value="FormOperations"> FormOperations
</label>
<label>
<input type="checkbox" name="plugins" value="Forms"> Forms
</label>
<label>
<input type="checkbox" name="plugins" value="FullPage" > FullPage
</label>
<label>
<input type="checkbox" name="plugins" value="FullScreen" checked="checked"> FullScreen
</label>
<label>
<input type="checkbox" name="plugins" value="GetHtml" checked="checked"> GetHtml
</label>
<label>
<input type="checkbox" name="plugins" value="HorizontalRule"> HorizontalRule
</label>
<label>
<input type="checkbox" name="plugins" value="InsertAnchor" checked="checked"> InsertAnchor
</label>
<label>
<input type="checkbox" name="plugins" value="InsertMarquee"> InsertMarquee
</label>
<label>
<input type="checkbox" name="plugins" value="InsertPagebreak"> InsertPagebreak
</label>
<label>
<input type="checkbox" name="plugins" value="InsertSmiley"> InsertSmiley
</label>
<label>
<input type="checkbox" name="plugins" value="InsertWords"> InsertWords
</label>
<label>
<input type="checkbox" name="plugins" value="LangMarks"> LangMarks
</label>
<label>
<input type="checkbox" name="plugins" value="ListType" checked="checked" onchange="toggleOnChange(this);"> ListType
</label>
<div id="ListTypeOptions" class="options">
mode : <select name="ListTypeMode">
<option value="toolbar">toolbar</option>
<option value="panel">panel</option>
</select>
</div>
<label>
<input type="checkbox" name="plugins" value="NoteServer"> NoteServer
</label>
<label>
<input type="checkbox" name="plugins" value="PasteText" checked="checked"> PasteText
</label>
<label>
<input type="checkbox" name="plugins" value="QuickTag"> QuickTag
</label>
<label>
<input type="checkbox" name="plugins" value="Stylist" checked="checked"> Stylist
</label>
<label>
<input type="checkbox" name="plugins" value="TableOperations" checked="checked"> TableOperations
</label>
<label>
<input type="checkbox" name="plugins" value="Template"> Template
</label>
<label>
<input type="checkbox" name="plugins" value="UnFormat"> UnFormat
</label>
</fieldset>
<fieldset>
<legend>PHP Plugins</legend>
<p>
<small>These plugins require PHP in order to run.</small>
</p>
<label>
<input type="checkbox" name="plugins" value="HtmlTidy"> HtmlTidy
</label>
<label>
<input type="checkbox" name="plugins" value="ImageManager"> ImageManager
</label>
<label>
<input type="checkbox" name="plugins" value="InsertPicture"> InsertPicture
</label>
<label>
<input type="checkbox" name="plugins" value="Linker"> Linker
</label>
<label>
<input type="checkbox" name="plugins" value="SpellChecker"> SpellChecker
</label>
<label>
<input type="checkbox" name="plugins" value="SuperClean"> SuperClean
</label>
</fieldset>
</form>
<script type="text/javascript">
top.frames["body"].location.href = document.location.href.replace(/full_example-menu\.html.*/, 'full_example-body.html')
</script>
</body>
</html>

View File

@@ -2,9 +2,9 @@
-- Xinha example CSS file. This is ripped from Trac ;)
--
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example.css $
-- $LastChangedDate: 2005-02-18 23:10:03 -0500 (Fri, 18 Feb 2005) $
-- $LastChangedRevision: 14 $
-- $LastChangedBy: gogo $
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
-- $LastChangedRevision: 677 $
-- $LastChangedBy: ray $
--------------------------------------------------------------------------*/
body {
@@ -45,3 +45,4 @@
{
margin:10px;
}
label {font-size: 11px;}

View File

@@ -1,16 +0,0 @@
<html>
<!--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
-- Xinha example frameset.
--
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example.html $
-- $LastChangedDate: 2005-09-07 09:12:14 -0400 (Wed, 07 Sep 2005) $
-- $LastChangedRevision: 312 $
-- $LastChangedBy: gocher $
--------------------------------------------------------------------------->
<frameset cols="220,*">
<frame src="full_example-menu.html" name="menu">
<frame src="about:blank" name="body">
</frameset>
</html>

View File

@@ -1,147 +1,88 @@
/*--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
-- Xinha example logic. This javascript is used to auto-generate examples
-- as controlled by the options set in full_example-menu.html. it's called
-- from full_example-body.html.
--
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example.js $
-- $LastChangedDate: 2005-10-29 12:28:08 -0400 (Sat, 29 Oct 2005) $
-- $LastChangedRevision: 416 $
-- $LastChangedBy: gogo $
--------------------------------------------------------------------------*/
var num=1;
if(window.parent && window.parent != window)
{
if(window.parent&&window.parent!=window){
var f=window.parent.menu.document.forms[0];
_editor_lang=f.lang[f.lang.selectedIndex].value;
_editor_skin=f.skin[f.skin.selectedIndex].value;
num=parseInt(f.num.value);
if(isNaN(num))
{
if(isNaN(num)){
num=1;
f.num.value=1;
}
xinha_plugins=[];
for(var x = 0; x < f.plugins.length; x++)
{
if(f.plugins[x].checked) xinha_plugins.push(f.plugins[x].value);
for(var x=0;x<f.plugins.length;x++){
if(f.plugins[x].checked){
xinha_plugins.push(f.plugins[x].value);
}
}
xinha_editors = [ ]
for(var x = 0; x < num; x++)
{
var ta = 'myTextarea' + x;
}
xinha_editors=[];
for(var x=0;x<num;x++){
var ta="myTextarea"+x;
xinha_editors.push(ta);
}
xinha_config = function()
{
var config = new HTMLArea.Config();
if(typeof CSS != 'undefined')
{
config.pageStyle = "@import url(custom.css);";
xinha_config=function(){
var _1=new HTMLArea.Config();
if(typeof CSS!="undefined"){
_1.pageStyle="@import url(custom.css);";
}
if(typeof Stylist != 'undefined')
{
// We can load an external stylesheet like this - NOTE : YOU MUST GIVE AN ABSOLUTE URL
// otherwise it won't work!
config.stylistLoadStylesheet(document.location.href.replace(/[^\/]*\.html/, 'stylist.css'));
// Or we can load styles directly
config.stylistLoadStyles('p.red_text { color:red }');
// If you want to provide "friendly" names you can do so like
// (you can do this for stylistLoadStylesheet as well)
config.stylistLoadStyles('p.pink_text { color:pink }', {'p.pink_text' : 'Pretty Pink'});
if(typeof Stylist!="undefined"){
_1.stylistLoadStylesheet(document.location.href.replace(/[^\/]*\.html/,"stylist.css"));
_1.stylistLoadStyles("p.red_text { color:red }");
_1.stylistLoadStyles("p.pink_text { color:pink }",{"p.pink_text":"Pretty Pink"});
}
if(typeof DynamicCSS != 'undefined')
{
config.pageStyle = "@import url(dynamic.css);";
if(typeof DynamicCSS!="undefined"){
_1.pageStyle="@import url(dynamic.css);";
}
if(typeof InsertWords != 'undefined')
{
// Register the keyword/replacement list
var keywrds1 = new Object();
var keywrds2 = new Object();
keywrds1['-- Dropdown Label --'] = '';
keywrds1['onekey'] = 'onevalue';
keywrds1['twokey'] = 'twovalue';
keywrds1['threekey'] = 'threevalue';
keywrds2['-- Insert Keyword --'] = '';
keywrds2['Username'] = '%user%';
keywrds2['Last login date'] = '%last_login%';
config.InsertWords = {
combos : [ { options: keywrds1, context: "body" },
{ options: keywrds2, context: "li" } ]
if(typeof InsertWords!="undefined"){
var _2=new Object();
var _3=new Object();
_2["-- Dropdown Label --"]="";
_2["onekey"]="onevalue";
_2["twokey"]="twovalue";
_2["threekey"]="threevalue";
_3["-- Insert Keyword --"]="";
_3["Username"]="%user%";
_3["Last login date"]="%last_login%";
_1.InsertWords={combos:[{options:_2,context:"body"},{options:_3,context:"li"}]};
}
}
if (typeof ListType != 'undefined')
{
if(window.parent && window.parent != window)
{
if(typeof ListType!="undefined"){
if(window.parent&&window.parent!=window){
var f=window.parent.menu.document.forms[0];
config.ListType.mode = f.elements['ListTypeMode'].options[f.elements['ListTypeMode'].selectedIndex].value;
_1.ListType.mode=f.elements["ListTypeMode"].options[f.elements["ListTypeMode"].selectedIndex].value;
}
}
if (typeof CharacterMap != 'undefined')
{
if(window.parent && window.parent != window)
{
if(typeof CharacterMap!="undefined"){
if(window.parent&&window.parent!=window){
var f=window.parent.menu.document.forms[0];
config.CharacterMap.mode = f.elements['CharacterMapMode'].options[f.elements['CharacterMapMode'].selectedIndex].value;
_1.CharacterMap.mode=f.elements["CharacterMapMode"].options[f.elements["CharacterMapMode"].selectedIndex].value;
}
}
if(typeof Filter != 'undefined') {
xinha_config.Filters = ["Word", "Paragraph"]
if(typeof Filter!="undefined"){
xinha_config.Filters=["Word","Paragraph"];
}
return config;
}
return _1;
};
var f=document.forms[0];
f.innerHTML = '';
var lipsum = document.getElementById('lipsum').innerHTML;
for(var x = 0; x < num; x++)
{
var ta = 'myTextarea' + x;
var div = document.createElement('div');
div.className = 'area_holder';
var txta = document.createElement('textarea');
f.innerHTML="";
var lipsum=document.getElementById("lipsum").innerHTML;
for(var x=0;x<num;x++){
var ta="myTextarea"+x;
var div=document.createElement("div");
div.className="area_holder";
var txta=document.createElement("textarea");
txta.id=ta;
txta.name=ta;
txta.value=lipsum;
txta.style.width="100%";
txta.style.height="420px";
div.appendChild(txta);
f.appendChild(div);
}
//check submitted values
var submit = document.createElement('input');
var submit=document.createElement("input");
submit.type="submit";
submit.id="submit";
submit.value="submit";
f.appendChild(submit);
var _oldSubmitHandler=null;
if(document.forms[0].onsubmit!=null){
_oldSubmitHandler=document.forms[0].onsubmit;
@@ -153,3 +94,4 @@
}
}
document.forms[0].onsubmit=frame_onSubmit;

View File

@@ -0,0 +1,138 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Simple example of Xinha</title>
<script type="text/javascript">
/************************************************************************
* Please refer to http://xinha.python-hosting.com/wiki/NewbieGuide
************************************************************************
* You must set _editor_url to the URL (including trailing slash) where
* where xinha is installed, it's highly recommended to use an absolute URL
* eg: _editor_url = "/path/to/xinha/";
* You may try a relative URL if you wish]
* eg: _editor_url = "../";
* in this example we do a little regular expression to find the absolute path.
************************************************************************/
var _editor_url = document.location.href.replace(/examples\/simple_example\.html.*/, '')
// And the language we need to use in the editor.
var _editor_lang = "en";
</script>
<!-- Load up the actual editor core -->
<script type="text/javascript" src="../XinhaCore.js"></script>
<script type="text/javascript">
/************************************************************************
* Plugins you will be using in the editors on this page.
* List all the plugins you will need, even if not all the editors will
* use all the plugins.
************************************************************************
* Please refer to http://xinha.python-hosting.com/wiki/Plugins for the
* list of availables plugins
************************************************************************/
var xinha_plugins =
[
'CharacterMap',
'ContextMenu',
'FullScreen',
'ListType',
'SpellChecker',
'Stylist',
'SuperClean',
'TableOperations'
];
/************************************************************************
* Names of the textareas you will be turning into editors
************************************************************************/
var xinha_editors =
[
'myTextArea',
'anotherOne'
];
/************************************************************************
* Initialisation function
************************************************************************/
function xinha_init()
{
// THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;
/*************************************************************************
* We create a default configuration to be used by all the editors.
* If you wish to configure some of the editors differently this will be
* done later after editors are initiated.
************************************************************************
* Please refer to http://xinha.python-hosting.com/wiki/Documentation/Customise
* for the configuration parameters
************************************************************************/
var xinha_config = new Xinha.Config();
/************************************************************************
* We first create editors for the textareas.
* You can do this in two ways, either
*
* xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
*
* if you want all the editor objects to use the same set of plugins, OR;
*
* xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config);
* xinha_editors['myTextArea'].registerPlugins(['Stylist','FullScreen']);
* xinha_editors['anotherOne'].registerPlugins(['CSS','SuperClean']);
*
* if you want to use a different set of plugins for one or more of the
* editors.
************************************************************************/
xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
/************************************************************************
* If you want to change the configuration variables of any of the
* editors, this is the place to do that, for example you might want to
* change the width and height of one of the editors, like this...
************************************************************************/
xinha_editors.myTextArea.config.width = '640px';
xinha_editors.myTextArea.config.height = '480px';
/************************************************************************
* Or remove the statusbar on the other one, like this...
* For every possible configuration, please refer to
* http://xinha.python-hosting.com/wiki/Documentation/ConfigVariablesList
************************************************************************/
xinha_editors.anotherOne.config.statusBar = false;
/************************************************************************
* Finally we "start" the editors, this turns the textareas into
* Xinha editors.
************************************************************************/
Xinha.startEditors(xinha_editors);
}
window.onload = xinha_init;
</script>
<link type="text/css" rel="stylesheet" title="blue-look" href="../skins/blue-look/skin.css">
<link type="text/css" rel="alternate stylesheet" title="green-look" href="../skins/green-look/skin.css">
<link type="text/css" rel="alternate stylesheet" title="xp-blue" href="../skins/xp-blue/skin.css">
<link type="text/css" rel="alternate stylesheet" title="xp-green" href="../skins/xp-green/skin.css">
<link type="text/css" rel="alternate stylesheet" title="inditreuse" href="../skins/inditreuse/skin.css">
<link type="text/css" rel="alternate stylesheet" title="blue-metallic" href="../skins/blue-metallic/skin.css">
</head>
<body>
<form onsubmit="alert(this.myTextArea.value); alert(this.anotherOne.value); return false;">
<textarea id="myTextArea" name="myTextArea" rows="10" cols="80" style="width:100%">
&lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aliquam et tellus vitae justo varius placerat. Suspendisse iaculis
velit semper dolor. Donec gravida tincidunt mi. Curabitur tristique
ante elementum turpis. Aliquam nisl. Nulla posuere neque non
tellus. Morbi vel nibh. Cum sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Nam nec wisi. In wisi.
Curabitur pharetra bibendum lectus.&lt;/p&gt;
</textarea>
<textarea id="anotherOne" name="anotherOne" rows="10" cols="80" style="width:100%">
&lt;ul&gt;
&lt;li&gt; Phasellus et massa sed diam viverra semper. &lt;/li&gt;
&lt;li&gt; Mauris tincidunt felis in odio. &lt;/li&gt;
&lt;li&gt; Nulla placerat nunc ut pede. &lt;/li&gt;
&lt;li&gt; Vivamus ultrices mi sit amet urna. &lt;/li&gt;
&lt;li&gt; Quisque sed augue quis nunc laoreet volutpat.&lt;/li&gt;
&lt;li&gt; Nunc sit amet metus in tortor semper mattis. &lt;/li&gt;
&lt;/ul&gt;
</textarea>
<input type="submit">
</form>
</body>
</html>

View File

@@ -3,9 +3,9 @@
-- when the Stylist plugin is included in an auto-generated example.
--
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/stylist.css $
-- $LastChangedDate: 2005-07-19 02:23:58 -0400 (Tue, 19 Jul 2005) $
-- $LastChangedRevision: 277 $
-- $LastChangedBy: gogo $
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
-- $LastChangedRevision: 677 $
-- $LastChangedBy: ray $
--------------------------------------------------------------------------*/
.bluetext

View File

@@ -13,10 +13,10 @@
-- of the file to remove the auto-example-generating code and allow for the
-- use of the file as a boilerplate.
--
-- $HeadURL: svn://gogo@xinha.gogo.co.nz/repository/trunk/examples/full_example-body.html $
-- $LastChangedDate: 2005-03-05 21:42:32 +1300 (Sat, 05 Mar 2005) $
-- $LastChangedRevision: 35 $
-- $LastChangedBy: gogo $
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/testbed.html $
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
-- $LastChangedRevision: 677 $
-- $LastChangedBy: ray $
--------------------------------------------------------------------------->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
@@ -54,10 +54,10 @@
xinha_plugins = xinha_plugins ? xinha_plugins :
[
'CharacterMap', 'SpellChecker', 'Linker'
];
// THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
if(!HTMLArea.loadPlugins(xinha_plugins, xinha_init)) return;
if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;
/** STEP 2 ***************************************************************
* Now, what are the names of the textareas you will be turning into
@@ -76,13 +76,15 @@
*
* If you want to modify the default config you might do something like this.
*
* xinha_config = new HTMLArea.Config();
* xinha_config = new Xinha.Config();
* xinha_config.width = 640;
* xinha_config.height = 420;
*
*************************************************************************/
xinha_config = xinha_config ? xinha_config : new HTMLArea.Config();
xinha_config = xinha_config ? xinha_config : new Xinha.Config();
xinha_config.fullPage = true;
xinha_config.CharacterMap.mode = 'panel';
/*
// We can load an external stylesheet like this - NOTE : YOU MUST GIVE AN ABSOLUTE URL
// otherwise it won't work!
@@ -100,11 +102,11 @@
*
* You can do this in two ways, either
*
* xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
* xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
*
* if you want all the editor objects to use the same set of plugins, OR;
*
* xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config);
* xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config);
* xinha_editors['myTextArea'].registerPlugins(['Stylist','FullScreen']);
* xinha_editors['anotherOne'].registerPlugins(['CSS','SuperClean']);
*
@@ -112,7 +114,7 @@
* editors.
************************************************************************/
xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
/** STEP 4 ***************************************************************
* If you want to change the configuration variables of any of the
@@ -130,12 +132,12 @@
* Xinha editors.
************************************************************************/
HTMLArea.startEditors(xinha_editors);
Xinha.startEditors(xinha_editors);
window.onload = null;
}
window.onload = xinha_init;
// window.onunload = HTMLArea.collectGarbageForIE;
// window.onunload = Xinha.collectGarbageForIE;
</script>
</head>
@@ -143,6 +145,19 @@
<form action="javascript:var x = document.getElementById('editors_here');alert(x.myTextArea.value);" id="editors_here" onsubmit="alert(this.myTextArea.value);">
<textarea id="myTextArea" name="myTextArea" style="width:100%;height:320px;">
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Hello&lt;/title&gt;
&lt;style type="text/css"&gt;
li { color:red; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;img src="http://xinha.python-hosting.com/trac/logo.jpg" usemap="#m1"&gt;
&lt;map name="m1"&gt;
&lt;area shape="rect" coords="137,101,255,124" href="http://www.mydomain.com"&gt;
&lt;/map&gt;
&lt;p&gt;
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aliquam et tellus vitae justo varius placerat. Suspendisse iaculis
@@ -161,6 +176,8 @@
&lt;li&gt; Quisque sed augue quis nunc laoreet volutpat.&lt;/li&gt;
&lt;li&gt; Nunc sit amet metus in tortor semper mattis. &lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;
&lt;/html&gt;
</textarea>
<input type="submit" /> <input type="reset" />

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 57 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 B

After

Width:  |  Height:  |  Size: 63 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 61 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 60 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

After

Width:  |  Height:  |  Size: 60 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 B

After

Width:  |  Height:  |  Size: 61 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 B

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 B

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

After

Width:  |  Height:  |  Size: 97 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 B

After

Width:  |  Height:  |  Size: 50 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 B

After

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 B

After

Width:  |  Height:  |  Size: 80 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 B

After

Width:  |  Height:  |  Size: 57 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 B

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

After

Width:  |  Height:  |  Size: 66 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 B

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 B

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 55 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 53 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 B

After

Width:  |  Height:  |  Size: 64 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 84 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 84 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 B

After

Width:  |  Height:  |  Size: 72 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 B

After

Width:  |  Height:  |  Size: 72 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

After

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 888 B

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 B

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 B

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 B

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

After

Width:  |  Height:  |  Size: 75 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 B

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 B

After

Width:  |  Height:  |  Size: 128 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 941 B

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 B

After

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 886 B

After

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 B

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 B

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 652 B

BIN
xinha/images/fr/bold.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 B

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 B

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 988 B

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 73 B

BIN
xinha/images/xinha_logo.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -1,327 +0,0 @@
HTMLArea.Dialog = function(editor, html, localizer)
{
this.id = { };
this.r_id = { }; // reverse lookup id
this.editor = editor;
this.document = document;
this.rootElem = document.createElement('div');
this.rootElem.className = 'dialog';
this.rootElem.style.position = 'absolute';
this.rootElem.style.display = 'none';
this.editor._framework.ed_cell.insertBefore(this.rootElem, this.editor._framework.ed_cell.firstChild);
this.rootElem.style.width = this.width = this.editor._framework.ed_cell.offsetWidth + 'px';
this.rootElem.style.height = this.height = this.editor._framework.ed_cell.offsetHeight + 'px';
var dialog = this;
if(typeof localizer == 'function')
{
this._lc = localizer;
}
else if(localizer)
{
this._lc = function(string)
{
return HTMLArea._lc(string,localizer);
};
}
else
{
this._lc = function(string)
{
return string;
};
}
html = html.replace(/\[([a-z0-9_]+)\]/ig,
function(fullString, id)
{
if(typeof dialog.id[id] == 'undefined')
{
dialog.id[id] = HTMLArea.uniq('Dialog');
dialog.r_id[dialog.id[id]] = id;
}
return dialog.id[id];
}
).replace(/<l10n>(.*?)<\/l10n>/ig,
function(fullString,translate)
{
return dialog._lc(translate) ;
}
).replace(/="_\((.*?)\)"/g,
function(fullString, translate)
{
return '="' + dialog._lc(translate) + '"';
}
);
this.rootElem.innerHTML = html;
this.editor.notifyOn
('resize',
function(e, args)
{
dialog.rootElem.style.width = dialog.width = dialog.editor._framework.ed_cell.offsetWidth + 'px';
dialog.rootElem.style.height = dialog.height = dialog.editor._framework.ed_cell.offsetHeight + 'px';
dialog.onresize();
}
);
};
HTMLArea.Dialog.prototype.onresize = function()
{
return true;
};
HTMLArea.Dialog.prototype.show = function(values)
{
// We need to preserve the selection for IE
if(HTMLArea.is_ie)
{
this._lastRange = this.editor._createRange(this.editor._getSelection());
}
if(typeof values != 'undefined')
{
this.setValues(values);
}
this._restoreTo = [this.editor._textArea.style.display, this.editor._iframe.style.visibility, this.editor.hidePanels()];
this.editor._textArea.style.display = 'none';
this.editor._iframe.style.visibility = 'hidden';
this.rootElem.style.display = '';
};
HTMLArea.Dialog.prototype.hide = function()
{
this.rootElem.style.display = 'none';
this.editor._textArea.style.display = this._restoreTo[0];
this.editor._iframe.style.visibility = this._restoreTo[1];
this.editor.showPanels(this._restoreTo[2]);
// Restore the selection
if(HTMLArea.is_ie)
{
this._lastRange.select();
}
this.editor.updateToolbar();
return this.getValues();
};
HTMLArea.Dialog.prototype.toggle = function()
{
if(this.rootElem.style.display == 'none')
{
this.show();
}
else
{
this.hide();
}
};
HTMLArea.Dialog.prototype.setValues = function(values)
{
for(var i in values)
{
var elems = this.getElementsByName(i);
if(!elems) continue;
for(var x = 0; x < elems.length; x++)
{
var e = elems[x];
switch(e.tagName.toLowerCase())
{
case 'select' :
{
for(var j = 0; j < e.options.length; j++)
{
if(typeof values[i] == 'object')
{
for(var k = 0; k < values[i].length; k++)
{
if(values[i][k] == e.options[j].value)
{
e.options[j].selected = true;
}
}
}
else if(values[i] == e.options[j].value)
{
e.options[j].selected = true;
}
}
break;
}
case 'textarea':
case 'input' :
{
switch(e.getAttribute('type'))
{
case 'radio' :
{
if(e.value == values[i])
{
e.checked = true;
}
break;
}
case 'checkbox':
{
if(typeof values[i] == 'object')
{
for(var j in values[i])
{
if(values[i][j] == e.value)
{
e.checked = true;
}
}
}
else
{
if(values[i] == e.value)
{
e.checked = true;
}
}
break;
}
default :
{
e.value = values[i];
}
}
break;
}
default :
break;
}
}
}
};
HTMLArea.Dialog.prototype.getValues = function()
{
var values = [ ];
var inputs = HTMLArea.collectionToArray(this.rootElem.getElementsByTagName('input'))
.append(HTMLArea.collectionToArray(this.rootElem.getElementsByTagName('textarea')))
.append(HTMLArea.collectionToArray(this.rootElem.getElementsByTagName('select')));
for(var x = 0; x < inputs.length; x++)
{
var i = inputs[x];
if(!(i.name && this.r_id[i.name])) continue;
if(typeof values[this.r_id[i.name]] == 'undefined')
{
values[this.r_id[i.name]] = null;
}
var v = values[this.r_id[i.name]];
switch(i.tagName.toLowerCase())
{
case 'select':
{
if(i.multiple)
{
if(!v.push)
{
if(v != null)
{
v = [v];
}
else
{
v = new Array();
}
}
for(var j = 0; j < i.options.length; j++)
{
if(i.options[j].selected)
{
v.push(i.options[j].value);
}
}
}
else
{
if(i.selectedIndex >= 0)
{
v = i.options[i.selectedIndex];
}
}
break;
}
case 'textarea':
case 'input' :
default :
{
switch(i.type.toLowerCase())
{
case 'radio':
{
if(i.checked)
{
v = i.value;
break;
}
}
case 'checkbox':
{
if(v == null)
{
if(this.getElementsByName(this.r_id[i.name]).length > 1)
{
v = new Array();
}
}
if(i.checked)
{
if(v != null && typeof v == 'object' && v.push)
{
v.push(i.value);
}
else
{
v = i.value;
}
}
break;
}
default :
{
v = i.value;
break;
}
}
}
}
values[this.r_id[i.name]] = v;
}
return values;
};
HTMLArea.Dialog.prototype.getElementById = function(id)
{
return this.document.getElementById(this.id[id] ? this.id[id] : id);
};
HTMLArea.Dialog.prototype.getElementsByName = function(name)
{
return this.document.getElementsByName(this.id[name] ? this.id[name] : name);
};

View File

@@ -61,7 +61,7 @@
"Cancel": "Abbrechen",
"Path": "Pfad",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Sie sind im Text-Modus. Benutzen Sie den [<>] Button, um in den visuellen Modus (WYSIWIG) zu gelangen.",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Aus Sicherheitsgründen dürfen Skripte normalerweise nicht auf Ausschneiden/Kopieren/Einfügen zugreifen. Bitte klicken Sie OK um die technische Erläuterung auf mozilla.org zu öffnen, in der erklärt wird, wie einem Skript Zugriff gewährt werden kann.",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Aus Sicherheitsgründen dürfen Skripte normalerweise nicht auf Ausschneiden/Kopieren/Einfügen zugreifen. Benutzen Sie bitte die entsprechenden Tastatur-Kommandos (Strg + x/c/v).",
"You need to select some text before create a link": "Sie müssen einen Text markieren, um einen Link zu erstellen",
"Your Document is not well formed. Check JavaScript console for details.": "Ihr Dokument ist in keinem sauberen Format. Benutzen Sie die Javascript Console für weitere Informationen.",
@@ -100,7 +100,7 @@
"You must enter the URL where this link points to": "Sie müssen eine Ziel-URL angeben für die Verknüpfung angeben",
// Insert Table
"Insert Table": "Table einfügen",
"Insert Table": "Tabelle einfügen",
"Rows:": "Zeilen:",
"Number of rows": "Zeilenanzahl",
"Cols:": "Spalten:",
@@ -144,5 +144,26 @@
"Set format to paragraph": "Setze Formatierung auf Absatz",
"Clean content pasted from Word": "Von Word eingefügter Text bereinigen",
"Headings": "Überschrift Typ 1 bis 6",
"Close": "Schließen"
"Close": "Schließen",
// Loading messages
"Loading in progress. Please wait!": "Editor wird geladen. Bitte warten !",
"Loading plugin $plugin" : "Plugin $plugin wird geladen",
"Register plugin $plugin" : "Plugin $plugin wird registriert",
"Constructing object": "Objekt wird generiert",
"Generate Xinha framework": "Xinha Framework wird generiert",
"Init editor size":"Größe wird berechnet",
"Create Toolbar": "Werkzeugleiste wird generiert",
"Create Statusbar" : "Statusleiste wird generiert",
"Register right panel" : "Rechtes Panel wird generiert",
"Register left panel" : "Linkes Panel wird generiert",
"Register bottom panel" : "Unteres Panel wird generiert",
"Register top panel" : "Oberes Panel wird generiert",
"Finishing" : "Laden wird abgeschlossen",
// ColorPicker
"Click a color..." : "Farbe wählen",
"Sample" : "Beispiel",
"Web Safe: " : "Web Safe: ",
"Color: " : "Farbe: "
};

169
xinha/lang/eu.js Normal file
View File

@@ -0,0 +1,169 @@
// I18N constants
// LANG: "eu", ENCODING: UTF-8
{
"Bold": "Lodia",
"Italic": "Etzana",
"Underline": "Azpimarratua",
"Strikethrough": "Marratua",
"Subscript": "Azpindizea",
"Superscript": "Goi-indizea",
"Justify Left": "Ezkerretara lerrokatu",
"Justify Center": "Zentratu",
"Justify Right": "Eskuinetara lerrokatu",
"Justify Full": "Justifikatu",
"Ordered List": "Zerrenda ordenatua",
"Bulleted List": "Zerrenda ez ordenatua",
"Decrease Indent": "Koska handitu",
"Increase Indent": "Koska txikitu",
"Font Color": "Testu-kolorea",
"Background Color": "Atzeko kolorea",
"Horizontal Rule": "Marra horizontala",
"Insert Web Link": "Lotura txertatu",
"Insert/Modify Image": "Irudia txertatu",
"Insert Table": "Taula txertatu",
"Toggle HTML Source": "Ikusi dokumentua HTML-n",
"Enlarge Editor": "Editorea handitu",
"About this editor": "Editoreari buruz...",
"Help using editor": "Laguntza",
"Current style": "Uneko estiloa",
"Undoes your last action": "Desegin",
"Redoes your last action": "Berregin",
"Cut selection": "Ebaki hautaketa",
"Copy selection": "Kopiatu hautaketa",
"Paste from clipboard": "Itsatsi arbelean dagoena",
"Direction left to right": "Ezkerretik eskuinetarako norabidea",
"Direction right to left": "Eskuinetik ezkerretarako norabidea",
"Remove formatting": "Formatoa kendu",
"Select all": "Dena aukeratu",
"Print document": "Dokumentua inprimatu",
"Clear MSOffice tags": "MSOffice etiketak ezabatu",
"Clear Inline Font Specifications": "Ezabatu testuaren ezaugarriak",
"Would you like to clear font typefaces?": "Letra-tipoak ezabatu nahi al dituzu?",
"Would you like to clear font sizes?": "Letra-tipoen neurriak ezabatu nahi al dituzu?",
"Would you like to clear font colours?": "Letra-tipoen koloreak ezabatu nahi al dituzu?",
"Split Block": "Blokea zatitu",
"Toggle Borders": "Ertzak trukatu",
"Save as": "Gorde honela:",
"Insert/Overwrite": "Txertatu/Gainidatzi",
"&mdash; format &mdash;": "&mdash; Formatua &mdash;",
"Heading 1": "Goiburua 1",
"Heading 2": "Goiburua 2",
"Heading 3": "Goiburua 3",
"Heading 4": "Goiburua 4",
"Heading 5": "Goiburua 5",
"Heading 6": "Goiburua 6",
"Normal": "Normala",
"Address": "Helbidea",
"Formatted": "Formateatua",
//dialogs
"OK": "Ados",
"Cancel": "Utzi",
"Path": "Bidea",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "TESTU eran ari zara. Erabil ezazu [<>] botoia WYSIWIG erara itzultzeko.",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Itsatsi botoia ez dabil Mozillan oinarritutako nabigatzaileetan (arrazoi teknikoengatik). Sacatu CTRL-V zure teklatuan, zuzenean itsasteko.",
"You need to select some text before create a link": "Testu-atal bat aukeratu behar duzu lehendabizi, lotura bat sortzeko",
"Your Document is not well formed. Check JavaScript console for details.": "Zure dokumentuak ez du formatu zuzena. Begira ezazu JavaScript kontsola xehetasunetarako.",
"Alignment:": "Lerrokatzea:",
"Not set": "Ez gaitua",
"Left": "Ezkerretara",
"Right": "Eskuinetara",
"Texttop": "Irudiaren goialdean",
"Absmiddle": "Irudiaren erdian",
"Baseline": "Irudiaren oinean",
"Absbottom": "Irudiaren behekaldean",
"Bottom": "Behean",
"Middle": "Erdian",
"Top": "Goian",
"Layout": "Diseinua",
"Spacing": "Tartea",
"Horizontal:": "Horizontala:",
"Horizontal padding": "Betegarri horizontala",
"Vertical:": "Bertikala:",
"Vertical padding": "Betegarri bertikala",
"Border thickness:": "Ertzaren lodiera:",
"Leave empty for no border": "Uztazu hutsik ertzik ez sortzeko",
//Insert Link
"Insert/Modify Link": "Lotura txertatu/aldatu",
"None (use implicit)": "Bat ere ez (implizituki erabili)",
"New window (_blank)": "Lehio berrian (_blank)",
"Same frame (_self)": "Frame berean (_self)",
"Top frame (_top)": "Goiko frame-an (_top)",
"Other": "Beste bat",
"Target:": "Helburua:",
"Title (tooltip):": "Izenburua (argibidea):",
"URL:": "URL-a:",
"You must enter the URL where this link points to": "Loturaren helburu den URL-a idatzi behar duzu",
// Insert Table
"Insert Table": "Taula txertatu",
"Rows:": "Lerroak:",
"Number of rows": "Lerro-kopurua",
"Cols:": "Zutabeak:",
"Number of columns": "Zutabe-kopurua",
"Width:": "Zabalera:",
"Width of the table": "Taularen zabalera",
"Percent": "Portzentaia",
"Pixels": "Pixelak",
"Em": "Em",
"Width unit": "Zabalera-unitatea",
"Fixed width columns": "Zabalera finkodun zutabeak",
"Positioning of this table": "Taula honen kokapena",
"Cell spacing:": "Gelaxka-tartea:",
"Space between adjacent cells": "Gelaxka auzokideen arteko tartea",
"Cell padding:": "Gelaxkaren betegarria:",
"Space between content and border in cell": "Gelaxkaren edukia eta ertzaren arteko tartea",
"You must enter a number of rows": "Lerro-kopurua idatzi behar duzu",
"You must enter a number of columns": "Zutabe-kopurua idatzi behar duzu",
// Insert Image
"Insert Image": "Irudia txertatu",
"Image URL:": "Irudiaren URL-a:",
"Enter the image URL here": "Idatz ezazu irudiaren URL-a hemen",
"Preview": "Aurrebista",
"Preview the image in a new window": "Aurreikusi irudia beste lehio batean",
"Alternate text:": "Testu alternatiboa:",
"For browsers that don't support images": "Irudirik onartzen ez duten nabigatzaileentzat",
"Positioning of this image": "Irudiaren kokapena",
"Image Preview:": "Irudiaren aurrebista:",
"You must enter the URL": "URL-a idatzi behar duzu",
"button_bold": "de/bold.gif",
"button_italic": "de/italic.gif",
"button_underline": "de/underline.gif",
// Editor Help
"Keyboard shortcuts": "Laster-teklak",
"The editor provides the following key combinations:": "Editoreak ondorengo tekla-konbinazioak eskaintzen ditu:",
"new paragraph": "Paragrafo berria",
"insert linebreak": "Lerro-jauzia txertatu",
"Set format to paragraph": "Formatua ezarri paragrafoari",
"Clean content pasted from Word": "Word-etik itsatsitako edukia ezabatu",
"Headings": "Goiburuak",
"Close": "Itxi",
// Loading messages
"Loading in progress. Please wait!": "Kargatzen. Itxaron mesedez",
"Loading plugin $plugin" : "$plugin plugina kargatzen",
"Register plugin $plugin" : "$plugin plugina erregistratu",
"Constructing object": "Objektua eraikitzen",
"Generate Xinha framework": "Xinha Framework sortzen",
"Init editor size":"Editorearen hasierako neurria",
"Create Toolbar": "Tresna-barra sortu",
"Create Statusbar" : "Egoera-barra sortu",
"Register right panel" : "Eskuin-panela erregistratu",
"Register left panel" : "Ezker-panela erregistratu",
"Register bottom panel" : "Beheko panela erregistratu",
"Register top panel" : "Goiko panela erregistratu",
"Finishing" : "Bukatzen",
// ColorPicker
"Click a color..." : "Kolore bat aukeratu...",
"Sample" : "Lagina",
"Web Safe: " : "Web Safe: ",
"Color: " : "Kolorea: "
};

167
xinha/lang/fa.js Normal file
View File

@@ -0,0 +1,167 @@
// I18N constants
// LANG: "fa", ENCODING: UTF-8
{
"Bold": "ضخیم",
"Italic": "مورب",
"Underline": "زیر خط",
"Strikethrough": "رو خط",
"Subscript": "زیروند",
"Superscript": "بالاوند",
"Justify Left": "تراز از چپ",
"Justify Center": "تراز در وسط",
"Justify Right": "تراز در راست",
"Justify Full": "تراز از چپ و راست",
"Ordered List": "فهرست مرتب",
"Bulleted List": "فهرست گلوله ای",
"Decrease Indent": "کاهش سر خط",
"Increase Indent": "افزایش سر خط",
"Font Color": "رنگ فلم",
"Background Color": "رنگ پس زمینه",
"Horizontal Rule": "خط افقی",
"Insert Web Link": "افزودن لینک وب",
"Insert/Modify Image": "افزودن یا ویرایش تصویر",
"Insert Table": "افزودن جدول",
"Toggle HTML Source": "مشاهده یا عدم مشاهده متن در قالب HTML",
"Enlarge Editor": "بزرگ کردن ویرایش گر",
"About this editor": "درباره این ویرایش گر",
"Help using editor": "راهنمای استفاده ویرایش گر",
"Current style": "شیوه کنونی",
"Undoes your last action": "برگرداندن آخرین عمل",
"Redoes your last action": "انجام مجدد آخرین عمل",
"Cut selection": "بریدن انتخاب شده",
"Copy selection": "کپی انتخاب شده",
"Paste from clipboard": "چسباندن از تخته کار",
"Direction left to right": "جهت از چپ به راست",
"Direction right to left": "جهت از راست به چپ",
"Remove formatting": "حذف فرمت بندی",
"Select all": "انتخاب همه",
"Print document": "چاپ سند",
"Clear MSOffice tags": "پاک کردن متن از برچسب های MSOffice",
"Clear Inline Font Specifications": "پاک کردن متن از مشخصات فونت",
"Would you like to clear font typefaces?": "آیا تمایل دارید ظاهر فلم را پاک کنید؟",
"Would you like to clear font sizes?": "آیا تمایل دارید اندازه قلم را پاک کنید",
"Would you like to clear font colours?": "آیا تمایل دارید رنگ قلم را پاک کنید؟",
"Split Block": "بلاک جداسازی",
"Toggle Borders": "فعال/غیر فعال کردن لبه ها",
"Save as": "ذخیره مانند...",
"Insert/Overwrite": "افزودن/جانویسی",
"&mdash; format &mdash;": "&mdash; قالب &mdash;",
"Heading 1": "تیتر 1",
"Heading 2": "تیتر 2",
"Heading 3": "تیتر 3",
"Heading 4": "تیتر 4",
"Heading 5": "تیتر 5",
"Heading 6": "تیتر 6",
"Normal": "معمولی",
"Address": "آدرس",
"Formatted": "قالب بندی شده",
//dialogs
"OK": "بله",
"Cancel": "انصراف",
"Path": "مسیر",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "در مد متنی هستید. از دکمه [<>] استفاده نمایید تا به مد WYSIWYG برگردید.",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "دکمه چسباندن در مرورگرهای سری Mozilla کار نمی کند (به دلایل فنی امنیتی).برای چسباندن مستقیم ، دکمه CTRL-V را در صفحه کلید بزنید.",
"Your Document is not well formed. Check JavaScript console for details.": "سند شما بدرستی قالب بندی نشده است. برای اطلاعات بیشتر پایانه نمایش جاوااسکریپت را بررسی کنید.",
"Alignment:": "تراز بندی",
"Not set": "تنظیم نشده",
"Left": "چپ",
"Right": "راست",
"Texttop": "بالای متن",
"Absmiddle": "دقیقا وسط",
"Baseline": "ابتدای خط",
"Absbottom": "دقیقا پایین",
"Bottom": "پایین",
"Middle": "وسط",
"Top": "بالا",
"Layout": "لایه",
"Spacing": "فاصله گذاری",
"Horizontal:": "افقی",
"Horizontal padding": "پرکننده افقی",
"Vertical:": "عمودی",
"Vertical padding": "پرکننده عمودی",
"Border thickness:": "ضخامت لبه",
"Leave empty for no border": "برای بدون لبه خالی رها کن",
//Insert Link
"Insert/Modify Link": "افزودن / ویرایش لینک",
"None (use implicit)": "هیچکدام (استفاده از بدون شرط)",
"New window (_blank)": "پنجره جدید (_blank)",
"Same frame (_self)": "فریم یکسان (_self)",
"Top frame (_top)": "فریم بالایی (_top)",
"Other": "سایر",
"Target:": "هدف",
"Title (tooltip):": "عنوان (راهنمای یک خطی)",
"URL:": "URL:",
"You must enter the URL where this link points to": "باید URLی که این لینک به آن اشاره دارد را وارد کنید",
"You need to select some text before creating a link": "باید قبل از ساخت لینک ، متنی را انتخاب نمایید",
// Insert Table
"Insert Table": "افزودن جدول",
"Rows:": "ردیف ها",
"Number of rows": "تعداد ردیف ها",
"Cols:": "ستون ها",
"Number of columns": "تعداد ستون ها",
"Width:": "طول",
"Width of the table": "طول جدول",
"Percent": "درصد",
"Pixels": "پیکسل ها",
"Em": "Em",
"Width unit": "واحد طول",
"Fixed width columns": "ستون های طول ثابت",
"Positioning of this table": "موقعیت یابی این جدول",
"Cell spacing:": "فاصله سلول ها",
"Space between adjacent cells": "فاصله بین سلول های همجوار",
"Cell padding:": "پر کننده سلول",
"Space between content and border in cell": "فاصله بین محتوا و لبه در سلول",
"You must enter a number of rows": "باید تعداد ردیف ها را وارد کنید",
"You must enter a number of columns": "باید تعداد ستون ها را وارد کنید",
// Insert Image
"Insert Image": "افزودن تصویر",
"Image URL:": "URL تصویر",
"Enter the image URL here": "URL تصویر را اینجا وارد کنید",
"Preview": "پیش نمایش",
"Preview the image in a new window": "پیش نمایش تصویر در پنجره ای جدید",
"Alternate text:": "متن جایگزین",
"For browsers that don't support images": "برای مرورگرهایی که از تصاویر پشتیبانی نمی کنند",
"Positioning of this image": "موقعیت یابی تصویر",
"Image Preview:": "پیش نمایش تصویر",
"You must enter the URL": "شما باید URL را وارد کنید",
// toolbar
"button_bold": "fr/bold.gif",
"button_underline": "fr/underline.gif",
"button_strikethrough": "fr/strikethrough.gif",
// Editor Help
"Xinha Help": "راهنمای Xinha",
"Editor Help": "راهنمای ویرایشگر",
"Keyboard shortcuts": "میانبرهای صفحه کلید",
"The editor provides the following key combinations:": "ویرایشگر استفاده از کلید های گروهی زیر را مسیر می سازد :",
"ENTER": "ENTREE",
"new paragraph": "پاراگراف جدید",
"SHIFT-ENTER": "SHIFT+ENTREE",
"insert linebreak": "افزودن جدا کننده خط",
"Set format to paragraph": "تغییر قالب به پاراگراف",
"Clean content pasted from Word": "تمیز کردن محتوای چسبانده شده از Word",
"Headings": "عنوان گذاری",
"Close": "بستن",
// Loading messages
"Loading in progress. Please wait !": "بارگذاری در حال انجام است. لطفا صبر کنید !",
"Constructing main object": "ساختن شیء اصلی",
"Constructing object": "ساختن شیء",
"Register panel right": "ثبت قاب راست",
"Register panel left": "ثبت قاب چپ",
"Register panel top": "ثبت قاب بالا",
"Register panel bottom": "ثبت قاب پایین",
"Create Toolbar": "ساخت نوار ابزار",
"Create StatusBar": "ساخت نوار وضعیت",
"Generate Xinha object": "تولید شیء Xinha",
"Init editor size": "مقدار دهی اندازه ویرایشگر",
"Init IFrame": "مقدار دهی IFrame",
"Register plugin $plugin": "ثبت پلاگین $plugin"
};

View File

@@ -11,8 +11,8 @@
"Justify Center": "Centrer",
"Justify Right": "Aligner à droite",
"Justify Full": "Justifier",
"Ordered List": "Numérotation",
"Bulleted List": "Puces",
"Ordered List": "Liste numérotée",
"Bulleted List": "Liste à puces",
"Decrease Indent": "Diminuer le retrait",
"Increase Indent": "Augmenter le retrait",
"Font Color": "Couleur de police",
@@ -36,9 +36,12 @@
"Remove formatting": "Supprimer mise en forme",
"Select all": "Tout sélectionner",
"Print document": "Imprimer document",
"Clear MSOffice tags": "Effacer tags MSOffice",
"Clear Inline Font Specifications": "Supprimer paramètres inline de la fonte",
"Split Block": "Séparer les blocks",
"Clear MSOffice tags": "Supprimer tags MSOffice",
"Clear Inline Font Specifications": "Supprimer paramètres inline de la police",
"Would you like to clear font typefaces?": "Voulez-vous supprimer les types ?",
"Would you like to clear font sizes?": "Voulez-vous supprimer les tailles ?",
"Would you like to clear font colours?": "Voulez-vous supprimer les couleurs ?",
"Split Block": "Séparer les blocs",
"Toggle Borders": "Afficher / Masquer les bordures",
"Save as": "Enregistrer sous",
"Insert/Overwrite": "Insertion / Remplacement",
@@ -58,8 +61,8 @@
"Cancel": "Annuler",
"Path": "Chemin",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Vous êtes en MODE TEXTE. Appuyez sur le bouton [<>] pour retourner au mode WYSIWYG.",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Le bouton Coller ne fonctionne pas sur les navigateurs basés sur Mozilla (pour des raisons de sécurité). Pressez simplement CTRL-V au clavier pour coller directement.",
"Your Document is not well formed. Check JavaScript console for details.": "Le document est mal formé. Vérifiez la console JavaScript pour plus de détail.",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Le bouton Coller ne fonctionne pas sur les navigateurs basés sur Mozilla (pour des raisons de sécurité). Pressez CTRL-V au clavier pour coller directement.",
"Your Document is not well formed. Check JavaScript console for details.": "Le document est mal formé. Vérifiez la console JavaScript pour plus de détails.",
"Alignment:": "Alignement",
"Not set": "Indéfini",
@@ -79,7 +82,7 @@
"Horizontal padding": "Marge horizontale interne",
"Vertical:": "Vertical",
"Vertical padding": "Marge verticale interne",
"Border thickness:": "Epaisseur bordure",
"Border thickness:": "Epaisseur de bordure",
"Leave empty for no border": "Laisser vide pour pas de bordure",
//Insert Link
@@ -113,18 +116,54 @@
"Space between adjacent cells": "Espace entre les cellules adjacentes",
"Cell padding:": "Marge interne",
"Space between content and border in cell": "Espace entre le contenu et la bordure d'une cellule",
"You must enter a number of rows": "Vous devez entrez le nombre de lignes",
"You must enter a number of rows": "Vous devez entrer le nombre de lignes",
"You must enter a number of columns": "Vous devez entrer le nombre de colonnes",
// Insert Image
"Insert Image": "Insérer une image",
"Image URL:": "URL image",
"Enter the image URL here": "Entrer l'url de l'image ici",
"Enter the image URL here": "Entrer l'URL de l'image ici",
"Preview": "Prévisualiser",
"Preview the image in a new window": "Prévisualiser l'image dans une nouvelle fenêtre",
"Alternate text:": "Text alternatif",
"Alternate text:": "Texte alternatif",
"For browsers that don't support images": "Pour les navigateurs qui ne supportent pas les images",
"Positioning of this image": "Position de l'image",
"Image Preview:": "Prévisualisation",
"You must enter the URL": "Vous devez entrer l'URL"
"You must enter the URL": "Vous devez entrer l'URL",
// toolbar
"button_bold": "fr/bold.gif",
"button_underline": "fr/underline.gif",
"button_strikethrough": "fr/strikethrough.gif",
// Editor Help
"Xinha Help": "Aide Xinha",
"Editor Help": "Aide de l'éditeur",
"Keyboard shortcuts": "Raccourcis clavier",
"The editor provides the following key combinations:": "L'éditeur fournit les combinaisons de touches suivantes :",
"ENTER": "ENTREE",
"new paragraph": "Nouveau paragraphe",
"SHIFT-ENTER": "SHIFT+ENTREE",
"insert linebreak": "Insère un saut de ligne",
"Set format to paragraph": "Applique le format paragraphe",
"Clean content pasted from Word": "Nettoyage du contenu copié depuis Word",
"Headings": "Titres",
"Close": "Fermer",
// Loading messages
"Loading in progress. Please wait!": "Chargement en cours. Veuillez patienter!",
"Finishing" : "Chargement bientôt terminé",
"Constructing object": "Construction de l'objet",
"Create Toolbar": "Construction de la barre d'icones",
"Create Statusbar": "Construction de la barre de status",
"Register right panel" : "Enregistrement du panneau droit",
"Register left panel" : "Enregistrement du panneau gauche",
"Register bottom panel" : "Enregistrement du panneau supérieur",
"Register top panel" : "Enregistrement du panneau inférieur",
"Generate Xinha framework": "Génération de Xinha",
"Init editor size": "Initialisation de la taille d'édition",
"Init IFrame": "Initialisation de l'iframe",
"Register plugin $plugin": "Enregistrement du plugin $plugin"
"Loading plugin $plugin" : "Chargement du plugin $plugin"
};

View File

@@ -1,5 +1,5 @@
// I18N constants -- Japanese UTF-8
// by Manabu Onoue -- tmocsys@tmocsys.com
// I18N constants
// LANG: "ja", ENCODING: UTF-8N
{
"Bold": "太字",
@@ -19,12 +19,157 @@
"Font Color": "文字色",
"Background Color": "背景色",
"Horizontal Rule": "水平線",
"Insert Web Link": "リンク作成",
"Insert/Modify Image": "画像挿入",
"Insert Table": "テーブル挿入",
"Toggle HTML Source": "HTML表示切替",
"Enlarge Editor": "エディタ拡大",
"Insert Web Link": "リンクの挿入",
"Insert/Modify Image": "画像挿入/修正",
"Insert Table": "テーブル挿入",
"Toggle HTML Source": "HTML編集モードを切替",
"Enlarge Editor": "エディタを最大化",
"About this editor": "バージョン情報",
"Help using editor": "ヘルプ",
"Current style": "現在のスタイル"
}
"Current style": "現在のスタイル",
"Undoes your last action": "元に戻す",
"Redoes your last action": "やり直し",
"Cut selection": "切り取り",
"Copy selection": "コピー",
"Paste from clipboard": "貼り付け",
"Direction left to right": "左から右へ",
"Direction right to left": "右から左へ",
"Remove formatting": "書式削除",
"Select all": "すべて選択",
"Print document": "印刷",
"Clear MSOffice tags": "MSOfficeタグをクリア",
"Clear Inline Font Specifications": "インラインフォント指定をクリア",
"Would you like to clear font typefaces?": "フォント名をクリアしますか?",
"Would you like to clear font sizes?": "サイズをクリアしますか?",
"Would you like to clear font colours?": "色をクリアしますか?",
"Split Block": "領域分割",
"Toggle Borders": "境界線の切替",
"Save as": "名前をつけて保存",
"Insert/Overwrite": "挿入/上書き",
"&mdash; format &mdash;": "&mdash; 書式 &mdash;",
"Heading 1": "見出し1",
"Heading 2": "見出し2",
"Heading 3": "見出し3",
"Heading 4": "見出し4",
"Heading 5": "見出し5",
"Heading 6": "見出し6",
"Normal": "標準",
"Address": "アドレス",
"Formatted": "整形済み",
"&mdash; font &mdash;": "&mdash; フォント &mdash;",
"&mdash; size &mdash;": "&mdash; サイズ &mdash;",
//dialogs
"OK": "OK",
"Cancel": "中止",
"Path": "パス",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "テキストモードで操作しています。WYSIWYG編集に戻るには[<>]ボタンを使ってください。",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "MozillaベースのWebブラウザでは、貼り付けボタンは機能しません技術的なセキュリティ上の理由で。Ctrl+Vキーを押して直接貼り付けてください。",
"Your Document is not well formed. Check JavaScript console for details.": "この文書には構文的な問題があります。詳細はJavaScriptコンソールを参照してください。",
"You need to select some text before creating a link": "リンクを作成するにはテキストを選択する必要があります",
"Alignment:": "行揃え:",
"Not set": "なし",
"Left": "左",
"Right": "右",
"Texttop": "テキスト上部",
"Absmiddle": "中央(絶対的)",
"Baseline": "ベースライン",
"Absbottom": "下(絶対的)",
"Bottom": "下",
"Middle": "中央",
"Top": "上",
"Layout": "レイアウト",
"Spacing": "間隔",
"Horizontal:": "水平:",
"Horizontal padding": "水平余白",
"Vertical:": "垂直:",
"Vertical padding": "垂直余白",
"Border thickness:": "境界線の太さ:",
"Leave empty for no border": "境界線がない場合は空のままにする",
//Insert Link
"Insert/Modify Link": "リンクの挿入/修正",
"None (use implicit)": "なし (デフォルトに任せる)",
"New window (_blank)": "新しいウィンドウ (_blank)",
"Same frame (_self)": "自己フレーム内 (_self)",
"Top frame (_top)": "最上位フレーム (_top)",
"Other": "その他",
"Target:": "ターゲット:",
"Title (tooltip):": "タイトル:",
"URL:": "URL:",
"You must enter the URL where this link points to": "このリンクが指し示すURLを入力してください",
// Insert Table
"Insert Table": "テーブルの挿入",
"Rows:": "行:",
"Number of rows": "行数",
"Cols:": "列:",
"Number of columns": "列数",
"Width:": "幅:",
"Width of the table": "テーブルの幅",
"Percent": "パーセント(%)",
"Pixels": "ピクセル(px)",
"Em": "相対値(em)",
"Width unit": "幅の単位",
"Fixed width columns": "列の幅を固定",
"Positioning of this table": "このテーブルの配置",
"Cell spacing:": "セル間隔:",
"Space between adjacent cells": "隣接するセル間の距離",
"Cell padding:": "セル余白:",
"Space between content and border in cell": "セル内における内容と境界線との距離",
"You must enter a number of rows": "行数を入力してください",
"You must enter a number of columns": "列数を入力してください",
// Insert Image
"Insert Image": "画像の挿入",
"Image URL:": "画像URL:",
"Enter the image URL here": "画像のURLをここに入力します",
"Preview": "表示",
"Preview the image in a new window": "ウィンドウで画像を表示",
"Alternate text:": "代替テキスト:",
"For browsers that don't support images": "画像表示をサポートしないブラウザに必要です",
"Positioning of this image": "画像の配置",
"Image Preview:": "画像表示:",
"You must enter the URL": "URLを入力する必要があります",
//"button_bold": "fr/bold.gif",
//"button_underline": "fr/underline.gif",
//"button_strikethrough": "fr/strikethrough.gif",
// Editor Help
"Xinha Help": "ヘルプ",
"Editor Help": "エディタのヘルプ",
"Keyboard shortcuts": "キーボードショートカット",
"The editor provides the following key combinations:": "エディタは以下のキー操作を提供しています:",
"ENTER": "ENTER",
"new paragraph": "新規段落",
"SHIFT-ENTER": "SHIFT+ENTER",
"insert linebreak": "段落内改行の挿入",
"Set format to paragraph": "段落書式の設定",
"Clean content pasted from Word": "Wordから貼り付けられた内容の清書",
"Headings": "見出し",
"Close": "閉じる",
// Loading messages
"Loading in progress. Please wait!": "ロード中です。しばらくお待ちください",
"Loading plugin $plugin" : "ロード中プラグイン $plugin",
"Register plugin $plugin" : "登録中プラグイン $plugin",
"Constructing object": "オブジェクト構築中",
"Generate Xinha framework": "Xinhaフレームワーク生成中",
"Init editor size":"エディタサイズの初期化",
"Create Toolbar": "ツールバーの作成",
"Create Statusbar" : "ステータスバーの作成",
"Register right panel" : "登録 右パネル",
"Register left panel" : "登録 左パネル",
"Register bottom panel" : "登録 下パネル",
"Register top panel" : "登録 上パネル",
"Finishing" : "完了",
// ColorPicker
"Click a color..." : "色をクリック...",
"Sample" : "サンプル",
"Web Safe: " : "Webセーフ: ",
"Color: " : "色: "
};

View File

@@ -1,31 +1,78 @@
// I18N constants
// LANG: "en", ENCODING: UTF-8
// LANG: "nb", ENCODING: UTF-8
// - translated by ses<ses@online.no>
// Additional translations by Håvard Wigtil <havardw@extend.no>
// Additional translations by Kim Steinhaug <kim@steinhaug.com>
{
"Bold": "Fet",
"Italic": "Kursiv",
"Underline": "Understreket",
"Strikethrough": "Gjennomstreket",
"Subscript": "Senket",
"Superscript": "Hevet",
"Subscript": "Nedsenket",
"Superscript": "Opphøyet",
"Justify Left": "Venstrejuster",
"Justify Center": "Midtjuster",
"Justify Right": "Høyrejuster",
"Justify Full": "Blokkjuster",
"Ordered List": "Nummerert liste",
"Bulleted List": "Punktmerket liste",
"Decrease Indent": "Øke innrykk",
"Increase Indent": "Reduser innrykk",
"Font Color": "Skriftfarge",
"Background Color": "Bakgrunnsfarge",
"Horizontal Rule": "Horisontal linje",
"Insert Web Link": "Sett inn lenke",
"Bulleted List": "Punktliste",
"Decrease Indent": "Reduser innrykk",
"Increase Indent": "Øke innrykk",
"Font Color": "Tekstfarge",
"Background Color": "Bakgrundsfarge",
"Horizontal Rule": "Vannrett linje",
"Insert Web Link": "Lag lenke",
"Insert/Modify Image": "Sett inn bilde",
"Insert Table": "Sett inn tabell",
"Toggle HTML Source": "Vis HTML kode",
"Enlarge Editor": "Forstørr redigeringsvindu",
"About this editor": "Om..",
"Toggle HTML Source": "Vis kildekode",
"Enlarge Editor": "Vis i eget vindu",
"About this editor": "Om denne editor",
"Help using editor": "Hjelp",
"Current style": "Gjeldende stil"
}
"Current style": "Nåværende stil",
"Undoes your last action": "Angrer siste redigering",
"Redoes your last action": "Gjør om siste angring",
"Cut selection": "Klipp ut område",
"Copy selection": "Kopier område",
"Save as": "Lagre som",
"Paste from clipboard": "Lim inn",
"Remove formatting": "Fjern formattering",
"Direction left to right": "Fra venstre mot høyre",
"Direction right to left": "Fra høyre mot venstre",
"Insert/Overwrite": "Sett inn/Overskriv",
"OK": "OK",
"Cancel": "Avbryt",
"Path": "Tekstvelger",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Du er i tekstmodus Klikk på [<>] for å gå tilbake til WYSIWIG.",
"The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Visning i eget vindu har kjente problemer med Internet Explorer, på grunn av problemer med denne nettleseren. Mulige problemer er et uryddig skjermbilde, manglende editorfunksjoner og/eller at nettleseren crasher. Hvis du bruker Windows 95 eller Windows 98 er det også muligheter for at Windows will crashe.\n\nTrykk ",
"Cancel": "Avbryt",
"Insert/Modify Link": "Rediger lenke",
"New window (_blank)": "Eget vindu (_blank)",
"None (use implicit)": "Ingen (bruk standardinnstilling)",
"Other": "Annen",
"Same frame (_self)": "Samme ramme (_self)",
"Target:": "Mål:",
"Title (tooltip):": "Tittel (tooltip):",
"Top frame (_top)": "Toppramme (_top)",
"URL:": "Adresse:",
"You must enter the URL where this link points to": "Du må skrive inn en adresse som denne lenken skal peke til",
"Clear Inline Font Specifications": "Fjerne inline font spesifikasjoner",
"Would you like to clear font typefaces?": "Ønsker du å fjerne skrifttyper",
"Would you like to clear font sizes?": "Ønsker du å fjerne skrift størrelser",
"Would you like to clear font colours?": "Ønsker du å fjerne farger på skriften",
"Print document": "Skriv ut dokumentet",
"Split Block": "Seperasjonsblokk",
"Toggle Borders": "Skru av/på hjelpelinjer på tabeller",
"Select all": "Merk alt",
// Loading messages
"Loading in progress. Please wait !": "WYSIWYG laster, vennligst vent!",
"Constructing main object": "Vennligst vent",
"Create Toolbar": "Lag verktøylinje",
"Register panel right": "Registrer høyrepanel",
"Register panel left": "Registrer venstrepanel",
"Register panel top": "Registrer toppanel",
"Register panel bottom": "Registrer bunnpanel"
};

View File

@@ -1,69 +0,0 @@
// I18N constants
// LANG: "no", ENCODING: UTF-8
// - translated by ses<ses@online.no>
// Additional translations by Håvard Wigtil <havardw@extend.no>
// Additional translations by Kim Steinhaug <kim@steinhaug.com>
{
"Bold": "Fet",
"Italic": "Kursiv",
"Underline": "Understreket",
"Strikethrough": "Gjennomstreket",
"Subscript": "Nedsenket",
"Superscript": "Opphøyet",
"Justify Left": "Venstrejuster",
"Justify Center": "Midtjuster",
"Justify Right": "Høyrejuster",
"Justify Full": "Blokkjuster",
"Ordered List": "Nummerert liste",
"Bulleted List": "Punktliste",
"Decrease Indent": "Reduser innrykk",
"Increase Indent": "Øke innrykk",
"Font Color": "Tekstfarge",
"Background Color": "Bakgrundsfarge",
"Horizontal Rule": "Vannrett linje",
"Insert Web Link": "Lag lenke",
"Insert/Modify Image": "Sett inn bilde",
"Insert Table": "Sett inn tabell",
"Toggle HTML Source": "Vis kildekode",
"Enlarge Editor": "Vis i eget vindu",
"About this editor": "Om denne editor",
"Help using editor": "Hjelp",
"Current style": "Nåværende stil",
"Undoes your last action": "Angrer siste redigering",
"Redoes your last action": "Gjør om siste angring",
"Cut selection": "Klipp ut område",
"Copy selection": "Kopier område",
"Save as": "Lagre som",
"Paste from clipboard": "Lim inn",
"Remove formatting": "Fjern formattering",
"Direction left to right": "Fra venstre mot høyre",
"Direction right to left": "Fra høyre mot venstre",
"Insert/Overwrite": "Sett inn/Overskriv",
"OK": "OK",
"Cancel": "Avbryt",
"Path": "Tekstvelger",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Du er i tekstmodus Klikk på [<>] for å gå tilbake til WYSIWIG.",
"The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Visning i eget vindu har kjente problemer med Internet Explorer, på grunn av problemer med denne nettleseren. Mulige problemer er et uryddig skjermbilde, manglende editorfunksjoner og/eller at nettleseren crasher. Hvis du bruker Windows 95 eller Windows 98 er det også muligheter for at Windows will crashe.\n\nTrykk ",
"Cancel": "Avbryt",
"Insert/Modify Link": "Rediger lenke",
"New window (_blank)": "Eget vindu (_blank)",
"None (use implicit)": "Ingen (bruk standardinnstilling)",
"Other": "Annen",
"Same frame (_self)": "Samme ramme (_self)",
"Target:": "Mål:",
"Title (tooltip):": "Tittel (tooltip):",
"Top frame (_top)": "Toppramme (_top)",
"URL:": "Adresse:",
"You must enter the URL where this link points to": "Du må skrive inn en adresse som denne lenken skal peke til",
"Clear Inline Font Specifications": "Fjerne inline font spesifikasjoner",
"Would you like to clear font typefaces?": "Ønsker du å fjerne skrifttyper",
"Would you like to clear font sizes?": "Ønsker du å fjerne skrift størrelser",
"Would you like to clear font colours?": "Ønsker du å fjerne farger på skriften",
"Print document": "Skriv ut dokumentet",
"Split Block": "Seperasjonsblokk",
"Toggle Borders": "Skru av/på hjelpelinjer på tabeller",
"Select all": "Merk alt"
};

View File

@@ -65,9 +65,9 @@
"Left": "Do lewej",
"Right": "Do prawej",
"Texttop": "Góra tekstu",
"Absmiddle": "Absolutny środek",
"Absmiddle": "Abs. środek",
"Baseline": "Linia bazowa",
"Absbottom": "Absolutny dół",
"Absbottom": "Abs. dół",
"Bottom": "Dół",
"Middle": "Środek",
"Top": "Góra",
@@ -107,7 +107,7 @@
"Width unit": "Jednostka",
"Fixed width columns": "Kolumny o stałej szerokości",
"Positioning of this table": "Pozycjonowanie tabeli",
"Cell spacing:": "Spacjowanie komórek:",
"Cell spacing:": "Odstęp komórek:",
"Space between adjacent cells": "Przestrzeń pomiędzy komórkami",
"Cell padding:": "Wcięcie komórek:",
"Space between content and border in cell": "Przestrzeń między krawędzią a zawartością komórki",

View File

@@ -3,6 +3,10 @@
// LANG: "ru", ENCODING: UTF-8
// Author: Yulya Shtyryakova, <yulya@vdcom.ru>
// Some additions by: Alexey Kirpichnikov, <alexkir@kiwistudio.ru>
// I took French version as a source of English phrases because French version was the most comprehensive
// (fr.js was the largest file, actually) %)
// FOR TRANSLATORS:
//
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
@@ -23,8 +27,8 @@
"Justify Center": "По центру",
"Justify Right": "По правому краю",
"Justify Full": "По ширине",
"Ordered List": "Нумерованный лист",
"Bulleted List": "Маркированный лист",
"Ordered List": "Нумерованный список",
"Bulleted List": "Маркированный список",
"Decrease Indent": "Уменьшить отступ",
"Increase Indent": "Увеличить отступ",
"Font Color": "Цвет шрифта",
@@ -43,8 +47,139 @@
"Cut selection": "Вырезать",
"Copy selection": "Копировать",
"Paste from clipboard": "Вставить",
"Direction left to right": "Направление слева направо",
"Direction right to left": "Направление справа налево",
"Remove formatting": "Убрать форматирование",
"Select all": "Выделить все",
"Print document": "Печать",
"Clear MSOffice tags": "Удалить разметку MSOffice",
"Clear Inline Font Specifications": "Удалить непосредственное задание шрифтов",
"Would you like to clear font typefaces?": "Удалить типы шрифтов?",
"Would you like to clear font sizes?": "Удалить размеры шрифтов ?",
"Would you like to clear font colours?": "Удалить цвета шрифтов ?",
"Split Block": "Разделить блок",
"Toggle Borders": "Включить/выключить отображение границ",
"Save as": "Сохранить как",
"Insert/Overwrite": "Вставка/замена",
"&mdash; format &mdash;": "&mdash; форматирование &mdash;",
"Heading 1": "Заголовок 1",
"Heading 2": "Заголовок 2",
"Heading 3": "Заголовок 3",
"Heading 4": "Заголовок 4",
"Heading 5": "Заголовок 5",
"Heading 6": "Заголовок 6",
"Normal": "Обычный текст",
"Address": "Адрес",
"Formatted": "Отформатированный текст",
"&mdash; font &mdash;": "&mdash; шрифт &mdash;",
"&mdash; size &mdash;": "&mdash; размер &mdash;",
// Диалоги
"OK": "OK",
"Cancel": "Отмена",
"Path": "Путь",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Вы в режиме отображения Html-кода. нажмите кнопку [<>], чтобы переключиться в визуальный режим."
}
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Вы в режиме отображения Html-кода. нажмите кнопку [<>], чтобы переключиться в визуальный режим.",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Кнопка Вставить не работает в браузерах на основе Mozilla (по техническим причинам, связанным с безопасностью). Нажмите Ctrl-V на клавиатуре, чтобы вставить.",
"Your Document is not well formed. Check JavaScript console for details.": "Ваш документ неправильно сформирован. Посмотрите Консоль JavaScript, чтобы узнать подробности.",
"Alignment:": "Выравнивание",
"Not set": "Не установлено",
"Left": "По левому краю",
"Right": "По правому краю",
"Texttop": "По верхней границе текста",
"Absmiddle": "По середине текста",
"Baseline": "По нижней границе текста",
"Absbottom": "По нижней границе",
"Bottom": "По нижнему краю",
"Middle": "Посредине",
"Top": "По верхнему краю",
"Layout": "Расположение",
"Spacing": "Поля",
"Horizontal:": "По горизонтали",
"Horizontal padding": "Горизонтальные поля",
"Vertical:": "По вертикали",
"Vertical padding": "Вертикальные поля",
"Border thickness:": "Толщина рамки",
"Leave empty for no border": "Оставьте пустым, чтобы убрать рамку",
//Insert Link
"Insert/Modify Link": "Вставка/изменение ссылки",
"None (use implicit)": "По умолчанию",
"New window (_blank)": "Новое окно (_blank)",
"Same frame (_self)": "То же окно (_self)",
"Top frame (_top)": "Родительское окно (_top)",
"Other": "Другое",
"Target:": "Открывать в окне:",
"Title (tooltip):": "Всплывающая подсказка",
"URL:": "URL:",
"You must enter the URL where this link points to": "Вы должны указать URL, на который будет указывать ссылка",
"You need to select some text before creating a link": "Вы должны выделить текст, который будет преобразован в ссылку",
// Insert Table
"Insert Table": "Вставка таблицы",
"Rows:": "Строки",
"Number of rows": "Количество строк",
"Cols:": "Столбцы",
"Number of columns": "Количество столбцов",
"Width:": "Ширина",
"Width of the table": "Ширина таблицы",
"Percent": "проценты",
"Pixels": "пикселы",
"Em": "em",
"Width unit": "Единицы измерения",
"Fixed width columns": "Столбцы фиксированной ширины",
"Positioning of this table": "Расположение таблицы",
"Cell spacing:": "Расстояние между ячейками",
"Space between adjacent cells": "Расстояние между соседними ячейками",
"Cell padding:": "Поля в ячейках",
"Space between content and border in cell": "Расстояние между границей ячейки и текстом",
"You must enter a number of rows": "Вы должны ввести количество строк",
"You must enter a number of columns": "Вы должны ввести количество столбцов",
// Insert Image
"Insert Image": "Вставка изображения",
"Image URL:": "URL изображения",
"Enter the image URL here": "Вставьте адрес изображения",
"Preview": "Предварительный просмотр",
"Preview the image in a new window": "Предварительный просмотр в отдельном окне",
"Alternate text:": "Альтернативный текст",
"For browsers that don't support images": "Для браузеров, которые не отображают картинки",
"Positioning of this image": "Расположение изображения",
"Image Preview:": "Предварительный просмотр",
"You must enter the URL": "Вы должны ввести URL",
// Editor Help
"Xinha Help": "Помощь",
"Editor Help": "Помощь",
"Keyboard shortcuts": "Горячие клавиши",
"The editor provides the following key combinations:": "Редактор поддерживает следующие комбинации клавиш:",
"ENTER": "ENTER",
"new paragraph": "новый абзац",
"SHIFT-ENTER": "SHIFT+ENTER",
"insert linebreak": "перенос строки",
"Set format to paragraph": "Отформатировать абзац",
"Clean content pasted from Word": "Очистить текст, вставленный из Word",
"Headings": "Заголовки",
"Close": "Закрыть",
// Loading messages
"Loading in progress. Please wait !": "Загрузка... Пожалуйста, подождите.",
"Constructing main object": "Создание главного объекта",
"Constructing object": "Создание объекта",
"Register panel right": "Регистрация правой панели",
"Register panel left": "Регистрация левой панели",
"Register panel top": "Регистрация верхней панели",
"Register panel bottom": "Регистрация нижней панели",
"Create Toolbar": "Создание панели инструментов",
"Create StatusBar": "Создание панели состояния",
"Generate Xinha object": "Создание объекта Xinha",
"Init editor size": "Инициализация размера редактора",
"Init IFrame": "инициализация iframe",
"Register plugin $plugin": "Регистрация $plugin"
};

View File

@@ -1,32 +0,0 @@
// LANG: "se", ENCODING: UTF-8
// Swedish version for htmlArea v3.0 - Alpha Release
// - translated by pat<pat@engvall.nu>
{
"Bold": "Fet",
"Italic": "Kursiv",
"Underline": "Understruken",
"Strikethrough": "Genomstruken",
"Subscript": "Nedsänkt",
"Superscript": "Upphöjd",
"Justify Left": "Vänsterjustera",
"Justify Center": "Centrera",
"Justify Right": "Högerjustera",
"Justify Full": "Marginaljustera",
"Ordered List": "Numrerad lista",
"Bulleted List": "Punktlista",
"Decrease Indent": "Minska indrag",
"Increase Indent": "Öka indrag",
"Font Color": "Textfärg",
"Background Color": "Bakgrundsfärg",
"Horizontal Rule": "Vågrät linje",
"Insert Web Link": "Infoga länk",
"Insert/Modify Image": "Infoga bild",
"Insert Table": "Infoga tabell",
"Toggle HTML Source": "Visa källkod",
"Enlarge Editor": "Visa i eget fönster",
"About this editor": "Om denna editor",
"Help using editor": "Hjälp",
"Current style": "Nuvarande stil"
}

140
xinha/lang/sh.js Normal file
View File

@@ -0,0 +1,140 @@
// I18N constants
// LANG: "sh", ENCODING: UTF-8 | ISO-8859-2
// Author: Ljuba Ranković, http://www.rankovic.net/ljubar
// FOR TRANSLATORS:
//
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
// (at least a valid email address)
//
// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
// (if this is not possible, please include a comment
// that states what encoding is necessary.)
{
"Bold": "Masno",
"Italic": "Kurziv",
"Underline": "Podvučeno",
"Strikethrough": "Precrtano",
"Subscript": "Indeks-tekst",
"Superscript": "Eksponent-tekst",
"Justify Left":"Ravnanje ulevo",
"Justify Center": "Ravnanje po simetrali",
"Justify Right": "Ravnanje udesno",
"Justify Full": "Puno ravnanje",
"Ordered List": "Lista sa rednim brojevima",
"Bulleted List": "Lista sa simbolima",
"Decrease Indent": "smanji uvlačenje",
"Increase Indent": "Povećaj uvlačenje",
"Font Color": "Boja slova",
"Background Color": "Boja pozadine",
"Horizontal Rule": "Horizontalna linija",
"Insert Web Link": "Dodaj web link",
"Insert/Modify Image": "Dodaj/promeni sliku",
"Insert Table": "Ubaci tabelu",
"Toggle HTML Source": "Prebaci na HTML kod",
"Enlarge Editor": "Povećaj editor",
"About this editor": "O ovom editoru",
"Help using editor": "Pomoć pri korišćenju editora",
"Current style": "Važeći stil",
"Undoes your last action": "Poništava poslednju radnju",
"Redoes your last action": "Vraća poslednju radnju",
"Cut selection": "Iseci izabrano",
"Copy selection": "Kopiraj izabrano",
"Paste from clipboard": "Zalepi iz klipborda",
"Direction left to right": "Pravac s leva na desno",
"Direction right to left": "Pravac s desna na levo",
"Remove formatting": "Ukoni formatiranje",
"Select all": "Izaberi sve",
"Print document": "Štampaj dokument",
"Clear MSOffice tags": "Obriši MSOffice tagove",
"Clear Inline Font Specifications": "Obriši dodeljene osobine fonta",
"Split Block": "Podeli blok",
"Toggle Borders": "Izmeni okvire",
"&mdash; format &mdash;": "&mdash; Format &mdash;",
"Heading 1": "Zaglavlje 1",
"Heading 2": "Zaglavlje 2",
"Heading 3": "Zaglavlje 3",
"Heading 4": "Zaglavlje 4",
"Heading 5": "Zaglavlje 5",
"Heading 6": "Zaglavlje 6",
"Normal": "Običan",
"Address": "Adresa",
"Formatted": "Formatiran",
// dialogs
"OK": "OK",
"Cancel": "Poništi",
"Path": "Putanja",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Nalazite se u TEXT režimu. Koristite [<>] dugme za povratak na WYSIWYG.",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "",
"Alignment:": "Ravnanje",
"Not set": "Nije postavljeno",
"Left": "Levo",
"Right": "Desno",
"Texttop": "Vrh teksta",
"Absmiddle": "Apsolutna sredina",
"Baseline": "Donja linija",
"Absbottom": "Apsolutno dno",
"Bottom": "Dno",
"Middle": "Sredina",
"Top": "Vrh",
"Layout": "Prelom",
"Spacing": "Razmak",
"Horizontal:": "Po horizontali",
"Horizontal padding": "Horizontalno odstojanje",
"Vertical:": "Po vertikali",
"Vertical padding": "Vertikalno odstojanje",
"Border thickness:": "Debljina okvira",
"Leave empty for no border": "Ostavi prazno kad nema okvira",
// Insert Link
"Insert/Modify Link": "Dodaj/promeni Link",
"None (use implicit)": "koristi podrazumevano",
"New window (_blank)": "Novom prozoru (_blank)",
"Same frame (_self)": "Isti frejm (_self)",
"Top frame (_top)": "Glavni frejm (_top)",
"Other": "Drugo",
"Target:": "Otvori u:",
"Title (tooltip):": "Naziv (tooltip):",
"URL:": "URL:",
"You must enter the URL where this link points to": "Morate uneti URL na koji vodi ovaj link",
// Insert Table
"Insert Table": "Ubaci tabelu",
"Rows:": "Redovi",
"Number of rows": "Broj redova",
"Cols:": "Kolone",
"Number of columns": "Broj kolona",
"Width:": "Širina",
"Width of the table": "Širina tabele",
"Percent": "Procenat",
"Pixels": "Pikseli",
"Em": "Em",
"Width unit": "Jedinica širine",
"Fixed width columns": "Fiksirana širina kolona",
"Positioning of this table": "Postavljanje ove tabele",
"Cell spacing:": "Rastojanje ćelija",
"Space between adjacent cells": "Rastojanje naspramnih ćelija",
"Cell padding:": "Unutrašnja odstojanja u ćeliji",
"Space between content and border in cell": "Rastojanje između sadržaja i okvira ćelije",
// Insert Image
"Insert Image": "Ubaci sliku",
"Image URL:": "URL slike",
"Enter the image URL here": "Unesite URL slike ovde",
"Preview": "Pregled",
"Preview the image in a new window": "Pregledaj sliku u novom prozoru",
"Alternate text:": "Alternativni tekst",
"For browsers that don't support images": "Za pretraživače koji ne podržavaju slike",
"Positioning of this image": "Postavljanje ove slike",
"Image Preview:": "Pregled slike",
// Select Color popup
"Select Color": "Izaberite boju"
};

140
xinha/lang/sr.js Normal file
View File

@@ -0,0 +1,140 @@
// I18N constants
// LANG: "sh", ENCODING: UTF-8 | ISO-8859-5
// Author: Ljuba Ranković, http://www.rankovic.net/ljubar
// FOR TRANSLATORS:
//
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
// (at least a valid email address)
//
// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
// (if this is not possible, please include a comment
// that states what encoding is necessary.)
{
"Bold": "Масно",
"Italic": "Курзив",
"Underline": "Подвучено",
"Strikethrough": "Прецртано",
"Subscript": "Индекс-текст",
"Superscript": "Експонент-текст",
"Justify Left": "Равнање улево",
"Justify Center": "Равнање по симетрали",
"Justify Right": "Равнање удесно",
"Justify Full": "Пуно равнање",
"Ordered List": "Листа са редним бројевима",
"Bulleted List": "Листа са симболима",
"Decrease Indent": "Смањи увлачење",
"Increase Indent": "Повећај увлачење",
"Font Color": "Боја слова",
"Background Color": "Боја позадине",
"Horizontal Rule": "Хоризонтална линија",
"Insert Web Link": "додај веб линк",
"Insert/Modify Image": "додај/промени слику",
"Insert Table": "Убаци табелу",
"Toggle HTML Source": "Пребаци на приказ ХТМЛ кода",
"Enlarge Editor": "Повећај едитор",
"About this editor": "О овом едитору",
"Help using editor": "Помоћ при коришћењу едитора",
"Current style": "Важећи стил",
"Undoes your last action": "Поништава последњу радњу",
"Redoes your last action": "Враћа последњу радњу",
"Cut selection": "Исеци изабрано",
"Copy selection": "Копирај изабрано",
"Paste from clipboard": "Залепи из клипборда",
"Direction left to right": "Правац с лева на десно",
"Direction right to left": "Правац с десна на лево",
"Remove formatting": "Уклони форматирање",
"Select all": "Изабери све",
"Print document": "Штампај документ",
"Clear MSOffice tags": "Обриши MSOffice тагове",
"Clear Inline Font Specifications": "Обриши примењене особине фонта",
"Split Block": "Подели блок",
"Toggle Borders": "Пребаци оквирне линије",
"&mdash; format &mdash;": "&mdash; Format &mdash;",
"Heading 1": "Заглавље 1",
"Heading 2": "Заглавље 2",
"Heading 3": "Заглавље 3",
"Heading 4": "Заглавље 4",
"Heading 5": "Заглавље 5",
"Heading 6": "Заглавље 6",
"Normal": "обичан",
"Address": "адреса",
"Formatted": "форматиран",
// dialogs
"OK": "OK",
"Cancel": "Поништи",
"Path": "Путања",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Налазите се у ТЕКСТ режиму. Користите [<>] дугме за повратак на ШВТИД (WYSIWYG).",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Дугме 'залепи' не ради у претраживачима породице Mozilla (из разлога сигурности). Притисните CTRL-V на тастатури да директно залепите.",
"Alignment:": "Равнање",
"Not set": "Није постављено",
"Left": "Лево",
"Right": "Десно",
"Texttop": "Врх текста",
"Absmiddle": "Апсолутна средина",
"Baseline": "Доња линија",
"Absbottom": "Апсолутно дно",
"Bottom": "Дно",
"Middle": "Средина",
"Top": "Врх",
"Layout": "Прелом",
"Spacing": "Размак",
"Horizontal:": "По хоризонтали",
"Horizontal padding": "Хортизонтално одстојање",
"Vertical:": "По вертикали",
"Vertical padding": "Вертикално одстојање",
"Border thickness:": "Дебљина оквира",
"Leave empty for no border": "Остави празно кад нема оквира",
// Insert Link
"Insert/Modify Link": "додај/промени линк",
"None (use implicit)": "користи подразумевано",
"New window (_blank)": "Новом прозору (_blank)",
"Same frame (_self)": "Исти фрејм (_self)",
"Top frame (_top)": "Главни фрејм (_top)",
"Other": "Друго",
"Target:": "Отвори у:",
"Title (tooltip):": "Назив (tooltip):",
"URL:": "УРЛ:",
"You must enter the URL where this link points to": "Морате унети УРЛ на који води овај линк",
// Insert Table
"Insert Table": "Убаци табелу",
"Rows:": "Редови",
"Number of rows": "Број редова",
"Cols:": "Колоне",
"Number of columns": "Број колона",
"Width:": "Ширина",
"Width of the table": "Ширина табеле",
"Percent": "Процената",
"Pixels": "Пиксела",
"Em": "Ем",
"Width unit": "Јединица ширине",
"Fixed width columns": "Фиксирана ширина колоне",
"Positioning of this table": "Постављање ове табеле",
"Cell spacing:": "Размак између ћелија",
"Space between adjacent cells": "Размак између наспрамних ћелија",
"Cell padding:": "Унутрашња одстојања од ивица ћелије",
"Space between content and border in cell": "Растојање између садржаја у ћелији и њеног оквира",
// Insert Image
"Insert Image": "Убаци слику",
"Image URL:": "УРЛ слике",
"Enter the image URL here": "Унесите УРЛ слике овде",
"Preview": "Преглед",
"Preview the image in a new window": "Прегледај слику у новом прозору",
"Alternate text:": "алтернативни текст",
"For browsers that don't support images": "За претраживаче који не подржавају слике",
"Positioning of this image": "Постављање ове слике",
"Image Preview:": "Преглед слике",
// Select Color popup
"Select Color": "Изабери боју"
};

116
xinha/lang/sv.js Normal file
View File

@@ -0,0 +1,116 @@
// I18N constants
// LANG: "sv", ENCODING: UTF-8
// Swedish version for htmlArea v3.0
// Initital translation by pat <pat@engvall.nu>
// Synced with additional contants in rev. 477 (Mar 2006) by Thomas Loo <tloo@saltstorm.net>
{
"Bold": "Fet",
"Italic": "Kursiv",
"Underline": "Understruken",
"Strikethrough": "Genomstruken",
"Subscript": "Nedsänkt",
"Superscript": "Upphöjd",
"Justify Left": "Vänsterjustera",
"Justify Center": "Centrera",
"Justify Right": "Högerjustera",
"Justify Full": "Marginaljustera",
"Ordered List": "Numrerad lista",
"Bulleted List": "Punktlista",
"Decrease Indent": "Minska indrag",
"Increase Indent": "Öka indrag",
"Font Color": "Textfärg",
"Background Color": "Bakgrundsfärg",
"Horizontal Rule": "Vågrät linje",
"Insert Web Link": "Infoga länk",
"Insert/Modify Image": "Infoga bild",
"Toggle HTML Source": "Visa källkod",
"Enlarge Editor": "Visa i eget fönster",
"About this editor": "Om denna editor",
"Help using editor": "Hjälp",
"Current style": "Nuvarande stil",
"Undoes your last action": "Ångra kommando",
"Redoes your last action": "Upprepa kommando",
"Select all": "Markera allt",
"Print document": "Skriv ut",
"Clear MSOffice tags": "Städa bort MS Office taggar",
"Clear Inline Font Specifications": "Rensa inbäddad typsnittsinformation",
"Remove formatting": "Rensa formattering",
"Toggle Borders": "Objektramar",
"Split Block": "Dela block",
"Direction left to right": "Vänster till höger",
"Direction right to left": "Höger till vänster",
"Insert/Overwrite": "Infoga/Skriv över",
"OK": "OK",
"Cancel": "Avbryt",
"Path": "Objekt",
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Du befinner dig i texläge. Klicka på ikonen [<>] ovan för att växla tillbaka till WYSIWIG läge",
"The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Visning i fullskärmsläga fungerar dåligt i din webläsare. Möjliga problem resulterar i en ryckig editor, saknade editorfunktioner och/eller att webläsaren kraschar. Om du använder Windows 95/98 finns också möjligheten att Windows kraschar.\n\nTryck ",
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Denna knapp fungerar ej i Mozillabaserad webläsare, använd istället snabbtangenterna CTRL-V på tangentbordet för att klistra in.",
"Insert/Modify Link": "Redigera länk",
"New window (_blank)": "Nytt fönster (_blank)",
"None (use implicit)": "Ingen (använd standardinställing)",
"Other": "Annan",
"Same frame (_self)": "Samma ram (_self)",
"Target:": "Mål:",
"Title (tooltip):": "Titel (tooltip):",
"Top frame (_top)": "Toppram (_top)",
"URL:": "Sökväg:",
"You must enter the URL where this link points to": "Du måsta ange en adress till vilken länken skall peka på",
"Would you like to clear font typefaces?": "Radera alla typsnittsinformation ?",
"Would you like to clear font sizes?": "Radera alla fontstorlekar ?",
"Would you like to clear font colours?": "Ta bort all textfärger ?",
"You need to select some text before creating a link": "Du måsta markera ett objekt att applicera länken på!",
// Insert Table
"Insert Table": "Infoga tabell",
"Rows:": "Rader:",
"Number of rows": "Antal rader",
"Cols:": "Kolumner:",
"Number of columns": "Antal kolumner",
"Width:": "Bredd:",
"Width of the table": "Tabellbredd",
"Percent": "Procent",
"Pixels": "Pixlar",
"Em": "",
"Width unit": "Breddenheter",
"Fixed width columns": "Fixerad bredd",
"Alignment:": "Marginaljustering",
"Positioning of this table": "Tabellposition",
"Border thickness:": "Ramtjocklek",
"Leave empty for no border": "Lämna fältet tomt för att undvika ramar",
"Spacing": "Cellegenskaper",
"Cell spacing:": "Cellmarginaler:",
"Space between adjacent cells": "Utrymme mellan celler",
"Cell padding:": "Cellindrag:",
"Space between content and border in cell": "Utrymme mellan ram och cellinnehåll",
"You must enter a number of rows": "Ange ental rader",
"You must enter a number of columns": "Ange antal kolumner",
// Editor Help
"Keyboard shortcuts": "Snabbtangenter",
"The editor provides the following key combinations:": "Editorn nyttjar följande kombinationer:",
"new paragraph": "Ny paragraf ",
"insert linebreak": "Infoga radbrytning ",
"Set format to paragraph": "Aktivera paragrafläge",
"Clean content pasted from Word": "Rensa innehåll inklistrat från MS Word",
"Headings": "Skapa standardrubrik",
"Cut selection": "Klipp ut markering",
"Copy selection": "Kopiera markering",
"Paste from clipboard": "Klistra in",
"Close": "Stäng",
// Loading messages
"Loading in progress. Please wait !": "Editorn laddas. Vänta...",
"Constructing main object": "Skapar huvudobjekt",
"Create Toolbar": "Skapar verktygspanel",
"Register panel right": "Registerar panel höger",
"Register panel left": "Registerar panel vänster",
"Register panel top": "Registerar toppanel",
"Register panel bottom": "Registerar fotpanel"
}

View File

@@ -0,0 +1,590 @@
ColorPicker._pluginInfo={name:"colorPicker",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};
function ColorPicker(){
}
if(window.opener&&window.opener.Xinha){
var openerColorPicker=window.opener.Xinha.colorPicker;
Xinha._addEvent(window,"unload",function(){
Xinha.colorPicker=openerColorPicker;
});
}
Xinha.colorPicker=function(_1){
if(Xinha.colorPicker.savedColors.length===0){
Xinha.colorPicker.loadColors();
}
var _2=this;
var _3=false;
var _4=false;
var _5=0;
var _6=0;
this.callback=_1.callback?_1.callback:function(_7){
alert("You picked "+_7);
};
this.websafe=_1.websafe?_1.websafe:false;
this.savecolors=_1.savecolors?_1.savecolors:20;
this.cellsize=parseInt(_1.cellsize?_1.cellsize:"10px",10);
this.side=_1.granularity?_1.granularity:18;
var _8=this.side+1;
var _9=this.side-1;
this.value=1;
this.saved_cells=null;
this.table=document.createElement("table");
this.table.className="dialog";
this.table.cellSpacing=this.table.cellPadding=0;
this.table.onmouseup=function(){
_3=false;
_4=false;
};
this.tbody=document.createElement("tbody");
this.table.appendChild(this.tbody);
this.table.style.border="1px solid WindowFrame";
this.table.style.zIndex="1050";
var tr=document.createElement("tr");
var td=document.createElement("td");
td.colSpan=this.side;
td.className="title";
td.style.fontFamily="small-caption,caption,sans-serif";
td.style.fontSize="x-small";
td.unselectable="on";
td.style.MozUserSelect="none";
td.style.cursor="default";
td.appendChild(document.createTextNode(Xinha._lc("Click a color...")));
td.style.borderBottom="1px solid WindowFrame";
tr.appendChild(td);
td=null;
var td=document.createElement("td");
td.className="title";
td.colSpan=2;
td.style.fontFamily="Tahoma,Verdana,sans-serif";
td.style.borderBottom="1px solid WindowFrame";
td.style.paddingRight="0";
tr.appendChild(td);
var _c=document.createElement("div");
_c.title=Xinha._lc("Close");
_c.className="buttonColor";
_c.style.height="11px";
_c.style.width="11px";
_c.style.cursor="pointer";
_c.onclick=function(){
_2.close();
};
_c.appendChild(document.createTextNode("\xd7"));
_c.align="center";
_c.style.verticalAlign="top";
_c.style.position="relative";
_c.style.cssFloat="right";
_c.style.styleFloat="right";
_c.style.padding="0";
_c.style.margin="2px";
_c.style.backgroundColor="transparent";
_c.style.fontSize="11px";
if(!Xinha.is_ie){
_c.style.lineHeight="9px";
}
_c.style.letterSpacing="0";
td.appendChild(_c);
this.tbody.appendChild(tr);
_c=tr=td=null;
this.constrain_cb=document.createElement("input");
this.constrain_cb.type="checkbox";
this.chosenColor=document.createElement("input");
this.chosenColor.type="text";
this.chosenColor.maxLength=7;
this.chosenColor.style.width="50px";
this.chosenColor.style.fontSize="11px";
this.chosenColor.onchange=function(){
if(/#[0-9a-f]{6,6}/i.test(this.value)){
_2.backSample.style.backgroundColor=this.value;
_2.foreSample.style.color=this.value;
}
};
this.backSample=document.createElement("div");
this.backSample.appendChild(document.createTextNode("\xa0"));
this.backSample.style.fontWeight="bold";
this.backSample.style.fontFamily="small-caption,caption,sans-serif";
this.backSample.fontSize="x-small";
this.foreSample=document.createElement("div");
this.foreSample.appendChild(document.createTextNode(Xinha._lc("Sample")));
this.foreSample.style.fontWeight="bold";
this.foreSample.style.fontFamily="small-caption,caption,sans-serif";
this.foreSample.fontSize="x-small";
function toHex(_d){
var h=_d.toString(16);
if(h.length<2){
h="0"+h;
}
return h;
}
function tupleToColor(_f){
return "#"+toHex(_f.red)+toHex(_f.green)+toHex(_f.blue);
}
function nearestPowerOf(num,_11){
return Math.round(Math.round(num/_11)*_11);
}
function doubleHexDec(dec){
return parseInt(dec.toString(16)+dec.toString(16),16);
}
function rgbToWebsafe(_13){
_13.red=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.red).charAt(0),16),3));
_13.blue=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.blue).charAt(0),16),3));
_13.green=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.green).charAt(0),16),3));
return _13;
}
function hsvToRGB(h,s,v){
var _17;
if(s===0){
_17={red:v,green:v,blue:v};
}else{
h/=60;
var i=Math.floor(h);
var f=h-i;
var p=v*(1-s);
var q=v*(1-s*f);
var t=v*(1-s*(1-f));
switch(i){
case 0:
_17={red:v,green:t,blue:p};
break;
case 1:
_17={red:q,green:v,blue:p};
break;
case 2:
_17={red:p,green:v,blue:t};
break;
case 3:
_17={red:p,green:q,blue:v};
break;
case 4:
_17={red:t,green:p,blue:v};
break;
default:
_17={red:v,green:p,blue:q};
break;
}
}
_17.red=Math.ceil(_17.red*255);
_17.green=Math.ceil(_17.green*255);
_17.blue=Math.ceil(_17.blue*255);
return _17;
}
var _1d=this;
function closeOnBodyClick(ev){
ev=ev?ev:window.event;
el=ev.target?ev.target:ev.srcElement;
do{
if(el==_1d.table){
return;
}
}while(el=el.parentNode);
_1d.close();
}
this.open=function(_1f,_20,_21){
this.table.style.display="";
this.pick_color();
if(_21&&/#[0-9a-f]{6,6}/i.test(_21)){
this.chosenColor.value=_21;
this.backSample.style.backgroundColor=_21;
this.foreSample.style.color=_21;
}
Xinha._addEvent(document.body,"mousedown",closeOnBodyClick);
this.table.style.position="absolute";
var e=_20;
var top=0;
var _24=0;
do{
top+=e.offsetTop;
_24+=e.offsetLeft;
e=e.offsetParent;
}while(e);
var x,y;
if(/top/.test(_1f)||(top+this.table.offsetHeight>document.body.offsetHeight)){
if(top-this.table.offsetHeight>0){
this.table.style.top=(top-this.table.offsetHeight)+"px";
}else{
this.table.style.top=0;
}
}else{
this.table.style.top=(top+_20.offsetHeight)+"px";
}
if(/left/.test(_1f)||(_24+this.table.offsetWidth>document.body.offsetWidth)){
if(_24-(this.table.offsetWidth-_20.offsetWidth)>0){
this.table.style.left=(_24-(this.table.offsetWidth-_20.offsetWidth))+"px";
}else{
this.table.style.left=0;
}
}else{
this.table.style.left=_24+"px";
}
};
function pickCell(_26){
_2.chosenColor.value=_26.colorCode;
_2.backSample.style.backgroundColor=_26.colorCode;
_2.foreSample.style.color=_26.colorCode;
if((_26.hue>=195&&_26.saturation>0.5)||(_26.hue===0&&_26.saturation===0&&_26.value<0.5)||(_26.hue!==0&&_2.value<0.75)){
_26.style.borderColor="#fff";
}else{
_26.style.borderColor="#000";
}
_5=_26.thisrow;
_6=_26.thiscol;
}
function pickValue(_27){
if(_2.value<0.5){
_27.style.borderColor="#fff";
}else{
_27.style.borderColor="#000";
}
_9=_27.thisrow;
_8=_27.thiscol;
_2.chosenColor.value=_2.saved_cells[_5][_6].colorCode;
_2.backSample.style.backgroundColor=_2.saved_cells[_5][_6].colorCode;
_2.foreSample.style.color=_2.saved_cells[_5][_6].colorCode;
}
function unpickCell(row,col){
_2.saved_cells[row][col].style.borderColor=_2.saved_cells[row][col].colorCode;
}
this.pick_color=function(){
var _2a,cols;
var _2b=this;
var _2c=359/(this.side);
var _2d=1/(this.side-1);
var _2e=1/(this.side-1);
var _2f=this.constrain_cb.checked;
if(this.saved_cells===null){
this.saved_cells=[];
for(var row=0;row<this.side;row++){
var tr=document.createElement("tr");
this.saved_cells[row]=[];
for(var col=0;col<this.side;col++){
var td=document.createElement("td");
if(_2f){
td.colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(_2c*row,_2d*col,this.value)));
}else{
td.colorCode=tupleToColor(hsvToRGB(_2c*row,_2d*col,this.value));
}
this.saved_cells[row][col]=td;
td.style.height=this.cellsize+"px";
td.style.width=this.cellsize-2+"px";
td.style.borderWidth="1px";
td.style.borderStyle="solid";
td.style.borderColor=td.colorCode;
td.style.backgroundColor=td.colorCode;
if(row==_5&&col==_6){
td.style.borderColor="#000";
this.chosenColor.value=td.colorCode;
this.backSample.style.backgroundColor=td.colorCode;
this.foreSample.style.color=td.colorCode;
}
td.hue=_2c*row;
td.saturation=_2d*col;
td.thisrow=row;
td.thiscol=col;
td.onmousedown=function(){
_3=true;
_2b.saved_cells[_5][_6].style.borderColor=_2b.saved_cells[_5][_6].colorCode;
pickCell(this);
};
td.onmouseover=function(){
if(_3){
pickCell(this);
}
};
td.onmouseout=function(){
if(_3){
this.style.borderColor=this.colorCode;
}
};
td.ondblclick=function(){
Xinha.colorPicker.remember(this.colorCode,_2b.savecolors);
_2b.callback(this.colorCode);
_2b.close();
};
td.appendChild(document.createTextNode(" "));
td.style.cursor="pointer";
tr.appendChild(td);
td=null;
}
var td=document.createElement("td");
td.appendChild(document.createTextNode(" "));
td.style.width=this.cellsize+"px";
tr.appendChild(td);
td=null;
var td=document.createElement("td");
this.saved_cells[row][col+1]=td;
td.appendChild(document.createTextNode(" "));
td.style.width=this.cellsize-2+"px";
td.style.height=this.cellsize+"px";
td.constrainedColorCode=tupleToColor(rgbToWebsafe(hsvToRGB(0,0,_2e*row)));
td.style.backgroundColor=td.colorCode=tupleToColor(hsvToRGB(0,0,_2e*row));
td.style.borderWidth="1px";
td.style.borderStyle="solid";
td.style.borderColor=td.colorCode;
if(row==_9){
td.style.borderColor="black";
}
td.hue=_2c*row;
td.saturation=_2d*col;
td.hsv_value=_2e*row;
td.thisrow=row;
td.thiscol=col+1;
td.onmousedown=function(){
_4=true;
_2b.saved_cells[_9][_8].style.borderColor=_2b.saved_cells[_9][_8].colorCode;
_2b.value=this.hsv_value;
_2b.pick_color();
pickValue(this);
};
td.onmouseover=function(){
if(_4){
_2b.value=this.hsv_value;
_2b.pick_color();
pickValue(this);
}
};
td.onmouseout=function(){
if(_4){
this.style.borderColor=this.colorCode;
}
};
td.style.cursor="pointer";
tr.appendChild(td);
td=null;
this.tbody.appendChild(tr);
tr=null;
}
var tr=document.createElement("tr");
this.saved_cells[row]=[];
for(var col=0;col<this.side;col++){
var td=document.createElement("td");
if(_2f){
td.colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(0,0,_2e*(this.side-col-1))));
}else{
td.colorCode=tupleToColor(hsvToRGB(0,0,_2e*(this.side-col-1)));
}
this.saved_cells[row][col]=td;
td.style.height=this.cellsize+"px";
td.style.width=this.cellsize-2+"px";
td.style.borderWidth="1px";
td.style.borderStyle="solid";
td.style.borderColor=td.colorCode;
td.style.backgroundColor=td.colorCode;
td.hue=0;
td.saturation=0;
td.value=_2e*(this.side-col-1);
td.thisrow=row;
td.thiscol=col;
td.onmousedown=function(){
_3=true;
_2b.saved_cells[_5][_6].style.borderColor=_2b.saved_cells[_5][_6].colorCode;
pickCell(this);
};
td.onmouseover=function(){
if(_3){
pickCell(this);
}
};
td.onmouseout=function(){
if(_3){
this.style.borderColor=this.colorCode;
}
};
td.ondblclick=function(){
Xinha.colorPicker.remember(this.colorCode,_2b.savecolors);
_2b.callback(this.colorCode);
_2b.close();
};
td.appendChild(document.createTextNode(" "));
td.style.cursor="pointer";
tr.appendChild(td);
td=null;
}
this.tbody.appendChild(tr);
tr=null;
var tr=document.createElement("tr");
var td=document.createElement("td");
tr.appendChild(td);
td.colSpan=this.side+2;
td.style.padding="3px";
if(this.websafe){
var div=document.createElement("div");
var _35=document.createElement("label");
_35.appendChild(document.createTextNode(Xinha._lc("Web Safe: ")));
this.constrain_cb.onclick=function(){
_2b.pick_color();
};
_35.appendChild(this.constrain_cb);
_35.style.fontFamily="small-caption,caption,sans-serif";
_35.style.fontSize="x-small";
div.appendChild(_35);
td.appendChild(div);
div=null;
}
var div=document.createElement("div");
var _35=document.createElement("label");
_35.style.fontFamily="small-caption,caption,sans-serif";
_35.style.fontSize="x-small";
_35.appendChild(document.createTextNode(Xinha._lc("Color: ")));
_35.appendChild(this.chosenColor);
div.appendChild(_35);
var but=document.createElement("span");
but.className="buttonColor ";
but.style.fontSize="13px";
but.style.width="24px";
but.style.marginLeft="2px";
but.style.padding="0px 4px";
but.style.cursor="pointer";
but.onclick=function(){
Xinha.colorPicker.remember(_2b.chosenColor.value,_2b.savecolors);
_2b.callback(_2b.chosenColor.value);
_2b.close();
};
but.appendChild(document.createTextNode("OK"));
but.align="center";
div.appendChild(but);
td.appendChild(div);
var _37=document.createElement("table");
_37.style.width="100%";
var _38=document.createElement("tbody");
_37.appendChild(_38);
var _39=document.createElement("tr");
_38.appendChild(_39);
var _3a=document.createElement("td");
_39.appendChild(_3a);
_3a.appendChild(this.backSample);
_3a.style.width="50%";
var _3b=document.createElement("td");
_39.appendChild(_3b);
_3b.appendChild(this.foreSample);
_3b.style.width="50%";
td.appendChild(_37);
var _3c=document.createElement("div");
_3c.style.clear="both";
function createSavedColors(_3d){
var _3e=false;
var div=document.createElement("div");
div.style.width=_2b.cellsize+"px";
div.style.height=_2b.cellsize+"px";
div.style.margin="1px";
div.style.border="1px solid black";
div.style.cursor="pointer";
div.style.backgroundColor=_3d;
div.style[_3e?"styleFloat":"cssFloat"]="left";
div.ondblclick=function(){
_2b.callback(_3d);
_2b.close();
};
div.onclick=function(){
_2b.chosenColor.value=_3d;
_2b.backSample.style.backgroundColor=_3d;
_2b.foreSample.style.color=_3d;
};
_3c.appendChild(div);
}
for(var _40=0;_40<Xinha.colorPicker.savedColors.length;_40++){
createSavedColors(Xinha.colorPicker.savedColors[_40]);
}
td.appendChild(_3c);
this.tbody.appendChild(tr);
document.body.appendChild(this.table);
}else{
for(var row=0;row<this.side;row++){
for(var col=0;col<this.side;col++){
if(_2f){
this.saved_cells[row][col].colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(_2c*row,_2d*col,this.value)));
}else{
this.saved_cells[row][col].colorCode=tupleToColor(hsvToRGB(_2c*row,_2d*col,this.value));
}
this.saved_cells[row][col].style.backgroundColor=this.saved_cells[row][col].colorCode;
this.saved_cells[row][col].style.borderColor=this.saved_cells[row][col].colorCode;
}
}
var _41=this.saved_cells[_5][_6];
this.chosenColor.value=_41.colorCode;
this.backSample.style.backgroundColor=_41.colorCode;
this.foreSample.style.color=_41.colorCode;
if((_41.hue>=195&&_41.saturation>0.5)||(_41.hue===0&&_41.saturation===0&&_41.value<0.5)||(_41.hue!==0&&_2b.value<0.75)){
_41.style.borderColor="#fff";
}else{
_41.style.borderColor="#000";
}
}
};
this.close=function(){
Xinha._removeEvent(document.body,"mousedown",closeOnBodyClick);
this.table.style.display="none";
};
};
Xinha.colorPicker.savedColors=[];
Xinha.colorPicker.remember=function(_42,_43){
for(var i=Xinha.colorPicker.savedColors.length;i--;){
if(Xinha.colorPicker.savedColors[i]==_42){
return false;
}
}
Xinha.colorPicker.savedColors.splice(0,0,_42);
Xinha.colorPicker.savedColors=Xinha.colorPicker.savedColors.slice(0,_43);
var _45=new Date();
_45.setMonth(_45.getMonth()+1);
document.cookie="XinhaColorPicker="+escape(Xinha.colorPicker.savedColors.join("-"))+";expires="+_45.toGMTString();
return true;
};
Xinha.colorPicker.loadColors=function(){
var _46=document.cookie.indexOf("XinhaColorPicker");
if(_46!=-1){
var _47=(document.cookie.indexOf("=",_46)+1);
var end=document.cookie.indexOf(";",_46);
if(end==-1){
end=document.cookie.length;
}
Xinha.colorPicker.savedColors=unescape(document.cookie.substring(_47,end)).split("-");
}
};
Xinha.colorPicker._lc=function(_49){
return Xinha._lc(_49);
};
Xinha.colorPicker.InputBinding=function(_4a,_4b){
var _4c=document.createElement("span");
_4c.className="buttonColor";
var _4d=this.chooser=document.createElement("span");
_4d.className="chooser";
if(_4a.value){
_4d.style.backgroundColor=_4a.value;
}
_4d.onmouseover=function(){
_4d.className="chooser buttonColor-hilite";
};
_4d.onmouseout=function(){
_4d.className="chooser";
};
_4d.appendChild(document.createTextNode("\xa0"));
_4c.appendChild(_4d);
var _4e=document.createElement("span");
_4e.className="nocolor";
_4e.onmouseover=function(){
_4e.className="nocolor buttonColor-hilite";
_4e.style.color="#f00";
};
_4e.onmouseout=function(){
_4e.className="nocolor";
_4e.style.color="#000";
};
_4e.onclick=function(){
_4a.value="";
_4d.style.backgroundColor="";
};
_4e.appendChild(document.createTextNode("\xd7"));
_4c.appendChild(_4e);
_4a.parentNode.insertBefore(_4c,_4a.nextSibling);
Xinha._addEvent(_4a,"change",function(){
_4d.style.backgroundColor=this.value;
});
_4b=(_4b)?Xinha.cloneObject(_4b):{cellsize:"5px"};
_4b.callback=(_4b.callback)?_4b.callback:function(_4f){
_4d.style.backgroundColor=_4f;
_4a.value=_4f;
};
_4d.onclick=function(){
var _50=new Xinha.colorPicker(_4b);
_50.open("",_4d,_4a.value);
};
};

View File

@@ -2,16 +2,16 @@
<head>
<title>Insert/Modify Link</title>
<script type="text/javascript" src="popup.js"></script>
<link rel="stylesheet" type="text/css" href="popup.css" />
<script type="text/javascript" src="../../popups/popup.js"></script>
<link rel="stylesheet" type="text/css" href="../../popups/popup.css" />
<script type="text/javascript">
window.resizeTo(400, 200);
HTMLArea = window.opener.HTMLArea;
Xinha = window.opener.Xinha;
function i18n(str) {
return (HTMLArea._lc(str, 'HTMLArea'));
return (Xinha._lc(str, 'Xinha'));
}
function onTargetChanged() {
@@ -24,7 +24,7 @@ function onTargetChanged() {
}
function Init() {
__dlg_translate('HTMLArea');
__dlg_translate('Xinha');
__dlg_init();
// Make sure the translated string appears in the drop down. (for gecko)
@@ -54,7 +54,7 @@ function Init() {
if (! use_target) {
document.getElementById("f_target_label").style.visibility = "hidden";
document.getElementById("f_target").style.visibility = "hidden";
document.getElementById("f_target_other").style.visibility = "hidden";
document.getElementById("f_other_target").style.visibility = "hidden";
}
var opt = document.createElement("option");
opt.value = "_other";

Some files were not shown because too many files have changed in this diff Show More