Index: /FCKeditor/branches/features/floating_dialog/_dev/fixlineends.php
===================================================================
--- /FCKeditor/branches/features/floating_dialog/_dev/fixlineends.php	(revision 1389)
+++ /FCKeditor/branches/features/floating_dialog/_dev/fixlineends.php	(revision 1389)
@@ -0,0 +1,374 @@
+<?php
+//Script for automatic line-ending corrections
+//Requires PHP5 to run
+//http://www.gophp5.org/ ;)
+
+error_reporting(E_ALL | E_STRICT);
+
+/**
+ * Strip whitespace from the end of file
+ *
+ */
+define('EOF_STRIP_WHITESPACE', true);
+/**
+ * Force new line character at the end of file
+ *
+ */
+define('EOF_NEW_LINE', true);
+
+/**
+ * Carriage return
+ *
+ */
+define('CR', "\r");
+/**
+ * Line feed
+ *
+ */
+define('LF', "\n");
+/**
+ * Carriage return + Line feed
+ *
+ */
+define('CRLF', "\r\n");
+
+/**
+ * Array, where:
+ *  file extension is the key
+ *  value is the new line character
+ */
+$list = array();
+$list["readme"] = CRLF;
+$list["afp"] = CRLF;
+$list["afpa"] = CRLF;
+$list["ascx"] = CRLF;
+$list["asp"] = CRLF;
+$list["aspx"] = CRLF;
+$list["bat"] = CRLF;
+$list["cfc"] = CRLF;
+$list["cfm"] = CRLF;
+$list["cgi"] = LF;
+$list["code"] = CRLF;
+$list["command"] = CRLF;
+$list["conf"] = CRLF;
+$list["css"] = CRLF;
+$list["dtd"] = CRLF;
+$list["htaccess"] = CRLF;
+$list["htc"] = CRLF;
+$list["htm"] = CRLF;
+$list["html"] = CRLF;
+$list["js"] = CRLF;
+$list["jsp"] = CRLF;
+$list["lasso"] = CRLF;
+$list["php"] = CRLF;
+$list["pl"] = LF;
+$list["py"] = CRLF;
+$list["sample"] = CRLF;
+$list["sh"] = CRLF;
+$list["txt"] = CRLF;
+$list["xml"] = CRLF;
+
+/**
+ * Filter file list using regular expression (negative result)
+ *
+ */
+class NegRegexFilter extends FilterIterator
+{
+    protected $regex;
+    public function __construct(Iterator $it, $regex)
+    {
+        parent::__construct($it);
+        $this->regex=$regex;
+    }
+    public function accept()
+    {
+        return !preg_match($this->regex, $this->current());
+    }
+
+}
+
+/**
+ * Filter file list using regular expression
+ *
+ */
+class RegexFilter extends FilterIterator
+{
+    protected $regex;
+    public function __construct(Iterator $it, $regex)
+    {
+        parent::__construct($it);
+        $this->regex=$regex;
+    }
+    public function accept()
+    {
+        return preg_match($this->regex, $this->current());
+    }
+
+}
+
+/**
+ * Fix new line characters in given file
+ * Returns true if file was changed
+ *
+ * @param string $path relative or absolute path name to file
+ * @param string $nl name of a constant that holds new line character (CRLF|CR|LF)
+ * @return bool 
+ */
+function fixFile($path, $nl) {
+
+    $contents = file($path);
+    if ($contents === false) {
+        echo "\rERROR: couldn't read the " . $path . " file". "\n";
+        return false;
+    }
+
+    $modified = false;
+
+    if ($contents === false) {
+        echo "\rERROR: couldn't open the " . $path . " file" . "\n";
+        return false;
+    }
+
+    $new_content = "";
+    $contents_len = sizeof($contents);
+
+    if (EOF_STRIP_WHITESPACE) {
+        $lines_processed=0;
+        //iterate through lines, from the end of file
+        for ($i=$contents_len-1; $i>=0; $i--) {
+            $old_line = $contents[$i];
+            $contents[$i] = rtrim($contents[$i]);
+            if ($old_line !== $contents[$i]) {
+                if (!EOF_NEW_LINE || $old_line !== $contents[$i] . constant($nl) || $lines_processed>0) {
+                    $modified = true;
+                }
+            }
+
+            if (empty($contents[$i])) {
+                //we have an empty line at the end of file, just skip it
+                unset($contents[$contents_len--]);
+            }
+            else {
+                if (EOF_NEW_LINE) {
+                    $contents[$i] .= constant($nl);
+                    if ($old_line !== $contents[$i]) {
+                        $modified = true;
+                    }
+                }
+                //we have found non-empty line, there is no need to go further
+                break;
+            }
+            $lines_processed++;
+        }
+    }
+
+    for ($i=0; $i<$contents_len; $i++) {
+        $is_last_line = ($i == $contents_len-1);
+        $line = $contents[$i];
+
+        switch ($nl)
+        {
+            case 'CRLF':
+                if (substr($line, -2) !== CRLF) {
+                    if (substr($line, -1) === LF || substr($line, -1) === CR) {
+                        $line = substr($line, 0, -1) . CRLF;
+                        $modified = true;
+                    }
+                    elseif(strlen($line)) {
+                        if (!$is_last_line) {
+                            echo "\rERROR: wrong line ending: " . $path . "@line " . ($i+1) . "\n";
+                            return false;
+                        }
+                        elseif(!EOF_STRIP_WHITESPACE) {
+                            $line = $line . CRLF;
+                            $modified = true;
+                        }
+                    }
+                }
+                break;
+
+            case 'CR':
+                if (substr($line, -1) !== CR) {
+                    if (substr($line, -1) === LF) {
+                        $line = substr($line, 0, -1) . CR;
+                        $modified = true;
+                    }
+                    elseif(strlen($line)) {
+                        if (!$is_last_line) {
+                            echo "\rERROR: wrong line ending: " . $path . "@line " . ($i+1) . "\n";
+                            return false;
+                        }
+                        elseif(!EOF_STRIP_WHITESPACE) {
+                            $line = $line . CR;
+                            $modified = true;
+                        }
+                    }
+                }
+                break;
+
+            case 'LF':
+                if(substr($line, -2) === CRLF) {
+                    $line = substr($line, 0, -2) . LF;
+                    $modified = true;
+                }
+                elseif (substr($line, -1) !== LF) {
+                    if (substr($line, -1) === CR) {
+                        $line = substr($line, 0, -1) . LF;
+                        $modified = true;
+                    }
+                    elseif(strlen($line)) {
+                        if (!$is_last_line) {
+                            echo "\rERROR: wrong line ending: " . $path . "@line " . ($i+1) . "\n";
+                            return false;
+                        }
+                        elseif(!EOF_STRIP_WHITESPACE) {
+                            $line = $line . LF;
+                            $modified = true;
+                        }
+                    }
+                }
+                break;
+        }
+        $new_content .= $line;
+    }
+
+    if ($modified) {
+        $fp = fopen($path, "wb");
+        if (!$fp) {
+            echo "\rERROR: couldn't open the " . $path . " file". "\n";
+            return false;
+        }
+        else {
+            if (flock($fp, LOCK_EX)) {
+                fwrite($fp, $new_content);
+                flock($fp, LOCK_UN);
+                echo "\rMODIFIED to " . $nl . ": " . $path . "\n";
+            } else {
+                echo "\rERROR: couldn't lock the " . $path . " file". "\n";
+                return false;
+            }
+            fclose($fp);
+        }
+    }
+
+    return $modified;
+}
+
+/**
+ * Fix ending lines in all files at given path
+ *
+ * @param string $path
+ */
+function fixPath($path)
+{
+    if (is_file($path)) {
+        $ext = strtolower(substr($path, strrpos($path, ".")));
+        foreach (array('CRLF', 'LF', 'CR') as $nl) {
+            //find out what's the correct line ending and fix file
+            //no need to process further
+            if (in_array($ext, $GLOBALS['extList'][$nl])) {
+                echo "Fixing single file:\n";
+                fixFile($path, $nl);
+                break;
+            }
+        }
+
+    }
+    else {
+        $dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), true);
+        $dir = new NegRegexFilter($dir, "/\/(\.svn|CVS)/");
+        foreach (array('CRLF', 'LF', 'CR') as $nl) {
+
+            $filtered_dir = new RegexFilter($dir, "/\.(".implode("|", $GLOBALS['extList'][$nl]).")$/i");
+
+            $extensions = array();
+            $j = 0;
+            $progressbar = "|/-\\";
+            foreach ($filtered_dir as $file) {
+                if (!is_dir($file)) {
+                    fixFile($file, $nl);
+                    print "\r ".$progressbar[$j++ % 4]. " ". str_pad(basename($file), 35, " ", STR_PAD_RIGHT);
+                }
+            }
+        }
+    }
+}
+
+/**
+ * Get input from console
+ *
+ * @param string $prompt
+ * @param array $options
+ * @param string $default
+ * @return string
+ */
+function getInput($prompt, $options = null, $default = null) {
+    $stdin = fopen('php://stdin', 'r');
+    if (!is_array($options)) {
+        $print_options = '';
+    } else {
+        $print_options = '(' . implode('/', $options) . ')';
+    }
+
+    if ($default == null) {
+        echo $prompt . " $print_options \n" . '> ';
+    } else {
+        echo $prompt . " $print_options \n" . "[$default] > ";
+    }
+    $result = fgets($stdin);
+
+    if ($result === false){
+        exit;
+    }
+    $result = trim($result);
+
+    if ($default != null && empty($result)) {
+        return $default;
+    } else {
+        return $result;
+    }
+}
+
+/**
+ * Validate path entered by user
+ *
+ * @param string $result
+ * @return string
+ */
+function validatePath($result) {
+    if (empty($result)) {
+        die();
+    }
+    if (!is_dir($result) && !is_file($_SERVER['argv'][1])) {
+        //let's process single file is valid path is given
+        echo "Invalid directory: " . $result ."\n";
+        validatePath(getInput("Enter valid path:"));
+    }
+    return $result;
+}
+
+//$extList holds the associative array of extensions
+//key is the name of a constant that holds the line character
+$extList = array();
+$extList['CRLF'] = $extList['CR'] = $extList['LF'] = array();
+
+foreach ($list as $ext => $nl) {
+    $extRegex = preg_quote($ext);
+    switch ($nl) {
+        case CRLF:
+            $extList['CRLF'][] = $extRegex;
+            break;
+        case LF:
+            $extList['LF'][] = $extRegex;
+            break;
+        case CR:
+            $extList['CR'][] = $extRegex;
+            break;
+        default:
+            die("Unknown line ending");
+            break;
+    }
+}
+
+$path = validatePath(getInput("Enter path to the directory containing files that should be fixed. \nPath to single file is also allowed."));
+fixPath($path);
Index: /FCKeditor/branches/features/floating_dialog/_whatsnew.html
===================================================================
--- /FCKeditor/branches/features/floating_dialog/_whatsnew.html	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/_whatsnew.html	(revision 1389)
@@ -40,4 +40,5 @@
 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/123">#123</a>] Full support
 			for <strong>document.domain</strong> with automatic domain detection.</li>
+		<li>New language file for <strong>Canadian French</strong>.</li>
 	</ul>
 	<p>
@@ -48,4 +49,9 @@
 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1522">#1522</a>] The ENTER
 			key will now work properly in IE with the cursor at the start of a formatted block.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1503">#1503</a>] It's possible
+			to define in the Styles that a Style (with an empty class) must be shown selected
+			only when no class is present in the current element, and selecting that item will 
+			clear the current class (it does apply to any attribute, not only classes).</li>
+
 	</ul>
 	<p>
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/classes/fckpanel.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/classes/fckpanel.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/classes/fckpanel.js	(revision 1389)
@@ -218,5 +218,5 @@
 
 		// Minus the offsets provided by any positioned parent element of the panel iframe.
-		var positionedAncestor = FCKDomTools.GetPositionedAncestor( FCKTools.GetElementWindow( this._IFrame ), this._IFrame.parentNode ) ;
+		var positionedAncestor = FCKDomTools.GetPositionedAncestor( this._IFrame.parentNode ) ;
 		if ( positionedAncestor )
 		{
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/classes/fckstyle.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/classes/fckstyle.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/classes/fckstyle.js	(revision 1389)
@@ -232,6 +232,7 @@
 						this._RemoveOverrides( pathElement, styleOverrides[ pathElementName ] ) ;
 
-						// Remove the element if no more attributes are available.
-						this._RemoveNoAttribElement( pathElement ) ;
+						// Remove the element if no more attributes are available and it's an inline style element
+						if ( this.GetType() == FCK_STYLE_INLINE)
+							this._RemoveNoAttribElement( pathElement ) ;
 					}
 				}
@@ -491,5 +492,5 @@
 		{
 			case FCK_STYLE_BLOCK :
-				return this.CheckElementRemovable( elementPath.Block || elementPath.BlockLimit ) ;
+				return this.CheckElementRemovable( elementPath.Block || elementPath.BlockLimit, true ) ;
 
 			case FCK_STYLE_INLINE :
@@ -693,5 +694,6 @@
 		}
 
-		return ( valueA == valueB )
+		// Return true if they match or if valueA is null and valueB is an empty string
+		return ( valueA == valueB || ( ( valueA === null || valueA === '' ) && ( valueB === null || valueB === '' ) ) )
 	},
 
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/commandclasses/fck_othercommands.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/commandclasses/fck_othercommands.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/commandclasses/fck_othercommands.js	(revision 1389)
@@ -49,5 +49,5 @@
 		return this.GetStateFunction( this.GetStateParam ) ;
 	else
-		return FCK_TRISTATE_OFF ;
+		return FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
 }
 
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckcommands.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckcommands.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckcommands.js	(revision 1389)
@@ -57,5 +57,4 @@
 		case 'NumberedList'	: oCommand = new FCKDialogCommand( 'NumberedList', FCKLang.NumberedListProp		, 'dialog/fck_listprop.html?OL'	, 370, 160 ) ; break ;
 		case 'About'		: oCommand = new FCKDialogCommand( 'About'		, FCKLang.About					, 'dialog/fck_about.html'		, 400, 310, function(){ return FCK_TRISTATE_OFF ; } ) ; break ;
-
 		case 'Find'			: oCommand = new FCKDialogCommand( 'Find'		, FCKLang.DlgFindAndReplaceTitle, 'dialog/fck_replace.html'		, 340, 230, null, null, 'Find' ) ; break ;
 		case 'Replace'		: oCommand = new FCKDialogCommand( 'Replace'	, FCKLang.DlgFindAndReplaceTitle, 'dialog/fck_replace.html'		, 340, 230, null, null, 'Replace' ) ; break ;
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckdomtools.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckdomtools.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckdomtools.js	(revision 1389)
@@ -936,13 +936,13 @@
 	},
 
-	GetCurrentElementStyle : function( w, element, attrName )
+	GetCurrentElementStyle : function( element, propertyName )
 	{
 		if ( FCKBrowserInfo.IsIE )
-			return element.currentStyle[attrName] ;
+			return element.currentStyle[ propertyName ] ;
 		else
-			return w.getComputedStyle( element, '' )[attrName] ;
-	},
-
-	GetPositionedAncestor : function( w, element )
+			return element.ownerDocument.defaultView.getComputedStyle( element, '' ).getPropertyValue( propertyName ) ;
+	},
+
+	GetPositionedAncestor : function( element )
 	{
 		var currentElement = element ;
@@ -950,7 +950,5 @@
 		while ( currentElement != FCKTools.GetElementDocument( currentElement ).documentElement )
 		{
-			var currentWindow = FCKTools.GetElementWindow( currentElement ) ;
-
-			if ( this.GetCurrentElementStyle( currentWindow, currentElement, 'position' ) != 'static' )
+			if ( this.GetCurrentElementStyle( currentElement, 'position' ) != 'static' )
 				return currentElement ;
 
@@ -987,5 +985,5 @@
 			// needs, but needs investigation if we will be using this function
 			// in other places.
-			offset += parseInt( this.GetCurrentElementStyle( window, element, 'marginBottom' ) || 0, 10 ) ;
+			offset += parseInt( this.GetCurrentElementStyle( element, 'marginBottom' ) || 0, 10 ) ;
 		}
 
@@ -1004,2 +1002,3 @@
 
 
+
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcklanguagemanager.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcklanguagemanager.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcklanguagemanager.js	(revision 1389)
@@ -49,4 +49,5 @@
 		fo		: 'Faroese',
 		fr		: 'French',
+		'fr-ca'	: 'French (Canada)',
 		gl		: 'Galician',
 		he		: 'Hebrew',
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcktools.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcktools.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcktools.js	(revision 1389)
@@ -463,6 +463,6 @@
 	// 2. It matters is when we're in IE and the element has no positioned ancestor.
 	// Otherwise the values should be ignored.
-	if ( FCKDomTools.GetCurrentElementStyle( w, w.document.body, 'position') != 'static' 
-			|| ( FCKBrowserInfo.IsIE && FCKDomTools.GetPositionedAncestor( w, node ) == null ) )
+	if ( FCKDomTools.GetCurrentElementStyle( w.document.body, 'position') != 'static' 
+			|| ( FCKBrowserInfo.IsIE && FCKDomTools.GetPositionedAncestor( node ) == null ) )
 	{
 		x += w.document.body.offsetLeft ;
Index: /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html	(revision 1389)
@@ -351,6 +351,6 @@
 			currentPos =
 			{
-				x : parseInt( FCKDomTools.GetCurrentElementStyle( Args().TopWindow, frameElement, 'left' ) ),
-				y : parseInt( FCKDomTools.GetCurrentElementStyle( Args().TopWindow, frameElement, 'top' ) )
+				x : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'left' ) ),
+				y : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'top' ) )
 			} ;
 
Index: /FCKeditor/branches/features/floating_dialog/editor/lang/_translationstatus.txt
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/lang/_translationstatus.txt	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/lang/_translationstatus.txt	(revision 1389)
@@ -38,8 +38,9 @@
 es.js      Found: 412   Missing: 0
 et.js      Found: 412   Missing: 0
-eu.js      Found: 382   Missing: 30
+eu.js      Found: 412   Missing: 0
 fa.js      Found: 398   Missing: 14
 fi.js      Found: 412   Missing: 0
 fo.js      Found: 397   Missing: 15
+fr-ca.js   Found: 412   Missing: 0
 fr.js      Found: 412   Missing: 0
 gl.js      Found: 382   Missing: 30
Index: /FCKeditor/branches/features/floating_dialog/editor/lang/eu.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/lang/eu.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/lang/eu.js	(revision 1389)
@@ -47,5 +47,5 @@
 RemoveLink			: "Kendu Esteka",
 Anchor				: "Aingura",
-AnchorDelete		: "Remove Anchor",	//MISSING
+AnchorDelete		: "Ezabatu Aingura",
 InsertImageLbl		: "Irudia",
 InsertImage			: "Txertatu/Editatu Irudia",
@@ -73,5 +73,5 @@
 DecreaseIndent		: "Txikitu Koska",
 IncreaseIndent		: "Handitu Koska",
-Blockquote			: "Blockquote",	//MISSING
+Blockquote			: "Aipamen blokea",
 Undo				: "Desegin",
 Redo				: "Berregin",
@@ -107,5 +107,5 @@
 
 FitWindow		: "Maximizatu editorearen tamaina",
-ShowBlocks		: "Show Blocks",	//MISSING
+ShowBlocks		: "Blokeak erakutsi",
 
 // Context Menu
@@ -114,18 +114,18 @@
 RowCM				: "Errenkada",
 ColumnCM			: "Zutabea",
-InsertRowAfter		: "Insert Row After",	//MISSING
-InsertRowBefore		: "Insert Row Before",	//MISSING
+InsertRowAfter		: "Txertatu Lerroa Ostean",
+InsertRowBefore		: "Txertatu Lerroa Aurretik",
 DeleteRows			: "Ezabatu Errenkadak",
-InsertColumnAfter	: "Insert Column After",	//MISSING
-InsertColumnBefore	: "Insert Column Before",	//MISSING
+InsertColumnAfter	: "Txertatu Zutabea Ostean",
+InsertColumnBefore	: "Txertatu Zutabea Aurretik",
 DeleteColumns		: "Ezabatu Zutabeak",
-InsertCellAfter		: "Insert Cell After",	//MISSING
-InsertCellBefore	: "Insert Cell Before",	//MISSING
+InsertCellAfter		: "Txertatu Gelaxka Ostean",
+InsertCellBefore	: "Txertatu Gelaxka Aurretik",
 DeleteCells			: "Kendu Gelaxkak",
 MergeCells			: "Batu Gelaxkak",
-MergeRight			: "Merge Right",	//MISSING
-MergeDown			: "Merge Down",	//MISSING
-HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
-VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+MergeRight			: "Elkartu Eskumara",
+MergeDown			: "Elkartu Behera",
+HorizontalSplitCell	: "Banatu Gelaxkak Horizontalki",
+VerticalSplitCell	: "Banatu Gelaxkak Bertikalki",
 TableDelete			: "Ezabatu Taula",
 CellProperties		: "Gelaxkaren Ezaugarriak",
@@ -273,5 +273,5 @@
 DlnLnkMsgNoEMail	: "Mesedez ePosta helbidea idatzi",
 DlnLnkMsgNoAnchor	: "Mesedez aingura bat aukeratu",
-DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+DlnLnkMsgInvPopName	: "Popup lehioaren izenak karaktere alfabetiko batekin hasi behar du eta eta ezin du zuriunerik izan",
 
 // Color Dialog
@@ -334,5 +334,5 @@
 
 // Find and Replace Dialog
-DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+DlgFindAndReplaceTitle	: "Bilatu eta Ordeztu",
 
 // Find Dialog
@@ -358,5 +358,5 @@
 
 DlgPasteMsg2	: "Mesedez teklatua erabilita (<STRONG>Ctrl+V</STRONG>) ondorego eremuan testua itsatsi eta <STRONG>OK</STRONG> sakatu.",
-DlgPasteSec		: "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",	//MISSING
+DlgPasteSec		: "Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.",
 DlgPasteIgnoreFont		: "Letra Motaren definizioa ezikusi",
 DlgPasteRemoveStyles	: "Estilo definizioak kendu",
@@ -395,7 +395,7 @@
 DlgButtonText		: "Testua (Balorea)",
 DlgButtonType		: "Mota",
-DlgButtonTypeBtn	: "Button",	//MISSING
-DlgButtonTypeSbm	: "Submit",	//MISSING
-DlgButtonTypeRst	: "Reset",	//MISSING
+DlgButtonTypeBtn	: "Botoia",
+DlgButtonTypeSbm	: "Bidali",
+DlgButtonTypeRst	: "Garbitu",
 
 // Checkbox and Radio Button Dialogs
@@ -446,5 +446,5 @@
 BulletedListProp	: "Buletdun Zerrendaren Ezarpenak",
 NumberedListProp	: "Zenbakidun Zerrendaren Ezarpenak",
-DlgLstStart			: "Start",	//MISSING
+DlgLstStart			: "Hasiera",
 DlgLstType			: "Mota",
 DlgLstTypeCircle	: "Zirkulua",
@@ -469,14 +469,14 @@
 DlgDocLangCode		: "Hizkuntzaren Kodea",
 DlgDocCharSet		: "Karaktere Multzoaren Kodeketa",
-DlgDocCharSetCE		: "Central European",	//MISSING
-DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
-DlgDocCharSetCR		: "Cyrillic",	//MISSING
-DlgDocCharSetGR		: "Greek",	//MISSING
-DlgDocCharSetJP		: "Japanese",	//MISSING
-DlgDocCharSetKR		: "Korean",	//MISSING
-DlgDocCharSetTR		: "Turkish",	//MISSING
-DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
-DlgDocCharSetWE		: "Western European",	//MISSING
-DlgDocCharSetOther	: "Beste Karaktere Multzoaren Kodeketa",
+DlgDocCharSetCE		: "Erdialdeko Europakoa",
+DlgDocCharSetCT		: "Txinatar Tradizionala (Big5)",
+DlgDocCharSetCR		: "Zirilikoa",
+DlgDocCharSetGR		: "Grekoa",
+DlgDocCharSetJP		: "Japoniarra",
+DlgDocCharSetKR		: "Korearra",
+DlgDocCharSetTR		: "Turkiarra",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Mendebaldeko Europakoa",
+DlgDocCharSetOther	: "Beste Karaktere Multzoko Kodeketa",
 
 DlgDocDocType		: "Document Type Goiburua",
@@ -507,5 +507,5 @@
 DlgTemplatesLoading	: "Txantiloiak kargatzen. Itxaron mesedez...",
 DlgTemplatesNoTpl	: "(Ez dago definitutako txantiloirik)",
-DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+DlgTemplatesReplace	: "Ordeztu oraingo edukiak",
 
 // About Dialog
Index: /FCKeditor/branches/features/floating_dialog/editor/lang/fr-ca.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/lang/fr-ca.js	(revision 1389)
+++ /FCKeditor/branches/features/floating_dialog/editor/lang/fr-ca.js	(revision 1389)
@@ -0,0 +1,516 @@
+﻿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Canadian French language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Masquer Outils",
+ToolbarExpand		: "Afficher Outils",
+
+// Toolbar Items and Context Menu
+Save				: "Sauvegarder",
+NewPage				: "Nouvelle page",
+Preview				: "Previsualiser",
+Cut					: "Couper",
+Copy				: "Copier",
+Paste				: "Coller",
+PasteText			: "Coller en tant que texte",
+PasteWord			: "Coller en tant que Word (formaté)",
+Print				: "Imprimer",
+SelectAll			: "Tout sélectionner",
+RemoveFormat		: "Supprimer le formatage",
+InsertLinkLbl		: "Lien",
+InsertLink			: "Insérer/modifier le lien",
+RemoveLink			: "Supprimer le lien",
+Anchor				: "Insérer/modifier l'ancre",
+AnchorDelete		: "Supprimer l'ancre",
+InsertImageLbl		: "Image",
+InsertImage			: "Insérer/modifier l'image",
+InsertFlashLbl		: "Animation Flash",
+InsertFlash			: "Insérer/modifier l'animation Flash",
+InsertTableLbl		: "Tableau",
+InsertTable			: "Insérer/modifier le tableau",
+InsertLineLbl		: "Séparateur",
+InsertLine			: "Insérer un séparateur",
+InsertSpecialCharLbl: "Caractères spéciaux",
+InsertSpecialChar	: "Insérer un caractère spécial",
+InsertSmileyLbl		: "Emoticon",
+InsertSmiley		: "Insérer un Emoticon",
+About				: "A propos de FCKeditor",
+Bold				: "Gras",
+Italic				: "Italique",
+Underline			: "Souligné",
+StrikeThrough		: "Barrer",
+Subscript			: "Indice",
+Superscript			: "Exposant",
+LeftJustify			: "Aligner à gauche",
+CenterJustify		: "Centrer",
+RightJustify		: "Aligner à Droite",
+BlockJustify		: "Texte justifié",
+DecreaseIndent		: "Diminuer le retrait",
+IncreaseIndent		: "Augmenter le retrait",
+Blockquote			: "Citation",
+Undo				: "Annuler",
+Redo				: "Refaire",
+NumberedListLbl		: "Liste numérotée",
+NumberedList		: "Insérer/supprimer la liste numérotée",
+BulletedListLbl		: "Liste à puces",
+BulletedList		: "Insérer/supprimer la liste à puces",
+ShowTableBorders	: "Afficher les bordures du tableau",
+ShowDetails			: "Afficher les caractères invisibles",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Police",
+FontSize			: "Taille",
+TextColor			: "Couleur de caractère",
+BGColor				: "Couleur de fond",
+Source				: "Source",
+Find				: "Chercher",
+Replace				: "Remplacer",
+SpellCheck			: "Orthographe",
+UniversalKeyboard	: "Clavier universel",
+PageBreakLbl		: "Saut de page",
+PageBreak			: "Insérer un saut de page",
+
+Form			: "Formulaire",
+Checkbox		: "Case à cocher",
+RadioButton		: "Bouton radio",
+TextField		: "Champ texte",
+Textarea		: "Zone de texte",
+HiddenField		: "Champ caché",
+Button			: "Bouton",
+SelectionField	: "Champ de sélection",
+ImageButton		: "Bouton image",
+
+FitWindow		: "Edition pleine page",
+ShowBlocks		: "Afficher les blocs",
+
+// Context Menu
+EditLink			: "Modifier le lien",
+CellCM				: "Cellule",
+RowCM				: "Ligne",
+ColumnCM			: "Colonne",
+InsertRowAfter		: "Insérer une ligne après",
+InsertRowBefore		: "Insérer une ligne avant",
+DeleteRows			: "Supprimer des lignes",
+InsertColumnAfter	: "Insérer une colonne après",
+InsertColumnBefore	: "Insérer une colonne avant",
+DeleteColumns		: "Supprimer des colonnes",
+InsertCellAfter		: "Insérer une cellule après",
+InsertCellBefore	: "Insérer une cellule avant",
+DeleteCells			: "Supprimer des cellules",
+MergeCells			: "Fusionner les cellules",
+MergeRight			: "Fusionner à droite",
+MergeDown			: "Fusionner en bas",
+HorizontalSplitCell	: "Scinder la cellule horizontalement",
+VerticalSplitCell	: "Scinder la cellule verticalement",
+TableDelete			: "Supprimer le tableau",
+CellProperties		: "Propriétés de cellule",
+TableProperties		: "Propriétés du tableau",
+ImageProperties		: "Propriétés de l'image",
+FlashProperties		: "Propriétés de l'animation Flash",
+
+AnchorProp			: "Propriétés de l'ancre",
+ButtonProp			: "Propriétés du bouton",
+CheckboxProp		: "Propriétés de la case à cocher",
+HiddenFieldProp		: "Propriétés du champ caché",
+RadioButtonProp		: "Propriétés du bouton radio",
+ImageButtonProp		: "Propriétés du bouton image",
+TextFieldProp		: "Propriétés du champ texte",
+SelectionFieldProp	: "Propriétés de la liste/du menu",
+TextareaProp		: "Propriétés de la zone de texte",
+FormProp			: "Propriétés du formulaire",
+
+FontFormats			: "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Calcul XHTML. Veuillez patienter...",
+Done				: "Terminé",
+PasteWordConfirm	: "Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller?",
+NotCompatiblePaste	: "Cette commande nécessite Internet Explorer version 5.5 et plus. Souhaitez-vous coller sans nettoyage?",
+UnknownToolbarItem	: "Élément de barre d'outil inconnu \"%1\"",
+UnknownCommand		: "Nom de commande inconnu \"%1\"",
+NotImplemented		: "Commande indisponible",
+UnknownToolbarSet	: "La barre d'outils \"%1\" n'existe pas",
+NoActiveX			: "Les paramètres de sécurité de votre navigateur peuvent limiter quelques fonctionnalités de l'éditeur. Veuillez activer l'option \"Exécuter les contrôles ActiveX et les plug-ins\". Il se peut que vous rencontriez des erreurs et remarquiez quelques limitations.",
+BrowseServerBlocked : "Le navigateur n'a pas pu être ouvert. Assurez-vous que les bloqueurs de popups soient désactivés.",
+DialogBlocked		: "La fenêtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient désactivés.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annuler",
+DlgBtnClose			: "Fermer",
+DlgBtnBrowseServer	: "Parcourir le serveur",
+DlgAdvancedTag		: "Avancée",
+DlgOpOther			: "<autre>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Veuillez saisir l'URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Par défaut>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Sens d'écriture",
+DlgGenLangDirLtr	: "De gauche à droite (LTR)",
+DlgGenLangDirRtl	: "De droite à gauche (RTL)",
+DlgGenLangCode		: "Code langue",
+DlgGenAccessKey		: "Équivalent clavier",
+DlgGenName			: "Nom",
+DlgGenTabIndex		: "Ordre de tabulation",
+DlgGenLongDescr		: "URL de description longue",
+DlgGenClass			: "Classes de feuilles de style",
+DlgGenTitle			: "Titre",
+DlgGenContType		: "Type de contenu",
+DlgGenLinkCharset	: "Encodage de caractère",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Propriétés de l'image",
+DlgImgInfoTab		: "Informations sur l'image",
+DlgImgBtnUpload		: "Envoyer sur le serveur",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Télécharger",
+DlgImgAlt			: "Texte de remplacement",
+DlgImgWidth			: "Largeur",
+DlgImgHeight		: "Hauteur",
+DlgImgLockRatio		: "Garder les proportions",
+DlgBtnResetSize		: "Taille originale",
+DlgImgBorder		: "Bordure",
+DlgImgHSpace		: "Espacement horizontal",
+DlgImgVSpace		: "Espacement vertical",
+DlgImgAlign			: "Alignement",
+DlgImgAlignLeft		: "Gauche",
+DlgImgAlignAbsBottom: "Abs Bas",
+DlgImgAlignAbsMiddle: "Abs Milieu",
+DlgImgAlignBaseline	: "Bas du texte",
+DlgImgAlignBottom	: "Bas",
+DlgImgAlignMiddle	: "Milieu",
+DlgImgAlignRight	: "Droite",
+DlgImgAlignTextTop	: "Haut du texte",
+DlgImgAlignTop		: "Haut",
+DlgImgPreview		: "Prévisualisation",
+DlgImgAlertUrl		: "Veuillez saisir l'URL de l'image",
+DlgImgLinkTab		: "Lien",
+
+// Flash Dialog
+DlgFlashTitle		: "Propriétés de l'animation Flash",
+DlgFlashChkPlay		: "Lecture automatique",
+DlgFlashChkLoop		: "Boucle",
+DlgFlashChkMenu		: "Activer le menu Flash",
+DlgFlashScale		: "Affichage",
+DlgFlashScaleAll	: "Par défaut (tout montrer)",
+DlgFlashScaleNoBorder	: "Sans bordure",
+DlgFlashScaleFit	: "Ajuster aux dimensions",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Propriétés du lien",
+DlgLnkInfoTab		: "Informations sur le lien",
+DlgLnkTargetTab		: "Destination",
+
+DlgLnkType			: "Type de lien",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ancre dans cette page",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocole",
+DlgLnkProtoOther	: "<autre>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Sélectionner une ancre",
+DlgLnkAnchorByName	: "Par nom",
+DlgLnkAnchorById	: "Par id",
+DlgLnkNoAnchors		: "(Pas d'ancre disponible dans le document)",
+DlgLnkEMail			: "Adresse E-Mail",
+DlgLnkEMailSubject	: "Sujet du message",
+DlgLnkEMailBody		: "Corps du message",
+DlgLnkUpload		: "Télécharger",
+DlgLnkBtnUpload		: "Envoyer sur le serveur",
+
+DlgLnkTarget		: "Destination",
+DlgLnkTargetFrame	: "<Cadre>",
+DlgLnkTargetPopup	: "<fenêtre popup>",
+DlgLnkTargetBlank	: "Nouvelle fenêtre (_blank)",
+DlgLnkTargetParent	: "Fenêtre mère (_parent)",
+DlgLnkTargetSelf	: "Même fenêtre (_self)",
+DlgLnkTargetTop		: "Fenêtre supérieure (_top)",
+DlgLnkTargetFrameName	: "Nom du cadre de destination",
+DlgLnkPopWinName	: "Nom de la fenêtre popup",
+DlgLnkPopWinFeat	: "Caractéristiques de la fenêtre popup",
+DlgLnkPopResize		: "Taille modifiable",
+DlgLnkPopLocation	: "Barre d'adresses",
+DlgLnkPopMenu		: "Barre de menu",
+DlgLnkPopScroll		: "Barres de défilement",
+DlgLnkPopStatus		: "Barre d'état",
+DlgLnkPopToolbar	: "Barre d'outils",
+DlgLnkPopFullScrn	: "Plein écran (IE)",
+DlgLnkPopDependent	: "Dépendante (Netscape)",
+DlgLnkPopWidth		: "Largeur",
+DlgLnkPopHeight		: "Hauteur",
+DlgLnkPopLeft		: "Position à partir de la gauche",
+DlgLnkPopTop		: "Position à partir du haut",
+
+DlnLnkMsgNoUrl		: "Veuillez saisir l'URL",
+DlnLnkMsgNoEMail	: "Veuillez saisir l'adresse e-mail",
+DlnLnkMsgNoAnchor	: "Veuillez sélectionner une ancre",
+DlnLnkMsgInvPopName	: "Le nom de la fenêtre popup doit commencer par une lettre et ne doit pas contenir d'espace",
+
+// Color Dialog
+DlgColorTitle		: "Sélectionner",
+DlgColorBtnClear	: "Effacer",
+DlgColorHighlight	: "Prévisualisation",
+DlgColorSelected	: "Sélectionné",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insérer un Emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Insérer un caractère spécial",
+
+// Table Dialog
+DlgTableTitle		: "Propriétés du tableau",
+DlgTableRows		: "Lignes",
+DlgTableColumns		: "Colonnes",
+DlgTableBorder		: "Taille de la bordure",
+DlgTableAlign		: "Alignement",
+DlgTableAlignNotSet	: "<Par défaut>",
+DlgTableAlignLeft	: "Gauche",
+DlgTableAlignCenter	: "Centré",
+DlgTableAlignRight	: "Droite",
+DlgTableWidth		: "Largeur",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "pourcentage",
+DlgTableHeight		: "Hauteur",
+DlgTableCellSpace	: "Espacement",
+DlgTableCellPad		: "Contour",
+DlgTableCaption		: "Titre",
+DlgTableSummary		: "Résumé",
+
+// Table Cell Dialog
+DlgCellTitle		: "Propriétés de la cellule",
+DlgCellWidth		: "Largeur",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "pourcentage",
+DlgCellHeight		: "Hauteur",
+DlgCellWordWrap		: "Retour à la ligne",
+DlgCellWordWrapNotSet	: "<Par défaut>",
+DlgCellWordWrapYes	: "Oui",
+DlgCellWordWrapNo	: "Non",
+DlgCellHorAlign		: "Alignement horizontal",
+DlgCellHorAlignNotSet	: "<Par défaut>",
+DlgCellHorAlignLeft	: "Gauche",
+DlgCellHorAlignCenter	: "Centré",
+DlgCellHorAlignRight: "Droite",
+DlgCellVerAlign		: "Alignement vertical",
+DlgCellVerAlignNotSet	: "<Par défaut>",
+DlgCellVerAlignTop	: "Haut",
+DlgCellVerAlignMiddle	: "Milieu",
+DlgCellVerAlignBottom	: "Bas",
+DlgCellVerAlignBaseline	: "Bas du texte",
+DlgCellRowSpan		: "Lignes fusionnées",
+DlgCellCollSpan		: "Colonnes fusionnées",
+DlgCellBackColor	: "Couleur de fond",
+DlgCellBorderColor	: "Couleur de bordure",
+DlgCellBtnSelect	: "Sélectionner...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Chercher et Remplacer",
+
+// Find Dialog
+DlgFindTitle		: "Chercher",
+DlgFindFindBtn		: "Chercher",
+DlgFindNotFoundMsg	: "Le texte indiqué est introuvable.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Remplacer",
+DlgReplaceFindLbl		: "Rechercher:",
+DlgReplaceReplaceLbl	: "Remplacer par:",
+DlgReplaceCaseChk		: "Respecter la casse",
+DlgReplaceReplaceBtn	: "Remplacer",
+DlgReplaceReplAllBtn	: "Tout remplacer",
+DlgReplaceWordChk		: "Mot entier",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+X).",
+PasteErrorCopy	: "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+C).",
+
+PasteAsText		: "Coller comme texte",
+PasteFromWord	: "Coller à partir de Word",
+
+DlgPasteMsg2	: "Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl+V</STRONG>) et appuyer sur <STRONG>OK</STRONG>.",
+DlgPasteSec		: "A cause des paramètres de sécurité de votre navigateur, l'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.",
+DlgPasteIgnoreFont		: "Ignorer les polices de caractères",
+DlgPasteRemoveStyles	: "Supprimer les styles",
+DlgPasteCleanBox		: "Effacer le contenu",
+
+// Color Picker
+ColorAutomatic	: "Automatique",
+ColorMoreColors	: "Plus de couleurs...",
+
+// Document Properties
+DocProps		: "Propriétés du document",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propriétés de l'ancre",
+DlgAnchorName		: "Nom de l'ancre",
+DlgAnchorErrorName	: "Veuillez saisir le nom de l'ancre",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Pas dans le dictionnaire",
+DlgSpellChangeTo		: "Changer en",
+DlgSpellBtnIgnore		: "Ignorer",
+DlgSpellBtnIgnoreAll	: "Ignorer tout",
+DlgSpellBtnReplace		: "Remplacer",
+DlgSpellBtnReplaceAll	: "Remplacer tout",
+DlgSpellBtnUndo			: "Annuler",
+DlgSpellNoSuggestions	: "- Pas de suggestion -",
+DlgSpellProgress		: "Vérification d'orthographe en cours...",
+DlgSpellNoMispell		: "Vérification d'orthographe terminée: pas d'erreur trouvée",
+DlgSpellNoChanges		: "Vérification d'orthographe terminée: Pas de modifications",
+DlgSpellOneChange		: "Vérification d'orthographe terminée: Un mot modifié",
+DlgSpellManyChanges		: "Vérification d'orthographe terminée: %1 mots modifiés",
+
+IeSpellDownload			: "Le Correcteur d'orthographe n'est pas installé. Souhaitez-vous le télécharger maintenant?",
+
+// Button Dialog
+DlgButtonText		: "Texte (Valeur)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Bouton",
+DlgButtonTypeSbm	: "Soumettre",
+DlgButtonTypeRst	: "Réinitialiser",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nom",
+DlgCheckboxValue	: "Valeur",
+DlgCheckboxSelected	: "Sélectionné",
+
+// Form Dialog
+DlgFormName		: "Nom",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Méthode",
+
+// Select Field Dialog
+DlgSelectName		: "Nom",
+DlgSelectValue		: "Valeur",
+DlgSelectSize		: "Taille",
+DlgSelectLines		: "lignes",
+DlgSelectChkMulti	: "Sélection multiple",
+DlgSelectOpAvail	: "Options disponibles",
+DlgSelectOpText		: "Texte",
+DlgSelectOpValue	: "Valeur",
+DlgSelectBtnAdd		: "Ajouter",
+DlgSelectBtnModify	: "Modifier",
+DlgSelectBtnUp		: "Monter",
+DlgSelectBtnDown	: "Descendre",
+DlgSelectBtnSetValue : "Valeur sélectionnée",
+DlgSelectBtnDelete	: "Supprimer",
+
+// Textarea Dialog
+DlgTextareaName	: "Nom",
+DlgTextareaCols	: "Colonnes",
+DlgTextareaRows	: "Lignes",
+
+// Text Field Dialog
+DlgTextName			: "Nom",
+DlgTextValue		: "Valeur",
+DlgTextCharWidth	: "Largeur en caractères",
+DlgTextMaxChars		: "Nombre maximum de caractères",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Texte",
+DlgTextTypePass		: "Mot de passe",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nom",
+DlgHiddenValue	: "Valeur",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propriétés de liste à puces",
+NumberedListProp	: "Propriétés de liste numérotée",
+DlgLstStart			: "Début",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Cercle",
+DlgLstTypeDisc		: "Disque",
+DlgLstTypeSquare	: "Carré",
+DlgLstTypeNumbers	: "Nombres (1, 2, 3)",
+DlgLstTypeLCase		: "Lettres minuscules (a, b, c)",
+DlgLstTypeUCase		: "Lettres majuscules (A, B, C)",
+DlgLstTypeSRoman	: "Chiffres romains minuscules (i, ii, iii)",
+DlgLstTypeLRoman	: "Chiffres romains majuscules (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Général",
+DlgDocBackTab		: "Fond",
+DlgDocColorsTab		: "Couleurs et Marges",
+DlgDocMetaTab		: "Méta-Données",
+
+DlgDocPageTitle		: "Titre de la page",
+DlgDocLangDir		: "Sens d'écriture",
+DlgDocLangDirLTR	: "De la gauche vers la droite (LTR)",
+DlgDocLangDirRTL	: "De la droite vers la gauche (RTL)",
+DlgDocLangCode		: "Code langue",
+DlgDocCharSet		: "Encodage de caractère",
+DlgDocCharSetCE		: "Europe Centrale",
+DlgDocCharSetCT		: "Chinois Traditionnel (Big5)",
+DlgDocCharSetCR		: "Cyrillique",
+DlgDocCharSetGR		: "Grecque",
+DlgDocCharSetJP		: "Japonais",
+DlgDocCharSetKR		: "Coréen",
+DlgDocCharSetTR		: "Turcque",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Occidental",
+DlgDocCharSetOther	: "Autre encodage de caractère",
+
+DlgDocDocType		: "Type de document",
+DlgDocDocTypeOther	: "Autre type de document",
+DlgDocIncXHTML		: "Inclure les déclarations XHTML",
+DlgDocBgColor		: "Couleur de fond",
+DlgDocBgImage		: "Image de fond",
+DlgDocBgNoScroll	: "Image fixe sans défilement",
+DlgDocCText			: "Texte",
+DlgDocCLink			: "Lien",
+DlgDocCVisited		: "Lien visité",
+DlgDocCActive		: "Lien activé",
+DlgDocMargins		: "Marges",
+DlgDocMaTop			: "Haut",
+DlgDocMaLeft		: "Gauche",
+DlgDocMaRight		: "Droite",
+DlgDocMaBottom		: "Bas",
+DlgDocMeIndex		: "Mots-clés (séparés par des virgules)",
+DlgDocMeDescr		: "Description",
+DlgDocMeAuthor		: "Auteur",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Prévisualisation",
+
+// Templates Dialog
+Templates			: "Modèles",
+DlgTemplatesTitle	: "Modèles de contenu",
+DlgTemplatesSelMsg	: "Sélectionner le modèle à ouvrir dans l'éditeur<br>(le contenu actuel sera remplacé):",
+DlgTemplatesLoading	: "Chargement de la liste des modèles. Veuillez patienter...",
+DlgTemplatesNoTpl	: "(Aucun modèle disponible)",
+DlgTemplatesReplace	: "Remplacer tout le contenu actuel",
+
+// About Dialog
+DlgAboutAboutTab	: "Á propos de",
+DlgAboutBrowserInfoTab	: "Navigateur",
+DlgAboutLicenseTab	: "License",
+DlgAboutVersion		: "Version",
+DlgAboutInfo		: "Pour plus d'informations, visiter"
+};
Index: /FCKeditor/branches/features/floating_dialog/editor/lang/fr.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/lang/fr.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/lang/fr.js	(revision 1389)
@@ -247,5 +247,5 @@
 
 DlgLnkTarget		: "Destination",
-DlgLnkTargetFrame	: "<cadre>",
+DlgLnkTargetFrame	: "<Cadre>",
 DlgLnkTargetPopup	: "<fenêtre popup>",
 DlgLnkTargetBlank	: "Nouvelle fenêtre (_blank)",
@@ -472,5 +472,5 @@
 DlgDocCharSetCR		: "Cyrillique",
 DlgDocCharSetGR		: "Grec",
-DlgDocCharSetJP		: "Japanais",
+DlgDocCharSetJP		: "Japonais",
 DlgDocCharSetKR		: "Coréen",
 DlgDocCharSetTR		: "Turc",
@@ -511,6 +511,6 @@
 DlgAboutAboutTab	: "A propos de",
 DlgAboutBrowserInfoTab	: "Navigateur",
-DlgAboutLicenseTab	: "License",
-DlgAboutVersion		: "version",
+DlgAboutLicenseTab	: "Licence",
+DlgAboutVersion		: "Version",
 DlgAboutInfo		: "Pour plus d'informations, aller à"
 };
Index: /FCKeditor/branches/features/floating_dialog/editor/plugins/dragresizetable/fckplugin.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/plugins/dragresizetable/fckplugin.js	(revision 1388)
+++ /FCKeditor/branches/features/floating_dialog/editor/plugins/dragresizetable/fckplugin.js	(revision 1389)
@@ -11,4 +11,5 @@
 	"_LastX" : null,
 	"_TableMap" : null,
+	"_doc" : document,
 	"_IsInsideNode" : function( w, domNode, pos )
 	{
@@ -100,5 +101,5 @@
 		// Calculate maximum and minimum x-coordinate delta.
 		var borderIndex = FCKDragTableHandler._GetResizeBarPosition() ;
-		var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;
+		var offset = FCKDragTableHandler._GetIframeOffset(); 
 		var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" );
 		var minX = null ;
@@ -310,5 +311,5 @@
 		if ( FCKTools.GetElementDocument( node ) == document )
 		{
-			var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;
+			var offset = this._GetIframeOffset() ;
 			mouseX -= offset.x ;
 			mouseY -= offset.y ;
@@ -374,5 +375,5 @@
 		if ( FCKTools.GetElementDocument( node ) == FCK.EditorDocument )
 		{
-			var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;
+			var offset = this._GetIframeOffset() ;
 			mouse.x += offset.x ;
 			mouse.y += offset.y ;
@@ -393,5 +394,5 @@
 		if ( this._ResizeBar == null )
 		{
-			this._ResizeBar = document.createElement( "div" ) ;
+			this._ResizeBar = this._doc.createElement( "div" ) ;
 			var paddingBar = this._ResizeBar ;
 			var paddingStyles = { 'position' : 'absolute', 'cursor' : 'e-resize' } ;
@@ -401,5 +402,7 @@
 				paddingStyles.opacity = 0.10 ;
 			FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;
-			document.body.appendChild( paddingBar ) ;
+			this._avoidStyles( paddingBar );
+			paddingBar.setAttribute('_fcktemp', true);
+			this._doc.body.appendChild( paddingBar ) ;
 			FCKTools.AddEventListener( paddingBar, "mousemove", this._ResizeBarMouseMoveListener ) ;
 			FCKTools.AddEventListener( paddingBar, "mousedown", this._ResizeBarMouseDownListener ) ;
@@ -409,5 +412,6 @@
 			// IE doesn't let the tranparent part of the padding block to receive mouse events unless there's something inside.
 			// So we need to create a spacer image to fill the block up.
-			var filler = document.createElement( "img" ) ;
+			var filler = this._doc.createElement( "img" ) ;
+			filler.setAttribute('_fcktemp', true);
 			filler.border = 0 ;
 			filler.src = FCKConfig.BasePath + "images/spacer.gif" ;
@@ -430,6 +434,6 @@
 
 		var paddingBar = this._ResizeBar ;
-		var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;
-		var tablePos = FCKTools.GetWindowPosition( w, table ) ;
+		var offset = this._GetIframeOffset() ;
+		var tablePos = this._GetTablePosition( w, table ) ;
 		var barHeight = table.offsetHeight ;
 		var barTop = offset.y + tablePos.y ;
@@ -472,5 +476,7 @@
 		if ( paddingBar.getElementsByTagName( "div" ).length < 1 )
 		{
-			visibleBar = document.createElement( "div" ) ;
+			visibleBar = this._doc.createElement( "div" ) ;
+			this._avoidStyles( visibleBar );
+			visibleBar.setAttribute('_fcktemp', true);
 			paddingBar.appendChild( visibleBar ) ;
 		}
@@ -498,5 +504,23 @@
 					left	: '-100000px'
 				} ) ;
+	},
+	"_GetIframeOffset" : function ()
+	{
+		return FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;
+	},
+	"_GetTablePosition" : function ( w, table )
+	{
+		return FCKTools.GetWindowPosition( w, table ) ;
+	},
+	"_avoidStyles" : function( element )
+	{
+		FCKDomTools.SetElementStyles( element,
+			{
+				padding		: '0',
+				backgroundImage	: 'none',
+				border		: '0'
+			} ) ;
 	}
+
 };
 
