From 4f7f23299357c88858e09f040defb618c99a9a39 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sun, 29 Aug 2004 00:49:27 +0000 Subject: [PATCH] integrated the HTMLarea plugins into the eGW translation system --- .../plugins/ContextMenu/lang/lang.php | 94 ++++++++++++++ .../htmlarea/plugins/FullPage/lang/lang.php | 53 ++++++++ .../htmlarea/plugins/HtmlTidy/lang/lang.php | 46 +++++++ .../htmlarea/plugins/ListType/lang/lang.php | 51 ++++++++ .../plugins/SpellChecker/lang/lang.php | 66 ++++++++++ .../plugins/TableOperations/lang/lang.php | 118 ++++++++++++++++++ .../plugins/UploadImage/lang/lang.php | 54 ++++++++ phpgwapi/js/htmlarea/plugins/merge_langs | 117 +++++++++++++++++ 8 files changed, 599 insertions(+) create mode 100644 phpgwapi/js/htmlarea/plugins/ContextMenu/lang/lang.php create mode 100644 phpgwapi/js/htmlarea/plugins/FullPage/lang/lang.php create mode 100644 phpgwapi/js/htmlarea/plugins/HtmlTidy/lang/lang.php create mode 100644 phpgwapi/js/htmlarea/plugins/ListType/lang/lang.php create mode 100644 phpgwapi/js/htmlarea/plugins/SpellChecker/lang/lang.php create mode 100644 phpgwapi/js/htmlarea/plugins/TableOperations/lang/lang.php create mode 100644 phpgwapi/js/htmlarea/plugins/UploadImage/lang/lang.php create mode 100755 phpgwapi/js/htmlarea/plugins/merge_langs diff --git a/phpgwapi/js/htmlarea/plugins/ContextMenu/lang/lang.php b/phpgwapi/js/htmlarea/plugins/ContextMenu/lang/lang.php new file mode 100644 index 0000000000..f49f456c3e --- /dev/null +++ b/phpgwapi/js/htmlarea/plugins/ContextMenu/lang/lang.php @@ -0,0 +1,94 @@ + * +* This file is derived from htmlareas's lang/en.js file * +* -------------------------------------------- * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 2 of the License, or (at your * +* option) any later version. * +\**************************************************************************/ + +/* $Id$ */ + +$GLOBALS['phpgw_info']['flags'] = Array( + 'currentapp' => 'home', // can't be phpgwapi, nor htmlarea (no own directory) + 'noheader' => True, + 'nonavbar' => True, + 'noappheader' => True, + 'noappfooter' => True, + 'nofooter' => True, + 'nocachecontrol' => True // allow cacheing +); + +include('../../../../../../header.inc.php'); +$GLOBALS['phpgw']->translation->add_app('htmlarea-ContextMenu'); + +// I18N constants + +// LANG: "en", ENCODING: UTF-8 | ISO-8859-1 +// Author: Mihai Bazon, http://dynarch.com/mishoo + +// 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.) +?> +ContextMenu.I18N = { + // Items that appear in menu. Please note that an underscore (_) + // character in the translation (right column) will cause the following + // letter to become underlined and be shortcut for that menu option. + + "Cut" : "", + "Copy" : "", + "Paste" : "", + "Image Properties" : "", + "Modify Link" : "", + "Check Link" : "", + "Remove Link" : "", + "Cell Properties" : "", + "Row Properties" : "", + "Insert Row Before" : "", + "Insert Row After" : "", + "Delete Row" : "", + "Table Properties" : "", + "Insert Column Before" : "", + "Insert Column After" : "", + "Delete Column" : "", + "Justify Left" : "", + "Justify Center" : "", + "Justify Right" : "", + "Justify Full" : "", + "Make link" : "", + "Remove the" : "", + "Element" : "", + + // Other labels (tooltips and alert/confirm box messages) + + "Please confirm that you want to remove this element:" : "", + "Remove this node from the document" : "", + "How did you get here? (Please report!)" : "", + "Show the image properties dialog" : "", + "Modify URL" : "", + "Current URL is" : "", + "Opens this link in a new window" : "", + "Please confirm that you want to unlink this element." : "", + "Link points to:" : "", + "Unlink the current element" : "", + "Show the Table Cell Properties dialog" : "", + "Show the Table Row Properties dialog" : "", + "Insert a new row before the current one" : "", + "Insert a new row after the current one" : "", + "Delete the current row" : "", + "Show the Table Properties dialog" : "", + "Insert a new column before the current one" : "", + "Insert a new column after the current one" : "", + "Delete the current column" : "", + "Create a link" : "" +}; diff --git a/phpgwapi/js/htmlarea/plugins/FullPage/lang/lang.php b/phpgwapi/js/htmlarea/plugins/FullPage/lang/lang.php new file mode 100644 index 0000000000..ef5a0d9fdc --- /dev/null +++ b/phpgwapi/js/htmlarea/plugins/FullPage/lang/lang.php @@ -0,0 +1,53 @@ + * +* This file is derived from htmlareas's lang/en.js file * +* -------------------------------------------- * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 2 of the License, or (at your * +* option) any later version. * +\**************************************************************************/ + +/* $Id$ */ + +$GLOBALS['phpgw_info']['flags'] = Array( + 'currentapp' => 'home', // can't be phpgwapi, nor htmlarea (no own directory) + 'noheader' => True, + 'nonavbar' => True, + 'noappheader' => True, + 'noappfooter' => True, + 'nofooter' => True, + 'nocachecontrol' => True // allow cacheing +); + +include('../../../../../../header.inc.php'); +$GLOBALS['phpgw']->translation->add_app('htmlarea-FullPage'); + +// I18N for the FullPage plugin + +// LANG: "en", ENCODING: UTF-8 | ISO-8859-1 +// Author: Mihai Bazon, http://dynarch.com/mishoo + +// 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.) +?> +FullPage.I18N = { + "Alternate style-sheet:": "", + "Background color:": "", + "Cancel": "", + "DOCTYPE:": "", + "Document properties": "", + "Document title:": "", + "OK": "", + "Primary style-sheet:": "", + "Text color:": "" +}; diff --git a/phpgwapi/js/htmlarea/plugins/HtmlTidy/lang/lang.php b/phpgwapi/js/htmlarea/plugins/HtmlTidy/lang/lang.php new file mode 100644 index 0000000000..d9bc8a5abb --- /dev/null +++ b/phpgwapi/js/htmlarea/plugins/HtmlTidy/lang/lang.php @@ -0,0 +1,46 @@ + * +* This file is derived from htmlareas's lang/en.js file * +* -------------------------------------------- * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 2 of the License, or (at your * +* option) any later version. * +\**************************************************************************/ + +/* $Id$ */ + +$GLOBALS['phpgw_info']['flags'] = Array( + 'currentapp' => 'home', // can't be phpgwapi, nor htmlarea (no own directory) + 'noheader' => True, + 'nonavbar' => True, + 'noappheader' => True, + 'noappfooter' => True, + 'nofooter' => True, + 'nocachecontrol' => True // allow cacheing +); + +include('../../../../../../header.inc.php'); +$GLOBALS['phpgw']->translation->add_app('htmlarea-HtmlTidy'); + +// I18N constants + +// LANG: "en", ENCODING: UTF-8 | ISO-8859-1 +// Author: Adam Wright, http://blog.hipikat.org/ + +// 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.) +?> +HtmlTidy.I18N = { + "tidying" : "", + "HT-html-tidy" : "" +}; diff --git a/phpgwapi/js/htmlarea/plugins/ListType/lang/lang.php b/phpgwapi/js/htmlarea/plugins/ListType/lang/lang.php new file mode 100644 index 0000000000..ca38f0bfdb --- /dev/null +++ b/phpgwapi/js/htmlarea/plugins/ListType/lang/lang.php @@ -0,0 +1,51 @@ + * +* This file is derived from htmlareas's lang/en.js file * +* -------------------------------------------- * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 2 of the License, or (at your * +* option) any later version. * +\**************************************************************************/ + +/* $Id$ */ + +$GLOBALS['phpgw_info']['flags'] = Array( + 'currentapp' => 'home', // can't be phpgwapi, nor htmlarea (no own directory) + 'noheader' => True, + 'nonavbar' => True, + 'noappheader' => True, + 'noappfooter' => True, + 'nofooter' => True, + 'nocachecontrol' => True // allow cacheing +); + +include('../../../../../../header.inc.php'); +$GLOBALS['phpgw']->translation->add_app('htmlarea-ListType'); + +// I18N constants + +// LANG: "en", ENCODING: UTF-8 | ISO-8859-1 +// Author: Mihai Bazon, http://dynarch.com/mishoo + +// 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.) +?> +ListType.I18N = { + "Decimal" : "", + "Lower roman" : "", + "Upper roman" : "", + "Lower latin" : "", + "Upper latin" : "", + "Lower greek" : "", + "ListStyleTooltip" : "" +}; diff --git a/phpgwapi/js/htmlarea/plugins/SpellChecker/lang/lang.php b/phpgwapi/js/htmlarea/plugins/SpellChecker/lang/lang.php new file mode 100644 index 0000000000..72cd33dee9 --- /dev/null +++ b/phpgwapi/js/htmlarea/plugins/SpellChecker/lang/lang.php @@ -0,0 +1,66 @@ + * +* This file is derived from htmlareas's lang/en.js file * +* -------------------------------------------- * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 2 of the License, or (at your * +* option) any later version. * +\**************************************************************************/ + +/* $Id$ */ + +$GLOBALS['phpgw_info']['flags'] = Array( + 'currentapp' => 'home', // can't be phpgwapi, nor htmlarea (no own directory) + 'noheader' => True, + 'nonavbar' => True, + 'noappheader' => True, + 'noappfooter' => True, + 'nofooter' => True, + 'nocachecontrol' => True // allow cacheing +); + +include('../../../../../../header.inc.php'); +$GLOBALS['phpgw']->translation->add_app('htmlarea-SpellChecker'); + +// I18N constants + +// LANG: "en", ENCODING: UTF-8 | ISO-8859-1 +// Author: Mihai Bazon, http://dynarch.com/mishoo + +// 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.) +?> +SpellChecker.I18N = { + "CONFIRM_LINK_CLICK" : "", + "Cancel" : "", + "Dictionary" : "", + "Finished list of mispelled words" : "", + "I will open it in a new page." : "", + "Ignore all" : "", + "Ignore" : "", + "NO_ERRORS" : "", + "NO_ERRORS_CLOSING" : "", + "OK" : "", + "Original word" : "", + "Please wait. Calling spell checker." : "", + "Please wait: changing dictionary to" : "", + "QUIT_CONFIRMATION" : "", + "Re-check" : "", + "Replace all" : "", + "Replace with" : "", + "Replace" : "", + "Revert" : "", + "SC-spell-check" : "", + "Suggestions" : "", + "pliz weit ;-)" : "" +}; diff --git a/phpgwapi/js/htmlarea/plugins/TableOperations/lang/lang.php b/phpgwapi/js/htmlarea/plugins/TableOperations/lang/lang.php new file mode 100644 index 0000000000..d58ae8ab0e --- /dev/null +++ b/phpgwapi/js/htmlarea/plugins/TableOperations/lang/lang.php @@ -0,0 +1,118 @@ + * +* This file is derived from htmlareas's lang/en.js file * +* -------------------------------------------- * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 2 of the License, or (at your * +* option) any later version. * +\**************************************************************************/ + +/* $Id$ */ + +$GLOBALS['phpgw_info']['flags'] = Array( + 'currentapp' => 'home', // can't be phpgwapi, nor htmlarea (no own directory) + 'noheader' => True, + 'nonavbar' => True, + 'noappheader' => True, + 'noappfooter' => True, + 'nofooter' => True, + 'nocachecontrol' => True // allow cacheing +); + +include('../../../../../../header.inc.php'); +$GLOBALS['phpgw']->translation->add_app('htmlarea-TableOperations'); + +// I18N constants + +// LANG: "en", ENCODING: UTF-8 | ISO-8859-1 +// Author: Mihai Bazon, http: //dynarch.com/mishoo + +// 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.) +?> +TableOperations.I18N = { + "Align": "", + "All four sides": "", + "Background": "", + "Baseline": "", + "Border": "", + "Borders": "", + "Bottom": "", + "CSS Style": "", + "Caption": "", + "Cell Properties": "", + "Center": "", + "Char": "", + "Collapsed borders": "", + "Color": "", + "Description": "", + "FG Color": "", + "Float": "", + "Frames": "", + "Height": "", + "How many columns would you like to merge?": "", + "How many rows would you like to merge?": "", + "Image URL": "", + "Justify": "", + "Layout": "", + "Left": "", + "Margin": "", + "Middle": "", + "No rules": "", + "No sides": "", + "None": "", + "Padding": "", + "Please click into some cell": "", + "Right": "", + "Row Properties": "", + "Rules will appear between all rows and columns": "", + "Rules will appear between columns only": "", + "Rules will appear between rows only": "", + "Rules": "", + "Spacing and padding": "", + "Spacing": "", + "Summary": "", + "TO-cell-delete": "", + "TO-cell-insert-after": "", + "TO-cell-insert-before": "", + "TO-cell-merge": "", + "TO-cell-prop": "", + "TO-cell-split": "", + "TO-col-delete": "", + "TO-col-insert-after": "", + "TO-col-insert-before": "", + "TO-col-split": "", + "TO-row-delete": "", + "TO-row-insert-above": "", + "TO-row-insert-under": "", + "TO-row-prop": "", + "TO-row-split": "", + "TO-table-prop": "", + "Table Properties": "", + "Text align": "", + "The bottom side only": "", + "The left-hand side only": "", + "The right and left sides only": "", + "The right-hand side only": "", + "The top and bottom sides only": "", + "The top side only": "", + "Top": "", + "Unset color": "", + "Vertical align": "", + "Width": "", + "not-del-last-cell": "", + "not-del-last-col": "", + "not-del-last-row": "", + "percent": "", + "pixels": "" +}; diff --git a/phpgwapi/js/htmlarea/plugins/UploadImage/lang/lang.php b/phpgwapi/js/htmlarea/plugins/UploadImage/lang/lang.php new file mode 100644 index 0000000000..6984e872d1 --- /dev/null +++ b/phpgwapi/js/htmlarea/plugins/UploadImage/lang/lang.php @@ -0,0 +1,54 @@ + * +* This file is derived from htmlareas's lang/en.js file * +* -------------------------------------------- * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 2 of the License, or (at your * +* option) any later version. * +\**************************************************************************/ + +/* $Id$ */ + +$GLOBALS['phpgw_info']['flags'] = Array( + 'currentapp' => 'home', // can't be phpgwapi, nor htmlarea (no own directory) + 'noheader' => True, + 'nonavbar' => True, + 'noappheader' => True, + 'noappfooter' => True, + 'nofooter' => True, + 'nocachecontrol' => True // allow cacheing +); + +include('../../../../../../header.inc.php'); +$GLOBALS['phpgw']->translation->add_app('htmlarea-SpellChecker'); + +// I18N for the FullPage plugin + +// LANG: "en", ENCODING: UTF-8 | ISO-8859-1 +// Author: Mihai Bazon, http://dynarch.com/mishoo + +// 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.) +?> +UploadImage.I18N = { + "Alternate style-sheet:": "", + "Background color:": "", + "Cancel": "", + "DOCTYPE:": "", + "Document properties": "", + "Document title:": "", + "OK": "", + "Primary style-sheet:": "", + "Text color:": "", + "Upload Image": "" +}; diff --git a/phpgwapi/js/htmlarea/plugins/merge_langs b/phpgwapi/js/htmlarea/plugins/merge_langs new file mode 100755 index 0000000000..05fd14a92b --- /dev/null +++ b/phpgwapi/js/htmlarea/plugins/merge_langs @@ -0,0 +1,117 @@ +#!/usr/bin/php -q + * +* -------------------------------------------- * +* This program is free software; you can redistribute it and/or modify it * +* under the terms of the GNU General Public License as published by the * +* Free Software Foundation; either version 2 of the License, or (at your * +* option) any later version. * +\**************************************************************************/ + +/* $Id$ */ + +$plugin_dir = realpath(dirname(__FILE__)); +$setup_dir = realpath(dirname(__FILE__).'/../../../setup'); + +function load_langfile($lang) +{ + global $setup_dir; + + $lang_file = $setup_dir.'/phpgw_'.$lang.'.lang'; + + $arr = array(); + if (file_exists($lang_file)) + { + foreach(file($lang_file) as $line) + { + @list($phrase,$app,$lang,$trans) = split("[\t\n\r]",$line); + $arr[$phrase] = array( + 'app' => $app, + 'trans' => $trans, + ); + } + } + return $arr; +} + +function save_langfile($lang,$arr) +{ + $content = ''; + ksort($arr); + foreach($arr as $phrase => $data) + { + $content .= "$phrase\t$data[app]\t$lang\t$data[trans]\n"; + } + global $setup_dir; + $lang_file = $setup_dir.'/phpgw_'.$lang.'.lang'; + + if ($f = fopen($lang_file,'w')) + { + fwrite($f,$content); + } + fclose($f); +} + +$d = opendir($plugin_dir); +while ($plugin = readdir($d)) +{ + if (!is_dir($plugin) || $plugin == 'CVS' || $plugin == 'CSS' || $plugin[0] == '.') continue; + + if (!@file_exists($lang_file = $plugin_dir.'/'.$plugin.'/lang/en.js')) continue; + $lang_file = file_get_contents($lang_file); + + if (!preg_match_all('/"([^"]+)"[ \t:]+"([^"]+)"/',$lang_file,$matches)) continue; + $token2en = array(); + foreach($matches[1] as $n => $token) + { + $token2en[$token] = $matches[2][$n]; + } + + $l = opendir($plugin_dir.'/'.$plugin.'/lang'); + + while ($lang_file = readdir($l)) + { + if (!preg_match('/.js$/',$lang_file)) continue; + + $lang = substr($lang_file,0,2); + $lang_file = $plugin_dir.'/'.$plugin.'/lang/'.$lang_file; + echo "\nprocessing: $lang_file\n"; + + $lang_file = file_get_contents($lang_file); + + if (preg_match_all('/"([^"]+)"[ \t:]+"([^"]+)"/',$lang_file,$matches)) + { + $arr = load_langfile($lang); + $needs_save = false; + + foreach($matches[1] as $n => $token) + { + if (!isset($token2en[$token])) continue; + + $phrase = strtolower($token2en[$token]); + + if (!$phrase) continue; + + if (isset($arr[$phrase])) + { + if ($arr[$phrase]['app'] != 'common' && $arr[$phrase]['app'] != 'htmlarea-'.$plugin) + { + $arr[$phrase]['app'] = 'common'; + } + continue; + } + $arr[$phrase] = array( + 'app' => 'htmlarea-'.$plugin, + 'trans' => $matches[2][$n], + ); + echo "adding: $phrase = ".$matches[2][$n]."\n"; + $needs_save = true; + } + if ($needs_save) save_langfile($lang,$arr); + } + } +} +closedir($d); \ No newline at end of file