From ade1655456ffdb799be8081f57ec90a408b99dd9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9my=20Bobbio?= Date: Sat, 18 Jun 2011 17:00:01 +0200 Subject: [PATCH] Imported Upstream version 0.1~rc2 --- .htaccess | 23 +- CHANGELOG | 659 +- INSTALL | 11 +- README | 21 +- SQL/mssql.initial.sql | 2 +- SQL/mysql.initial.sql | 4 +- SQL/mysql.update-0.1a.sql | 51 - SQL/mysql.update.sql | 4 + SQL/mysql5.initial.sql | 6 +- SQL/postgres.initial.sql | 2 +- SQL/sqlite.initial.sql | 2 +- UPGRADING | 154 +- bin/html2text.php | 9 +- bin/modcss.php | 67 + bin/msgimport | 120 - bin/quotaimg.php | 4 +- config/db.inc.php.dist | 8 +- config/main.inc.php.dist | 30 +- index.php | 28 +- program/include/bugs.inc | 92 +- program/include/cache.inc | 106 - program/include/main.inc | 890 +- program/include/rcmail_template.inc | 384 +- program/include/rcube_contacts.inc | 22 +- program/include/rcube_db.inc | 4 +- program/include/rcube_html.inc | 671 ++ program/include/rcube_imap.inc | 443 +- program/include/rcube_ldap.inc | 65 +- program/include/rcube_mdb2.inc | 12 +- program/include/rcube_shared.inc | 1541 +--- program/include/rcube_smtp.inc | 15 +- program/include/rcube_sqlite.inc | 58 +- program/include/session.inc | 4 +- program/js/app.js | 340 +- program/js/common.js | 10 +- program/js/editor.js | 117 + program/js/googiespell.js | 2 +- program/js/list.js | 49 +- program/js/tiny_mce/blank.htm | 9 + program/js/tiny_mce/langs/en.js | 41 + program/js/tiny_mce/langs/readme.txt | 9 + program/js/tiny_mce/license.txt | 504 ++ .../tiny_mce/plugins/cleanup/editor_plugin.js | 0 .../plugins/cleanup/editor_plugin_src.js | 10 + .../js/tiny_mce/plugins/cleanup/readme.txt | 1 + .../plugins/emotions/editor_plugin.js | 1 + .../plugins/emotions/editor_plugin_src.js | 63 + .../js/tiny_mce/plugins/emotions/emotions.htm | 40 + .../plugins/emotions/images/emotions.gif | Bin 0 -> 319 bytes .../plugins/emotions/images/readme.txt | 2 + .../plugins/emotions/images/smiley-cool.gif | Bin 0 -> 354 bytes .../plugins/emotions/images/smiley-cry.gif | Bin 0 -> 329 bytes .../emotions/images/smiley-embarassed.gif | Bin 0 -> 331 bytes .../emotions/images/smiley-foot-in-mouth.gif | Bin 0 -> 344 bytes .../plugins/emotions/images/smiley-frown.gif | Bin 0 -> 340 bytes .../emotions/images/smiley-innocent.gif | Bin 0 -> 336 bytes .../plugins/emotions/images/smiley-kiss.gif | Bin 0 -> 338 bytes .../emotions/images/smiley-laughing.gif | Bin 0 -> 344 bytes .../emotions/images/smiley-money-mouth.gif | Bin 0 -> 321 bytes .../plugins/emotions/images/smiley-sealed.gif | Bin 0 -> 325 bytes .../plugins/emotions/images/smiley-smile.gif | Bin 0 -> 345 bytes .../emotions/images/smiley-surprised.gif | Bin 0 -> 342 bytes .../emotions/images/smiley-tongue-out.gif | Bin 0 -> 328 bytes .../emotions/images/smiley-undecided.gif | Bin 0 -> 337 bytes .../plugins/emotions/images/smiley-wink.gif | Bin 0 -> 351 bytes .../plugins/emotions/images/smiley-yell.gif | Bin 0 -> 336 bytes .../plugins/emotions/jscripts/functions.js | 21 + .../js/tiny_mce/plugins/emotions/langs/en.js | 22 + .../js/tiny_mce/plugins/emotions/readme.txt | 1 + .../js/tiny_mce/plugins/media/css/content.css | 26 + .../js/tiny_mce/plugins/media/css/media.css | 68 + .../tiny_mce/plugins/media/editor_plugin.js | 1 + .../plugins/media/editor_plugin_src.js | 435 + .../tiny_mce/plugins/media/images/flash.gif | Bin 0 -> 241 bytes .../tiny_mce/plugins/media/images/media.gif | Bin 0 -> 280 bytes .../plugins/media/images/quicktime.gif | Bin 0 -> 303 bytes .../plugins/media/images/realmedia.gif | Bin 0 -> 439 bytes .../plugins/media/images/shockwave.gif | Bin 0 -> 387 bytes .../plugins/media/images/windowsmedia.gif | Bin 0 -> 415 bytes .../tiny_mce/plugins/media/jscripts/embed.js | 73 + .../tiny_mce/plugins/media/jscripts/media.js | 590 ++ program/js/tiny_mce/plugins/media/langs/en.js | 94 + program/js/tiny_mce/plugins/media/media.htm | 723 ++ .../plugins/nonbreaking/editor_plugin.js | 1 + .../plugins/nonbreaking/editor_plugin_src.js | 62 + .../nonbreaking/images/nonbreaking.gif | Bin 0 -> 619 bytes .../tiny_mce/plugins/nonbreaking/langs/en.js | 5 + program/js/tiny_mce/plugins/readme.txt | 1 + .../searchreplace/css/searchreplace.css | 20 + .../plugins/searchreplace/editor_plugin.js | 1 + .../searchreplace/editor_plugin_src.js | 173 + .../plugins/searchreplace/images/replace.gif | Bin 0 -> 125 bytes .../images/replace_all_button_bg.gif | Bin 0 -> 669 bytes .../images/replace_button_bg.gif | Bin 0 -> 669 bytes .../plugins/searchreplace/images/search.gif | Bin 0 -> 191 bytes .../searchreplace/jscripts/searchreplace.js | 86 + .../plugins/searchreplace/langs/en.js | 21 + .../tiny_mce/plugins/searchreplace/readme.txt | 1 + .../plugins/searchreplace/searchreplace.htm | 107 + .../tiny_mce/plugins/spellchecker/changelog | 11 + .../classes/TinyGoogleSpell.class.php | 107 + .../spellchecker/classes/TinyPspell.class.php | 64 + .../classes/TinyPspellShell.class.php | 121 + .../tiny_mce/plugins/spellchecker/config.php | 26 + .../plugins/spellchecker/css/content.css | 5 + .../plugins/spellchecker/css/spellchecker.css | 34 + .../plugins/spellchecker/editor_plugin.js | 1 + .../plugins/spellchecker/editor_plugin_src.js | 588 ++ .../spellchecker/images/spellchecker.gif | Bin 0 -> 591 bytes .../plugins/spellchecker/images/wline.gif | Bin 0 -> 46 bytes .../tiny_mce/plugins/spellchecker/langs/en.js | 15 + .../plugins/spellchecker/tinyspell.php | 142 + program/js/tiny_mce/plugins/table/cell.htm | 182 + .../js/tiny_mce/plugins/table/css/cell.css | 17 + program/js/tiny_mce/plugins/table/css/row.css | 25 + .../js/tiny_mce/plugins/table/css/table.css | 13 + .../tiny_mce/plugins/table/editor_plugin.js | 1 + .../plugins/table/editor_plugin_src.js | 1073 +++ .../tiny_mce/plugins/table/images/buttons.gif | Bin 0 -> 1787 bytes .../tiny_mce/plugins/table/images/table.gif | Bin 0 -> 287 bytes .../plugins/table/images/table_cell_props.gif | Bin 0 -> 189 bytes .../plugins/table/images/table_delete.gif | Bin 0 -> 372 bytes .../plugins/table/images/table_delete_col.gif | Bin 0 -> 153 bytes .../plugins/table/images/table_delete_row.gif | Bin 0 -> 160 bytes .../table/images/table_insert_col_after.gif | Bin 0 -> 165 bytes .../table/images/table_insert_col_before.gif | Bin 0 -> 165 bytes .../table/images/table_insert_row_after.gif | Bin 0 -> 163 bytes .../table/images/table_insert_row_before.gif | Bin 0 -> 159 bytes .../table/images/table_merge_cells.gif | Bin 0 -> 198 bytes .../plugins/table/images/table_row_props.gif | Bin 0 -> 187 bytes .../table/images/table_split_cells.gif | Bin 0 -> 210 bytes .../tiny_mce/plugins/table/jscripts/cell.js | 249 + .../plugins/table/jscripts/merge_cells.js | 24 + .../js/tiny_mce/plugins/table/jscripts/row.js | 200 + .../tiny_mce/plugins/table/jscripts/table.js | 364 + program/js/tiny_mce/plugins/table/langs/en.js | 79 + .../js/tiny_mce/plugins/table/merge_cells.htm | 38 + program/js/tiny_mce/plugins/table/readme.txt | 1 + program/js/tiny_mce/plugins/table/row.htm | 159 + program/js/tiny_mce/plugins/table/table.htm | 160 + .../plugins/visualchars/editor_plugin.js | 1 + .../plugins/visualchars/editor_plugin_src.js | 89 + .../visualchars/images/visualchars.gif | Bin 0 -> 134 bytes .../tiny_mce/plugins/visualchars/langs/en.js | 5 + program/js/tiny_mce/themes/advanced/about.htm | 52 + .../js/tiny_mce/themes/advanced/anchor.htm | 33 + .../js/tiny_mce/themes/advanced/charmap.htm | 53 + .../tiny_mce/themes/advanced/color_picker.htm | 74 + .../themes/advanced/docs/en/about.htm | 31 + .../advanced/docs/en/common_buttons.htm | 162 + .../docs/en/create_accessible_content.htm | 45 + .../docs/en/images/insert_anchor_window.gif | Bin 0 -> 5189 bytes .../docs/en/images/insert_image_window.gif | Bin 0 -> 7195 bytes .../docs/en/images/insert_link_window.gif | Bin 0 -> 5658 bytes .../docs/en/images/insert_table_window.gif | Bin 0 -> 7094 bytes .../themes/advanced/docs/en/index.htm | 27 + .../advanced/docs/en/insert_anchor_button.htm | 32 + .../advanced/docs/en/insert_image_button.htm | 65 + .../advanced/docs/en/insert_link_button.htm | 33 + .../advanced/docs/en/insert_table_button.htm | 71 + .../themes/advanced/docs/en/style.css | 28 + .../themes/advanced/editor_template.js | 1 + .../themes/advanced/editor_template_src.js | 1516 ++++ program/js/tiny_mce/themes/advanced/image.htm | 100 + .../themes/advanced/images/anchor.gif | Bin 0 -> 171 bytes .../themes/advanced/images/anchor_symbol.gif | Bin 0 -> 70 bytes .../themes/advanced/images/backcolor.gif | Bin 0 -> 359 bytes .../tiny_mce/themes/advanced/images/bold.gif | Bin 0 -> 76 bytes .../themes/advanced/images/bold_de_se.gif | Bin 0 -> 73 bytes .../themes/advanced/images/bold_es.gif | Bin 0 -> 80 bytes .../themes/advanced/images/bold_fr.gif | Bin 0 -> 78 bytes .../themes/advanced/images/bold_ru.gif | Bin 0 -> 77 bytes .../themes/advanced/images/bold_tw.gif | Bin 0 -> 207 bytes .../themes/advanced/images/browse.gif | Bin 0 -> 113 bytes .../themes/advanced/images/bullist.gif | Bin 0 -> 108 bytes .../themes/advanced/images/button_menu.gif | Bin 0 -> 57 bytes .../themes/advanced/images/buttons.gif | Bin 0 -> 5662 bytes .../advanced/images/cancel_button_bg.gif | Bin 0 -> 677 bytes .../themes/advanced/images/charmap.gif | Bin 0 -> 245 bytes .../themes/advanced/images/cleanup.gif | Bin 0 -> 256 bytes .../tiny_mce/themes/advanced/images/close.gif | Bin 0 -> 102 bytes .../tiny_mce/themes/advanced/images/code.gif | Bin 0 -> 110 bytes .../tiny_mce/themes/advanced/images/color.gif | Bin 0 -> 125 bytes .../themes/advanced/images/colors.jpg | Bin 0 -> 3189 bytes .../tiny_mce/themes/advanced/images/copy.gif | Bin 0 -> 263 bytes .../themes/advanced/images/custom_1.gif | Bin 0 -> 76 bytes .../tiny_mce/themes/advanced/images/cut.gif | Bin 0 -> 187 bytes .../themes/advanced/images/forecolor.gif | Bin 0 -> 342 bytes .../tiny_mce/themes/advanced/images/help.gif | Bin 0 -> 295 bytes .../js/tiny_mce/themes/advanced/images/hr.gif | Bin 0 -> 63 bytes .../tiny_mce/themes/advanced/images/image.gif | Bin 0 -> 194 bytes .../themes/advanced/images/indent.gif | Bin 0 -> 112 bytes .../advanced/images/insert_button_bg.gif | Bin 0 -> 703 bytes .../themes/advanced/images/italic.gif | Bin 0 -> 79 bytes .../themes/advanced/images/italic_de_se.gif | Bin 0 -> 75 bytes .../themes/advanced/images/italic_es.gif | Bin 0 -> 74 bytes .../themes/advanced/images/italic_ru.gif | Bin 0 -> 78 bytes .../themes/advanced/images/italic_tw.gif | Bin 0 -> 274 bytes .../themes/advanced/images/justifycenter.gif | Bin 0 -> 70 bytes .../themes/advanced/images/justifyfull.gif | Bin 0 -> 71 bytes .../themes/advanced/images/justifyleft.gif | Bin 0 -> 71 bytes .../themes/advanced/images/justifyright.gif | Bin 0 -> 70 bytes .../tiny_mce/themes/advanced/images/link.gif | Bin 0 -> 175 bytes .../themes/advanced/images/menu_check.gif | Bin 0 -> 51 bytes .../themes/advanced/images/newdocument.gif | Bin 0 -> 170 bytes .../themes/advanced/images/numlist.gif | Bin 0 -> 111 bytes .../themes/advanced/images/opacity.png | Bin 0 -> 147 bytes .../themes/advanced/images/outdent.gif | Bin 0 -> 110 bytes .../tiny_mce/themes/advanced/images/paste.gif | Bin 0 -> 286 bytes .../tiny_mce/themes/advanced/images/redo.gif | Bin 0 -> 169 bytes .../themes/advanced/images/removeformat.gif | Bin 0 -> 168 bytes .../themes/advanced/images/separator.gif | Bin 0 -> 57 bytes .../themes/advanced/images/spacer.gif | Bin 0 -> 43 bytes .../advanced/images/statusbar_resize.gif | Bin 0 -> 79 bytes .../themes/advanced/images/strikethrough.gif | Bin 0 -> 83 bytes .../tiny_mce/themes/advanced/images/sub.gif | Bin 0 -> 148 bytes .../tiny_mce/themes/advanced/images/sup.gif | Bin 0 -> 147 bytes .../themes/advanced/images/underline.gif | Bin 0 -> 88 bytes .../themes/advanced/images/underline_es.gif | Bin 0 -> 79 bytes .../themes/advanced/images/underline_fr.gif | Bin 0 -> 79 bytes .../themes/advanced/images/underline_ru.gif | Bin 0 -> 77 bytes .../themes/advanced/images/underline_tw.gif | Bin 0 -> 245 bytes .../tiny_mce/themes/advanced/images/undo.gif | Bin 0 -> 175 bytes .../themes/advanced/images/unlink.gif | Bin 0 -> 190 bytes .../themes/advanced/images/visualaid.gif | Bin 0 -> 206 bytes .../themes/advanced/images/xp/tab_bg.gif | Bin 0 -> 694 bytes .../themes/advanced/images/xp/tab_end.gif | Bin 0 -> 169 bytes .../themes/advanced/images/xp/tab_sel_bg.gif | Bin 0 -> 428 bytes .../themes/advanced/images/xp/tab_sel_end.gif | Bin 0 -> 101 bytes .../themes/advanced/images/xp/tabs_bg.gif | Bin 0 -> 48 bytes .../themes/advanced/jscripts/about.js | 75 + .../themes/advanced/jscripts/anchor.js | 74 + .../themes/advanced/jscripts/charmap.js | 326 + .../themes/advanced/jscripts/color_picker.js | 240 + .../themes/advanced/jscripts/image.js | 81 + .../tiny_mce/themes/advanced/jscripts/link.js | 74 + .../themes/advanced/jscripts/source_editor.js | 59 + .../js/tiny_mce/themes/advanced/langs/en.js | 93 + program/js/tiny_mce/themes/advanced/link.htm | 101 + .../themes/advanced/source_editor.htm | 32 + program/js/tiny_mce/tiny_mce.js | 1 + program/js/tiny_mce/tiny_mce_popup.js | 294 + program/js/tiny_mce/tiny_mce_src.js | 7571 +++++++++++++++++ program/js/tiny_mce/utils/editable_selects.js | 61 + program/js/tiny_mce/utils/form_utils.js | 210 + program/js/tiny_mce/utils/mclayer.js | 210 + program/js/tiny_mce/utils/mctabs.js | 74 + program/js/tiny_mce/utils/validate.js | 219 + program/lib/imap.inc | 11 +- program/lib/mime.inc | 6 +- program/localization/am/labels.inc | 2 +- program/localization/am/messages.inc | 2 +- program/localization/ar/labels.inc | 180 + program/localization/ar/messages.inc | 77 + program/localization/ca/labels.inc | 14 +- program/localization/ca/messages.inc | 5 +- program/localization/cz/labels.inc | 289 +- program/localization/cz/messages.inc | 43 +- program/localization/da/labels.inc | 12 +- program/localization/da/messages.inc | 5 +- program/localization/de_CH/labels.inc | 9 +- program/localization/de_DE/labels.inc | 12 +- program/localization/de_DE/messages.inc | 5 +- program/localization/el/labels.inc | 2 +- program/localization/el/messages.inc | 2 +- program/localization/en_GB/labels.inc | 54 +- program/localization/en_GB/messages.inc | 28 +- program/localization/en_US/labels.inc | 11 +- program/localization/en_US/messages.inc | 9 +- program/localization/eo/labels.inc | 233 + program/localization/eo/messages.inc | 80 + program/localization/es/labels.inc | 20 +- program/localization/es/messages.inc | 11 +- program/localization/et_EE/labels.inc | 10 +- program/localization/et_EE/messages.inc | 3 +- program/localization/eu/labels.inc | 13 +- program/localization/eu/messages.inc | 4 +- program/localization/fa/labels.inc | 183 + program/localization/fa/messages.inc | 77 + program/localization/fi/labels.inc | 2 +- program/localization/fi/messages.inc | 2 +- program/localization/fr/labels.inc | 47 +- program/localization/fr/messages.inc | 51 +- program/localization/ga_IE/labels.inc | 177 + program/localization/ga_IE/messages.inc | 74 + program/localization/gl/labels.inc | 181 + program/localization/gl/messages.inc | 75 + program/localization/hr/labels.inc | 180 + program/localization/hr/messages.inc | 77 + program/localization/hu/labels.inc | 223 +- program/localization/hu/messages.inc | 219 +- program/localization/index.inc | 23 +- program/localization/it/labels.inc | 22 +- program/localization/it/messages.inc | 5 +- program/localization/ja/labels.inc | 4 +- program/localization/ja/messages.inc | 67 +- program/localization/lt/labels.inc | 10 +- program/localization/lt/messages.inc | 5 +- program/localization/mk/labels.inc | 177 + program/localization/mk/messages.inc | 74 + program/localization/ms_MY/labels.inc | 232 + program/localization/ms_MY/messages.inc | 79 + program/localization/nl_NL/labels.inc | 266 +- program/localization/nl_NL/messages.inc | 25 +- program/localization/pl/labels.inc | 67 +- program/localization/pl/messages.inc | 44 +- program/localization/pt_BR/labels.inc | 258 +- program/localization/pt_BR/messages.inc | 50 +- program/localization/pt_PT/labels.inc | 12 +- program/localization/pt_PT/messages.inc | 3 +- program/localization/ru/labels.inc | 2 +- program/localization/ru/messages.inc | 2 +- program/localization/se/labels.inc | 6 +- program/localization/se/messages.inc | 4 +- program/localization/si/messages.inc | 2 +- program/localization/sk/labels.inc | 4 +- program/localization/sk/messages.inc | 4 +- program/localization/sl/labels.inc | 5 +- program/localization/sl/messages.inc | 5 +- program/localization/tr/labels.inc | 46 +- program/localization/tr/messages.inc | 15 +- program/localization/uk/labels.inc | 201 + program/localization/uk/messages.inc | 75 + program/localization/zh_CN/labels.inc | 181 + program/localization/zh_CN/messages.inc | 78 + program/localization/zh_TW/labels.inc | 2 +- program/localization/zh_TW/messages.inc | 2 +- program/steps/addressbook/copy.inc | 5 +- program/steps/addressbook/func.inc | 2 +- program/steps/addressbook/mailto.inc | 2 + program/steps/addressbook/save.inc | 4 +- program/steps/error.inc | 6 +- program/steps/mail/addcontact.inc | 4 +- program/steps/mail/check_recent.inc | 2 +- program/steps/mail/compose.inc | 22 +- program/steps/mail/folders.inc | 6 +- program/steps/mail/func.inc | 337 +- program/steps/mail/get.inc | 12 +- program/steps/mail/getunread.inc | 4 +- program/steps/mail/list.inc | 9 +- program/steps/mail/move_del.inc | 25 +- program/steps/mail/quotadisplay.inc | 4 +- program/steps/mail/rss.inc | 6 +- program/steps/mail/search.inc | 2 +- program/steps/mail/sendmail.inc | 20 +- program/steps/mail/show.inc | 4 +- program/steps/mail/spell.inc | 6 +- program/steps/mail/upload.inc | 4 +- program/steps/mail/viewsource.inc | 6 +- program/steps/settings/edit_identity.inc | 9 +- program/steps/settings/func.inc | 17 +- program/steps/settings/manage_folders.inc | 53 +- program/steps/settings/save_prefs.inc | 12 +- skins/default/colorpicker.css | 53 + skins/default/common.css | 5 +- skins/default/editor_content.css | 58 + skins/default/editor_popup.css | 331 + skins/default/editor_ui.css | 97 + skins/default/googiespell.css | 0 skins/default/images/buttons/down_arrow.png | Bin skins/default/images/buttons/up_arrow.png | Bin skins/default/images/display/loading.gif | Bin skins/default/images/icons/plus.gif | Bin skins/default/mail.css | 110 +- skins/default/pngbehavior.htc | 104 +- skins/default/settings.css | 20 + skins/default/splitter.js | 209 + skins/default/templates/addressbook.html | 8 + skins/default/templates/compose.html | 102 +- skins/default/templates/mail.html | 21 +- skins/default/templates/message.html | 4 +- 371 files changed, 27160 insertions(+), 4476 deletions(-) mode change 100755 => 100644 SQL/mssql.initial.sql delete mode 100644 SQL/mysql.update-0.1a.sql mode change 100755 => 100644 SQL/postgres.initial.sql create mode 100644 bin/modcss.php delete mode 100755 bin/msgimport delete mode 100644 program/include/cache.inc mode change 100755 => 100644 program/include/rcube_db.inc create mode 100644 program/include/rcube_html.inc mode change 100755 => 100644 program/include/rcube_mdb2.inc create mode 100644 program/js/editor.js mode change 100755 => 100644 program/js/googiespell.js create mode 100644 program/js/tiny_mce/blank.htm create mode 100644 program/js/tiny_mce/langs/en.js create mode 100644 program/js/tiny_mce/langs/readme.txt create mode 100644 program/js/tiny_mce/license.txt create mode 100644 program/js/tiny_mce/plugins/cleanup/editor_plugin.js create mode 100644 program/js/tiny_mce/plugins/cleanup/editor_plugin_src.js create mode 100644 program/js/tiny_mce/plugins/cleanup/readme.txt create mode 100644 program/js/tiny_mce/plugins/emotions/editor_plugin.js create mode 100644 program/js/tiny_mce/plugins/emotions/editor_plugin_src.js create mode 100644 program/js/tiny_mce/plugins/emotions/emotions.htm create mode 100644 program/js/tiny_mce/plugins/emotions/images/emotions.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/readme.txt create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-cool.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-cry.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-embarassed.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-frown.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-innocent.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-kiss.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-laughing.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-sealed.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-smile.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-surprised.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-undecided.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-wink.gif create mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-yell.gif create mode 100644 program/js/tiny_mce/plugins/emotions/jscripts/functions.js create mode 100644 program/js/tiny_mce/plugins/emotions/langs/en.js create mode 100644 program/js/tiny_mce/plugins/emotions/readme.txt create mode 100644 program/js/tiny_mce/plugins/media/css/content.css create mode 100644 program/js/tiny_mce/plugins/media/css/media.css create mode 100644 program/js/tiny_mce/plugins/media/editor_plugin.js create mode 100644 program/js/tiny_mce/plugins/media/editor_plugin_src.js create mode 100644 program/js/tiny_mce/plugins/media/images/flash.gif create mode 100644 program/js/tiny_mce/plugins/media/images/media.gif create mode 100644 program/js/tiny_mce/plugins/media/images/quicktime.gif create mode 100644 program/js/tiny_mce/plugins/media/images/realmedia.gif create mode 100644 program/js/tiny_mce/plugins/media/images/shockwave.gif create mode 100644 program/js/tiny_mce/plugins/media/images/windowsmedia.gif create mode 100644 program/js/tiny_mce/plugins/media/jscripts/embed.js create mode 100644 program/js/tiny_mce/plugins/media/jscripts/media.js create mode 100644 program/js/tiny_mce/plugins/media/langs/en.js create mode 100644 program/js/tiny_mce/plugins/media/media.htm create mode 100644 program/js/tiny_mce/plugins/nonbreaking/editor_plugin.js create mode 100644 program/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js create mode 100644 program/js/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif create mode 100644 program/js/tiny_mce/plugins/nonbreaking/langs/en.js create mode 100644 program/js/tiny_mce/plugins/readme.txt create mode 100644 program/js/tiny_mce/plugins/searchreplace/css/searchreplace.css create mode 100644 program/js/tiny_mce/plugins/searchreplace/editor_plugin.js create mode 100644 program/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js create mode 100644 program/js/tiny_mce/plugins/searchreplace/images/replace.gif create mode 100644 program/js/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif create mode 100644 program/js/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif create mode 100644 program/js/tiny_mce/plugins/searchreplace/images/search.gif create mode 100644 program/js/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js create mode 100644 program/js/tiny_mce/plugins/searchreplace/langs/en.js create mode 100644 program/js/tiny_mce/plugins/searchreplace/readme.txt create mode 100644 program/js/tiny_mce/plugins/searchreplace/searchreplace.htm create mode 100644 program/js/tiny_mce/plugins/spellchecker/changelog create mode 100644 program/js/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php create mode 100644 program/js/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php create mode 100644 program/js/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php create mode 100644 program/js/tiny_mce/plugins/spellchecker/config.php create mode 100644 program/js/tiny_mce/plugins/spellchecker/css/content.css create mode 100644 program/js/tiny_mce/plugins/spellchecker/css/spellchecker.css create mode 100644 program/js/tiny_mce/plugins/spellchecker/editor_plugin.js create mode 100644 program/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js create mode 100644 program/js/tiny_mce/plugins/spellchecker/images/spellchecker.gif create mode 100644 program/js/tiny_mce/plugins/spellchecker/images/wline.gif create mode 100644 program/js/tiny_mce/plugins/spellchecker/langs/en.js create mode 100644 program/js/tiny_mce/plugins/spellchecker/tinyspell.php create mode 100644 program/js/tiny_mce/plugins/table/cell.htm create mode 100644 program/js/tiny_mce/plugins/table/css/cell.css create mode 100644 program/js/tiny_mce/plugins/table/css/row.css create mode 100644 program/js/tiny_mce/plugins/table/css/table.css create mode 100644 program/js/tiny_mce/plugins/table/editor_plugin.js create mode 100644 program/js/tiny_mce/plugins/table/editor_plugin_src.js create mode 100644 program/js/tiny_mce/plugins/table/images/buttons.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_cell_props.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_delete.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_delete_col.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_delete_row.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_insert_col_after.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_insert_col_before.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_insert_row_after.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_insert_row_before.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_merge_cells.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_row_props.gif create mode 100644 program/js/tiny_mce/plugins/table/images/table_split_cells.gif create mode 100644 program/js/tiny_mce/plugins/table/jscripts/cell.js create mode 100644 program/js/tiny_mce/plugins/table/jscripts/merge_cells.js create mode 100644 program/js/tiny_mce/plugins/table/jscripts/row.js create mode 100644 program/js/tiny_mce/plugins/table/jscripts/table.js create mode 100644 program/js/tiny_mce/plugins/table/langs/en.js create mode 100644 program/js/tiny_mce/plugins/table/merge_cells.htm create mode 100644 program/js/tiny_mce/plugins/table/readme.txt create mode 100644 program/js/tiny_mce/plugins/table/row.htm create mode 100644 program/js/tiny_mce/plugins/table/table.htm create mode 100644 program/js/tiny_mce/plugins/visualchars/editor_plugin.js create mode 100644 program/js/tiny_mce/plugins/visualchars/editor_plugin_src.js create mode 100644 program/js/tiny_mce/plugins/visualchars/images/visualchars.gif create mode 100644 program/js/tiny_mce/plugins/visualchars/langs/en.js create mode 100644 program/js/tiny_mce/themes/advanced/about.htm create mode 100644 program/js/tiny_mce/themes/advanced/anchor.htm create mode 100644 program/js/tiny_mce/themes/advanced/charmap.htm create mode 100644 program/js/tiny_mce/themes/advanced/color_picker.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/about.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/common_buttons.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/index.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/insert_image_button.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/insert_link_button.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/insert_table_button.htm create mode 100644 program/js/tiny_mce/themes/advanced/docs/en/style.css create mode 100644 program/js/tiny_mce/themes/advanced/editor_template.js create mode 100644 program/js/tiny_mce/themes/advanced/editor_template_src.js create mode 100644 program/js/tiny_mce/themes/advanced/image.htm create mode 100644 program/js/tiny_mce/themes/advanced/images/anchor.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/anchor_symbol.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/backcolor.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/bold.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/bold_de_se.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/bold_es.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/bold_fr.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/bold_ru.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/bold_tw.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/browse.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/bullist.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/button_menu.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/buttons.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/cancel_button_bg.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/charmap.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/cleanup.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/close.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/code.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/color.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/colors.jpg create mode 100644 program/js/tiny_mce/themes/advanced/images/copy.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/custom_1.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/cut.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/forecolor.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/help.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/hr.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/image.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/indent.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/insert_button_bg.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/italic.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/italic_de_se.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/italic_es.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/italic_ru.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/italic_tw.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/justifycenter.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/justifyfull.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/justifyleft.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/justifyright.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/link.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/menu_check.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/newdocument.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/numlist.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/opacity.png create mode 100644 program/js/tiny_mce/themes/advanced/images/outdent.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/paste.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/redo.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/removeformat.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/separator.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/spacer.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/statusbar_resize.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/strikethrough.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/sub.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/sup.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/underline.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/underline_es.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/underline_fr.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/underline_ru.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/underline_tw.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/undo.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/unlink.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/visualaid.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tab_bg.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tab_end.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif create mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tabs_bg.gif create mode 100644 program/js/tiny_mce/themes/advanced/jscripts/about.js create mode 100644 program/js/tiny_mce/themes/advanced/jscripts/anchor.js create mode 100644 program/js/tiny_mce/themes/advanced/jscripts/charmap.js create mode 100644 program/js/tiny_mce/themes/advanced/jscripts/color_picker.js create mode 100644 program/js/tiny_mce/themes/advanced/jscripts/image.js create mode 100644 program/js/tiny_mce/themes/advanced/jscripts/link.js create mode 100644 program/js/tiny_mce/themes/advanced/jscripts/source_editor.js create mode 100644 program/js/tiny_mce/themes/advanced/langs/en.js create mode 100644 program/js/tiny_mce/themes/advanced/link.htm create mode 100644 program/js/tiny_mce/themes/advanced/source_editor.htm create mode 100644 program/js/tiny_mce/tiny_mce.js create mode 100644 program/js/tiny_mce/tiny_mce_popup.js create mode 100644 program/js/tiny_mce/tiny_mce_src.js create mode 100644 program/js/tiny_mce/utils/editable_selects.js create mode 100644 program/js/tiny_mce/utils/form_utils.js create mode 100644 program/js/tiny_mce/utils/mclayer.js create mode 100644 program/js/tiny_mce/utils/mctabs.js create mode 100644 program/js/tiny_mce/utils/validate.js mode change 100755 => 100644 program/localization/am/labels.inc mode change 100755 => 100644 program/localization/am/messages.inc create mode 100644 program/localization/ar/labels.inc create mode 100644 program/localization/ar/messages.inc mode change 100755 => 100644 program/localization/cz/labels.inc mode change 100755 => 100644 program/localization/cz/messages.inc mode change 100755 => 100644 program/localization/el/labels.inc mode change 100755 => 100644 program/localization/el/messages.inc create mode 100644 program/localization/eo/labels.inc create mode 100644 program/localization/eo/messages.inc create mode 100644 program/localization/fa/labels.inc create mode 100644 program/localization/fa/messages.inc create mode 100755 program/localization/ga_IE/labels.inc create mode 100755 program/localization/ga_IE/messages.inc create mode 100644 program/localization/gl/labels.inc create mode 100644 program/localization/gl/messages.inc create mode 100644 program/localization/hr/labels.inc create mode 100644 program/localization/hr/messages.inc create mode 100755 program/localization/mk/labels.inc create mode 100755 program/localization/mk/messages.inc create mode 100644 program/localization/ms_MY/labels.inc create mode 100644 program/localization/ms_MY/messages.inc mode change 100755 => 100644 program/localization/ru/labels.inc mode change 100755 => 100644 program/localization/ru/messages.inc mode change 100755 => 100644 program/localization/sl/labels.inc mode change 100755 => 100644 program/localization/sl/messages.inc create mode 100644 program/localization/uk/labels.inc create mode 100644 program/localization/uk/messages.inc create mode 100644 program/localization/zh_CN/labels.inc create mode 100644 program/localization/zh_CN/messages.inc mode change 100755 => 100644 program/localization/zh_TW/labels.inc mode change 100755 => 100644 program/localization/zh_TW/messages.inc create mode 100644 skins/default/colorpicker.css mode change 100755 => 100644 skins/default/common.css create mode 100644 skins/default/editor_content.css create mode 100644 skins/default/editor_popup.css create mode 100644 skins/default/editor_ui.css mode change 100755 => 100644 skins/default/googiespell.css mode change 100755 => 100644 skins/default/images/buttons/down_arrow.png mode change 100755 => 100644 skins/default/images/buttons/up_arrow.png mode change 100755 => 100644 skins/default/images/display/loading.gif mode change 100755 => 100644 skins/default/images/icons/plus.gif create mode 100644 skins/default/splitter.js diff --git a/.htaccess b/.htaccess index 9474105..b40b7ea 100644 --- a/.htaccess +++ b/.htaccess @@ -1,10 +1,23 @@ # AddDefaultCharset UTF-8 -php_flag display_errors Off -php_flag log_errors On -php_value error_log logs/errors -php_value upload_max_filesize 2M +AddType text/x-component .htc - + + php_flag display_errors Off + php_flag log_errors On + php_value error_log logs/errors + php_value upload_max_filesize 5M + php_value post_max_size 6M + + + + php_flag display_errors Off + php_flag log_errors On + php_value error_log logs/errors + php_value upload_max_filesize 5M + php_value post_max_size 6M + + + Order allow,deny Deny from all diff --git a/CHANGELOG b/CHANGELOG index 2ab885f..96c8b26 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,102 +1,89 @@ CHANGELOG RoundCube Webmail --------------------------- -2007/05/18 (thomasb) ----------- +- Enable drag-&-dropping of folders to a new parent and allow to create subfolders (#1457344) +- Suppress IE errors when clearing attachments form (#1484356) +- Set preferences field in user table to NULL (#1484386) +- Log error when login fails due to auto_create_user turned off +- Filter linked/imported CSS files (closes #1484056) +- Improve message compose screen (closes #1484383) +- Select next row after removing one from list (#1484387) +- Make smtp HELO/EHLO hostname configurable (#1484067) +- IPv6 Compatability (#1484322), Patch #1484373 +- Unlock interface when message sending fails (#1484570) +- Eval PHP code in template includes (if configured) +- Show message when folder is empty. Mo more static text in table (#1484395) +- Only display unread count in page title when new messages arrived +- Fixed wrong delete button tooltip (#1483965) +- Fixed charset encoding bug (#1484429) +- Applied patch for LDAP version (#1484552) +- Improved XHTML validation +- Fix message list selection (#1484550) +- Better fix lowercased usernames (#1484473) +- Update pngbehavior Script as suggested in #1484490 +- Fixed moving/deleting messages when more than 1 is selected +- Applied patch for LDAP contacts listing by Glen Ogilvie +- Applied patch for more address fields in LDAP contacts (#1484402) +- Add alternative for getallheaders() (fix #1484508) +- Identify mailboxes case-sensitive +- Sort mailbox list case-insensitive (closes #1484338) +- Fix display of multipart messages from Apple Mail (closes #1484027) +- Protect AJAX request from being fetched by a foreign site (XSS) +- Make autocomplete for loginform configurable by the skin template +- Fix compose function from address book (closes #1484426) +- Added //IGNORE to iconv call (patch #1484420, closes #1484023) +- Check if mbstring supports charset (#1484290 and #1484292) +- Prefer iconv over mbstring (as suggested in #1484292) +- Check filesize of template includes (#1484409) +- Fixed bug with buttons not dimming/enabling properly after switching folders +- Fixed compose window becoming unresponsive after saving a draft (#1484487) +- Re-enabled "Back" button in compose window now that bug #1484487 is fixed +- Fixed unresponsive interface issue when downloading attachments (#1484496) +- Lowered status message time from 5 to 3 seconds to improve responsiveness +- Raised .htaccess upload_max_filesize from 2M to 5M to differ from default php.ini +- Increased "mailboxcontrols" mail.css width from 160 to 170px to fix non-english languages (#1484499) +- Fix status message bug #1484464 with regard to #1484353 +- Fix address adding bug reported by David Koblas +- Applied socket error patch by Thomas Mangin +- Pass-by-reference workarround for PHP5 in sendmail.inc +- Fixed buggy imap_root settings (closes #1484379) +- Prevent default events on subject links (#1484399) - Use HTTP-POST requests for actions that change state +RELEASE 0.1.-RC1 -2007/05/17 (thomasb) ----------- -- Updated Catalan, Russian, Portuguese, Slovak and Chinese translations -- Renamed localization folder for Chinese (Big5) -- Chanegd Slovenian language code from 'si' to 'sl' -- Added Sinhala (Sri-Lanka) localization - Use global filters and bind username/ for Ldap searches (#1484159) - Hide quota display if imap server does not support it - Hide address groups if no LDAP servers configured - Add link to message subjects (closes #1484257) - Better SQL query for contact listing/search (closes #1484369) - - -2007/05/13 (thomasb) ----------- -- Updated Norwegian (bokmal), Czech, Danish and Portuguese (standard) translation - Fixed marking as read in preview pane (closes #1484364) - CSS hack to display attachments correctly in IE6 - Wrap message body text (closes #1484148) - - -2007/05/03 (yllar) ----------- -- Updated French, Lithuanian, Armenian, Spanish and Italian translations - - -2007/05/01 (thomasb) ----------- -- Updated German, Euskara, Hungarian, Romanian and Spanish translation -- Added Hindi and Kurdish localization - - -2007/04/28 (thomasb) ----------- - LDAP access is back in address book (closes #1484087) - Added search function for contacts - New Template parsing and output encoding - Fixed bugs #1484119 and #1483978 - - -2007/04/08 (thomasb) ----------- - Fixed message moving procedure (closes #1484308) - Fixed display of multiple attachments (closes #1466563) - Fixed check for new messages (closes #1484310) - List attachments without filename - - -2007/03/27 (thomasb) ----------- - New session authentication: Change sessid cookie when login, authentication with sessauth cookie is now configurable. Should close bugs #1483951 and #1484299 - - -2007/03/23 (thomasb) ----------- - Correctly translate mailbox names (closes #1484276) - Quote e-mail address links (closes #1484300) - - -2007/03/21 (thomasb) ----------- - Updated PEAR::Mail_mime package -- Added Persian localization -- Updated Catalan and Brazilian Portuguese translations -- Updated INSTALL manual with a note about database passwords - Accept single quotes for HTML attributes when modifying message body (thanks Jason) - Sanitize input for new users/identities (thanks Colin Alston) - - -2007/03/19 (thomasb) ----------- - Don't download HTML message parts - Convert HTML parts to plaintext if 'prefer_html' is off - Correctly parse message/rfc822 parts (closes #1484045) -- Code cleanup - - -2007/03/18 (thomasb) ----------- - Also use user_id for unique key in messages table (closes #1484074) - Hide contacts drop down on blur (closes #1484203) - Make entries in contacts drop down clickable - Turn off browser autocompletion on login page - Quote tags to forms (Ticket #1483810) - - -2006/07/07 (thomasb) ----------- -- Fixed INSTALL_PATH bug #1425663 - - -2006/07/03 (richs) ----------- -- Fixed compatibility with in-body email addresses containing "+" (Bug #1483836) -- Updated French localizations (Ticket #1483862) -- Incoming messages can now be moved to Drafts, edited, saved, then moved back (Feature #1436191) -- Added Firefox workaround when clicking whitespace to drag messages (Bug #1483857) -- Corrected Dutch and Italian localizations (Ticket #1483851 and #1483848) -- Enabled 'Empty' (purge) command for Junk mailbox (defined in main.inc.php) - - -2006/06/30 (richs) ----------- -- Fixed empty INBOX compatibility bug (Patch #1443200) -- Temporarily fixed French "compact" localization (Patch #1483862) -- Fixed "Select All" not working with Delete interface button (Bug #1332434) -- Fixed messsage list column compatibility with Konqueror (Bug #1395711) -- Fixed "unread count" in window title when count changed (Bug #1483812) -- Fixed DB error when deleting from message table (Patch #1483835) - - -2006/06/29 (richs) ----------- -- Added ability to remove attachments (Feature #1436721) -- Default folders are now auto-created on first login (Feature #1471594) -- Fixed compatibility with folder apostrophes (e.g.: Joe's Folder) (Bug #1429458) -- Corrected Italian localizations -- Tweaked rename-folder form to clear after a rename - - -2006/06/26 (richs) ----------- -- Added button to immediately check for new messages -- New message checking now displays status "Checking for new messages..." -- New message checking now looks for unread messages in all mailboxes (Feature #1326401) -- Task buttons now respond to clicks by darkening (as in other applications) -- Fixed "Sender" column changing to "Recipient" for "Sent" and "Drafts" message lists -- Added ability to sort messages by "Size" -- Added ability to rename folders (Feature #1326396) -- Added 'protect_default_folders' option to main.inc.php to prevent renames/deletes/unsubscribes of default folders -- Corrected 5 typos of "INSTLL" to "INSTALL" in program/include/main.inc - - -2006/06/25 ----------- -- Changed behavior to include host-specific configuration (Bug #1483849) -- Assume ISO-8859-1 encoding of mail messages by default (Patch #1483839) -- Fixed spell checker to work with the new URL at google.com -- Some memory and security optimizations sendmail.inc -- Updated UGRADING description - - -2006/06/19 ----------- -- Added Drafts support (Feature #1326839) (richs) - - -2006/06/02 ----------- -- Updated Estonian localization and moved from ee to et -- Added Bulgarian localization - - -2006/05/25 ----------- -- Finalized GoogieSpell integration - - -2006/05/18 ----------- -- Added Arabic and Armenian localizations -- Updated Russian localization -- Removed MDB2 classes from repository. Install them seperately if used. -- Updated MDB2 wrapper class contributed by Lukas Kahwe Smith -- Allow & in e-mail addresses - - -2006/05/05 ----------- -- Fixed typos in function rcube_button() (Bugs #1473198 and #1473201) -- Check for zlib.output_compression before using ob_gzhandler (Bug #1471069) -- Casting date parts in iil_StrToTime() to avoid warnings (Bug #1482140) -- Corrected INSTALL description (Bug #1476106) -- Added charset to javascript HTTP headers -- Fixed Opera bug with CC and BCC fields (Bug #1474576) -- Changed login page title regarding product name (Bug #1476413) -- Pimped search function -- Applied attachment viewing/forwarding patches by Andrew Fladmark -- Applied prev/next patch by Leonard Bouchet -- Applied patches by Mark Bucciarelli -- Applied patch for requesting receipts by Salvatore Ansani -- Integrated GoogieSpell as suggested by phil (styling is not perfect yet, localization is missing) - - -2006/04/13 ----------- -- Added Slovenian localization -- Updated Portuguese localization -- Fixed parent.location problem for compose-links -- Added sort order saving patch by Jacob Brunson -- Added gzip compression support - - -2006/04/02 ----------- -- Added Lithuanian localization -- Improved search function -- Added version string as template object -- Load host-specific configuration file (see config/main.inc.php) -- New config parameter adding domain to user names for login -- Strip tags on _auth, _action, _task parameters -- Corrected labels for next/previous page buttons in address book - - -2006/03/23 ----------- -- Auto-detect mail header delimiters -- Regard daylight savings -- Localized quota display -- Started implementing search function - - -2006/03/20 ----------- -- Avoid error message when saving an unchanged identity (Bug #1429510) -- Fixed hard-coded cols selection for sent folder (Bug #1354586) -- Enable some HTML links for use with "open in new window" or "save target" -- Check meta-key instead of ctrl on Macs -- Ignore double clicks when holding down a modifier key -- Fixed reloading of the login page -- Fixed typo in compose template (Bug #1446852) -- Added compose button to message read step (Request #1433288) -- New config parameter for persistent database connections (Bug #1431817) - - -2006/03/14 ----------- -- Don't remove internal HTML tags in plaintext messages -- Improved error handling in DB connection failure - - -2006/02/22 ----------- -- Updated localizations -- Fixed bug #1435989 - - -2006/02/19 ----------- -- Updated localizations -- Applied patch of Anders Karlsson -- Applied patch of Jacob Brunson -- Applied patch for virtuser_query by Robin Elfrink -- Added support for References header (patch by Auke) -- Added support for mbstring module by Tadashi Jokagi -- Added function for automatic remove of slashes on GET and POST vars - if magic_quotes is enabled - - -2006/02/05 ----------- -- Added Slovak, Hungarian, Bosnian and Croation translation -- Fixed bug when inserting signatures with !?& -- Chopping message headers before inserting into the message cache table - (to avoid bugs in Postgres) -- Allow one-char domains in e-mail addresses -- Make product name in page title configurable -- Make username available as skin object -- Added session_write_close() in rcube_db class destructor to avoid problems - in PHP 5.0.5 -- Use move_uploaded_file() instead of copy() for a more secure handling of - uploaded attachments -- Additional config parameter to show/hide deleted messages -- Added periodic request for checking new mails (Request #1307821) -- Added EXPUNGE command -- Optimized loading time for mail interface -- Changed to full UTF-8 support -- Additional timezones (Patch #1389912) -- Added LDAP public search (experimental) -- Applied patch for correct ctrl/shift behavior for message selection (Bug #1326364) -- Casting to strings when adding empty headers to message cache (Bug #1406026) -- Skip sender-address as recipient when Reply-to-all -- Fixes in utf8-class -- Added patch for Quota display by Aury Fink Filho -- Added garbage collector for message cache -- Added patches for BCC headers - - -2005/12/16 ----------- -- Added Turkish and Simplified Chinese translation -- Use virtusertable to resolve e-mail addresses at login -- Configurable mail_domain used to compose correct e-mail addresses - on first login - - -2005/12/03 ----------- -- Added Finnish, Romanian, Polish, Czech, British, Norwegian, Greek, Russian, - Estonian and Chinese translation -- Get IMAP server capabilities in array -- Check for NAMESPACE capability before sending command -- Set default user language from config 'locale_string' -- Added sorting patch for message list -- Make default sort col/order configurable -- Fixed XSS in address book and identities -- Added more XSS protection (Bug #1308236) -- Added tab indexes for compose form -- Added 'changed' col to contacts table -- Support for 160-bit session hashes -- Added input check for contacts and identities (Patch #1346523) -- Added messages/warning to compose step (Patch #1323895) -- Added favicon to the default skin -- Fixed Bug #1334337 as far as possible -- Added Reply-To-All functionality (Request #1326395, Patch #1349777) -- Redesign of client side AJAX code (enable multi threading) -- Added keep-alive signal every minute -- Make logs dir configurable -- Added support for SMTPS -- Decode attachment file names -- Make delimiter for message headers configurable -- Add generic footer to sent messages -- Choose the rigt identity when replying -- Remove signature when replying (Request #1333167) -- Signatures for each identity -- Select charset when composing message -- Complete re-design of the caching mechanism - - -2005/08/11 ----------- -- Write list header to client even if list is empty -- Add functions "select all", "select none" to message list -- Improved filter for HTML messages to remove potentially malicious tags - (script, iframe, object) and event handlers. -- Buttons for next/previous message in view mode -- Add new created contact to list and show confirmation status -- Added folder management (subscribe/create/delete) -- Log message sending (SMTP log) -- Grant access for Camino browser -- Added German translation - - -2005/10/20 ----------- -- Added Swedish, Latvian, Portuguese and Catalan translation -- Make SMTP auth method configurable -- Make mailboxlist scrollable (Bug #1326372) -- Fixed SSL support -- Improved support for Courier IMAP (root folder and delimiter issues) -- Moved taskbar from bottom to top -- Added 'session_lifetime' parameter -- Fixed wrong unread count when deleting message (Bug #1332434) -- Srip tags when creating a new folder (Bug #1332084) -- Translate HTML tags in message headers (Bug #1330134) -- Correction in German translation (Bug #1329434) -- Display folder names with special chars correctly (Bug #1330157) - - -2005/10/07 ----------- -- Added French, Italian, Spanish, Danish, Dutch translation -- Clarified license (Bug #1305966) -- Fixed PHP warnings (Bug #1299403) -- Fixed english translation (Bug #1295406) -- Fixed bug #1290833: Last character of email not seen -- Fixed bug #1292199 when creating new user -- Allow more browsers (Bug #1285101) -- Added setting for showing pretty dates -- Added support for SQLite database -- Make use of message caching configurable -- Also add attachments when forwarding a message -- Long folder names will not flow over message list (Bug #1267232) -- Show nested mailboxes hieracically -- Enable IMAPS by host - - -2005/08/20 ----------- -- Improved cacheing of mailbox messagecount -- Fixed javascript bug when creating a new message folder -- Fixed javascript bugs #1260990 and #1260992: folder selection -- Make Trash folder configurable -- Auto create folders Inbox, Sent and Trash (if configured) -- Support for IMAP root folder -- Added support fot text/enriched messages -- Make list of special mailboxes configurable - diff --git a/INSTALL b/INSTALL index 1778972..5032e4a 100644 --- a/INSTALL +++ b/INSTALL @@ -18,6 +18,7 @@ REQUIREMENTS - DB (1.7.11) - Mail_Mime (1.3.1) - Net_SMTP (1.2.10) +* PHP compiled with Open SSL to connect to IMAPS and to use the spell checker * A MySQL or PostgreSQL database engine or the SQLite extension for PHP * A database with permission to create tables @@ -109,8 +110,14 @@ CONFIGURATION ============= Change the files in config/* according your to environment and your needs. -Details about the config parameters can be found in the config files -or in the wiki: http://trac.roundcube.net/trac.cgi/wiki/Howto_Config +Details about the config paramaters can be found in the config files. + +You can also modify the default .htaccess file. This is necessary to +increase the allowed size of file attachments, for example: + php_value upload_max_filesize 2M + +To enable the experimental HTML editor you need to set the config +parameter 'enable_htmleditor' to true. UPGRADING diff --git a/README b/README index 40b5b97..da1bd2e 100644 --- a/README +++ b/README @@ -1,6 +1,5 @@ RoundCube Webmail (http://roundcube.net) - Introduction: ------------- RoundCube Webmail is a browser-based multilingual IMAP client with an @@ -44,6 +43,24 @@ already have a corresponding entry in the user's table (username and hostname) will be allowed. +Code Layout: +------------ +Basic sequence (index.php): + - index.php -> rcmail_load_gui -> new rcmail_template -> rcmail_template::send + - authentication details in this sequence + +Tasks + - index.php limits tasks to set list + - can see task in roundcube link when you mouse over it + - task templates stored in skins/default/templates + - templates "roundcube:" tokens that get replaced in rcmail_template class + +program/include/rcube_shared.inc + - defines rcube_html_page, class that lays out a roundcube web page + - defines form control classes + - provides common functions + + Contact: -------- For any bug reports or feature requests please refer to the tracking system @@ -52,6 +69,6 @@ subscribe to our mailing list. See http://www.roundcube.net/?p=mailinglists for details. You're always welcome to send a message to the project admin: -roundcube@gmail.com +hello@roundcube.net diff --git a/SQL/mssql.initial.sql b/SQL/mssql.initial.sql old mode 100755 new mode 100644 index 59916e8..f3b5d5c --- a/SQL/mssql.initial.sql +++ b/SQL/mssql.initial.sql @@ -58,7 +58,7 @@ CREATE TABLE [dbo].[session] ( [sess_id] [varchar] (32) COLLATE Latin1_General_CI_AI NOT NULL , [created] [datetime] NOT NULL , [changed] [datetime] NULL , - [ip] [varchar] (15) COLLATE Latin1_General_CI_AI NOT NULL , + [ip] [varchar] (40) COLLATE Latin1_General_CI_AI NOT NULL , [vars] [text] COLLATE Latin1_General_CI_AI NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO diff --git a/SQL/mysql.initial.sql b/SQL/mysql.initial.sql index 4a92734..926a83e 100644 --- a/SQL/mysql.initial.sql +++ b/SQL/mysql.initial.sql @@ -73,7 +73,7 @@ CREATE TABLE `session` ( `sess_id` varchar(40) NOT NULL default '', `created` datetime NOT NULL default '0000-00-00 00:00:00', `changed` datetime NOT NULL default '0000-00-00 00:00:00', - `ip` VARCHAR(15) NOT NULL default '', + `ip` VARCHAR(40) NOT NULL default '', `vars` text NOT NULL, PRIMARY KEY (`sess_id`) ); @@ -92,7 +92,7 @@ CREATE TABLE `users` ( `created` datetime NOT NULL default '0000-00-00 00:00:00', `last_login` datetime NOT NULL default '0000-00-00 00:00:00', `language` varchar(5) NOT NULL default 'en', - `preferences` text NOT NULL default '', + `preferences` text, PRIMARY KEY (`user_id`) ); diff --git a/SQL/mysql.update-0.1a.sql b/SQL/mysql.update-0.1a.sql deleted file mode 100644 index 054814a..0000000 --- a/SQL/mysql.update-0.1a.sql +++ /dev/null @@ -1,51 +0,0 @@ --- RoundCube Webmail update script for MySQL databases --- Updates from version 0.1-20051007 - - -ALTER TABLE `session` ADD `ip` VARCHAR(15) NOT NULL AFTER changed; -ALTER TABLE `users` ADD `alias` VARCHAR(128) NOT NULL AFTER mail_host; - - - --- RoundCube Webmail update script for MySQL databases --- Updates from version 0.1-20051021 - -ALTER TABLE `session` CHANGE `sess_id` `sess_id` VARCHAR(40) NOT NULL; - -ALTER TABLE `contacts` CHANGE `del` `del` TINYINT(1) NOT NULL; -ALTER TABLE `contacts` ADD `changed` DATETIME NOT NULL AFTER `user_id`; - -UPDATE `contacts` SET `del`=0 WHERE `del`=1; -UPDATE `contacts` SET `del`=1 WHERE `del`=2; - -ALTER TABLE `identities` CHANGE `default` `standard` TINYINT(1) NOT NULL; -ALTER TABLE `identities` CHANGE `del` `del` TINYINT(1) NOT NULL; - -UPDATE `identities` SET `del`=0 WHERE `del`=1; -UPDATE `identities` SET `del`=1 WHERE `del`=2; -UPDATE `identities` SET `standard`=0 WHERE `standard`=1; -UPDATE `identities` SET `standard`=1 WHERE `standard`=2; - -CREATE TABLE `messages` ( - `message_id` int(11) unsigned NOT NULL auto_increment, - `user_id` int(11) unsigned NOT NULL default '0', - `del` tinyint(1) NOT NULL default '0', - `cache_key` varchar(128) NOT NULL default '', - `created` datetime NOT NULL default '0000-00-00 00:00:00', - `idx` int(11) unsigned NOT NULL default '0', - `uid` int(11) unsigned NOT NULL default '0', - `subject` varchar(255) NOT NULL default '', - `from` varchar(255) NOT NULL default '', - `to` varchar(255) NOT NULL default '', - `cc` varchar(255) NOT NULL default '', - `date` datetime NOT NULL default '0000-00-00 00:00:00', - `size` int(11) unsigned NOT NULL default '0', - `headers` text NOT NULL, - `structure` text, - PRIMARY KEY (`message_id`), - KEY `user_id` (`user_id`), - KEY `idx` (`idx`), - KEY `uid` (`uid`), - UNIQUE `uniqueness` (`cache_key`, `uid`) -) TYPE=MyISAM; - diff --git a/SQL/mysql.update.sql b/SQL/mysql.update.sql index b64f407..e904be2 100644 --- a/SQL/mysql.update.sql +++ b/SQL/mysql.update.sql @@ -1,6 +1,8 @@ -- RoundCube Webmail update script for MySQL databases -- Updates from version 0.1-beta and 0.1-beta2 +TRUNCATE TABLE `messages`; + ALTER TABLE `messages` DROP `body`, DROP INDEX `cache_key`, @@ -10,6 +12,8 @@ ALTER TABLE `messages` ALTER TABLE `identities` ADD `html_signature` tinyint(1) default 0 NOT NULL; +ALTER TABLE `session` CHANGE `ip` `ip` VARCHAR(40) + -- Uncomment these lines if you're using MySQL 4.1 or higher -- ALTER TABLE `users` -- DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, diff --git a/SQL/mysql5.initial.sql b/SQL/mysql5.initial.sql index 0c0dcb1..1a6ef19 100644 --- a/SQL/mysql5.initial.sql +++ b/SQL/mysql5.initial.sql @@ -12,10 +12,10 @@ CREATE TABLE `session` ( `sess_id` varchar(40) NOT NULL, `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `ip` varchar(15) NOT NULL, + `ip` varchar(40) NOT NULL, `vars` text NOT NULL, PRIMARY KEY(`sess_id`) -) TYPE=MYISAM CHARACTER SET ascii COLLATE ascii_general_ci; +) TYPE=MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci; -- Table structure for table `users` @@ -28,7 +28,7 @@ CREATE TABLE `users` ( `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `last_login` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `language` varchar(5) NOT NULL DEFAULT 'en', - `preferences` text NOT NULL DEFAULT '', + `preferences` text, PRIMARY KEY(`user_id`) ) TYPE=MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci; diff --git a/SQL/postgres.initial.sql b/SQL/postgres.initial.sql old mode 100755 new mode 100644 index bf82b9b..356a579 --- a/SQL/postgres.initial.sql +++ b/SQL/postgres.initial.sql @@ -36,7 +36,7 @@ CREATE TABLE "session" ( sess_id character varying(40) DEFAULT ''::character varying PRIMARY KEY, created timestamp with time zone DEFAULT now() NOT NULL, changed timestamp with time zone DEFAULT now() NOT NULL, - ip character varying(16) NOT NULL, + ip character varying(41) NOT NULL, vars text NOT NULL ); diff --git a/SQL/sqlite.initial.sql b/SQL/sqlite.initial.sql index fd2a22f..4ae7529 100644 --- a/SQL/sqlite.initial.sql +++ b/SQL/sqlite.initial.sql @@ -93,7 +93,7 @@ CREATE TABLE session ( sess_id varchar(40) NOT NULL PRIMARY KEY, created datetime NOT NULL default '0000-00-00 00:00:00', changed datetime NOT NULL default '0000-00-00 00:00:00', - ip varchar(15) NOT NULL default '', + ip varchar(40) NOT NULL default '', vars text NOT NULL ); diff --git a/UPGRADING b/UPGRADING index 4f4d0da..a88f92d 100644 --- a/UPGRADING +++ b/UPGRADING @@ -4,150 +4,46 @@ UPDATE instructions Follow these instructions if upgrading from a previous version of RoundCube Webmail. - -from version 1.0-beta2 +from version 0.1-rc1 ---------------------------------------- * replace index.php * replace all files in folder /program/ * replace all files in folder /skins/default/ -* run all commands in SQL/*.update.sql or re-initalize database with *.initial.sql -* add these lines to /config/main.inc.php - $rcmail_config['draft_autosave'] = 300; - $rcmail_config['date_today'] = 'H:i'; -* If you have LDAP servers configured, change prop key 'mail_field' - to 'email_field' for each server confgured in /config/main.inc.php +* If you have LDAP servers configured you should re-configure + the config entries using the template given in /config/main.inc.php.dist -form version 0.1-beta +from version 0.1-beta2 ---------------------------------------- * replace index.php * replace all files in folder /program/ * replace all files in folder /skins/default/ -* run all commands in SQL/*.update.sql or re-initalize database with *.initial.sql -* add these line to /config/db.inc.php - $rcmail_config['db_persistent'] = TRUE; +* run all commands in SQL/[yourdbtype].update.sql or + re-initalize the database with [yourdbtype].initial.sql * add these lines to /config/main.inc.php - $rcmail_config['drafts_mbox'] = 'Drafts'; - $rcmail_config['junk_mbox'] = 'Junk'; - $rcmail_config['product_name'] = 'RoundCube Webmail'; - $rcmail_config['read_when_deleted'] = TRUE; - $rcmail_config['enable_spellcheck'] = TRUE; - $rcmail_config['protect_default_folders'] = TRUE; - $rcmail_config['draft_autosave'] = 300; - $rcmail_config['date_today'] = 'H:i'; -* replace the following line from /config/main.inc.php - @include($_SERVER['HTTP_HOST'].'.inc.php'); - with - $rcmail_config['include_host_config'] = TRUE; - + $rcmail_config['draft_autosave'] = 300; + $rcmail_config['date_today'] = 'H:i'; +* If you have LDAP servers configured you should re-configure + the config entries using the template given in /config/main.inc.php.dist -from version 0.1-20051021 ----------------------------------------- -* replace index.php -* replace all files in folder /program/ -* replace all files in folder /skins/default/ -* run all commands in SQL/*.update-0.1a.sql or re-initalize database with *.initial.sql -* add these lines to /config/main.inc.php - $rcmail_config['skip_deleted'] = FALSE; - $rcmail_config['message_sort_col'] = 'date'; - $rcmail_config['message_sort_order'] = 'DESC'; - $rcmail_config['log_dir'] = 'logs/'; - $rcmail_config['temp_dir'] = 'temp/'; - $rcmail_config['message_cache_lifetime'] = '10d'; - $rcmail_config['drafts_mbox'] = 'Drafts'; - $rcmail_config['product_name'] = 'RoundCube Webmail'; - $rcmail_config['read_when_deleted'] = TRUE; - $rcmail_config['enable_spellcheck'] = TRUE; -* add these lines to /config/db.inc.php - $rcmail_config['db_max_length'] = 512000; - $rcmail_config['db_sequence_user_ids'] = 'user_ids'; - $rcmail_config['db_sequence_identity_ids'] = 'identity_ids'; - $rcmail_config['db_sequence_contact_ids'] = 'contact_ids'; - $rcmail_config['db_sequence_cache_ids'] = 'cache_ids'; - $rcmail_config['db_sequence_message_ids'] = 'message_ids'; - $rcmail_config['db_persistent'] = TRUE; - - - -from version 0.1-20051007 +form version 0.1-beta ---------------------------------------- * replace index.php * replace all files in folder /program/ * replace all files in folder /skins/default/ -* run all commands in SQL/*.update-0.1a.sql or re-initalize database with *.initial.sql +* run all commands in SQL/[yourdbtype].update.sql or + re-initalize the database with [yourdbtype].initial.sql +* add this line to /config/db.inc.php + $rcmail_config['db_persistent'] = false; * add these lines to /config/main.inc.php - $rcmail_config['smtp_auth_type'] = ''; // if you need to specify an auth method for SMTP - $rcmail_config['session_lifetime'] = 20; // to specify the session lifetime in minutes - $rcmail_config['skip_deleted'] = FALSE; - $rcmail_config['message_sort_col'] = 'date'; - $rcmail_config['message_sort_order'] = 'DESC'; - $rcmail_config['log_dir'] = 'logs/'; - $rcmail_config['temp_dir'] = 'temp/'; - $rcmail_config['message_cache_lifetime'] = '10d'; - $rcmail_config['drafts_mbox'] = 'Drafts'; - $rcmail_config['product_name'] = 'RoundCube Webmail'; - $rcmail_config['read_when_deleted'] = TRUE; - $rcmail_config['enable_spellcheck'] = TRUE; -* add these lines to /config/db.inc.php - $rcmail_config['db_max_length'] = 512000; - $rcmail_config['db_sequence_user_ids'] = 'user_ids'; - $rcmail_config['db_sequence_identity_ids'] = 'identity_ids'; - $rcmail_config['db_sequence_contact_ids'] = 'contact_ids'; - $rcmail_config['db_sequence_cache_ids'] = 'cache_ids'; - $rcmail_config['db_sequence_message_ids'] = 'message_ids'; - $rcmail_config['db_persistent'] = TRUE; - - - -from version 0.1-20050820 ----------------------------------------- -* replace index.php -* replace all files in folder /program/ -* replace all files in folder /skins/default/ -* run all commands in SQL/*.update-0.1a.sql or re-initalize database with *.initial.sql -* add these line to /config/main.inc.php - $rcmail_config['prettydate'] = TRUE; - $rcmail_config['smtp_port'] = 25; - $rcmail_config['default_port'] = 143; - $rcmail_config['session_lifetime'] = 20; - $rcmail_config['skip_deleted'] = FALSE; - $rcmail_config['message_sort_col'] = 'date'; - $rcmail_config['message_sort_order'] = 'DESC'; - $rcmail_config['log_dir'] = 'logs/'; - $rcmail_config['temp_dir'] = 'temp/'; - $rcmail_config['message_cache_lifetime'] = '10d'; -* replace database properties (db_type, db_host, db_user, db_pass, $d_name) - in /config/db.inc.php with the following line: - $rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail'; -* add these lines to /config/db.inc.php - $rcmail_config['db_max_length'] = 512000; - - - -from versions 0.1-alpha and 0.1-20050811 ----------------------------------------- -* replace index.php -* replace all files in folder /program/ -* replace all files in folder /skins/default/ -* run all commands in SQL/*.update-0.1a.sql or re-initalize database with *.initial.sql -* add these line to /config/main.inc.php - $rcmail_config['trash_mbox'] = 'Trash'; - $rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash'); - $rcmail_config['prefer_html'] = TRUE; - $rcmail_config['prettydate'] = TRUE; - $rcmail_config['smtp_port'] = 25; - $rcmail_config['default_port'] = 143; - $rcmail_config['session_lifetime'] = 20; - $rcmail_config['skip_deleted'] = FALSE; - $rcmail_config['message_sort_col'] = 'date'; - $rcmail_config['message_sort_order'] = 'DESC'; - $rcmail_config['log_dir'] = 'logs/'; - $rcmail_config['temp_dir'] = 'temp/'; - $rcmail_config['message_cache_lifetime'] = '10d'; -* replace database properties (db_type, db_host, db_user, db_pass, $d_name) - in /config/db.inc.php with the following line: - $rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail'; -* add these lines to /config/db.inc.php - $rcmail_config['db_max_length'] = 512000; - + $rcmail_config['drafts_mbox'] = 'Drafts'; + $rcmail_config['junk_mbox'] = 'Junk'; + $rcmail_config['product_name'] = 'RoundCube Webmail'; + $rcmail_config['read_when_deleted'] = false; + $rcmail_config['enable_spellcheck'] = false; + $rcmail_config['protect_default_folders'] = false; +* replace the following line from /config/main.inc.php + @include($_SERVER['HTTP_HOST'].'.inc.php'); + with + $rcmail_config['include_host_config'] = false; diff --git a/bin/html2text.php b/bin/html2text.php index e0e2679..7f74ac6 100644 --- a/bin/html2text.php +++ b/bin/html2text.php @@ -8,9 +8,14 @@ $converter = new html2text($htmlText); header('Content-Type: text/plain; charset=UTF-8'); $plaintext = $converter->get_text(); -if (function_exists('html_entity_decode')) +$phpver = explode('.', phpversion()); +$vernum = $phpver[0] . $phpver[1] . $phpver[2]; + +# html_entity_decode doesn't handle UTF character sets in PHP 4.x + +if (($vernum >= 500) && function_exists('html_entity_decode')) print html_entity_decode($plaintext, ENT_COMPAT, 'UTF-8'); else print $plaintext; -?> \ No newline at end of file +?> diff --git a/bin/modcss.php b/bin/modcss.php new file mode 100644 index 0000000..e482389 --- /dev/null +++ b/bin/modcss.php @@ -0,0 +1,67 @@ + | + +-----------------------------------------------------------------------+ + + $Id: $ + +*/ + +$INSTALL_PATH = realpath("./../") . "/"; +ini_set('include_path', $INSTALL_PATH.PATH_SEPARATOR.$INSTALL_PATH.'program'.PATH_SEPARATOR.ini_get('include_path')); + +require 'include/main.inc'; + +$source = ""; +if ($url = preg_replace('/[^a-z0-9.-_\?\$&=%]/i', '', $_GET['u'])) +{ + $a_uri = parse_url($url); + $port = $a_uri['port'] ? $a_uri['port'] : 80; + $host = $a_uri['host']; + $path = $a_uri['path'] . ($a_uri['query'] ? '?'.$a_uri['query'] : ''); + + + if ($fp = fsockopen($host, $port, $errno, $errstr, 30)) + { + $out = "GET $path HTTP/1.0\r\n"; + $out .= "Host: $host\r\n"; + $out .= "Connection: Close\r\n\r\n"; + fwrite($fp, $out); + + $header = true; + while (!feof($fp)) + { + $line = trim(fgets($fp, 4048)); + + if ($header && preg_match('/^HTTP\/1\..\s+(\d+)/', $line, $regs) && intval($regs[1]) != 200) + break; + else if (empty($line) && $header) + $header = false; + else if (!$header) + $source .= "$line\n"; + } + fclose($fp); + } +} + +if (!empty($source)) +{ + header("Content-Type: text/css"); + echo rcmail_mod_css_styles($source, preg_replace('/[^a-z0-9]/i', '', $_GET['c']), $url); +} +else + header("HTTP/1.0 404 Not Found"); + +?> diff --git a/bin/msgimport b/bin/msgimport deleted file mode 100755 index f0ed3c0..0000000 --- a/bin/msgimport +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/bin/php -qC - 'host', 'u' => 'user', 'p' => 'pass', 'f' => 'file')) + array('host' => 'localhost'); - -if ($_SERVER['argv'][1] == 'help') -{ - print_usage(); - exit; -} -else if (!($args['host'] && $args['file'])) -{ - print "Missing required parameters.\n"; - print_usage(); - exit; -} -else if (!is_file($args['file'])) -{ - print "Cannot read message file\n"; - exit; -} - -// prompt for username if not set -if (empty($args['user'])) -{ - //fwrite(STDOUT, "Please enter your name\n"); - echo "IMAP user: "; - $args['user'] = trim(fgets(STDIN)); -} - -// prompt for password -echo "Password: "; -$args['pass'] = trim(fgets(STDIN)); - -// parse $host URL -$a_host = parse_url($args['host']); -if ($a_host['host']) -{ - $host = $a_host['host']; - $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? TRUE : FALSE; - $imap_port = isset($a_host['port']) ? $a_host['port'] : ($imap_ssl ? 993 : 143); -} -else -{ - $host = $args['host']; - $imap_port = 143; -} - -// instantiate IMAP class -$IMAP = new rcube_imap(null); - -// try to connect to IMAP server -if ($IMAP->connect($host, $args['user'], $args['pass'], $imap_port, $imap_ssl)) -{ - print "IMAP login successful.\n"; - print "Uploading message...\n"; - - // upload message from file - if ($IMAP->save_message('INBOX', file_get_contents($args['file']))) - print "Message successfully added to INBOX.\n"; - else - print "Adding message failed!\n"; -} -else -{ - print "IMAP login failed.\n"; -} - -?> \ No newline at end of file diff --git a/bin/quotaimg.php b/bin/quotaimg.php index 47696ef..5896eac 100644 --- a/bin/quotaimg.php +++ b/bin/quotaimg.php @@ -5,7 +5,7 @@ | program/bin/quotaimg.php | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -166,4 +166,4 @@ function genQuota($used, $total, $width, $height) genQuota($used, $quota, $width, $height); exit; -?> \ No newline at end of file +?> diff --git a/config/db.inc.php.dist b/config/db.inc.php.dist index 895aa45..e142dd7 100644 --- a/config/db.inc.php.dist +++ b/config/db.inc.php.dist @@ -16,7 +16,7 @@ $rcmail_config = array(); // PEAR database DSN for read/write operations // format is db_provider://user:password@host/databse -// currentyl suported db_providers: mysql, pgsql, sqlite +// currently supported db_providers: mysql, sqlite $rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail'; // postgres example: 'pgsql://roundcube:pass@localhost/roundcubemail'; @@ -33,7 +33,9 @@ $rcmail_config['db_backend'] = 'db'; $rcmail_config['db_max_length'] = 512000; // 500K // use persistent db-connections -$rcmail_config['db_persistent'] = TRUE; +// beware this will not "always" work as expected +// see: http://www.php.net/manual/en/features.persistent-connections.php +$rcmail_config['db_persistent'] = FALSE; // you can define specific table names used to store webmail data @@ -63,4 +65,4 @@ $rcmail_config['db_sequence_messages'] = 'message_ids'; // end db config file -?> \ No newline at end of file +?> diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index 3b8e407..926b4e0 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -77,6 +77,12 @@ $rcmail_config['smtp_pass'] = ''; // best server supported one) $rcmail_config['smtp_auth_type'] = ''; +// SMTP HELO host +// Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages +// Leave this blank and you will get the server variable 'server_name' or +// localhost if that isn't defined. +$rcmail_config['smtp_helo_host'] = ''; + // Log sent messages $rcmail_config['smtp_log'] = TRUE; @@ -87,6 +93,9 @@ $rcmail_config['list_cols'] = array('subject', 'from', 'date', 'size'); // relative path to the skin folder $rcmail_config['skin_path'] = 'skins/default/'; +// includes should be interpreted as PHP files +$rcmail_config['skin_include_php'] = FALSE; + // use this folder to store temp files (must be writebale for apache user) $rcmail_config['temp_dir'] = 'temp/'; @@ -121,7 +130,7 @@ $rcmail_config['date_long'] = 'd.m.Y H:i'; $rcmail_config['date_today'] = 'H:i'; // add this user-agent to message headers when sending -$rcmail_config['useragent'] = 'RoundCube Webmail/0.1-rc1'; +$rcmail_config['useragent'] = 'RoundCube Webmail/0.1-rc2'; // use this name to compose page titles $rcmail_config['product_name'] = 'RoundCube Webmail'; @@ -165,6 +174,8 @@ $rcmail_config['read_when_deleted'] = TRUE; $rcmail_config['flag_for_deletion'] = TRUE; // Make use of the built-in spell checker. It is based on GoogieSpell. +// Since Google only accepts connections over https your PHP installatation +// requires to be compiled with Open SSL support $rcmail_config['enable_spellcheck'] = TRUE; // For a locally installed Nox Spell Server, please specify the URI to call it. @@ -199,14 +210,20 @@ $rcmail_config['mail_header_delimiter'] = NULL; * 'base_dn' => '', * 'bind_dn' => '', * 'bind_pass' => '', + * 'ldap_version' => 3, // using LDAPv3 * 'search_fields' => array('mail', 'cn'), // fields to search in * 'name_field' => 'cn', // this field represents the contact's name * 'email_field' => 'mail', // this field represents the contact's e-mail + * 'surname_field' => 'sn', // this field represents the contact's last name + * 'firstname_field' => 'gn', // this field represents the contact's first name * 'scope' => 'sub', // search mode: sub|base|list - * 'filter' => '', // will be &'d with search field ex: (status=act) + * 'filter' => '', // used for basic listing (if not empty) and will be &'d with search queries. ex: (status=act) * 'fuzzy_search' => true); // server allows wildcard search */ +// enable composing html formatted messages (experimental) +$rcmail_config['enable_htmleditor'] = FALSE; + // don't allow these settings to be overriden by the user $rcmail_config['dont_override'] = array(); @@ -223,10 +240,10 @@ $rcmail_config['include_host_config'] = FALSE; $rcmail_config['pagesize'] = 40; // use this timezone to display date/time -$rcmail_config['timezone'] = 1; +$rcmail_config['timezone'] = intval(date('O'))/100 - date('I'); -// daylight savings are On -$rcmail_config['dst_active'] = TRUE; +// is daylight saving On? +$rcmail_config['dst_active'] = (bool)date('I'); // prefer displaying HTML messages $rcmail_config['prefer_html'] = TRUE; @@ -243,5 +260,8 @@ $rcmail_config['message_sort_order'] = 'DESC'; // save compose message every 300 seconds (5min) $rcmail_config['draft_autosave'] = 300; +// don't let users set pagesize to more than this value if set +$rcmail_config['max_pagesize'] = 200; + // end of config file ?> diff --git a/index.php b/index.php index fccfaac..fd12c11 100644 --- a/index.php +++ b/index.php @@ -2,7 +2,7 @@ /* +-----------------------------------------------------------------------+ | RoundCube Webmail IMAP Client | - | Version 0.1-rc1-dependent | + | Version 0.1-rc2-dependent | | | | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | @@ -36,12 +36,12 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: index.php 618 2007-06-13 07:03:59Z thomasb $ + $Id: index.php 903 2007-10-22 06:52:13Z thomasb $ */ // application constants -define('RCMAIL_VERSION', '0.1-rc1'); +define('RCMAIL_VERSION', '0.1-rc2'); define('RCMAIL_CHARSET', 'UTF-8'); define('JS_OBJECT_NAME', 'rcmail'); @@ -66,11 +66,12 @@ if (!defined('PATH_SEPARATOR')) // instead the ones provided by RC ini_set('include_path', $INSTALL_PATH.PATH_SEPARATOR.$INSTALL_PATH.'program'.PATH_SEPARATOR.$INSTALL_PATH.'program/lib'.PATH_SEPARATOR.ini_get('include_path')); -ini_set('session.name', 'sessid'); +ini_set('session.name', 'roundcube_sessid'); ini_set('session.use_cookies', 1); ini_set('session.gc_maxlifetime', 21600); ini_set('session.gc_divisor', 500); ini_set('error_reporting', E_ALL&~E_NOTICE); +set_magic_quotes_runtime(0); // increase maximum execution time for php scripts // (does not work in safe mode) @@ -81,7 +82,6 @@ require_once('include/rcube_shared.inc'); require_once('include/rcube_imap.inc'); require_once('include/bugs.inc'); require_once('include/main.inc'); -require_once('include/cache.inc'); require_once('PEAR.php'); @@ -172,8 +172,8 @@ if ($_action=='login' && $_task=='mail') } else { - $OUTPUT->show_message("loginfailed", 'warning'); - $_SESSION['user_id'] = ''; + $OUTPUT->show_message($IMAP->error_code == -1 ? 'imaperror' : 'loginfailed', 'warning'); + rcmail_kill_session(); } } @@ -201,8 +201,8 @@ if (!empty($_SESSION['user_id']) && $_task=='mail') $conn = $IMAP->connect($_SESSION['imap_host'], $_SESSION['username'], decrypt_passwd($_SESSION['password']), $_SESSION['imap_port'], $_SESSION['imap_ssl']); if (!$conn) { - $OUTPUT->show_message('imaperror', 'error'); - $_SESSION['user_id'] = ''; + $OUTPUT->show_message($IMAP->error_code == -1 ? 'imaperror' : 'sessionerror', 'error'); + rcmail_kill_session(); } else rcmail_set_imap_prop(); @@ -219,6 +219,16 @@ if (empty($_SESSION['user_id'])) } +// check client X-header to verify request origin +if ($OUTPUT->ajax_call) +{ + if (empty($CONFIG['devel_mode']) && !rc_request_header('X-RoundCube-Referer')) + { + header('HTTP/1.1 404 Not Found'); + die("Invalid Request"); + } +} + // set task and action to client $OUTPUT->set_env('task', $_task); diff --git a/program/include/bugs.inc b/program/include/bugs.inc index 46384ff..4a3cdec 100644 --- a/program/include/bugs.inc +++ b/program/include/bugs.inc @@ -4,8 +4,8 @@ +-----------------------------------------------------------------------+ | program/include/bugs.inc | | | - | This file is part of the BQube Webmail client | - | Copyright (C) 2005, BQube Dev - Switzerland | + | This file is part of the RoudCube Webmail client | + | Copyright (C) 2005-2007, RoudCube Dev - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -15,24 +15,34 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: bugs.inc 347 2006-09-16 22:58:51Z estadtherr $ + $Id: bugs.inc 666 2007-08-07 21:02:12Z thomasb $ */ -// throw system error and show error page -function raise_error($arg=array(), $log=FALSE, $terminate=FALSE) +/** + * Error handling and logging functions + * + * @package Core + */ + + +/** + * Throw system error and show error page + * + * @param array Named parameters + * - code: Error code (required) + * - type: Error type [php|db|imap|javascript] (required) + * - message: Error message + * - file: File where error occured + * - line: Line where error occured + * @param boolean True to log the error + * @param boolean Terminate script execution + */ +function raise_error($arg=array(), $log=false, $terminate=false) { global $__page_content, $CONFIG, $OUTPUT, $ERROR_CODE, $ERROR_MESSAGE; - /* $arg keys: - int code - string type (php, xpath, db, imap, javascript) - string message - sring file - int line - */ - // report bug (if not incompatible browser) if ($log && $arg['type'] && $arg['message']) log_bug($arg); @@ -48,61 +58,53 @@ function raise_error($arg=array(), $log=FALSE, $terminate=FALSE) } -// report error +/** + * Report error according to configured debug_level + * + * @param array Named parameters + * @see raise_error() + */ function log_bug($arg_arr) - { +{ global $CONFIG, $INSTALL_PATH; $program = $arg_arr['type']=='xpath' ? 'XPath' : strtoupper($arg_arr['type']); // write error to local log file if ($CONFIG['debug_level'] & 1) - { - $log_entry = sprintf("[%s] %s Error: %s in %s on line %d\n", - date("d-M-Y H:i:s O", mktime()), - $program, - $arg_arr['message'], - $arg_arr['file'], - $arg_arr['line']); + { + $log_entry = sprintf( + "[%s] %s Error: %s in %s on line %d\n", + date("d-M-Y H:i:s O", mktime()), + $program, + $arg_arr['message'], + $arg_arr['file'], + $arg_arr['line']); if (empty($CONFIG['log_dir'])) $CONFIG['log_dir'] = $INSTALL_PATH.'logs'; // try to open specific log file for writing if ($fp = @fopen($CONFIG['log_dir'].'/errors', 'a')) - - { + { fwrite($fp, $log_entry); fclose($fp); - } + } else - { + { // send error to PHPs error handler trigger_error($arg_arr['message']); - } } + } -/* // resport the bug to the global bug reporting system if ($CONFIG['debug_level'] & 2) - { - $delm = '%AC'; - http_request(sprintf('http://roundcube.net/log/bug.php?_type=%s&_domain=%s&_server_ip=%s&_client_ip=%s&_useragent=%s&_url=%s%%3A//%s&_errors=%s%s%s%s%s', - $arg_arr['type'], - $GLOBALS['HTTP_HOST'], - $GLOBALS['SERVER_ADDR'], - $GLOBALS['REMOTE_ADDR'], - rawurlencode($GLOBALS['HTTP_USER_AGENT']), - $GLOBALS['SERVER_PORT']==43 ? 'https' : 'http', - $GLOBALS['HTTP_HOST'].$GLOBALS['REQUEST_URI'], - $arg_arr['file'], $delm, - $arg_arr['line'], $delm, - rawurlencode($arg_arr['message']))); - } -*/ + { + // TODO: Send error via HTTP + } // show error if debug_mode is on if ($CONFIG['debug_level'] & 4) - { + { print "$program Error"; if (!empty($arg_arr['file']) && !empty($arg_arr['line'])) @@ -112,7 +114,7 @@ function log_bug($arg_arr) print nl2br($arg_arr['message']); print '
'; flush(); - } } +} ?> diff --git a/program/include/cache.inc b/program/include/cache.inc deleted file mode 100644 index 0cfa67b..0000000 --- a/program/include/cache.inc +++ /dev/null @@ -1,106 +0,0 @@ - | - +-----------------------------------------------------------------------+ - - $Id: cache.inc 88 2005-12-03 16:54:12Z roundcube $ - -*/ - - -function rcube_read_cache($key) - { - global $DB, $CACHE_KEYS; - - // query db - $sql_result = $DB->query("SELECT cache_id, data - FROM ".get_table_name('cache')." - WHERE user_id=? - AND cache_key=?", - $_SESSION['user_id'], - $key); - - // get cached data - if ($sql_arr = $DB->fetch_assoc($sql_result)) - { - $data = $sql_arr['data']; - $CACHE_KEYS[$key] = $sql_arr['cache_id']; - } - else - $data = FALSE; - - return $data; - } - - -function rcube_write_cache($key, $data, $session_cache=FALSE) - { - global $DB, $CACHE_KEYS, $sess_id; - - // check if we already have a cache entry for this key - if (!isset($CACHE_KEYS[$key])) - { - $sql_result = $DB->query("SELECT cache_id - FROM ".get_table_name('cache')." - WHERE user_id=? - AND cache_key=?", - $_SESSION['user_id'], - $key); - - if ($sql_arr = $DB->fetch_assoc($sql_result)) - $CACHE_KEYS[$key] = $sql_arr['cache_id']; - else - $CACHE_KEYS[$key] = FALSE; - } - - // update existing cache record - if ($CACHE_KEYS[$key]) - { - $DB->query("UPDATE ".get_table_name('cache')." - SET created=now(), - data=? - WHERE user_id=? - AND cache_key=?", - $data, - $_SESSION['user_id'], - $key); - } - // add new cache record - else - { - $DB->query("INSERT INTO ".get_table_name('cache')." - (created, user_id, session_id, cache_key, data) - VALUES (now(), ?, ?, ?, ?)", - $_SESSION['user_id'], - $session_cache ? $sess_id : 'NULL', - $key, - $data); - } - } - - -function rcube_clear_cache($key) - { - global $DB; - - $DB->query("DELETE FROM ".get_table_name('cache')." - WHERE user_id=? - AND cache_key=?", - $_SESSION['user_id'], - $key); - } - - -?> \ No newline at end of file diff --git a/program/include/main.inc b/program/include/main.inc index f5c58a4..55135eb 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -15,11 +15,19 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: main.inc 617 2007-06-13 06:57:22Z thomasb $ + $Id: main.inc 903 2007-10-22 06:52:13Z thomasb $ */ +/** + * RoundCube Webmail common functions + * + * @package Core + * @author Thomas Bruederli + */ + require_once('lib/utf7.inc'); +require_once('include/rcube_shared.inc'); require_once('include/rcmail_template.inc'); @@ -29,7 +37,12 @@ define('RCUBE_INPUT_POST', 0x0102); define('RCUBE_INPUT_GPC', 0x0103); -// register session and connect to server +/** + * Initial startup function + * to register session, create database and imap connections + * + * @param string Current task + */ function rcmail_startup($task='mail') { global $sess_id, $sess_user_lang; @@ -46,9 +59,11 @@ function rcmail_startup($task='mail') ini_set('session.gc_maxlifetime', ($CONFIG['session_lifetime']) * 120); // prepare DB connection - require_once('include/rcube_'.(empty($CONFIG['db_backend']) ? 'db' : $CONFIG['db_backend']).'.inc'); + $dbwrapper = empty($CONFIG['db_backend']) ? 'db' : $CONFIG['db_backend']; + $dbclass = "rcube_" . $dbwrapper; + require_once("include/$dbclass.inc"); - $DB = new rcube_db($CONFIG['db_dsnw'], $CONFIG['db_dsnr'], $CONFIG['db_persistent']); + $DB = new $dbclass($CONFIG['db_dsnw'], $CONFIG['db_dsnr'], $CONFIG['db_persistent']); $DB->sqlite_initials = $INSTALL_PATH.'SQL/sqlite.initial.sql'; $DB->db_connect('w'); @@ -99,7 +114,11 @@ function rcmail_startup($task='mail') } -// load roundcube configuration into global var +/** + * Load roundcube configuration array + * + * @return array Named configuration parameters + */ function rcmail_load_config() { global $INSTALL_PATH; @@ -137,7 +156,12 @@ function rcmail_load_config() } -// load a host-specific config file if configured +/** + * Load a host-specific config file if configured + * This will merge the host specific configuration with the given one + * + * @param array Global configuration parameters + */ function rcmail_load_host_config(&$config) { $fname = NULL; @@ -155,7 +179,13 @@ function rcmail_load_host_config(&$config) } -// create authorization hash +/** + * Create unique authorization hash + * + * @param string Session ID + * @param int Timestamp + * @return string The generated auth hash + */ function rcmail_auth_hash($sess_id, $ts) { global $CONFIG; @@ -173,7 +203,11 @@ function rcmail_auth_hash($sess_id, $ts) } -// compare the auth hash sent by the client with the local session credentials +/** + * Check the auth hash sent by the client against the local session credentials + * + * @return boolean True if valid, False if not + */ function rcmail_authenticate_session() { global $CONFIG, $SESS_CLIENT_IP, $SESS_CHANGED; @@ -199,12 +233,16 @@ function rcmail_authenticate_session() // check session filetime if (!empty($CONFIG['session_lifetime']) && isset($SESS_CHANGED) && $SESS_CHANGED + $CONFIG['session_lifetime']*60 < time()) $valid = false; - + return $valid; } -// create IMAP object and connect to server +/** + * Create global IMAP object and connect to server + * + * @param boolean True if connection should be established + */ function rcmail_imap_init($connect=FALSE) { global $CONFIG, $DB, $IMAP, $OUTPUT; @@ -233,8 +271,10 @@ function rcmail_imap_init($connect=FALSE) } -// set root dir and last stored mailbox -// this must be done AFTER connecting to the server +/** + * Set root dir and last stored mailbox + * This must be done AFTER connecting to the server! + */ function rcmail_set_imap_prop() { global $CONFIG, $IMAP; @@ -253,10 +293,12 @@ function rcmail_set_imap_prop() } -// do these things on script shutdown +/** + * Do these things on script shutdown + */ function rcmail_shutdown() { - global $IMAP; + global $IMAP, $CONTACTS; if (is_object($IMAP)) { @@ -264,12 +306,17 @@ function rcmail_shutdown() $IMAP->write_cache(); } + if (is_object($CONTACTS)) + $CONTACTS->close(); + // before closing the database connection, write session data session_write_close(); } -// destroy session data and remove cookie +/** + * Destroy session data and remove cookie + */ function rcmail_kill_session() { // save user preferences @@ -290,7 +337,12 @@ function rcmail_kill_session() } -// return correct name for a specific database table +/** + * Return correct name for a specific database table + * + * @param string Table name + * @return string Translated table name + */ function get_table_name($table) { global $CONFIG; @@ -305,8 +357,13 @@ function get_table_name($table) } -// return correct name for a specific database sequence -// (used for Postres only) +/** + * Return correct name for a specific database sequence + * (used for Postres only) + * + * @param string Secuence name + * @return string Translated sequence name + */ function get_sequence_name($sequence) { global $CONFIG; @@ -321,7 +378,13 @@ function get_sequence_name($sequence) } -// check the given string and returns language properties +/** + * Check the given string and returns language properties + * + * @param string Language code + * @param string Peropert name + * @return string Property value + */ function rcube_language_prop($lang, $prop='lang') { global $INSTALL_PATH; @@ -358,7 +421,11 @@ function rcube_language_prop($lang, $prop='lang') } -// init output object for GUI and add common scripts +/** + * Init output object for GUI and add common scripts. + * This will instantiate a rcmail_template object and set + * environment vars according to the current session and configuration + */ function rcmail_load_gui() { global $CONFIG, $OUTPUT, $sess_user_lang; @@ -393,22 +460,25 @@ function rcmail_load_gui() // add some basic label to client if (!$OUTPUT->ajax_call) - rcube_add_label('loading'); + rcube_add_label('loading', 'movingmessage'); } -// set localization charset based on the given language +/** + * Set localization charset based on the given language. + * This also creates a global property for mbstring usage. + */ function rcmail_set_locale($lang) { global $OUTPUT, $MBSTRING; static $s_mbstring_loaded = NULL; // settings for mbstring module (by Tadashi Jokagi) - if (is_null($s_mbstring_loaded)) - $MBSTRING = $s_mbstring_loaded = extension_loaded("mbstring"); + if (is_null($s_mbstring_loaded)) + $MBSTRING = $s_mbstring_loaded = extension_loaded("mbstring"); else $MBSTRING = $s_mbstring_loaded = FALSE; - + if ($MBSTRING) mb_internal_encoding(RCMAIL_CHARSET); @@ -416,7 +486,11 @@ function rcmail_set_locale($lang) } -// auto-select IMAP host based on the posted login information +/** + * Auto-select IMAP host based on the posted login information + * + * @return string Selected IMAP host + */ function rcmail_autoselect_host() { global $CONFIG; @@ -444,7 +518,15 @@ function rcmail_autoselect_host() } -// perfom login to the IMAP server and to the webmail service +/** + * Perfom login to the IMAP server and to the webmail service. + * This will also create a new user entry if auto_create_user is configured. + * + * @param string IMAP user name + * @param string IMAP password + * @param string IMAP host + * @return boolean True on success, False on failure + */ function rcmail_login($user, $pass, $host=NULL) { global $CONFIG, $IMAP, $DB, $sess_user_lang; @@ -489,7 +571,7 @@ function rcmail_login($user, $pass, $host=NULL) Inspired by Marco */ // Check if we need to add domain - if (!empty($CONFIG['username_domain']) && !strstr($user, '@')) + if (!empty($CONFIG['username_domain']) && !strpos($user, '@')) { if (is_array($CONFIG['username_domain']) && isset($CONFIG['username_domain'][$host])) $user .= '@'.$CONFIG['username_domain'][$host]; @@ -497,14 +579,22 @@ function rcmail_login($user, $pass, $host=NULL) $user .= '@'.$CONFIG['username_domain']; } + // try to resolve email address from virtuser table + if (!empty($CONFIG['virtuser_file']) && strpos($user, '@')) + $user = rcmail_email2user($user); + + // lowercase username if it's an e-mail address (#1484473) + if (strpos($user, '@')) + $user = strtolower($user); // query if user already registered - $sql_result = $DB->query("SELECT user_id, username, language, preferences - FROM ".get_table_name('users')." - WHERE mail_host=? AND (username=? OR alias=?)", - $host, - $user, - $user); + $sql_result = $DB->query( + "SELECT user_id, username, language, preferences + FROM ".get_table_name('users')." + WHERE mail_host=? AND (username=? OR alias=?)", + $host, + $user, + $user); // user already registered -> overwrite username if ($sql_arr = $DB->fetch_assoc($sql_result)) @@ -513,11 +603,6 @@ function rcmail_login($user, $pass, $host=NULL) $user = $sql_arr['username']; } - // try to resolve email address from virtuser table - if (!empty($CONFIG['virtuser_file']) && strstr($user, '@')) - $user = rcmail_email2user($user); - - // exit if IMAP login failed if (!($imap_login = $IMAP->connect($host, $user, $pass, $imap_port, $imap_ssl))) return FALSE; @@ -549,6 +634,15 @@ function rcmail_login($user, $pass, $host=NULL) { $user_id = rcmail_create_user($user, $host); } + else + { + raise_error(array( + 'code' => 600, + 'type' => 'php', + 'file' => "config/main.inc.php", + 'message' => "Acces denied for new user $user. 'auto_create_user' is disabled" + ), true, false); + } if ($user_id) { @@ -573,15 +667,21 @@ function rcmail_login($user, $pass, $host=NULL) } -// create new entry in users and identities table +/** + * Create new entry in users and identities table + * + * @param string User name + * @param string IMAP host + * @return mixed New user ID or False on failure + */ function rcmail_create_user($user, $host) - { +{ global $DB, $CONFIG, $IMAP; $user_email = ''; // try to resolve user in virtusertable - if (!empty($CONFIG['virtuser_file']) && strstr($user, '@')==FALSE) + if (!empty($CONFIG['virtuser_file']) && !strpos($user, '@')) $user_email = rcmail_user2email($user); $DB->query("INSERT INTO ".get_table_name('users')." @@ -593,29 +693,31 @@ function rcmail_create_user($user, $host) $_SESSION['user_lang']); if ($user_id = $DB->insert_id(get_sequence_name('users'))) - { + { $mail_domain = rcmail_mail_domain($host); if ($user_email=='') - $user_email = strstr($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain); + $user_email = strpos($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain); $user_name = $user!=$user_email ? $user : ''; // try to resolve the e-mail address from the virtuser table if (!empty($CONFIG['virtuser_query']) && - ($sql_result = $DB->query(preg_replace('/%u/', $user, $CONFIG['virtuser_query']))) && + ($sql_result = $DB->query(preg_replace('/%u/', $DB->quote($user), $CONFIG['virtuser_query']))) && ($DB->num_rows()>0)) + { while ($sql_arr = $DB->fetch_array($sql_result)) - { + { $DB->query("INSERT INTO ".get_table_name('identities')." (user_id, del, standard, name, email) VALUES (?, 0, 1, ?, ?)", $user_id, strip_newlines($user_name), preg_replace('/^@/', $user . '@', $sql_arr[0])); - } + } + } else - { + { // also create new identity records $DB->query("INSERT INTO ".get_table_name('identities')." (user_id, del, standard, name, email) @@ -623,25 +725,30 @@ function rcmail_create_user($user, $host) $user_id, strip_newlines($user_name), strip_newlines($user_email)); - } + } // get existing mailboxes $a_mailboxes = $IMAP->list_mailboxes(); - } + } else - { - raise_error(array('code' => 500, - 'type' => 'php', - 'line' => __LINE__, - 'file' => __FILE__, - 'message' => "Failed to create new user"), TRUE, FALSE); - } + { + raise_error(array( + 'code' => 500, + 'type' => 'php', + 'line' => __LINE__, + 'file' => __FILE__, + 'message' => "Failed to create new user"), TRUE, FALSE); + } return $user_id; - } +} -// load virtuser table in array +/** + * Load virtuser table in array + * + * @return array Virtuser table entries + */ function rcmail_getvirtualfile() { global $CONFIG; @@ -654,7 +761,12 @@ function rcmail_getvirtualfile() } -// find matches of the given pattern in virtuser table +/** + * Find matches of the given pattern in virtuser table + * + * @param string Regular expression to search for + * @return array Matching entries + */ function rcmail_findinvirtual($pattern) { $result = array(); @@ -677,7 +789,12 @@ function rcmail_findinvirtual($pattern) } -// resolve username with virtuser table +/** + * Resolve username using a virtuser table + * + * @param string E-mail address to resolve + * @return string Resolved IMAP username + */ function rcmail_email2user($email) { $user = $email; @@ -698,7 +815,12 @@ function rcmail_email2user($email) } -// resolve e-mail address with virtuser table +/** + * Resolve e-mail address from virtuser table + * + * @param string User name + * @return string Resolved e-mail address + */ function rcmail_user2email($user) { $email = ""; @@ -719,10 +841,19 @@ function rcmail_user2email($user) } +/** + * Write the given user prefs to the user's record + * + * @param mixed User prefs to save + * @return boolean True on success, False on failure + */ function rcmail_save_user_prefs($a_user_prefs) { global $DB, $CONFIG, $sess_user_lang; + // merge (partial) prefs array with existing settings + $a_user_prefs += (array)$_SESSION['user_prefs']; + $DB->query("UPDATE ".get_table_name('users')." SET preferences=?, language=? @@ -742,7 +873,11 @@ function rcmail_save_user_prefs($a_user_prefs) } -// overwrite action variable +/** + * Overwrite action variable + * + * @param string New action value + */ function rcmail_overwrite_action($action) { global $OUTPUT; @@ -784,7 +919,12 @@ function show_message($message, $type='notice', $vars=NULL) } -// encrypt IMAP password using DES encryption +/** + * Encrypt IMAP password using DES encryption + * + * @param string Password to encrypt + * @return string Encryprted string + */ function encrypt_passwd($pass) { $td = mcrypt_module_open(MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, ""); @@ -797,7 +937,12 @@ function encrypt_passwd($pass) } -// decrypt IMAP password using DES encryption +/** + * Decrypt IMAP password using DES encryption + * + * @param string Encrypted password + * @return string Plain password + */ function decrypt_passwd($cypher) { $td = mcrypt_module_open(MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, ""); @@ -810,7 +955,11 @@ function decrypt_passwd($cypher) } -// return a 24 byte key for the DES encryption +/** + * Return a 24 byte key for the DES encryption + * + * @return string DES encryption key + */ function get_des_key() { $key = !empty($GLOBALS['CONFIG']['des_key']) ? $GLOBALS['CONFIG']['des_key'] : 'rcmail?24BitPwDkeyF**ECB'; @@ -826,7 +975,11 @@ function get_des_key() } -// read directory program/localization/ and return a list of available languages +/** + * Read directory program/localization and return a list of available languages + * + * @return array List of available localizations + */ function rcube_list_languages() { global $CONFIG, $INSTALL_PATH; @@ -853,7 +1006,9 @@ function rcube_list_languages() } -// add a localized label to the client environment +/** + * Add a localized label to the client environment + */ function rcube_add_label() { global $OUTPUT; @@ -864,7 +1019,10 @@ function rcube_add_label() } -// remove temp files older than two day +/** + * Garbage collector function for temp files. + * Remove temp files older than two days + */ function rcmail_temp_gc() { $tmp = unslashify($CONFIG['temp_dir']); @@ -886,7 +1044,10 @@ function rcmail_temp_gc() } -// remove all expired message cache records +/** + * Garbage collector for cache entries. + * Remove all expired message cache records + */ function rcmail_message_cache_gc() { global $DB, $CONFIG; @@ -922,21 +1083,23 @@ function rcube_charset_convert($str, $from, $to=NULL) if ($from==$to || $str=='' || empty($from)) return $str; + // convert charset using iconv module + if (function_exists('iconv') && $from != 'UTF-7' && $to != 'UTF-7') + { + $iconv_map = array('KS_C_5601-1987' => 'EUC-KR'); + return iconv(($iconv_map[$from] ? $iconv_map[$from] : $from), ($iconv_map[$to] ? $iconv_map[$to] : $to) . "//IGNORE", $str); + } + // convert charset using mbstring module if ($MBSTRING) { - $to = $to=="UTF-7" ? "UTF7-IMAP" : $to; - $from = $from=="UTF-7" ? "UTF7-IMAP": $from; - + $mb_map = array('UTF-7' => 'UTF7-IMAP', 'KS_C_5601-1987' => 'EUC-KR'); + // return if convert succeeded - if (($out = mb_convert_encoding($str, $to, $from)) != '') + if (($out = mb_convert_encoding($str, ($mb_map[$to] ? $mb_map[$to] : $to), ($mb_map[$from] ? $mb_map[$from] : $from))) != '') return $out; } - // convert charset using iconv module - if (function_exists('iconv') && $from!='UTF-7' && $to!='UTF-7') - return iconv($from, $to, $str); - // convert string to UTF-8 if ($from=='UTF-7') $str = utf7_to_utf8($str); @@ -971,10 +1134,6 @@ function rep_specialchars_output($str, $enctype='', $mode='', $newlines=TRUE) if (!$enctype) $enctype = $GLOBALS['OUTPUT_TYPE']; - // convert nbsps back to normal spaces if not html - if ($enctype!='html') - $str = str_replace(chr(160), ' ', $str); - // encode for plaintext if ($enctype=='text') return str_replace("\r\n", "\n", $mode=='remove' ? strip_tags($str) : $str); @@ -1019,11 +1178,10 @@ function rep_specialchars_output($str, $enctype='', $mode='', $newlines=TRUE) for ($c=160; $c<256; $c++) // can be increased to support more charsets { - $hex = dechex($c); $xml_rep_table[Chr($c)] = "&#$c;"; if ($OUTPUT->get_charset()=='ISO-8859-1') - $js_rep_table[Chr($c)] = sprintf("\u%s%s", str_repeat('0', 4-strlen($hex)), $hex); + $js_rep_table[Chr($c)] = sprintf("\\u%04x", $c); } $xml_rep_table['"'] = '"'; @@ -1047,8 +1205,11 @@ function rep_specialchars_output($str, $enctype='', $mode='', $newlines=TRUE) } /** - * Quote a given string. Alias function for rep_specialchars_output - * @see rep_specialchars_output + * Quote a given string. + * Shortcut function for rep_specialchars_output + * + * @return string HTML-quoted string + * @see rep_specialchars_output() */ function Q($str, $mode='strict', $newlines=TRUE) { @@ -1056,8 +1217,11 @@ function Q($str, $mode='strict', $newlines=TRUE) } /** - * Quote a given string. Alias function for rep_specialchars_output - * @see rep_specialchars_output + * Quote a given string for javascript output. + * Shortcut function for rep_specialchars_output + * + * @return string JS-quoted string + * @see rep_specialchars_output() */ function JQ($str) { @@ -1109,16 +1273,24 @@ function get_input_value($fname, $source, $allow_html=FALSE, $charset=NULL) return $value; } + /** * Remove single and double quotes from given string + * + * @param string Input value + * @return string Dequoted string */ function strip_quotes($str) { return preg_replace('/[\'"]/', '', $str); } + /** * Remove new lines characters from given string + * + * @param string Input value + * @return string Stripped string */ function strip_newlines($str) { @@ -1126,7 +1298,12 @@ function strip_newlines($str) } -// return boolean if a specific template exists +/** + * Check if a specific template exists + * + * @param string Template name + * @return boolean True if template exists + */ function template_exists($name) { global $CONFIG; @@ -1137,15 +1314,25 @@ function template_exists($name) } -// Wrapper for rcmail_template::parse() -// @deprecated +/** + * Wrapper for rcmail_template::parse() + * @deprecated + */ function parse_template($name='main', $exit=true) { $GLOBALS['OUTPUT']->parse($name, $exit); } - +/** + * Create a HTML table based on the given data + * + * @param array Named table attributes + * @param mixed Table row data. Either a two-dimensional array or a valid SQL result set + * @param array List of cols to show + * @param string Name of the identifier col + * @return string HTML table code + */ function rcube_table_output($attrib, $table_data, $a_show_cols, $id_col) { global $DB; @@ -1247,7 +1434,12 @@ function rcmail_get_edit_field($col, $value, $attrib, $type='text') } -// return the mail domain configured for the given host +/** + * Return the mail domain configured for the given host + * + * @param string IMAP host + * @return string Resolved SMTP host + */ function rcmail_mail_domain($host) { global $CONFIG; @@ -1265,7 +1457,57 @@ function rcmail_mail_domain($host) } -// compose a valid attribute string for HTML tags +/** + * Replace all css definitions with #container [def] + * + * @param string CSS source code + * @param string Container ID to use as prefix + * @return string Modified CSS source + */ +function rcmail_mod_css_styles($source, $container_id, $base_url = '') + { + $a_css_values = array(); + $last_pos = 0; + + // cut out all contents between { and } + while (($pos = strpos($source, '{', $last_pos)) && ($pos2 = strpos($source, '}', $pos))) + { + $key = sizeof($a_css_values); + $a_css_values[$key] = substr($source, $pos+1, $pos2-($pos+1)); + $source = substr($source, 0, $pos+1) . "<>" . substr($source, $pos2, strlen($source)-$pos2); + $last_pos = $pos+2; + } + + // remove html commends and add #container to each tag selector. + // also replace body definition because we also stripped off the tag + $styles = preg_replace( + array( + '/(^\s*\s*$)/', + '/(^\s*|,\s*|\}\s*)([a-z0-9\._#][a-z0-9\.\-_]*)/im', + '/@import\s+(url\()?[\'"]?([^\)\'"]+)[\'"]?(\))?/ime', + '/<>/e', + "/$container_id\s+body/i" + ), + array( + '', + "\\1#$container_id \\2", + "sprintf(\"@import url('./bin/modcss.php?u=%s&c=%s')\", urlencode(make_absolute_url('\\2','$base_url')), urlencode($container_id))", + "\$a_css_values[\\1]", + "$container_id div.rcmBody" + ), + $source); + + return $styles; + } + + +/** + * Compose a valid attribute string for HTML tags + * + * @param array Named tag attributes + * @param array List of allowed attributes + * @return string HTML formatted attribute string + */ function create_attrib_string($attrib, $allowed_attribs=array('id', 'class', 'style')) { // allow the following attributes to be added to the '; + + document.getElementById('iframecontainer').innerHTML = html; + + html = ''; + html += 'Got Moxie? '; + html += 'Hosted By Sourceforge '; + html += 'Also on freshmeat '; + + document.getElementById('buttoncontainer').innerHTML = html; +} diff --git a/program/js/tiny_mce/themes/advanced/jscripts/anchor.js b/program/js/tiny_mce/themes/advanced/jscripts/anchor.js new file mode 100644 index 0000000..e7c1c62 --- /dev/null +++ b/program/js/tiny_mce/themes/advanced/jscripts/anchor.js @@ -0,0 +1,74 @@ +var action, element; + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name"); + var img = inst.getFocusElement(); + action = 'insert'; + + if (anchor != null) { + element = anchor; + action = "update"; + } + + if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") { + element = img; + action = "update"; + } + + if (action == "update") + document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name"); + + document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); +} + +function insertAnchor() { + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var name = document.forms[0].anchorName.value, e; + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + + if (action == "update") { + if (element.nodeName == "IMG") + element.setAttribute("title", name); + else + element.setAttribute("name", name); + } else { + var rng = inst.getRng(); + + if (rng.collapse) + rng.collapse(false); + + name = name.replace(/&/g, '&'); + name = name.replace(/\"/g, '"'); + name = name.replace(//g, '>'); + + // Fix for bug #1447335 + if (tinyMCE.isGecko) + html = ''; + else + html = ''; + + tinyMCEPopup.execCommand("mceInsertContent", false, html); + + // Fix for bug #1447335 force cursor after the anchor element + if (tinyMCE.isGecko) { + e = inst.getDoc().getElementById('mceNewAnchor'); + + if (e) { + inst.selection.selectNode(e, true, false, false); + e.removeAttribute('id'); + } + } + + tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); + } + + tinyMCEPopup.execCommand("mceEndUndoLevel"); + + tinyMCE.triggerNodeChange(); + tinyMCEPopup.close(); +} diff --git a/program/js/tiny_mce/themes/advanced/jscripts/charmap.js b/program/js/tiny_mce/themes/advanced/jscripts/charmap.js new file mode 100644 index 0000000..eaa6a94 --- /dev/null +++ b/program/js/tiny_mce/themes/advanced/jscripts/charmap.js @@ -0,0 +1,326 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); +} + +var charmap = new Array(); + +// for mor details please see w3c.org +// now here is the complete list ;) + +charmap = [ + [' ', ' ', true, 'no-break space'], + ['&', '&', true, 'ampersand'], + ['"', '"', true, 'quotation mark'], +// finance + ['¢', '¢', true, 'cent sign'], + ['€', '€', true, 'euro sign'], + ['£', '£', true, 'pound sign'], + ['¥', '¥', true, 'yen sign'], +// signs + ['©', '©', true, 'copyright sign'], + ['®', '®', true, 'registered sign'], + ['™', '™', true, 'trade mark sign'], + ['‰', '‰', true, 'per mille sign'], + ['µ', 'µ', true, 'micro sign'], + ['·', '·', true, 'middle dot'], + ['•', '•', true, 'bullet'], + ['…', '…', true, 'three dot leader'], + ['′', '′', true, 'minutes / feet'], + ['″', '″', true, 'seconds / inches'], + ['§', '§', true, 'section sign'], + ['¶', '¶', true, 'paragraph sign'], + ['ß', 'ß', true, 'sharp s / ess-zed'], +// quotations + ['‹', '‹', true, 'single left-pointing angle quotation mark'], + ['›', '›', true, 'single right-pointing angle quotation mark'], + ['«', '«', true, 'left pointing guillemet'], + ['»', '»', true, 'right pointing guillemet'], + ['‘', '‘', true, 'left single quotation mark'], + ['’', '’', true, 'right single quotation mark'], + ['“', '“', true, 'left double quotation mark'], + ['”', '”', true, 'right double quotation mark'], + ['‚', '‚', true, 'single low-9 quotation mark'], + ['„', '„', true, 'double low-9 quotation mark'], + ['<', '<', true, 'less-than sign'], + ['>', '>', true, 'greater-than sign'], + ['≤', '≤', true, 'less-than or equal to'], + ['≥', '≥', true, 'greater-than or equal to'], + ['–', '–', true, 'en dash'], + ['—', '—', true, 'em dash'], + ['¯', '¯', true, 'macron'], + ['‾', '‾', true, 'overline'], + ['¤', '¤', true, 'currency sign'], + ['¦', '¦', true, 'broken bar'], + ['¨', '¨', true, 'diaeresis'], + ['¡', '¡', true, 'inverted exclamation mark'], + ['¿', '¿', true, 'turned question mark'], + ['ˆ', 'ˆ', true, 'circumflex accent'], + ['˜', '˜', true, 'small tilde'], + ['°', '°', true, 'degree sign'], + ['−', '−', true, 'minus sign'], + ['±', '±', true, 'plus-minus sign'], + ['÷', '÷', true, 'division sign'], + ['⁄', '⁄', true, 'fraction slash'], + ['×', '×', true, 'multiplication sign'], + ['¹', '¹', true, 'superscript one'], + ['²', '²', true, 'superscript two'], + ['³', '³', true, 'superscript three'], + ['¼', '¼', true, 'fraction one quarter'], + ['½', '½', true, 'fraction one half'], + ['¾', '¾', true, 'fraction three quarters'], +// math / logical + ['ƒ', 'ƒ', true, 'function / florin'], + ['∫', '∫', true, 'integral'], + ['∑', '∑', true, 'n-ary sumation'], + ['∞', '∞', true, 'infinity'], + ['√', '√', true, 'square root'], + ['∼', '∼', false,'similar to'], + ['≅', '≅', false,'approximately equal to'], + ['≈', '≈', true, 'almost equal to'], + ['≠', '≠', true, 'not equal to'], + ['≡', '≡', true, 'identical to'], + ['∈', '∈', false,'element of'], + ['∉', '∉', false,'not an element of'], + ['∋', '∋', false,'contains as member'], + ['∏', '∏', true, 'n-ary product'], + ['∧', '∧', false,'logical and'], + ['∨', '∨', false,'logical or'], + ['¬', '¬', true, 'not sign'], + ['∩', '∩', true, 'intersection'], + ['∪', '∪', false,'union'], + ['∂', '∂', true, 'partial differential'], + ['∀', '∀', false,'for all'], + ['∃', '∃', false,'there exists'], + ['∅', '∅', false,'diameter'], + ['∇', '∇', false,'backward difference'], + ['∗', '∗', false,'asterisk operator'], + ['∝', '∝', false,'proportional to'], + ['∠', '∠', false,'angle'], +// undefined + ['´', '´', true, 'acute accent'], + ['¸', '¸', true, 'cedilla'], + ['ª', 'ª', true, 'feminine ordinal indicator'], + ['º', 'º', true, 'masculine ordinal indicator'], + ['†', '†', true, 'dagger'], + ['‡', '‡', true, 'double dagger'], +// alphabetical special chars + ['À', 'À', true, 'A - grave'], + ['Á', 'Á', true, 'A - acute'], + ['Â', 'Â', true, 'A - circumflex'], + ['Ã', 'Ã', true, 'A - tilde'], + ['Ä', 'Ä', true, 'A - diaeresis'], + ['Å', 'Å', true, 'A - ring above'], + ['Æ', 'Æ', true, 'ligature AE'], + ['Ç', 'Ç', true, 'C - cedilla'], + ['È', 'È', true, 'E - grave'], + ['É', 'É', true, 'E - acute'], + ['Ê', 'Ê', true, 'E - circumflex'], + ['Ë', 'Ë', true, 'E - diaeresis'], + ['Ì', 'Ì', true, 'I - grave'], + ['Í', 'Í', true, 'I - acute'], + ['Î', 'Î', true, 'I - circumflex'], + ['Ï', 'Ï', true, 'I - diaeresis'], + ['Ð', 'Ð', true, 'ETH'], + ['Ñ', 'Ñ', true, 'N - tilde'], + ['Ò', 'Ò', true, 'O - grave'], + ['Ó', 'Ó', true, 'O - acute'], + ['Ô', 'Ô', true, 'O - circumflex'], + ['Õ', 'Õ', true, 'O - tilde'], + ['Ö', 'Ö', true, 'O - diaeresis'], + ['Ø', 'Ø', true, 'O - slash'], + ['Œ', 'Œ', true, 'ligature OE'], + ['Š', 'Š', true, 'S - caron'], + ['Ù', 'Ù', true, 'U - grave'], + ['Ú', 'Ú', true, 'U - acute'], + ['Û', 'Û', true, 'U - circumflex'], + ['Ü', 'Ü', true, 'U - diaeresis'], + ['Ý', 'Ý', true, 'Y - acute'], + ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], + ['Þ', 'Þ', true, 'THORN'], + ['à', 'à', true, 'a - grave'], + ['á', 'á', true, 'a - acute'], + ['â', 'â', true, 'a - circumflex'], + ['ã', 'ã', true, 'a - tilde'], + ['ä', 'ä', true, 'a - diaeresis'], + ['å', 'å', true, 'a - ring above'], + ['æ', 'æ', true, 'ligature ae'], + ['ç', 'ç', true, 'c - cedilla'], + ['è', 'è', true, 'e - grave'], + ['é', 'é', true, 'e - acute'], + ['ê', 'ê', true, 'e - circumflex'], + ['ë', 'ë', true, 'e - diaeresis'], + ['ì', 'ì', true, 'i - grave'], + ['í', 'í', true, 'i - acute'], + ['î', 'î', true, 'i - circumflex'], + ['ï', 'ï', true, 'i - diaeresis'], + ['ð', 'ð', true, 'eth'], + ['ñ', 'ñ', true, 'n - tilde'], + ['ò', 'ò', true, 'o - grave'], + ['ó', 'ó', true, 'o - acute'], + ['ô', 'ô', true, 'o - circumflex'], + ['õ', 'õ', true, 'o - tilde'], + ['ö', 'ö', true, 'o - diaeresis'], + ['ø', 'ø', true, 'o slash'], + ['œ', 'œ', true, 'ligature oe'], + ['š', 'š', true, 's - caron'], + ['ù', 'ù', true, 'u - grave'], + ['ú', 'ú', true, 'u - acute'], + ['û', 'û', true, 'u - circumflex'], + ['ü', 'ü', true, 'u - diaeresis'], + ['ý', 'ý', true, 'y - acute'], + ['þ', 'þ', true, 'thorn'], + ['ÿ', 'ÿ', true, 'y - diaeresis'], + ['Α', 'Α', true, 'Alpha'], + ['Β', 'Β', true, 'Beta'], + ['Γ', 'Γ', true, 'Gamma'], + ['Δ', 'Δ', true, 'Delta'], + ['Ε', 'Ε', true, 'Epsilon'], + ['Ζ', 'Ζ', true, 'Zeta'], + ['Η', 'Η', true, 'Eta'], + ['Θ', 'Θ', true, 'Theta'], + ['Ι', 'Ι', true, 'Iota'], + ['Κ', 'Κ', true, 'Kappa'], + ['Λ', 'Λ', true, 'Lambda'], + ['Μ', 'Μ', true, 'Mu'], + ['Ν', 'Ν', true, 'Nu'], + ['Ξ', 'Ξ', true, 'Xi'], + ['Ο', 'Ο', true, 'Omicron'], + ['Π', 'Π', true, 'Pi'], + ['Ρ', 'Ρ', true, 'Rho'], + ['Σ', 'Σ', true, 'Sigma'], + ['Τ', 'Τ', true, 'Tau'], + ['Υ', 'Υ', true, 'Upsilon'], + ['Φ', 'Φ', true, 'Phi'], + ['Χ', 'Χ', true, 'Chi'], + ['Ψ', 'Ψ', true, 'Psi'], + ['Ω', 'Ω', true, 'Omega'], + ['α', 'α', true, 'alpha'], + ['β', 'β', true, 'beta'], + ['γ', 'γ', true, 'gamma'], + ['δ', 'δ', true, 'delta'], + ['ε', 'ε', true, 'epsilon'], + ['ζ', 'ζ', true, 'zeta'], + ['η', 'η', true, 'eta'], + ['θ', 'θ', true, 'theta'], + ['ι', 'ι', true, 'iota'], + ['κ', 'κ', true, 'kappa'], + ['λ', 'λ', true, 'lambda'], + ['μ', 'μ', true, 'mu'], + ['ν', 'ν', true, 'nu'], + ['ξ', 'ξ', true, 'xi'], + ['ο', 'ο', true, 'omicron'], + ['π', 'π', true, 'pi'], + ['ρ', 'ρ', true, 'rho'], + ['ς', 'ς', true, 'final sigma'], + ['σ', 'σ', true, 'sigma'], + ['τ', 'τ', true, 'tau'], + ['υ', 'υ', true, 'upsilon'], + ['φ', 'φ', true, 'phi'], + ['χ', 'χ', true, 'chi'], + ['ψ', 'ψ', true, 'psi'], + ['ω', 'ω', true, 'omega'], +// symbols + ['ℵ', 'ℵ', false,'alef symbol'], + ['ϖ', 'ϖ', false,'pi symbol'], + ['ℜ', 'ℜ', false,'real part symbol'], + ['ϑ','ϑ', false,'theta symbol'], + ['ϒ', 'ϒ', false,'upsilon - hook symbol'], + ['℘', '℘', false,'Weierstrass p'], + ['ℑ', 'ℑ', false,'imaginary part'], +// arrows + ['←', '←', true, 'leftwards arrow'], + ['↑', '↑', true, 'upwards arrow'], + ['→', '→', true, 'rightwards arrow'], + ['↓', '↓', true, 'downwards arrow'], + ['↔', '↔', true, 'left right arrow'], + ['↵', '↵', false,'carriage return'], + ['⇐', '⇐', false,'leftwards double arrow'], + ['⇑', '⇑', false,'upwards double arrow'], + ['⇒', '⇒', false,'rightwards double arrow'], + ['⇓', '⇓', false,'downwards double arrow'], + ['⇔', '⇔', false,'left right double arrow'], + ['∴', '∴', false,'therefore'], + ['⊂', '⊂', false,'subset of'], + ['⊃', '⊃', false,'superset of'], + ['⊄', '⊄', false,'not a subset of'], + ['⊆', '⊆', false,'subset of or equal to'], + ['⊇', '⊇', false,'superset of or equal to'], + ['⊕', '⊕', false,'circled plus'], + ['⊗', '⊗', false,'circled times'], + ['⊥', '⊥', false,'perpendicular'], + ['⋅', '⋅', false,'dot operator'], + ['⌈', '⌈', false,'left ceiling'], + ['⌉', '⌉', false,'right ceiling'], + ['⌊', '⌊', false,'left floor'], + ['⌋', '⌋', false,'right floor'], + ['⟨', '〈', false,'left-pointing angle bracket'], + ['⟩', '〉', false,'right-pointing angle bracket'], + ['◊', '◊', true,'lozenge'], + ['♠', '♠', false,'black spade suit'], + ['♣', '♣', true, 'black club suit'], + ['♥', '♥', true, 'black heart suit'], + ['♦', '♦', true, 'black diamond suit'], + [' ', ' ', false,'en space'], + [' ', ' ', false,'em space'], + [' ', ' ', false,'thin space'], + ['‌', '‌', false,'zero width non-joiner'], + ['‍', '‍', false,'zero width joiner'], + ['‎', '‎', false,'left-to-right mark'], + ['‏', '‏', false,'right-to-left mark'], + ['­', '­', false,'soft hyphen'] +]; + +function renderCharMapHTML() { + var charsPerRow = 20, tdWidth=20, tdHeight=20; + var html = ''; + var cols=-1; + for (var i=0; i' + + charmap[i][1] + + ''; + if ((cols+1) % charsPerRow == 0) + html += ''; + } + } + if (cols % charsPerRow > 0) { + var padd = charsPerRow - (cols % charsPerRow); + for (var i=0; i '; + } + html += '
'; + document.write(html); +} + +function insertChar(chr) { + tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); + + // Refocus in window + if (tinyMCEPopup.isWindow) + window.focus(); + + tinyMCEPopup.close(); +} + +function previewChar(codeA, codeB, codeN) { + var elmA = document.getElementById('codeA'); + var elmB = document.getElementById('codeB'); + var elmV = document.getElementById('codeV'); + var elmN = document.getElementById('codeN'); + + if (codeA=='#160;') { + elmV.innerHTML = '__'; + } else { + elmV.innerHTML = '&' + codeA; + } + + elmB.innerHTML = '&' + codeA; + elmA.innerHTML = '&' + codeB; + elmN.innerHTML = codeN; +} diff --git a/program/js/tiny_mce/themes/advanced/jscripts/color_picker.js b/program/js/tiny_mce/themes/advanced/jscripts/color_picker.js new file mode 100644 index 0000000..00fc823 --- /dev/null +++ b/program/js/tiny_mce/themes/advanced/jscripts/color_picker.js @@ -0,0 +1,240 @@ +var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false; + +var colors = new Array( + "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", + "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099", + "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff", + "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033", + "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399", + "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff", + "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333", + "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399", + "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff", + "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633", + "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699", + "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff", + "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633", + "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999", + "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff", + "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933", + "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999", + "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff", + "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33", + "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99", + "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff", + "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33", + "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99", + "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff", + "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33", + "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99", + "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff" +); + +var named = { + '#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', + '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown', + '#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue', + '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod', + '#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen', + '#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue', + '#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue', + '#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen', + '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey', + '#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory', + '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue', + '#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen', + '#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey', + '#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', + '#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue', + '#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin', + '#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid', + '#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff', + '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue', + '#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver', + '#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen', + '#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', + '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen' +}; + +function init() { + var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color')); + + if (tinyMCE.isMSIE) + tinyMCEPopup.resizeToInnerSize(); + + generatePicker(); + + if (inputColor) { + changeFinalColor(inputColor); + + col = convertHexToRGB(inputColor); + + if (col) + updateLight(col.r, col.g, col.b); + } +} + +function insertAction() { + var color = document.getElementById("color").value; + + tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color); + tinyMCEPopup.close(); +} + +function showColor(color, name) { + if (name) + document.getElementById("colorname").innerHTML = name; + + document.getElementById("preview").style.backgroundColor = color; + document.getElementById("color").value = color; +} + +function convertRGBToHex(col) { + var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); + + if (!col) + return col; + + var rgb = col.replace(re, "$1,$2,$3").split(','); + if (rgb.length == 3) { + r = parseInt(rgb[0]).toString(16); + g = parseInt(rgb[1]).toString(16); + b = parseInt(rgb[2]).toString(16); + + r = r.length == 1 ? '0' + r : r; + g = g.length == 1 ? '0' + g : g; + b = b.length == 1 ? '0' + b : b; + + return "#" + r + g + b; + } + + return col; +} + +function convertHexToRGB(col) { + if (col.indexOf('#') != -1) { + col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); + + r = parseInt(col.substring(0, 2), 16); + g = parseInt(col.substring(2, 4), 16); + b = parseInt(col.substring(4, 6), 16); + + return {r : r, g : g, b : b}; + } + + return null; +} + +function generatePicker() { + var el = document.getElementById('light'), h = '', i; + + for (i = 0; i < detail; i++){ + h += '
'; + } + + el.innerHTML = h; +} + +function generateWebColors() { + var el = document.getElementById('webcolors'), h = '', i; + + if (el.className == 'generated') + return; + + h += '' + + ''; + + for (i=0; i' + + '' + + '' + colors[i] +  ''; + if ((i+1) % 18 == 0) + h += ''; + } + + h += '
'; + + el.innerHTML = h; + el.className = 'generated'; +} + +function generateNamedColors() { + var el = document.getElementById('namedcolors'), h = '', n, v, i = 0; + + if (el.className == 'generated') + return; + + for (n in named) { + v = named[n]; + h += '' + } + + el.innerHTML = h; + el.className = 'generated'; +} + +function dechex(n) { + return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16); +} + +function computeColor(e) { + var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB; + + x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0); + y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0); + + partWidth = document.getElementById('colorpicker').width / 6; + partDetail = detail / 2; + imHeight = document.getElementById('colorpicker').height; + + r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255; + g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255 + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth); + b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth); + + coef = (imHeight - y) / imHeight; + r = 128 + (r - 128) * coef; + g = 128 + (g - 128) * coef; + b = 128 + (b - 128) * coef; + + changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b)); + updateLight(r, g, b); +} + +function updateLight(r, g, b) { + var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color; + + for (i=0; i=0) && (i'); +} + +function insertImage() { + var src = document.forms[0].src.value; + var alt = document.forms[0].alt.value; + var border = document.forms[0].border.value; + var vspace = document.forms[0].vspace.value; + var hspace = document.forms[0].hspace.value; + var width = document.forms[0].width.value; + var height = document.forms[0].height.value; + var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value; + + tinyMCEPopup.restoreSelection(); + tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align); + tinyMCEPopup.close(); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + + var formObj = document.forms[0]; + + for (var i=0; i 0) { + for (var i=0; i'); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link'); + + // Handle file browser + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '180px'; + + var formObj = document.forms[0]; + + for (var i=0; i 0) { + var formObj = document.forms[0]; + + for (var i=0; i + + {$lang_insert_link_title} + + + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+
+
+
+ +
+
+ +
+ +
+ +
+
+
+ + diff --git a/program/js/tiny_mce/themes/advanced/source_editor.htm b/program/js/tiny_mce/themes/advanced/source_editor.htm new file mode 100644 index 0000000..c3f80c4 --- /dev/null +++ b/program/js/tiny_mce/themes/advanced/source_editor.htm @@ -0,0 +1,32 @@ + + + + {$lang_theme_code_title} + + + + + +
+
{$lang_theme_code_title}
+ +
+ +
+ +
+ + + +
+
+ +
+ +
+ +
+
+
+ + diff --git a/program/js/tiny_mce/tiny_mce.js b/program/js/tiny_mce/tiny_mce.js new file mode 100644 index 0000000..ef60480 --- /dev/null +++ b/program/js/tiny_mce/tiny_mce.js @@ -0,0 +1 @@ +function TinyMCE_Engine(){var ua;this.majorVersion="2";this.minorVersion="1.1.1";this.releaseDate="2007-05-14";this.instances=[];this.switchClassCache=[];this.windowArgs=[];this.loadedFiles=[];this.pendingFiles=[];this.loadingIndex=0;this.configs=[];this.currentConfig=0;this.eventHandlers=[];this.log=[];this.undoLevels=[];this.undoIndex=0;this.typingUndoIndex=-1;this.settings=[];ua=navigator.userAgent;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(ua.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(ua.indexOf('MSIE 5.0')!=-1);this.isMSIE7=this.isMSIE&&(ua.indexOf('MSIE 7')!=-1);this.isGecko=ua.indexOf('Gecko')!=-1;this.isSafari=ua.indexOf('Safari')!=-1;this.isOpera=window['opera']&&opera.buildNumber?true:false;this.isMac=ua.indexOf('Mac')!=-1;this.isNS7=ua.indexOf('Netscape/7')!=-1;this.isNS71=ua.indexOf('Netscape/7.1')!=-1;this.dialogCounter=0;this.plugins=[];this.themes=[];this.menus=[];this.loadedPlugins=[];this.buttonMap=[];this.isLoaded=false;if(this.isOpera){this.isMSIE=true;this.isGecko=false;this.isSafari=false}this.isIE=this.isMSIE;this.isRealIE=this.isMSIE&&!this.isOpera;this.idCounter=0};TinyMCE_Engine.prototype={init:function(settings){var theme,nl,baseHREF="",i,cssPath,entities,h,p,src,elements=[],head;if(this.isMSIE5_0)return;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){head=document.getElementsByTagName('head')[0];if(head){for(i=0,nl=head.getElementsByTagName('script');i');this._def("font_size_classes",'');this._def("font_size_style_values",'xx-small,x-small,small,medium,large,x-large,xx-large',true);this._def("event_elements",'a,img',true);this._def("convert_urls",true);this._def("table_inline_editing",false);this._def("object_resizing",true);this._def("custom_shortcuts",true);this._def("convert_on_click",false);this._def("content_css",'');this._def("fix_list_elements",true);this._def("fix_table_elements",false);this._def("strict_loading_mode",document.contentType=='application/xhtml+xml');this._def("hidden_tab_class",'');this._def("display_tab_class",'');this._def("gecko_spellcheck",false);this._def("hide_selects_on_submit",true);this._def("forced_root_block",false);this._def("remove_trailing_nbsp",false);if(this.isMSIE&&!this.isOpera)this.settings.strict_loading_mode=false;if(this.isMSIE&&this.settings.browsers.indexOf('msie')==-1)return;if(this.isGecko&&this.settings.browsers.indexOf('gecko')==-1)return;if(this.isSafari&&this.settings.browsers.indexOf('safari')==-1)return;if(this.isOpera&&this.settings.browsers.indexOf('opera')==-1)return;baseHREF=tinyMCE.settings.document_base_url;h=document.location.href;p=h.indexOf('://');if(p>0&&document.location.protocol!="file:"){p=h.indexOf('/',p+3);h=h.substring(0,p);if(baseHREF.indexOf('://')==-1)baseHREF=h+baseHREF;tinyMCE.settings.document_base_url=baseHREF;tinyMCE.settings.document_base_prefix=h}if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings.base_href=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings.theme;this.inlineStrict='A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';this.inlineTransitional='A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';this.blockElms='H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';this.blockRegExp=new RegExp("^("+this.blockElms+")$","i");this.posKeyCodes=[13,45,36,35,33,34,37,38,39,40];this.uniqueURL='javascript:void(091039730);';this.uniqueTag='';this.callbacks=['onInit','getInfo','getEditorTemplate','setupContent','onChange','onPageLoad','handleNodeChange','initInstance','execCommand','getControlHTML','handleEvent','cleanup','removeInstance'];this.settings.theme_href=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isIE||tinyMCE.isOpera)this.settings.force_br_newlines=false;if(tinyMCE.getParam("popups_css",false)){cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings.popups_css=this.documentBasePath+"/"+cssPath;else this.settings.popups_css=cssPath}else this.settings.popups_css=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings.editor_css=this.documentBasePath+"/"+cssPath;else this.settings.editor_css=cssPath}else{if(this.settings.editor_css!=='')this.settings.editor_css=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css"}if(this.configs.length==0){if(typeof(TinyMCECompressed)=="undefined"){tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);if(tinyMCE.isRealIE){if(document.body)tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);else tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad)}tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);tinyMCE._addUnloadEvents()}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings.theme+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings.language+'.js');this.loadCSS(this.settings.editor_css);p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(i=0;i&"]','g')},_addUnloadEvents:function(){var st=tinyMCE.settings.add_unload_trigger;if(tinyMCE.isIE){if(st){tinyMCE.addEvent(window,"unload",TinyMCE_Engine.prototype.unloadHandler);tinyMCE.addEvent(window.document,"beforeunload",TinyMCE_Engine.prototype.unloadHandler)}}else{if(st)tinyMCE.addEvent(window,"unload",function(){tinyMCE.triggerSave(true,true)})}},_def:function(key,def_val,t){var v=tinyMCE.getParam(key,def_val);v=t?v.replace(/\s+/g,""):v;this.settings[key]=v},hasPlugin:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},addPlugin:function(n,p){var op=this.plugins[n];p.baseURL=op?op.baseURL:tinyMCE.baseURL+"/plugins/"+n;this.plugins[n]=p;this.loadNextScript()},setPluginBaseURL:function(n,u){var op=this.plugins[n];if(op)op.baseURL=u;else this.plugins[n]={baseURL:u}},loadPlugin:function(n,u){u=u.indexOf('.js')!=-1?u.substring(0,u.lastIndexOf('/')):u;u=u.charAt(u.length-1)=='/'?u.substring(0,u.length-1):u;this.plugins[n]={baseURL:u};this.loadScript(u+"/editor_plugin"+(tinyMCE.srcMode?'_src':'')+".js")},hasTheme:function(n){return typeof(this.themes[n])!="undefined"&&this.themes[n]!=null},addTheme:function(n,t){this.themes[n]=t;this.loadNextScript()},addMenu:function(n,m){this.menus[n]=m},hasMenu:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},loadScript:function(url){var i;for(i=0;i');this.loadedFiles[this.loadedFiles.length]=url},loadNextScript:function(){var d=document,se;if(!tinyMCE.settings.strict_loading_mode)return;if(this.loadingIndex0){for(i=0,lflen=this.loadedFiles.length;i');this.loadedFiles[this.loadedFiles.length]=ar[x]}}}},importCSS:function(doc,css){var css_ary=css.replace(/\s+/,'').split(',');var csslen,elm,headArr,x,css_file;for(x=0,csslen=css_ary.length;x0){if(css_file.indexOf('://')==-1&&css_file.charAt(0)!='/')css_file=this.documentBasePath+"/"+css_file;if(typeof(doc.createStyleSheet)=="undefined"){elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0)headArr[0].appendChild(elm)}else doc.createStyleSheet(css_file)}}},confirmAdd:function(e,settings){var elm=tinyMCE.isIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(tinyMCE.settings.convert_on_click||(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang.lang_edit_confirm)))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true')},updateContent:function(form_element_name){var formElement,n,inst,doc;formElement=document.getElementById(form_element_name);for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();if(inst.formElement==formElement){doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid)}}},addMCEControl:function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCE_Control(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst._onAdd(replace_element,form_element_name,target_document)},removeInstance:function(ti){var t=[],n,i;for(n in tinyMCE.instances){i=tinyMCE.instances[n];if(tinyMCE.isInstance(i)&&ti!=i)t[n]=i}tinyMCE.instances=t;n=[];t=tinyMCE.undoLevels;for(i=0;i0){tinyMCE.nextUndoRedoAction='Undo';inst=this.undoLevels[--this.undoIndex];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Undo')}}else inst.execCommand('Undo');return true;case"Redo":if(this.getParam('custom_undo_redo_global')){if(this.undoIndex<=this.undoLevels.length-1){tinyMCE.nextUndoRedoAction='Redo';inst=this.undoLevels[this.undoIndex++];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Redo')}}else inst.execCommand('Redo');return true;case'mceFocus':inst=tinyMCE.getInstanceById(value);if(inst)inst.getWin().focus();return;case"mceAddControl":case"mceAddEditor":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceAddFrameControl":tinyMCE.addMCEControl(tinyMCE._getElementById(value.element,value.document),value.element,value.document);return;case"mceRemoveControl":case"mceRemoveEditor":tinyMCE.removeMCEControl(value);return;case"mceToggleEditor":inst=tinyMCE.getInstanceById(value);if(inst){pe=document.getElementById(inst.editorId+'_parent');te=inst.oldTargetElement;if(typeof(inst.enabled)=='undefined')inst.enabled=true;inst.enabled=!inst.enabled;if(!inst.enabled){pe.style.display='none';if(te.nodeName=='TEXTAREA'||te.nodeName=='INPUT')te.value=inst.getHTML();else te.innerHTML=inst.getHTML();te.style.display=inst.oldTargetDisplay;tinyMCE.dispatchCallback(inst,'hide_instance_callback','hideInstance',inst)}else{pe.style.display='block';te.style.display='none';if(te.nodeName=='TEXTAREA'||te.nodeName=='INPUT')inst.setHTML(te.value);else inst.setHTML(te.innerHTML);inst.useCSS=false;tinyMCE.dispatchCallback(inst,'show_instance_callback','showInstance',inst)}}else tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceResetDesignMode":if(tinyMCE.isGecko){for(n in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[n]))continue;try{tinyMCE.instances[n].getDoc().designMode="off";tinyMCE.instances[n].getDoc().designMode="on";tinyMCE.instances[n].useCSS=false}catch(e){}}}return}if(inst){inst.execCommand(command,user_interface,value)}else if(tinyMCE.settings.focus_alert)alert(tinyMCELang.lang_focus_alert)},_createIFrame:function(replace_element,doc,win){var iframe,id=replace_element.getAttribute("id");var aw,ah;if(typeof(doc)=="undefined")doc=document;if(typeof(win)=="undefined")win=window;iframe=doc.createElement("iframe");aw=""+tinyMCE.settings.area_width;ah=""+tinyMCE.settings.area_height;if(aw.indexOf('%')==-1){aw=parseInt(aw);aw=(isNaN(aw)||aw<0)?300:aw;aw=aw+"px"}if(ah.indexOf('%')==-1){ah=parseInt(ah);ah=(isNaN(ah)||ah<0)?240:ah;ah=ah+"px"}iframe.setAttribute("id",id);iframe.setAttribute("name",id);iframe.setAttribute("class","mceEditorIframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",aw);iframe.setAttribute("height",ah);iframe.setAttribute("allowtransparency","true");iframe.className='mceEditorIframe';if(tinyMCE.settings.auto_resize)iframe.setAttribute("scrolling","no");if(tinyMCE.isRealIE)iframe.setAttribute("src",this.settings.default_document);iframe.style.width=aw;iframe.style.height=ah;if(tinyMCE.settings.strict_loading_mode)iframe.style.marginBottom='-5px';if(tinyMCE.isRealIE)replace_element.outerHTML=iframe.outerHTML;else replace_element.parentNode.replaceChild(iframe,replace_element);if(tinyMCE.isRealIE)return win.frames[id];else return iframe},setupContent:function(editor_id){var inst=tinyMCE.instances[editor_id],i,doc=inst.getDoc(),head=doc.getElementsByTagName('head').item(0);var content=inst.startContent,contentElement,body;if(tinyMCE.settings.strict_loading_mode){content=content.replace(/</g,'<');content=content.replace(/>/g,'>');content=content.replace(/"/g,'"');content=content.replace(/&/g,'&')}tinyMCE.selectedInstance=inst;inst.switchSettings();if(!tinyMCE.isIE&&tinyMCE.getParam("setupcontent_reload",false)&&doc.title!="blank_page"){try{doc.location.href=tinyMCE.baseURL+"/blank.htm"}catch(ex){}window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return}if(!head||!doc.body){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return}tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/themes/"+inst.settings.theme+"/css/editor_content.css");tinyMCE.importCSS(inst.getDoc(),inst.settings.content_css);tinyMCE.dispatchCallback(inst,'init_instance_callback','initInstance',inst);if(tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')){inst.addShortcut('ctrl','z','lang_undo_desc','Undo');inst.addShortcut('ctrl','y','lang_redo_desc','Redo')}for(i=1;i<=6;i++)inst.addShortcut('ctrl',''+i,'','FormatBlock',false,'');inst.addShortcut('ctrl','7','','FormatBlock',false,'

');inst.addShortcut('ctrl','8','','FormatBlock',false,'

');inst.addShortcut('ctrl','9','','FormatBlock',false,'
');if(tinyMCE.isGecko){inst.addShortcut('ctrl','b','lang_bold_desc','Bold');inst.addShortcut('ctrl','i','lang_italic_desc','Italic');inst.addShortcut('ctrl','u','lang_underline_desc','Underline')}if(tinyMCE.getParam("convert_fonts_to_spans"))inst.getBody().setAttribute('id','mceSpanFonts');if(tinyMCE.settings.nowrap)doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings.directionality;doc.editorId=editor_id;if(!tinyMCE.isIE)doc.documentElement.editorId=editor_id;inst.setBaseHREF(tinyMCE.settings.base_href);if(tinyMCE.settings.convert_newlines_to_brs){content=tinyMCE.regexpReplace(content,"\r\n","
","gi");content=tinyMCE.regexpReplace(content,"\r","
","gi");content=tinyMCE.regexpReplace(content,"\n","
","gi")}content=tinyMCE.storeAwayURLs(content);content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isIE){window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["'+editor_id+'"].getDoc(), "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings.force_br_newlines)doc.styleSheets[0].addRule("p","margin: 0;");body=inst.getBody();body.editorId=editor_id}content=tinyMCE.cleanupHTMLCode(content);if(!tinyMCE.isIE){contentElement=inst.getDoc().createElement("body");doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.settings.cleanup_on_startup)tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement));else tinyMCE.setInnerHTML(inst.getBody(),content);tinyMCE.convertAllRelativeURLs(inst.getBody())}else{if(tinyMCE.settings.cleanup_on_startup){tinyMCE._setHTML(inst.getDoc(),content);try{tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,inst.contentDocument,this.settings,inst.getBody()))}catch(e){}}else tinyMCE._setHTML(inst.getDoc(),content)}tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings.visual,inst);tinyMCE.dispatchCallback(inst,'setupcontent_callback','setupContent',editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isIE)tinyMCE.addEventHandlers(inst);if(tinyMCE.isIE){tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(inst.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);if(!tinyMCE.isOpera){tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch)}}inst.select();tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),false);tinyMCE.cleanupAnchors(inst.getDoc());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoRedo.add({content:inst.startContent});if(tinyMCE.isGecko){tinyMCE.selectNodes(inst.getBody(),function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}if(tinyMCE.isGecko)inst.getBody().spellcheck=tinyMCE.getParam("gecko_spellcheck");tinyMCE._removeInternal(inst.getBody());inst.select();tinyMCE.triggerNodeChange(false,true)},storeAwayURLs:function(s){if(!s.match(/(mce_src|mce_href)/gi,s)){s=s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" mce_src="$1"');s=s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" mce_href="$1"')}return s},_removeInternal:function(n){if(tinyMCE.isGecko){tinyMCE.selectNodes(n,function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}},removeTinyMCEFormElements:function(form_obj){var i,elementId;if(!tinyMCE.getParam('hide_selects_on_submit'))return;if(typeof(form_obj)=="undefined"||form_obj==null)return;if(form_obj.nodeName!="FORM"){if(form_obj.form)form_obj=form_obj.form;else form_obj=tinyMCE.getParentElement(form_obj,"form")}if(form_obj==null)return;for(i=0;i");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false)}return false;case"keyup":case"keydown":tinyMCE.hideMenus();tinyMCE.hasMouseMoved=false;if(inst&&inst.handleShortcut(e))return false;inst._fixRootBlocks();if(inst.settings.remove_trailing_nbsp)inst._fixTrailingNbsp();if(e.target.editorId)tinyMCE.instances[e.target.editorId].select();if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings.force_p_newlines&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings.visual,tinyMCE.selectedInstance);if(tinyMCE.isIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isIE&&e.type=="keyup"&&e.keyCode==13){elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="  ";else elm.innerHTML=" "}}}keys=tinyMCE.posKeyCodes;var posKey=false;for(i=0;i';h+='{$'+lang+'}';h+=''}else{h+='';h+='{$'+lang+'}';h+=''}return h},getMenuButtonHTML:function(id,lang,img,mcmd,cmd,ui,val){var h='',m,x;mcmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+mcmd+'\');';cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=tinyMCE.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);if(tinyMCE.isRealIE)h+='';else h+='';h+='';h+='';h+='';h+=''}else{if(tinyMCE.isRealIE)h+='';else h+='';h+='';h+='';h+='';h+=''}return h},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'')},addButtonMap:function(m){var i,a=m.replace(/\s+/,'').split(',');for(i=0;i0);if(tinyMCE.settings.custom_undo_redo){undoIndex=inst.undoRedo.undoIndex;undoLevels=inst.undoRedo.undoLevels.length}tinyMCE.dispatchCallback(inst,'handle_node_change_callback','handleNodeChange',editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,setup_content)}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus()},_customCleanup:function(inst,type,content){var pl,po,i,customCleanup;customCleanup=tinyMCE.settings.cleanup_callback;if(customCleanup!='')content=tinyMCE.resolveDots(tinyMCE.settings.cleanup_callback,window)(type,content,inst);po=tinyMCE.themes[tinyMCE.settings.theme];if(po&&po.cleanup)content=po.cleanup(type,content,inst);pl=inst.plugins;for(i=0;i0)className+=" ";className+=classNames[i]}return className},handleVisualAid:function(el,deep,state,inst,skip_dispatch){var i,x,y,tableElement,anchorName,oldW,oldH,bo,cn;if(!el)return;if(!skip_dispatch)tinyMCE.dispatchCallback(inst,'handle_visual_aid_callback','handleVisualAid',el,deep,state,inst);tableElement=null;switch(el.nodeName){case"TABLE":oldW=el.style.width;oldH=el.style.height;bo=tinyMCE.getAttrib(el,"border");bo=bo==''||bo=="0"?true:false;tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),state&&bo));el.style.width=oldW;el.style.height=oldH;for(y=0;y0)return inst.cssClasses;if(!doc)return;styles=doc.styleSheets;if(styles&&styles.length>0){for(x=0;x'+tinyMCE.replaceVar(v,"pluginurl",o.baseURL)+'';return tinyMCE.replaceVar(v,"pluginurl",o.baseURL)}}o=tinyMCE.themes[tinyMCE.settings.theme];if(o.getControlHTML&&(v=o.getControlHTML(c))!==''){if(rtl)return''+v+'';return v}return''},evalFunc:function(f,idx,a,o){o=!o?window:o;f=typeof(f)=='function'?f:o[f];return f.apply(o,Array.prototype.slice.call(a,idx))},dispatchCallback:function(i,p,n){return this.callFunc(i,p,n,0,this.dispatchCallback.arguments)},executeCallback:function(i,p,n){return this.callFunc(i,p,n,1,this.executeCallback.arguments)},execCommandCallback:function(i,p,n){return this.callFunc(i,p,n,2,this.execCommandCallback.arguments)},callFunc:function(ins,p,n,m,a){var l,i,on,o,s,v;s=m==2;l=tinyMCE.getParam(p,'');if(l!==''&&(v=tinyMCE.evalFunc(l,3,a))==s&&m>0)return true;if(ins!=null){for(i=0,l=ins.plugins;i0)return true}}l=tinyMCE.themes;for(on in l){o=l[on];if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0)return true}return false},resolveDots:function(s,o){var i;if(typeof(s)=='string'){for(i=0,s=s.split('.');i':return'>'}return c}):s},add:function(c,m){var n;for(n in m)c.prototype[n]=m[n]},extend:function(p,np){var o={},n;o.parent=p;for(n in p)o[n]=p[n];for(n in np)o[n]=np[n];return o},hideMenus:function(){var e=tinyMCE.lastSelectedMenuBtn;if(tinyMCE.lastMenu){tinyMCE.lastMenu.hide();tinyMCE.lastMenu=null}if(e){tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);tinyMCE.lastSelectedMenuBtn=null}}};var TinyMCE=TinyMCE_Engine;var tinyMCE=new TinyMCE_Engine();var tinyMCELang={};function TinyMCE_Control(settings){var t,i,tos,fu,p,x,fn,fu,pn,s=settings;this.undoRedoLevel=true;this.isTinyMCE_Control=true;this.enabled=true;this.settings=s;this.settings.theme=tinyMCE.getParam("theme","default");this.settings.width=tinyMCE.getParam("width",-1);this.settings.height=tinyMCE.getParam("height",-1);this.selection=new TinyMCE_Selection(this);this.undoRedo=new TinyMCE_UndoRedo(this);this.cleanup=new TinyMCE_Cleanup();this.shortcuts=[];this.hasMouseMoved=false;this.foreColor=this.backColor="#999999";this.data={};this.cssClasses=[];this.cleanup.init({valid_elements:s.valid_elements,extended_valid_elements:s.extended_valid_elements,valid_child_elements:s.valid_child_elements,entities:s.entities,entity_encoding:s.entity_encoding,debug:s.cleanup_debug,indent:s.apply_source_formatting,invalid_elements:s.invalid_elements,verify_html:s.verify_html,fix_content_duplication:s.fix_content_duplication,convert_fonts_to_spans:s.convert_fonts_to_spans});t=this.settings.theme;if(!tinyMCE.hasTheme(t)){fn=tinyMCE.callbacks;tos={};for(i=0;i0){for(i=0;i1&&tinyMCE.currentConfig!=this.settings.index){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings.index}},select:function(){var oldInst=tinyMCE.selectedInstance;if(oldInst!=this){if(oldInst)oldInst.execCommand('mceEndTyping');tinyMCE.dispatchCallback(this,'select_instance_callback','selectInstance',this,oldInst);tinyMCE.selectedInstance=this}},getBody:function(){return this.contentBody?this.contentBody:this.getDoc().body},getDoc:function(){return this.contentWindow.document},getWin:function(){return this.contentWindow},getContainerWin:function(){return this.containerWindow?this.containerWindow:window},getViewPort:function(){return tinyMCE.getViewPort(this.getWin())},getParentNode:function(n,f){return tinyMCE.getParentNode(n,f,this.getBody())},getParentElement:function(n,na,f){return tinyMCE.getParentElement(n,na,f,this.getBody())},getParentBlockElement:function(n){return tinyMCE.getParentBlockElement(n,this.getBody())},resizeToContent:function(){var d=this.getDoc(),b=d.body,de=d.documentElement;this.iframeElement.style.height=(tinyMCE.isRealIE)?b.scrollHeight:de.offsetHeight+'px'},addShortcut:function(m,k,d,cmd,ui,va){var n=typeof(k)=="number",ie=tinyMCE.isIE,c,sc,i,scl=this.shortcuts;if(!tinyMCE.getParam('custom_shortcuts'))return false;m=m.toLowerCase();k=ie&&!n?k.toUpperCase():k;c=n?null:k.charCodeAt(0);d=d&&d.indexOf('lang_')==0?tinyMCE.getLang(d):d;sc={alt:m.indexOf('alt')!=-1,ctrl:m.indexOf('ctrl')!=-1,shift:m.indexOf('shift')!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};for(i=0;i1&&/(^\u00a0|\u00a0$)/.test(v)){e.firstChild.nodeValue=v.replace(/(^\u00a0|\u00a0$)/,'');s.selectNode(e.firstChild,true,false,false);}}},_setUseCSS:function(b){var d=this.getDoc();try{d.execCommand("useCSS",false,!b)}catch(ex){}try{d.execCommand("styleWithCSS",false,b)}catch(ex){}if(!tinyMCE.getParam("table_inline_editing"))try{d.execCommand('enableInlineTableEditing',false,"false")}catch(ex){}if(!tinyMCE.getParam("object_resizing"))try{d.execCommand('enableObjectResizing',false,"false")}catch(ex){}},execCommand:function(command,user_interface,value){var i,x,z,align,img,div,doc=this.getDoc(),win=this.getWin(),focusElm=this.getFocusElement();if(!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel','gi').test(command))this.undoBookmark=null;if(!tinyMCE.isIE&&!this.useCSS){this._setUseCSS(false);this.useCSS=true}this.contentDocument=doc;if(!/mceStartTyping|mceEndTyping/.test(command)){if(tinyMCE.execCommandCallback(this,'execcommand_callback','execCommand',this.editorId,this.getBody(),command,user_interface,value))return}if(focusElm&&focusElm.nodeName=="IMG"){align=focusElm.getAttribute('align');img=command=="JustifyCenter"?focusElm.cloneNode(false):focusElm;switch(command){case"JustifyLeft":if(align=='left')img.removeAttribute('align');else img.setAttribute('align','left');div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyCenter":img.removeAttribute('align');div=tinyMCE.getParentElement(focusElm,"div");if(div&&div.style.textAlign=="center"){if(div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div)}else{div=this.getDoc().createElement("div");div.style.textAlign='center';div.appendChild(img);focusElm.parentNode.replaceChild(div,focusElm)}this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyRight":if(align=='right')img.removeAttribute('align');else img.setAttribute('align','right');div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return}}if(tinyMCE.settings.force_br_newlines){var alignValue="";if(doc.selection.type!="Control"){switch(command){case"JustifyLeft":alignValue="left";break;case"JustifyCenter":alignValue="center";break;case"JustifyFull":alignValue="justify";break;case"JustifyRight":alignValue="right";break}if(alignValue!==''){var rng=doc.selection.createRange();if((divElm=tinyMCE.getParentElement(rng.parentElement(),"div"))!=null)divElm.setAttribute("align",alignValue);else if(rng.pasteHTML&&rng.htmlText.length>0)rng.pasteHTML('
'+rng.htmlText+"
");tinyMCE.triggerNodeChange();return}}}switch(command){case"mceRepaint":this.repaint();return true;case"unlink":if(tinyMCE.isGecko&&this.getSel().isCollapsed){focusElm=tinyMCE.getParentElement(focusElm,'A');if(focusElm)this.selection.selectNode(focusElm,false)}this.getDoc().execCommand(command,user_interface,value);tinyMCE.isGecko&&this.getSel().collapseToEnd();tinyMCE.triggerNodeChange();return true;case"InsertUnorderedList":case"InsertOrderedList":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"Strikethrough":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"mceSelectNode":this.selection.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case"FormatBlock":if(value==null||value==''){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");if(elm)this.execCommand("mceRemoveNode",false,elm)}else{if(!this.cleanup.isValid(value))return true;if(tinyMCE.isGecko&&new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>','gi').test(value))value=value.replace(/[^a-z]/gi,'');if(tinyMCE.isIE&&new RegExp('blockquote|code|samp','gi').test(value)){var b=this.selection.getBookmark();this.getDoc().execCommand("FormatBlock",false,'

');tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()),value);this.selection.moveToBookmark(b)}else this.getDoc().execCommand("FormatBlock",false,value)}tinyMCE.triggerNodeChange();break;case"mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isIE){value.outerHTML=value.innerHTML}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML))}tinyMCE.triggerNodeChange();break;case"mceSelectNodeDepth":var parentNode=this.getFocusElement();for(i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue}if(i==value){this.selection.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return}parentNode=parentNode.parentNode}break;case"mceSetStyleInfo":case"SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value.command;var sname=value.name;var svalue=value.value==null?'':value.value;var wrapper=value.wrapper?value.wrapper:"span";var parentElm=null;var invalidRe=new RegExp("^BODY|HTML$","g");var invalidParentsRe=tinyMCE.settings.merge_styles_invalid_parents!==''?new RegExp(tinyMCE.settings.merge_styles_invalid_parents,"gi"):null;if(tinyMCE.isIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){if(invalidParentsRe==null||!invalidParentsRe.test(pelm.nodeName))parentElm=pelm}}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(new RegExp('td|tr|tbody|table|img','gi').test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm}if(parentElm&&!invalidRe.test(parentElm.nodeName)){if(scmd=="setstyle")tinyMCE.setStyleAttrib(parentElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);if(scmd=="removeformat"){parentElm.style.cssText='';tinyMCE.setAttrib(parentElm,'class','')}var ch=tinyMCE.getNodeTree(parentElm,[],1);for(z=0;z=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(scmd,elm,elm.childNodes[0],isNew);continue}if(elm.parentNode.childNodes.length==1&&!invalidRe.test(elm.nodeName)&&!invalidRe.test(elm.parentNode.nodeName)){if(invalidParentsRe==null||!invalidParentsRe.test(elm.parentNode.nodeName))this._mergeElements(scmd,elm.parentNode,elm,false)}}var nodes=doc.getElementsByTagName(wrapper);for(i=nodes.length-1;i>=0;i--){var elm=nodes[i],isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));tmp.innerHTML=tmp.innerHTML.replace(new RegExp('style=""|class=""','gi'),'');if(new RegExp('','gi').test(tmp.innerHTML)){for(x=0;x0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value)}this._addBogusBR();tinyMCE.triggerNodeChange();break;case"mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value.targets)=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value.targets;var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value.name,value.value);tinyMCE.triggerNodeChange()}}break;case"mceSetCSSClass":this.execCommand("mceSetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case"mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getBody().scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getBody().scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+value+html.substring(pos+key.length));this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case"mceInsertContent":if(!value)value='';var insertHTMLFailed=false;if(tinyMCE.isGecko||tinyMCE.isOpera){try{if(value.indexOf('<')==-1&&!value.match(/(&| |<|>)/g)){var r=this.getRng();var n=this.getDoc().createTextNode(tinyMCE.entityDecode(value));var s=this.getSel();var r2=r.cloneRange();s.removeAllRanges();r.deleteContents();r.insertNode(n);r2.selectNode(n);r2.collapse(false);s.removeAllRanges();s.addRange(r2)}else{value=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),value);this.getDoc().execCommand('inserthtml',false,value);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}}catch(ex){insertHTMLFailed=true}if(!insertHTMLFailed){tinyMCE.triggerNodeChange();return}}if(!tinyMCE.isIE){var isHTML=value.indexOf('<')!=-1;var sel=this.getSel();var rng=this.getRng();if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value)}else value=rng.createContextualFragment(value)}else{value=doc.createTextNode(tinyMCE.entityDecode(value))}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node)}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng)}else rng.collapse(false);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}else{var rng=doc.selection.createRange(),tmpRng=null;var c=value.indexOf('"}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i';return h},_serializeAttribute:function(n,r,an){var av='',t,os=this.settings.on_save;if(os&&(an.indexOf('mce_')==0||an.indexOf('_moz')==0))return'';if(os&&this.mceAttribs[an])av=this._getAttrib(n,this.mceAttribs[an]);if(av.length==0)av=this._getAttrib(n,an);if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){av=t;if(av=="mce_empty")return" "+an+'=""'}if(r.forceAttribs&&(t=r.forceAttribs[an]))av=t;if(os&&av.length!=0&&/^(src|href|longdesc)$/.test(an))av=this._urlConverter(this,n,av);if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av))return"";if(av.length!=0&&av=="{$uid}")av="uid_"+(this.idCount++);if(av.length!=0){if(an.indexOf('on')!=0)av=this.xmlEncode(av,1);return" "+an+"="+'"'+av+'"'}return""},formatHTML:function(h){var s=this.settings,p='',i=0,li=0,o='',l;h=h.replace(/]*)>(.*?)<\/pre>/gi,function(a,b,c){c=c.replace(//gi,'\n');return''+c+''});h=h.replace(/\r/g,'');h='\n'+h;h=h.replace(new RegExp('\\n\\s+','gi'),'\n');h=h.replace(this.nlBeforeRe,'\n<$1$2>');h=h.replace(this.nlAfterRe,'<$1$2>\n');h=h.replace(this.nlBeforeAfterRe,'\n<$1$2$3>\n');h+='\n';while((i=h.indexOf('\n',i+1))!=-1){if((l=h.substring(li+1,i)).length!=0){if(this.ouRe.test(l)&&p.length>=s.indent_levels)p=p.substring(s.indent_levels);o+=p+l+'\n';if(this.inRe.test(l))p+=this.inStr}li=i}return o},xmlEncode:function(s){var cl=this,re=this.xmlEncodeRe;if(!this.entitiesDone)this._setupEntities();switch(this.settings.entity_encoding){case"raw":return tinyMCE.xmlEncode(s);case"named":return s.replace(re,function(c){var b=cl.entities[c.charCodeAt(0)];return b?'&'+b+';':c});case"numeric":return s.replace(re,function(c){return'&#'+c.charCodeAt(0)+';'})}return s},split:function(re,s){var i,l,o=[],c=s.split(re);for(i=0,l=c.length;i':'>'+h+'';return o},createTag:function(d,tn,a,h){var o=d.createElement(tn),n;if(a){for(n in a){if(typeof(a[n])!='function'&&a[n]!=null)tinyMCE.setAttrib(o,n,a[n])}}if(h)o.innerHTML=h;return o},getElementByAttributeValue:function(n,e,a,v){return(n=this.getElementsByAttributeValue(n,e,a,v)).length==0?null:n[0]},getElementsByAttributeValue:function(n,e,a,v){var i,nl=n.getElementsByTagName(e),o=[];for(i=0;i]*)>/gi,'');h=h.replace(/]*)>/gi,'');h=h.replace(/]*)>/gi,'');h=h.replace(/]*)>/gi,'');h=h.replace(/<\/strong>/gi,'');h=h.replace(/<\/em>/gi,'')}if(tinyMCE.isRealIE){h=h.replace(/\s\/>/g,'>');h=h.replace(/]*)>\u00A0?<\/p>/gi,' 

');h=h.replace(/]*)>\s* \s*<\/p>/gi,' 

');h=h.replace(/]*)>\s+<\/p>/gi,' 

');e.innerHTML=tinyMCE.uniqueTag+h;e.firstChild.removeNode(true);nl=e.getElementsByTagName("p");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.nodeName=='P'&&!n.hasChildNodes()&&!n.mce_keep)n.parentNode.removeChild(n)}}else{h=this.fixGeckoBaseHREFBug(1,e,h);e.innerHTML=h;this.fixGeckoBaseHREFBug(2,e,h)}},getOuterHTML:function(e){var d;if(tinyMCE.isIE)return e.outerHTML;d=e.ownerDocument.createElement("body");d.appendChild(e.cloneNode(true));return d.innerHTML},setOuterHTML:function(e,h,d){var d=typeof(d)=="undefined"?e.ownerDocument:d,i,nl,t;if(tinyMCE.isIE&&e.nodeType==1)e.outerHTML=h;else{t=d.createElement("body");t.innerHTML=h;for(i=0,nl=t.childNodes;i-1;i--){if(ar[i].specified&&ar[i].nodeValue)ne.setAttribute(ar[i].nodeName.toLowerCase(),ar[i].nodeValue)}ar=e.childNodes;for(i=0;i=strTok2.length){for(i=0;i=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(strTok1.length=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(breakPoint==1)return targetURL.path;for(i=0;i<(strTok1.length-(breakPoint-1));i++)outPath+="../";for(i=breakPoint-1;i=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i]}baseURLParts=newBaseURLParts.reverse();newRelURLParts=[];numBack=0;for(i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue}if(numBack>0){numBack--;continue}newRelURLParts[newRelURLParts.length]=relURLParts[i]}relURLParts=newRelURLParts.reverse();len=baseURLParts.length-numBack;absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');start="";end="";relURL.protocol=baseURL.protocol;relURL.host=baseURL.host;relURL.port=baseURL.port;if(relURL.path.charAt(relURL.path.length-1)=="/")absPath+="/";relURL.path=absPath;return this.serializeURL(relURL)},convertURL:function(url,node,on_save){var dl=document.location,start,portPart,urlParts,baseUrlParts,tmpUrlParts,curl;var prot=dl.protocol,host=dl.hostname,port=dl.port;if(prot=="file:")return url;url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||/^[ \t\r\n\+]*[#\?]/.test(url))return url;if(!tinyMCE.isIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings.base_href+url;if(on_save&&tinyMCE.getParam('relative_urls')){curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,url);if(curl.charAt(0)=='/')curl=tinyMCE.settings.document_base_prefix+curl;urlParts=tinyMCE.parseURL(curl);tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings.document_base_url);if(urlParts.host==tmpUrlParts.host&&(urlParts.port==tmpUrlParts.port))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings.document_base_url,curl)}if(!tinyMCE.getParam('relative_urls')){urlParts=tinyMCE.parseURL(url);baseUrlParts=tinyMCE.parseURL(tinyMCE.settings.base_href);url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,url);if(urlParts.anchor&&urlParts.path==baseUrlParts.path)return"#"+urlParts.anchor}if(tinyMCE.getParam('remove_script_host')){start="";portPart="";if(port!=='')portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1)}return url},convertAllRelativeURLs:function(body){var i,elms,src,href,mhref,msrc;elms=body.getElementsByTagName("img");for(i=0;ibookmark.index){try{rng.addElement(nl[bookmark.index])}catch(ex){}}}else{try{if(bookmark.start<0)return true;rng=inst.getSel().createRange();rng.moveToElementText(inst.getBody());rng.collapse(true);rng.moveStart('character',bookmark.start);rng.moveEnd('character',bookmark.length)}catch(ex){return true}}rng.select();win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}if(tinyMCE.isGecko||tinyMCE.isOpera){if(!sel)return false;if(bookmark.rng){sel.removeAllRanges();sel.addRange(bookmark.rng)}if(bookmark.start!=-1&&bookmark.end!=-1){try{sd=this._getTextPos(b,bookmark.start,bookmark.end);rng=doc.createRange();rng.setStart(sd.startNode,sd.startOffset);rng.setEnd(sd.endNode,sd.endOffset);sel.removeAllRanges();sel.addRange(rng);if(!tinyMCE.isOpera)win.focus()}catch(ex){}}win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}return false},_getPosText:function(r,sn,en){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){if(n==sn)d.start=p;if(n==en){d.end=p;return d}p+=n.nodeValue?n.nodeValue.length:0}return null},_getTextPos:function(r,sp,ep){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){p+=n.nodeValue?n.nodeValue.length:0;if(p>=sp&&!d.startNode){d.startNode=n;d.startOffset=sp-(p-n.nodeValue.length)}if(p>=ep){d.endNode=n;d.endOffset=ep-(p-n.nodeValue.length);return d}}return null},selectNode:function(node,collapse,select_text_node,to_start){var inst=this.instance,sel,rng,nodes;if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(inst.settings.auto_resize)inst.resizeToContent();if(tinyMCE.isRealIE){rng=inst.getDoc().body.createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select()}catch(e){}}else{sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.collapseToStart();else sel.collapseToEnd()}this.scrollToNode(node);return}rng=inst.getDoc().createRange();if(select_text_node){nodes=tinyMCE.getNodeTree(node,[],3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node)}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length)}else rng.collapse(to_start)}sel.removeAllRanges();sel.addRange(rng)}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node},scrollToNode:function(node){var inst=this.instance,w=inst.getWin(),vp=inst.getViewPort(),pos=tinyMCE.getAbsPosition(node),cvp,p,cwin;if(pos.absLeftvp.left+vp.width||pos.absTopvp.top+(vp.height-25))w.scrollTo(pos.absLeft,pos.absTop-vp.height+25);if(inst.settings.auto_resize){cwin=inst.getContainerWin();cvp=tinyMCE.getViewPort(cwin);p=this.getAbsPosition(node);if(p.absLeftcvp.left+cvp.width||p.absTopcvp.top+cvp.height)cwin.scrollTo(p.absLeft,p.absTop-cvp.height+25)}},getAbsPosition:function(n){var pos=tinyMCE.getAbsPosition(n),ipos=tinyMCE.getAbsPosition(this.instance.iframeElement);return{absLeft:ipos.absLeft+pos.absLeft,absTop:ipos.absTop+pos.absTop}},getSel:function(){var inst=this.instance;if(tinyMCE.isRealIE)return inst.getDoc().selection;return inst.contentWindow.getSelection()},getRng:function(){var s=this.getSel();if(s==null)return null;if(tinyMCE.isRealIE)return s.createRange();if(tinyMCE.isSafari&&!s.getRangeAt)return''+window.getSelection();if(s.rangeCount>0)return s.getRangeAt(0);return null},isCollapsed:function(){var r=this.getRng();if(r.item)return false;return r.boundingWidth==0||this.getSel().isCollapsed},collapse:function(b){var r=this.getRng(),s=this.getSel();if(r.select){r.collapse(b);r.select()}else{if(b)s.collapseToStart();else s.collapseToEnd()}},getFocusElement:function(){var inst=this.instance,doc,rng,sel,elm;if(tinyMCE.isRealIE){doc=inst.getDoc();rng=doc.selection.createRange();elm=rng.item?rng.item(0):rng.parentElement()}else{if(!tinyMCE.isSafari&&inst.isHidden())return inst.getBody();sel=this.getSel();rng=this.getRng();if(!sel||!rng)return null;elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset]}}}elm=tinyMCE.getParentElement(elm);}return elm}};function TinyMCE_UndoRedo(inst){this.instance=inst;this.undoLevels=[];this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true};TinyMCE_UndoRedo.prototype={add:function(l){var b,customUndoLevels,newHTML,inst=this.instance,i,ul,ur;if(l){this.undoLevels[this.undoLevels.length]=l;return true}if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;if(tinyMCE.typingUndoIndex!=-1)tinyMCE.undoIndex=tinyMCE.typingUndoIndex}newHTML=tinyMCE.trim(inst.getBody().innerHTML);if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){inst.isNotDirty=false;tinyMCE.dispatchCallback(inst,'onchange_callback','onChange',inst);customUndoLevels=tinyMCE.settings.custom_undo_redo_levels;if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(i=0;i0){this.undoIndex--;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}},redo:function(){var inst=this.instance;tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}tinyMCE.triggerNodeChange()}};var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){var doc=inst.getDoc(),sel=inst.getSel(),body=inst.getBody(),win=inst.contentWindow,rng=sel.getRangeAt(0);var rootElm=doc.documentElement,blockName="P",startNode,endNode,startBlock,endBlock;var rngBefore,rngAfter,direct,startNode,startOffset,endNode,endOffset,b=tinyMCE.isOpera?inst.selection.getBookmark():null;var paraBefore,paraAfter,startChop,endChop,contents,i;function isEmpty(para){var nodes;function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()==''}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;nodes=tinyMCE.getNodeTree(para,[],3);for(i=0;i <"+blockName+"> ";paraAfter=body.childNodes[1]}inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){paraAfter.innerHTML=contents.firstChild.innerHTML}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML=" ";if(isEmpty(paraAfter))paraAfter.innerHTML=" ";rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode)}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset)}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();if(tinyMCE.isOpera){rng.insertNode(paraBefore);rng.insertNode(paraAfter)}else{rng.insertNode(paraAfter);rng.insertNode(paraBefore)}paraAfter.normalize();paraBefore.normalize();inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true},_handleBackSpace:function(inst){var r=inst.getRng(),sn=r.startContainer,nv,s=false;if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR"&&sn.parentNode.nodeName!="BODY"){nv=sn.nodeValue;if(nv!=null&&r.startOffset==nv.length)sn.nextSibling.parentNode.removeChild(sn.nextSibling)}if(inst.settings.auto_resize)inst.resizeToContent();return s}};function TinyMCE_Layer(id,bm){this.id=id;this.blockerElement=null;this.events=false;this.element=null;this.blockMode=typeof(bm)!='undefined'?bm:true;this.doc=document};TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){var rep=this.getAbsPosition(re),e=this.getElement(),x,y;var w=parseInt(re.offsetWidth),h=parseInt(re.offsetHeight);var ew=parseInt(e.offsetWidth),eh=parseInt(e.offsetHeight);switch(p){case"tl":x=rep.absLeft;y=rep.absTop;break;case"tr":x=rep.absLeft+w;y=rep.absTop;break;case"bl":x=rep.absLeft;y=rep.absTop+h;break;case"br":x=rep.absLeft+w;y=rep.absTop+h;break;case"cc":x=rep.absLeft+(w/ 2) - (ew /2);y=rep.absTop+(h/ 2) - (eh /2);break}this.moveTo(x,y)},moveBy:function(x,y){var e=this.getElement();this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y)},moveTo:function(x,y){var e=this.getElement();e.style.left=x+"px";e.style.top=y+"px";this.updateBlocker()},resizeBy:function(w,h){var e=this.getElement();this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h)},resizeTo:function(w,h){var e=this.getElement();if(w!=null)e.style.width=w+"px";if(h!=null)e.style.height=h+"px";this.updateBlocker()},show:function(){var el=this.getElement();if(el){el.style.display='block';this.updateBlocker()}},hide:function(){var el=this.getElement();if(el){el.style.display='none';this.updateBlocker()}},isVisible:function(){return this.getElement().style.display=='block'},getElement:function(){if(!this.element)this.element=this.doc.getElementById(this.id);return this.element},setBlockMode:function(s){this.blockMode=s},updateBlocker:function(){var e,b,x,y,w,h;b=this.getBlocker();if(b){if(this.blockMode){e=this.getElement();x=this.parseInt(e.style.left);y=this.parseInt(e.style.top);w=this.parseInt(e.offsetWidth);h=this.parseInt(e.offsetHeight);b.style.left=x+'px';b.style.top=y+'px';b.style.width=w+'px';b.style.height=h+'px';b.style.display=e.style.display}else b.style.display='none'}},getBlocker:function(){var d,b;if(!this.blockerElement&&this.blockMode){d=this.doc;b=d.getElementById(this.id+"_blocker");if(!b){b=d.createElement("iframe");b.setAttribute('id',this.id+"_blocker");b.style.cssText='display: none; position: absolute; left: 0; top: 0';b.src='javascript:false;';b.frameBorder='0';b.scrolling='no';d.body.appendChild(b)}this.blockerElement=b}return this.blockerElement},getAbsPosition:function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent}return p},create:function(n,c,p,h){var d=this.doc,e=d.createElement(n);e.setAttribute('id',this.id);if(c)e.className=c;if(!p)p=d.body;if(h)e.innerHTML=h;p.appendChild(e);return this.element=e},exists:function(){return this.doc.getElementById(this.id)!=null},parseInt:function(s){if(s==null||s=='')return 0;return parseInt(s)},remove:function(){var e=this.getElement(),b=this.getBlocker();if(e)e.parentNode.removeChild(e);if(b)b.parentNode.removeChild(b)}};function TinyMCE_Menu(){var id;if(typeof(tinyMCE.menuCounter)=="undefined")tinyMCE.menuCounter=0;id="mc_menu_"+tinyMCE.menuCounter++;TinyMCE_Layer.call(this,id,true);this.id=id;this.items=[];this.needsUpdate=true};TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){var n;this.settings={separator_class:'mceMenuSeparator',title_class:'mceMenuTitle',disabled_class:'mceMenuDisabled',menu_class:'mceMenu',drop_menu:true};for(n in s)this.settings[n]=s[n];this.create('div',this.settings.menu_class)},clear:function(){this.items=[]},addTitle:function(t){this.add({type:'title',text:t})},addDisabled:function(t){this.add({type:'disabled',text:t})},addSeparator:function(){this.add({type:'separator'})},addItem:function(t,js){this.add({text:t,js:js})},add:function(mi){this.items[this.items.length]=mi;this.needsUpdate=true},update:function(){var e=this.getElement(),h='',i,t,m=this.items,s=this.settings;if(this.settings.drop_menu)h+='';h+='';for(i=0;i'}h+='
';break;case'title':h+='
'+t+'';break;case'disabled':h+='
'+t+'';break;default:h+='
'+t+''}h+='
';e.innerHTML=h;this.needsUpdate=false;this.updateBlocker()},show:function(){var nl,i;if(tinyMCE.lastMenu==this)return;if(this.needsUpdate)this.update();if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this)tinyMCE.lastMenu.hide();TinyMCE_Layer.prototype.show.call(this);if(!tinyMCE.isOpera){}tinyMCE.lastMenu=this}});tinyMCE.add(TinyMCE_Engine,{debug:function(){var m="",a,i,l=tinyMCE.log.length;for(i=0,a=this.debug.arguments;i'); + + if (tinyMCE.getParam("popups_css_add")) { + c = tinyMCE.getParam("popups_css_add"); + + // Is relative + if (c.indexOf('://') == -1 && c.charAt(0) != '/') + c = tinyMCE.documentBasePath + "/" + c; + + document.write(''); + } + + tinyMCE.addEvent(window, "load", this.onLoad); + }, + + onLoad : function() { + var dir, i, elms, body = document.body; + + if (tinyMCE.getWindowArg('mce_replacevariables', true)) + body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs); + + dir = tinyMCE.selectedInstance.settings.directionality; + if (dir == "rtl" && document.forms && document.forms.length > 0) { + elms = document.forms[0].elements; + for (i=0; i=0; i--) { + if (wrapper.hasChildNodes()) + wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild); + else + wrapper.appendChild(nodes[i].cloneNode(true)); + + nodes[i].parentNode.removeChild(nodes[i]); + } + + // Add wrapper + doc.body.appendChild(wrapper); + + // Create iframe + iframe = document.createElement("iframe"); + iframe.id = "mcWinIframe"; + iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings.default_document; + iframe.width = "100%"; + iframe.height = "100%"; + iframe.style.margin = '0'; + + // Add iframe + doc.body.appendChild(iframe); + + // Measure iframe + iframe = document.getElementById('mcWinIframe'); + dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth; + dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight; + + // Resize window + // tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy); + window.resizeBy(dx, dy); + + // Hide iframe and show wrapper + body.style.margin = oldMargin; + iframe.style.display = 'none'; + wrapper.style.display = 'block'; + } + }, + + resizeToContent : function() { + var isMSIE = (navigator.appName == "Microsoft Internet Explorer"); + var isOpera = (navigator.userAgent.indexOf("Opera") != -1); + var elm, width, height, x, y, dx, dy; + + if (isOpera) + return; + + if (isMSIE) { + try { window.resizeTo(10, 10); } catch (e) {} + + elm = document.body; + width = elm.offsetWidth; + height = elm.offsetHeight; + dx = (elm.scrollWidth - width) + 4; + dy = elm.scrollHeight - height; + + try { window.resizeBy(dx, dy); } catch (e) {} + } else { + window.scrollBy(1000, 1000); + if (window.scrollX > 0 || window.scrollY > 0) { + window.resizeBy(window.innerWidth * 2, window.innerHeight * 2); + window.sizeToContent(); + window.scrollTo(0, 0); + x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0); + y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0); + window.moveTo(x, y); + } + } + }, + + getWindowArg : function(name, default_value) { + return tinyMCE.getWindowArg(name, default_value); + }, + + restoreSelection : function() { + var inst; + + if (this.storeSelection) { + inst = tinyMCE.selectedInstance; + + inst.getWin().focus(); + + if (inst.selectionBookmark) + inst.selection.moveToBookmark(inst.selectionBookmark); + } + }, + + execCommand : function(command, user_interface, value) { + var inst = tinyMCE.selectedInstance; + + this.restoreSelection(); + inst.execCommand(command, user_interface, value); + + // Store selection + if (this.storeSelection) + inst.selectionBookmark = inst.selection.getBookmark(true); + }, + + close : function() { + tinyMCE.closeWindow(window); + }, + + pickColor : function(e, element_id) { + tinyMCE.selectedInstance.execCommand('mceColorPicker', true, { + element_id : element_id, + document : document, + window : window, + store_selection : false + }); + }, + + openBrowser : function(element_id, type, option) { + var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); + var url = document.getElementById(element_id).value; + + tinyMCE.setWindowArg("window", window); + tinyMCE.setWindowArg("document", document); + + // Call to external callback + if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined") + alert("Callback function: " + cb + " could not be found."); + else + eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);"); + }, + + importClass : function(c) { + var n; + + window[c] = function() {}; + + for (n in window.opener[c].prototype) + window[c].prototype[n] = window.opener[c].prototype[n]; + + window[c].constructor = window.opener[c].constructor; + } + + }; + +// Setup global instance +var tinyMCEPopup = new TinyMCE_Popup(); + +tinyMCEPopup.init(); diff --git a/program/js/tiny_mce/tiny_mce_src.js b/program/js/tiny_mce/tiny_mce_src.js new file mode 100644 index 0000000..ba713a8 --- /dev/null +++ b/program/js/tiny_mce/tiny_mce_src.js @@ -0,0 +1,7571 @@ + +/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */ + +function TinyMCE_Engine() { + var ua; + + this.majorVersion = "2"; + this.minorVersion = "1.1.1"; + this.releaseDate = "2007-05-14"; + + this.instances = []; + this.switchClassCache = []; + this.windowArgs = []; + this.loadedFiles = []; + this.pendingFiles = []; + this.loadingIndex = 0; + this.configs = []; + this.currentConfig = 0; + this.eventHandlers = []; + this.log = []; + this.undoLevels = []; + this.undoIndex = 0; + this.typingUndoIndex = -1; + this.settings = []; + + // Browser check + ua = navigator.userAgent; + this.isMSIE = (navigator.appName == "Microsoft Internet Explorer"); + this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1); + this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1); + this.isMSIE7 = this.isMSIE && (ua.indexOf('MSIE 7') != -1); + this.isGecko = ua.indexOf('Gecko') != -1; // Will also be true on Safari + this.isSafari = ua.indexOf('Safari') != -1; + this.isOpera = window['opera'] && opera.buildNumber ? true : false; + this.isMac = ua.indexOf('Mac') != -1; + this.isNS7 = ua.indexOf('Netscape/7') != -1; + this.isNS71 = ua.indexOf('Netscape/7.1') != -1; + this.dialogCounter = 0; + this.plugins = []; + this.themes = []; + this.menus = []; + this.loadedPlugins = []; + this.buttonMap = []; + this.isLoaded = false; + + // Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those + if (this.isOpera) { + this.isMSIE = true; + this.isGecko = false; + this.isSafari = false; + } + + this.isIE = this.isMSIE; + this.isRealIE = this.isMSIE && !this.isOpera; + + // TinyMCE editor id instance counter + this.idCounter = 0; +}; + +TinyMCE_Engine.prototype = { + init : function(settings) { + var theme, nl, baseHREF = "", i, cssPath, entities, h, p, src, elements = [], head; + + // IE 5.0x is no longer supported since 5.5, 6.0 and 7.0 now exists. We can't support old browsers forever, sorry. + if (this.isMSIE5_0) + return; + + this.settings = settings; + + // Check if valid browser has execcommand support + if (typeof(document.execCommand) == 'undefined') + return; + + // Get script base path + if (!tinyMCE.baseURL) { + // Search through head + head = document.getElementsByTagName('head')[0]; + + if (head) { + for (i=0, nl = head.getElementsByTagName('script'); i'); + this._def("font_size_classes", ''); + this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true); + this._def("event_elements", 'a,img', true); + this._def("convert_urls", true); + this._def("table_inline_editing", false); + this._def("object_resizing", true); + this._def("custom_shortcuts", true); + this._def("convert_on_click", false); + this._def("content_css", ''); + this._def("fix_list_elements", true); + this._def("fix_table_elements", false); + this._def("strict_loading_mode", document.contentType == 'application/xhtml+xml'); + this._def("hidden_tab_class", ''); + this._def("display_tab_class", ''); + this._def("gecko_spellcheck", false); + this._def("hide_selects_on_submit", true); + this._def("forced_root_block", false); + this._def("remove_trailing_nbsp", false); + + // Force strict loading mode to false on non Gecko browsers + if (this.isMSIE && !this.isOpera) + this.settings.strict_loading_mode = false; + + // Browser check IE + if (this.isMSIE && this.settings.browsers.indexOf('msie') == -1) + return; + + // Browser check Gecko + if (this.isGecko && this.settings.browsers.indexOf('gecko') == -1) + return; + + // Browser check Safari + if (this.isSafari && this.settings.browsers.indexOf('safari') == -1) + return; + + // Browser check Opera + if (this.isOpera && this.settings.browsers.indexOf('opera') == -1) + return; + + // If not super absolute make it so + baseHREF = tinyMCE.settings.document_base_url; + h = document.location.href; + p = h.indexOf('://'); + if (p > 0 && document.location.protocol != "file:") { + p = h.indexOf('/', p + 3); + h = h.substring(0, p); + + if (baseHREF.indexOf('://') == -1) + baseHREF = h + baseHREF; + + tinyMCE.settings.document_base_url = baseHREF; + tinyMCE.settings.document_base_prefix = h; + } + + // Trim away query part + if (baseHREF.indexOf('?') != -1) + baseHREF = baseHREF.substring(0, baseHREF.indexOf('?')); + + this.settings.base_href = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/"; + + theme = this.settings.theme; + this.inlineStrict = 'A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment'; + this.inlineTransitional = 'A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment'; + this.blockElms = 'H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP'; + this.blockRegExp = new RegExp("^(" + this.blockElms + ")$", "i"); + this.posKeyCodes = [13,45,36,35,33,34,37,38,39,40]; + this.uniqueURL = 'javascript:void(091039730);'; // Make unique URL non real URL + this.uniqueTag = ''; + this.callbacks = ['onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup', 'removeInstance']; + + // Theme url + this.settings.theme_href = tinyMCE.baseURL + "/themes/" + theme; + + if (!tinyMCE.isIE || tinyMCE.isOpera) + this.settings.force_br_newlines = false; + + if (tinyMCE.getParam("popups_css", false)) { + cssPath = tinyMCE.getParam("popups_css", ""); + + // Is relative + if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/') + this.settings.popups_css = this.documentBasePath + "/" + cssPath; + else + this.settings.popups_css = cssPath; + } else + this.settings.popups_css = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css"; + + if (tinyMCE.getParam("editor_css", false)) { + cssPath = tinyMCE.getParam("editor_css", ""); + + // Is relative + if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/') + this.settings.editor_css = this.documentBasePath + "/" + cssPath; + else + this.settings.editor_css = cssPath; + } else { + if (this.settings.editor_css !== '') + this.settings.editor_css = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css"; + } + + // Only do this once + if (this.configs.length == 0) { + if (typeof(TinyMCECompressed) == "undefined") { + tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad); + + if (tinyMCE.isRealIE) { + if (document.body) + tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad); + else + tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad); + } + + tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad); + tinyMCE._addUnloadEvents(); + } + } + + this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings.theme + '/editor_template' + tinyMCE.srcMode + '.js'); + this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings.language + '.js'); + this.loadCSS(this.settings.editor_css); + + // Add plugins + p = tinyMCE.getParam('plugins', '', true, ','); + if (p.length > 0) { + for (i=0; i&"]', 'g'); + }, + + _addUnloadEvents : function() { + var st = tinyMCE.settings.add_unload_trigger; + + if (tinyMCE.isIE) { + if (st) { + tinyMCE.addEvent(window, "unload", TinyMCE_Engine.prototype.unloadHandler); + tinyMCE.addEvent(window.document, "beforeunload", TinyMCE_Engine.prototype.unloadHandler); + } + } else { + if (st) + tinyMCE.addEvent(window, "unload", function () {tinyMCE.triggerSave(true, true);}); + } + }, + + _def : function(key, def_val, t) { + var v = tinyMCE.getParam(key, def_val); + + v = t ? v.replace(/\s+/g, "") : v; + + this.settings[key] = v; + }, + + hasPlugin : function(n) { + return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null; + }, + + addPlugin : function(n, p) { + var op = this.plugins[n]; + + // Use the previous plugin object base URL used when loading external plugins + p.baseURL = op ? op.baseURL : tinyMCE.baseURL + "/plugins/" + n; + this.plugins[n] = p; + + this.loadNextScript(); + }, + + setPluginBaseURL : function(n, u) { + var op = this.plugins[n]; + + if (op) + op.baseURL = u; + else + this.plugins[n] = {baseURL : u}; + }, + + loadPlugin : function(n, u) { + u = u.indexOf('.js') != -1 ? u.substring(0, u.lastIndexOf('/')) : u; + u = u.charAt(u.length-1) == '/' ? u.substring(0, u.length-1) : u; + this.plugins[n] = {baseURL : u}; + this.loadScript(u + "/editor_plugin" + (tinyMCE.srcMode ? '_src' : '') + ".js"); + }, + + hasTheme : function(n) { + return typeof(this.themes[n]) != "undefined" && this.themes[n] != null; + }, + + addTheme : function(n, t) { + this.themes[n] = t; + + this.loadNextScript(); + }, + + addMenu : function(n, m) { + this.menus[n] = m; + }, + + hasMenu : function(n) { + return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null; + }, + + loadScript : function(url) { + var i; + + for (i=0; i'); + + this.loadedFiles[this.loadedFiles.length] = url; + }, + + loadNextScript : function() { + var d = document, se; + + if (!tinyMCE.settings.strict_loading_mode) + return; + + if (this.loadingIndex < this.pendingFiles.length) { + se = d.createElementNS('http://www.w3.org/1999/xhtml', 'script'); + se.setAttribute('language', 'javascript'); + se.setAttribute('type', 'text/javascript'); + se.setAttribute('src', this.pendingFiles[this.loadingIndex++]); + + d.getElementsByTagName("head")[0].appendChild(se); + } else + this.loadingIndex = -1; // Done with loading + }, + + loadCSS : function(url) { + var ar = url.replace(/\s+/, '').split(','); + var lflen = 0, csslen = 0, skip = false; + var x = 0, i = 0, nl, le; + + for (x = 0,csslen = ar.length; x 0) { + /* Make sure it doesn't exist. */ + for (i=0, lflen=this.loadedFiles.length; i'); + + this.loadedFiles[this.loadedFiles.length] = ar[x]; + } + } + } + }, + + importCSS : function(doc, css) { + var css_ary = css.replace(/\s+/, '').split(','); + var csslen, elm, headArr, x, css_file; + + for (x = 0, csslen = css_ary.length; x 0) { + // Is relative, make absolute + if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/') + css_file = this.documentBasePath + "/" + css_file; + + if (typeof(doc.createStyleSheet) == "undefined") { + elm = doc.createElement("link"); + + elm.rel = "stylesheet"; + elm.href = css_file; + + if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0) + headArr[0].appendChild(elm); + } else + doc.createStyleSheet(css_file); + } + } + }, + + confirmAdd : function(e, settings) { + var elm = tinyMCE.isIE ? event.srcElement : e.target; + var elementId = elm.name ? elm.name : elm.id; + + tinyMCE.settings = settings; + + if (tinyMCE.settings.convert_on_click || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang.lang_edit_confirm))) + tinyMCE.addMCEControl(elm, elementId); + + elm.setAttribute('mce_noask', 'true'); + }, + + updateContent : function(form_element_name) { + var formElement, n, inst, doc; + + // Find MCE instance linked to given form element and copy it's value + formElement = document.getElementById(form_element_name); + for (n in tinyMCE.instances) { + inst = tinyMCE.instances[n]; + + if (!tinyMCE.isInstance(inst)) + continue; + + inst.switchSettings(); + + if (inst.formElement == formElement) { + doc = inst.getDoc(); + + tinyMCE._setHTML(doc, inst.formElement.value); + + if (!tinyMCE.isIE) + doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid); + } + } + }, + + addMCEControl : function(replace_element, form_element_name, target_document) { + var id = "mce_editor_" + tinyMCE.idCounter++; + var inst = new TinyMCE_Control(tinyMCE.settings); + + inst.editorId = id; + this.instances[id] = inst; + + inst._onAdd(replace_element, form_element_name, target_document); + }, + + removeInstance : function(ti) { + var t = [], n, i; + + // Remove from instances + for (n in tinyMCE.instances) { + i = tinyMCE.instances[n]; + + if (tinyMCE.isInstance(i) && ti != i) + t[n] = i; + } + + tinyMCE.instances = t; + + // Remove from global undo/redo + n = []; + t = tinyMCE.undoLevels; + + for (i=0; i 0) { + tinyMCE.nextUndoRedoAction = 'Undo'; + inst = this.undoLevels[--this.undoIndex]; + inst.select(); + + if (!tinyMCE.nextUndoRedoInstanceId) + inst.execCommand('Undo'); + } + } else + inst.execCommand('Undo'); + return true; + + case "Redo": + if (this.getParam('custom_undo_redo_global')) { + if (this.undoIndex <= this.undoLevels.length - 1) { + tinyMCE.nextUndoRedoAction = 'Redo'; + inst = this.undoLevels[this.undoIndex++]; + inst.select(); + + if (!tinyMCE.nextUndoRedoInstanceId) + inst.execCommand('Redo'); + } + } else + inst.execCommand('Redo'); + + return true; + + case 'mceFocus': + inst = tinyMCE.getInstanceById(value); + + if (inst) + inst.getWin().focus(); + return; + + case "mceAddControl": + case "mceAddEditor": + tinyMCE.addMCEControl(tinyMCE._getElementById(value), value); + return; + + case "mceAddFrameControl": + tinyMCE.addMCEControl(tinyMCE._getElementById(value.element, value.document), value.element, value.document); + return; + + case "mceRemoveControl": + case "mceRemoveEditor": + tinyMCE.removeMCEControl(value); + return; + + case "mceToggleEditor": + inst = tinyMCE.getInstanceById(value); + + if (inst) { + pe = document.getElementById(inst.editorId + '_parent'); + te = inst.oldTargetElement; + + if (typeof(inst.enabled) == 'undefined') + inst.enabled = true; + + inst.enabled = !inst.enabled; + + if (!inst.enabled) { + pe.style.display = 'none'; + + if (te.nodeName == 'TEXTAREA' || te.nodeName == 'INPUT') + te.value = inst.getHTML(); + else + te.innerHTML = inst.getHTML(); + + te.style.display = inst.oldTargetDisplay; + tinyMCE.dispatchCallback(inst, 'hide_instance_callback', 'hideInstance', inst); + } else { + pe.style.display = 'block'; + te.style.display = 'none'; + + if (te.nodeName == 'TEXTAREA' || te.nodeName == 'INPUT') + inst.setHTML(te.value); + else + inst.setHTML(te.innerHTML); + + inst.useCSS = false; + tinyMCE.dispatchCallback(inst, 'show_instance_callback', 'showInstance', inst); + } + } else + tinyMCE.addMCEControl(tinyMCE._getElementById(value), value); + + return; + + case "mceResetDesignMode": + // Resets the designmode state of the editors in Gecko + if (tinyMCE.isGecko) { + for (n in tinyMCE.instances) { + if (!tinyMCE.isInstance(tinyMCE.instances[n])) + continue; + + try { + tinyMCE.instances[n].getDoc().designMode = "off"; + tinyMCE.instances[n].getDoc().designMode = "on"; + tinyMCE.instances[n].useCSS = false; + } catch (e) { + // Ignore any errors + } + } + } + + return; + } + + if (inst) { + inst.execCommand(command, user_interface, value); + } else if (tinyMCE.settings.focus_alert) + alert(tinyMCELang.lang_focus_alert); + }, + + _createIFrame : function(replace_element, doc, win) { + var iframe, id = replace_element.getAttribute("id"); + var aw, ah; + + if (typeof(doc) == "undefined") + doc = document; + + if (typeof(win) == "undefined") + win = window; + + iframe = doc.createElement("iframe"); + + aw = "" + tinyMCE.settings.area_width; + ah = "" + tinyMCE.settings.area_height; + + if (aw.indexOf('%') == -1) { + aw = parseInt(aw); + aw = (isNaN(aw) || aw < 0) ? 300 : aw; + aw = aw + "px"; + } + + if (ah.indexOf('%') == -1) { + ah = parseInt(ah); + ah = (isNaN(ah) || ah < 0) ? 240 : ah; + ah = ah + "px"; + } + + iframe.setAttribute("id", id); + iframe.setAttribute("name", id); + iframe.setAttribute("class", "mceEditorIframe"); + iframe.setAttribute("border", "0"); + iframe.setAttribute("frameBorder", "0"); + iframe.setAttribute("marginWidth", "0"); + iframe.setAttribute("marginHeight", "0"); + iframe.setAttribute("leftMargin", "0"); + iframe.setAttribute("topMargin", "0"); + iframe.setAttribute("width", aw); + iframe.setAttribute("height", ah); + iframe.setAttribute("allowtransparency", "true"); + iframe.className = 'mceEditorIframe'; + + if (tinyMCE.settings.auto_resize) + iframe.setAttribute("scrolling", "no"); + + // Must have a src element in MSIE HTTPs breaks aswell as absoute URLs + if (tinyMCE.isRealIE) + iframe.setAttribute("src", this.settings.default_document); + + iframe.style.width = aw; + iframe.style.height = ah; + + // Ugly hack for Gecko problem in strict mode + if (tinyMCE.settings.strict_loading_mode) + iframe.style.marginBottom = '-5px'; + + // MSIE 5.0 issue + if (tinyMCE.isRealIE) + replace_element.outerHTML = iframe.outerHTML; + else + replace_element.parentNode.replaceChild(iframe, replace_element); + + if (tinyMCE.isRealIE) + return win.frames[id]; + else + return iframe; + }, + + setupContent : function(editor_id) { + var inst = tinyMCE.instances[editor_id], i, doc = inst.getDoc(), head = doc.getElementsByTagName('head').item(0); + var content = inst.startContent, contentElement, body; + + // HTML values get XML encoded in strict mode + if (tinyMCE.settings.strict_loading_mode) { + content = content.replace(/</g, '<'); + content = content.replace(/>/g, '>'); + content = content.replace(/"/g, '"'); + content = content.replace(/&/g, '&'); + } + + tinyMCE.selectedInstance = inst; + inst.switchSettings(); + + // Not loaded correctly hit it again, Mozilla bug #997860 + if (!tinyMCE.isIE && tinyMCE.getParam("setupcontent_reload", false) && doc.title != "blank_page") { + // This part will remove the designMode status + // Failes first time in Firefox 1.5b2 on Mac + try {doc.location.href = tinyMCE.baseURL + "/blank.htm";} catch (ex) {} + window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000); + return; + } + + // Wait for it to load + if (!head || !doc.body) { + window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10); + return; + } + + // Import theme specific content CSS the user specific + tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings.theme + "/css/editor_content.css"); + tinyMCE.importCSS(inst.getDoc(), inst.settings.content_css); + tinyMCE.dispatchCallback(inst, 'init_instance_callback', 'initInstance', inst); + + // Setup keyboard shortcuts + if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) { + inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo'); + inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo'); + } + + // BlockFormat shortcuts keys + for (i=1; i<=6; i++) + inst.addShortcut('ctrl', '' + i, '', 'FormatBlock', false, ''); + + inst.addShortcut('ctrl', '7', '', 'FormatBlock', false, '

'); + inst.addShortcut('ctrl', '8', '', 'FormatBlock', false, '

'); + inst.addShortcut('ctrl', '9', '', 'FormatBlock', false, '
'); + + // Add default shortcuts for gecko + if (tinyMCE.isGecko) { + inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold'); + inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic'); + inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline'); + } + + // Setup span styles + if (tinyMCE.getParam("convert_fonts_to_spans")) + inst.getBody().setAttribute('id', 'mceSpanFonts'); + + if (tinyMCE.settings.nowrap) + doc.body.style.whiteSpace = "nowrap"; + + doc.body.dir = this.settings.directionality; + doc.editorId = editor_id; + + // Add on document element in Mozilla + if (!tinyMCE.isIE) + doc.documentElement.editorId = editor_id; + + inst.setBaseHREF(tinyMCE.settings.base_href); + + // Replace new line characters to BRs + if (tinyMCE.settings.convert_newlines_to_brs) { + content = tinyMCE.regexpReplace(content, "\r\n", "
", "gi"); + content = tinyMCE.regexpReplace(content, "\r", "
", "gi"); + content = tinyMCE.regexpReplace(content, "\n", "
", "gi"); + } + + // Open closed anchors + // content = content.replace(new RegExp('', 'gi'), ''); + + // Call custom cleanup code + content = tinyMCE.storeAwayURLs(content); + content = tinyMCE._customCleanup(inst, "insert_to_editor", content); + + if (tinyMCE.isIE) { + // Ugly!!! + window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500); + + if (tinyMCE.settings.force_br_newlines) + doc.styleSheets[0].addRule("p", "margin: 0;"); + + body = inst.getBody(); + body.editorId = editor_id; + } + + content = tinyMCE.cleanupHTMLCode(content); + + // Fix for bug #958637 + if (!tinyMCE.isIE) { + contentElement = inst.getDoc().createElement("body"); + doc = inst.getDoc(); + + contentElement.innerHTML = content; + + if (tinyMCE.settings.cleanup_on_startup) + tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement)); + else + tinyMCE.setInnerHTML(inst.getBody(), content); + + tinyMCE.convertAllRelativeURLs(inst.getBody()); + } else { + if (tinyMCE.settings.cleanup_on_startup) { + tinyMCE._setHTML(inst.getDoc(), content); + + // Produces permission denied error in MSIE 5.5 + try { + tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody())); + } catch(e) { + // Ignore + } + } else + tinyMCE._setHTML(inst.getDoc(), content); + } + + // Fix for bug #957681 + //inst.getDoc().designMode = inst.getDoc().designMode; + + tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings.visual, inst); + tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc()); + + // Re-add design mode on mozilla + if (!tinyMCE.isIE) + tinyMCE.addEventHandlers(inst); + + // Add blur handler + if (tinyMCE.isIE) { + tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch); + tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953 + + // Workaround for drag drop/copy paste base href bug + if (!tinyMCE.isOpera) { + tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove); + tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch); + tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch); + } + } + + // Trigger node change, this call locks buttons for tables and so forth + inst.select(); + tinyMCE.selectedElement = inst.contentWindow.document.body; + + // Call custom DOM cleanup + tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody()); + tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody()); + tinyMCE._setEventsEnabled(inst.getBody(), false); + tinyMCE.cleanupAnchors(inst.getDoc()); + + if (tinyMCE.getParam("convert_fonts_to_spans")) + tinyMCE.convertSpansToFonts(inst.getDoc()); + + inst.startContent = tinyMCE.trim(inst.getBody().innerHTML); + inst.undoRedo.add({ content : inst.startContent }); + + // Cleanup any mess left from storyAwayURLs + if (tinyMCE.isGecko) { + // Remove mce_src from textnodes and comments + tinyMCE.selectNodes(inst.getBody(), function(n) { + if (n.nodeType == 3 || n.nodeType == 8) + n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), ""); + + return false; + }); + } + + // Remove Gecko spellchecking + if (tinyMCE.isGecko) + inst.getBody().spellcheck = tinyMCE.getParam("gecko_spellcheck"); + + // Cleanup any mess left from storyAwayURLs + tinyMCE._removeInternal(inst.getBody()); + + inst.select(); + tinyMCE.triggerNodeChange(false, true); + }, + + storeAwayURLs : function(s) { + // Remove all mce_src, mce_href and replace them with new ones + // s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), ''); + // s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), ''); + + if (!s.match(/(mce_src|mce_href)/gi, s)) { + s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"'); + s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"'); + } + + return s; + }, + + _removeInternal : function(n) { + if (tinyMCE.isGecko) { + // Remove mce_src from textnodes and comments + tinyMCE.selectNodes(n, function(n) { + if (n.nodeType == 3 || n.nodeType == 8) + n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), ""); + + return false; + }); + } + }, + + removeTinyMCEFormElements : function(form_obj) { + var i, elementId; + + // Skip form element removal + if (!tinyMCE.getParam('hide_selects_on_submit')) + return; + + // Check if form is valid + if (typeof(form_obj) == "undefined" || form_obj == null) + return; + + // If not a form, find the form + if (form_obj.nodeName != "FORM") { + if (form_obj.form) + form_obj = form_obj.form; + else + form_obj = tinyMCE.getParentElement(form_obj, "form"); + } + + // Still nothing + if (form_obj == null) + return; + + // Disable all UI form elements that TinyMCE created + for (i=0; i"); + rng.collapse(false); + rng.select(); + + tinyMCE.execCommand("mceAddUndoLevel"); + tinyMCE.triggerNodeChange(false); + return false; + } + } + + // Backspace or delete + if (e.keyCode == 8 || e.keyCode == 46) { + tinyMCE.selectedElement = e.target; + tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a"); + tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img"); + tinyMCE.triggerNodeChange(false); + } + + return false; + + case "keyup": + case "keydown": + tinyMCE.hideMenus(); + tinyMCE.hasMouseMoved = false; + + if (inst && inst.handleShortcut(e)) + return false; + + inst._fixRootBlocks(); + + if (inst.settings.remove_trailing_nbsp) + inst._fixTrailingNbsp(); + + if (e.target.editorId) + tinyMCE.instances[e.target.editorId].select(); + + if (tinyMCE.selectedInstance) + tinyMCE.selectedInstance.switchSettings(); + + inst = tinyMCE.selectedInstance; + + // Handle backspace + if (tinyMCE.isGecko && tinyMCE.settings.force_p_newlines && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) { + // Insert P element instead of BR + if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) { + // Cancel event + tinyMCE.execCommand("mceAddUndoLevel"); + e.preventDefault(); + return false; + } + } + + tinyMCE.selectedElement = null; + tinyMCE.selectedNode = null; + elm = tinyMCE.selectedInstance.getFocusElement(); + tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a"); + tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img"); + tinyMCE.selectedElement = elm; + + // Update visualaids on tabs + if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9) + tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings.visual, tinyMCE.selectedInstance); + + // Fix empty elements on return/enter, check where enter occured + if (tinyMCE.isIE && e.type == "keydown" && e.keyCode == 13) + tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement(); + + // Fix empty elements on return/enter + if (tinyMCE.isIE && e.type == "keyup" && e.keyCode == 13) { + elm = tinyMCE.enterKeyElement; + if (elm) { + var re = new RegExp('^HR|IMG|BR$','g'); // Skip these + var dre = new RegExp('^H[1-6]$','g'); // Add double on these + + if (!elm.hasChildNodes() && !re.test(elm.nodeName)) { + if (dre.test(elm.nodeName)) + elm.innerHTML = "  "; + else + elm.innerHTML = " "; + } + } + } + + // Check if it's a position key + keys = tinyMCE.posKeyCodes; + var posKey = false; + for (i=0; i'; + h += '{$'+lang+'}'; + h += ''; + } else { + // Normal button + h += ''; + h += '{$'+lang+'}'; + h += ''; + } + + return h; + }, + + getMenuButtonHTML : function(id, lang, img, mcmd, cmd, ui, val) { + var h = '', m, x; + + mcmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + mcmd + '\');'; + cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\''; + + if (typeof(ui) != "undefined" && ui != null) + cmd += ',' + ui; + + if (typeof(val) != "undefined" && val != null) + cmd += ",'" + val + "'"; + + cmd += ');'; + + // Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled + if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || tinyMCE.isOpera) && (m = tinyMCE.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) { + x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20); + + if (tinyMCE.isRealIE) + h += ''; + else + h += ''; + + h += ''; + h += ''; + h += ''; + h += ''; + } else { + if (tinyMCE.isRealIE) + h += ''; + else + h += ''; + + h += ''; + h += ''; + h += ''; + h += ''; + } + + return h; + }, + + _menuButtonEvent : function(e, o) { + if (o.className == 'mceMenuButtonFocus') + return; + + if (e == 'over') + o.className = o.className + ' mceMenuHover'; + else + o.className = o.className.replace(/\s.*$/, ''); + }, + + addButtonMap : function(m) { + var i, a = m.replace(/\s+/, '').split(','); + + for (i=0; i 0); + + if (tinyMCE.settings.custom_undo_redo) { + undoIndex = inst.undoRedo.undoIndex; + undoLevels = inst.undoRedo.undoLevels.length; + } + + tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content); + } + + if (this.selectedInstance && (typeof(focus) == "undefined" || focus)) + this.selectedInstance.contentWindow.focus(); + }, + + _customCleanup : function(inst, type, content) { + var pl, po, i, customCleanup; + + // Call custom cleanup + customCleanup = tinyMCE.settings.cleanup_callback; + if (customCleanup != '') + content = tinyMCE.resolveDots(tinyMCE.settings.cleanup_callback, window)(type, content, inst); + + // Trigger theme cleanup + po = tinyMCE.themes[tinyMCE.settings.theme]; + if (po && po.cleanup) + content = po.cleanup(type, content, inst); + + // Trigger plugin cleanups + pl = inst.plugins; + for (i=0; i 0) + className += " "; + + className += classNames[i]; + } + + return className; + }, + + handleVisualAid : function(el, deep, state, inst, skip_dispatch) { + var i, x, y, tableElement, anchorName, oldW, oldH, bo, cn; + + if (!el) + return; + + if (!skip_dispatch) + tinyMCE.dispatchCallback(inst, 'handle_visual_aid_callback', 'handleVisualAid', el, deep, state, inst); + + tableElement = null; + + switch (el.nodeName) { + case "TABLE": + oldW = el.style.width; + oldH = el.style.height; + bo = tinyMCE.getAttrib(el, "border"); + + bo = bo == '' || bo == "0" ? true : false; + + tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo)); + + el.style.width = oldW; + el.style.height = oldH; + + for (y=0; y 0) + return inst.cssClasses; + + if (!doc) + return; + + styles = doc.styleSheets; + + if (styles && styles.length > 0) { + for (x=0; x' + tinyMCE.replaceVar(v, "pluginurl", o.baseURL) + ''; + + return tinyMCE.replaceVar(v, "pluginurl", o.baseURL); + } + } + + o = tinyMCE.themes[tinyMCE.settings.theme]; + if (o.getControlHTML && (v = o.getControlHTML(c)) !== '') { + if (rtl) + return '' + v + ''; + + return v; + } + + return ''; + }, + + evalFunc : function(f, idx, a, o) { + o = !o ? window : o; + f = typeof(f) == 'function' ? f : o[f]; + + return f.apply(o, Array.prototype.slice.call(a, idx)); + }, + + dispatchCallback : function(i, p, n) { + return this.callFunc(i, p, n, 0, this.dispatchCallback.arguments); + }, + + executeCallback : function(i, p, n) { + return this.callFunc(i, p, n, 1, this.executeCallback.arguments); + }, + + execCommandCallback : function(i, p, n) { + return this.callFunc(i, p, n, 2, this.execCommandCallback.arguments); + }, + + callFunc : function(ins, p, n, m, a) { + var l, i, on, o, s, v; + + s = m == 2; + + l = tinyMCE.getParam(p, ''); + + if (l !== '' && (v = tinyMCE.evalFunc(l, 3, a)) == s && m > 0) + return true; + + if (ins != null) { + for (i=0, l = ins.plugins; i 0) + return true; + } + } + + l = tinyMCE.themes; + for (on in l) { + o = l[on]; + + if (o[n] && (v = tinyMCE.evalFunc(n, 3, a, o)) == s && m > 0) + return true; + } + + return false; + }, + + resolveDots : function(s, o) { + var i; + + if (typeof(s) == 'string') { + for (i=0, s=s.split('.'); i': + return '>'; + } + + return c; + }) : s; + }, + + add : function(c, m) { + var n; + + for (n in m) + c.prototype[n] = m[n]; + }, + + extend : function(p, np) { + var o = {}, n; + + o.parent = p; + + for (n in p) + o[n] = p[n]; + + for (n in np) + o[n] = np[n]; + + return o; + }, + + hideMenus : function() { + var e = tinyMCE.lastSelectedMenuBtn; + + if (tinyMCE.lastMenu) { + tinyMCE.lastMenu.hide(); + tinyMCE.lastMenu = null; + } + + if (e) { + tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass); + tinyMCE.lastSelectedMenuBtn = null; + } + } + + }; + +// Global instances +var TinyMCE = TinyMCE_Engine; // Compatiblity with gzip compressors +var tinyMCE = new TinyMCE_Engine(); +var tinyMCELang = {}; + +/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */ + +function TinyMCE_Control(settings) { + var t, i, tos, fu, p, x, fn, fu, pn, s = settings; + + this.undoRedoLevel = true; + this.isTinyMCE_Control = true; + + // Default settings + this.enabled = true; + this.settings = s; + this.settings.theme = tinyMCE.getParam("theme", "default"); + this.settings.width = tinyMCE.getParam("width", -1); + this.settings.height = tinyMCE.getParam("height", -1); + this.selection = new TinyMCE_Selection(this); + this.undoRedo = new TinyMCE_UndoRedo(this); + this.cleanup = new TinyMCE_Cleanup(); + this.shortcuts = []; + this.hasMouseMoved = false; + this.foreColor = this.backColor = "#999999"; + this.data = {}; + this.cssClasses = []; + + this.cleanup.init({ + valid_elements : s.valid_elements, + extended_valid_elements : s.extended_valid_elements, + valid_child_elements : s.valid_child_elements, + entities : s.entities, + entity_encoding : s.entity_encoding, + debug : s.cleanup_debug, + indent : s.apply_source_formatting, + invalid_elements : s.invalid_elements, + verify_html : s.verify_html, + fix_content_duplication : s.fix_content_duplication, + convert_fonts_to_spans : s.convert_fonts_to_spans + }); + + // Wrap old theme + t = this.settings.theme; + if (!tinyMCE.hasTheme(t)) { + fn = tinyMCE.callbacks; + tos = {}; + + for (i=0; i 0) { + for (i=0; i 1 && tinyMCE.currentConfig != this.settings.index) { + tinyMCE.settings = this.settings; + tinyMCE.currentConfig = this.settings.index; + } + }, + + select : function() { + var oldInst = tinyMCE.selectedInstance; + + if (oldInst != this) { + if (oldInst) + oldInst.execCommand('mceEndTyping'); + + tinyMCE.dispatchCallback(this, 'select_instance_callback', 'selectInstance', this, oldInst); + tinyMCE.selectedInstance = this; + } + }, + + getBody : function() { + return this.contentBody ? this.contentBody : this.getDoc().body; + }, + + getDoc : function() { +// return this.contentDocument ? this.contentDocument : this.contentWindow.document; // Removed due to IE 5.5 ? + return this.contentWindow.document; + }, + + getWin : function() { + return this.contentWindow; + }, + + getContainerWin : function() { + return this.containerWindow ? this.containerWindow : window; + }, + + getViewPort : function() { + return tinyMCE.getViewPort(this.getWin()); + }, + + getParentNode : function(n, f) { + return tinyMCE.getParentNode(n, f, this.getBody()); + }, + + getParentElement : function(n, na, f) { + return tinyMCE.getParentElement(n, na, f, this.getBody()); + }, + + getParentBlockElement : function(n) { + return tinyMCE.getParentBlockElement(n, this.getBody()); + }, + + resizeToContent : function() { + var d = this.getDoc(), b = d.body, de = d.documentElement; + + this.iframeElement.style.height = (tinyMCE.isRealIE) ? b.scrollHeight : de.offsetHeight + 'px'; + }, + + addShortcut : function(m, k, d, cmd, ui, va) { + var n = typeof(k) == "number", ie = tinyMCE.isIE, c, sc, i, scl = this.shortcuts; + + if (!tinyMCE.getParam('custom_shortcuts')) + return false; + + m = m.toLowerCase(); + k = ie && !n ? k.toUpperCase() : k; + c = n ? null : k.charCodeAt(0); + d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d; + + sc = { + alt : m.indexOf('alt') != -1, + ctrl : m.indexOf('ctrl') != -1, + shift : m.indexOf('shift') != -1, + charCode : c, + keyCode : n ? k : (ie ? c : null), + desc : d, + cmd : cmd, + ui : ui, + val : va + }; + + for (i=0; i 1 && /(^\u00a0|\u00a0$)/.test(v)) { + e.firstChild.nodeValue = v.replace(/(^\u00a0|\u00a0$)/, ''); + s.selectNode(e.firstChild, true, false, false); // Select and collapse + } + } + }, + + _setUseCSS : function(b) { + var d = this.getDoc(); + + try {d.execCommand("useCSS", false, !b);} catch (ex) {} + try {d.execCommand("styleWithCSS", false, b);} catch (ex) {} + + if (!tinyMCE.getParam("table_inline_editing")) + try {d.execCommand('enableInlineTableEditing', false, "false");} catch (ex) {} + + if (!tinyMCE.getParam("object_resizing")) + try {d.execCommand('enableObjectResizing', false, "false");} catch (ex) {} + }, + + execCommand : function(command, user_interface, value) { + var i, x, z, align, img, div, doc = this.getDoc(), win = this.getWin(), focusElm = this.getFocusElement(); + + // Is not a undo specific command + if (!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command)) + this.undoBookmark = null; + + // Mozilla issue + if (!tinyMCE.isIE && !this.useCSS) { + this._setUseCSS(false); + this.useCSS = true; + } + + //debug("command: " + command + ", user_interface: " + user_interface + ", value: " + value); + this.contentDocument = doc; // <-- Strange, unless this is applied Mozilla 1.3 breaks + + // Don't dispatch key commands + if (!/mceStartTyping|mceEndTyping/.test(command)) { + if (tinyMCE.execCommandCallback(this, 'execcommand_callback', 'execCommand', this.editorId, this.getBody(), command, user_interface, value)) + return; + } + + // Fix align on images + if (focusElm && focusElm.nodeName == "IMG") { + align = focusElm.getAttribute('align'); + img = command == "JustifyCenter" ? focusElm.cloneNode(false) : focusElm; + + switch (command) { + case "JustifyLeft": + if (align == 'left') + img.removeAttribute('align'); + else + img.setAttribute('align', 'left'); + + // Remove the div + div = focusElm.parentNode; + if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode) + div.parentNode.replaceChild(img, div); + + this.selection.selectNode(img); + this.repaint(); + tinyMCE.triggerNodeChange(); + return; + + case "JustifyCenter": + img.removeAttribute('align'); + + // Is centered + div = tinyMCE.getParentElement(focusElm, "div"); + if (div && div.style.textAlign == "center") { + // Remove div + if (div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode) + div.parentNode.replaceChild(img, div); + } else { + // Add div + div = this.getDoc().createElement("div"); + div.style.textAlign = 'center'; + div.appendChild(img); + focusElm.parentNode.replaceChild(div, focusElm); + } + + this.selection.selectNode(img); + this.repaint(); + tinyMCE.triggerNodeChange(); + return; + + case "JustifyRight": + if (align == 'right') + img.removeAttribute('align'); + else + img.setAttribute('align', 'right'); + + // Remove the div + div = focusElm.parentNode; + if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode) + div.parentNode.replaceChild(img, div); + + this.selection.selectNode(img); + this.repaint(); + tinyMCE.triggerNodeChange(); + return; + } + } + + if (tinyMCE.settings.force_br_newlines) { + var alignValue = ""; + + if (doc.selection.type != "Control") { + switch (command) { + case "JustifyLeft": + alignValue = "left"; + break; + + case "JustifyCenter": + alignValue = "center"; + break; + + case "JustifyFull": + alignValue = "justify"; + break; + + case "JustifyRight": + alignValue = "right"; + break; + } + + if (alignValue !== '') { + var rng = doc.selection.createRange(); + + if ((divElm = tinyMCE.getParentElement(rng.parentElement(), "div")) != null) + divElm.setAttribute("align", alignValue); + else if (rng.pasteHTML && rng.htmlText.length > 0) + rng.pasteHTML('
' + rng.htmlText + "
"); + + tinyMCE.triggerNodeChange(); + return; + } + } + } + + switch (command) { + case "mceRepaint": + this.repaint(); + return true; + + case "unlink": + // Unlink if caret is inside link + if (tinyMCE.isGecko && this.getSel().isCollapsed) { + focusElm = tinyMCE.getParentElement(focusElm, 'A'); + + if (focusElm) + this.selection.selectNode(focusElm, false); + } + + this.getDoc().execCommand(command, user_interface, value); + + tinyMCE.isGecko && this.getSel().collapseToEnd(); + + tinyMCE.triggerNodeChange(); + + return true; + + case "InsertUnorderedList": + case "InsertOrderedList": + this.getDoc().execCommand(command, user_interface, value); + tinyMCE.triggerNodeChange(); + break; + + case "Strikethrough": + this.getDoc().execCommand(command, user_interface, value); + tinyMCE.triggerNodeChange(); + break; + + case "mceSelectNode": + this.selection.selectNode(value); + tinyMCE.triggerNodeChange(); + tinyMCE.selectedNode = value; + break; + + case "FormatBlock": + if (value == null || value == '') { + var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp"); + + if (elm) + this.execCommand("mceRemoveNode", false, elm); + } else { + if (!this.cleanup.isValid(value)) + return true; + + if (tinyMCE.isGecko && new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>', 'gi').test(value)) + value = value.replace(/[^a-z]/gi, ''); + + if (tinyMCE.isIE && new RegExp('blockquote|code|samp', 'gi').test(value)) { + var b = this.selection.getBookmark(); + this.getDoc().execCommand("FormatBlock", false, '

'); + tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()), value); + this.selection.moveToBookmark(b); + } else + this.getDoc().execCommand("FormatBlock", false, value); + } + + tinyMCE.triggerNodeChange(); + + break; + + case "mceRemoveNode": + if (!value) + value = tinyMCE.getParentElement(this.getFocusElement()); + + if (tinyMCE.isIE) { + value.outerHTML = value.innerHTML; + } else { + var rng = value.ownerDocument.createRange(); + rng.setStartBefore(value); + rng.setEndAfter(value); + rng.deleteContents(); + rng.insertNode(rng.createContextualFragment(value.innerHTML)); + } + + tinyMCE.triggerNodeChange(); + + break; + + case "mceSelectNodeDepth": + var parentNode = this.getFocusElement(); + for (i=0; parentNode; i++) { + if (parentNode.nodeName.toLowerCase() == "body") + break; + + if (parentNode.nodeName.toLowerCase() == "#text") { + i--; + parentNode = parentNode.parentNode; + continue; + } + + if (i == value) { + this.selection.selectNode(parentNode, false); + tinyMCE.triggerNodeChange(); + tinyMCE.selectedNode = parentNode; + return; + } + + parentNode = parentNode.parentNode; + } + + break; + + case "mceSetStyleInfo": + case "SetStyleInfo": + var rng = this.getRng(); + var sel = this.getSel(); + var scmd = value.command; + var sname = value.name; + var svalue = value.value == null ? '' : value.value; + //var svalue = value['value'] == null ? '' : value['value']; + var wrapper = value.wrapper ? value.wrapper : "span"; + var parentElm = null; + var invalidRe = new RegExp("^BODY|HTML$", "g"); + var invalidParentsRe = tinyMCE.settings.merge_styles_invalid_parents !== '' ? new RegExp(tinyMCE.settings.merge_styles_invalid_parents, "gi") : null; + + // Whole element selected check + if (tinyMCE.isIE) { + // Control range + if (rng.item) + parentElm = rng.item(0); + else { + var pelm = rng.parentElement(); + var prng = doc.selection.createRange(); + prng.moveToElementText(pelm); + + if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) { + if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName)) + parentElm = pelm; + } + } + } else { + var felm = this.getFocusElement(); + if (sel.isCollapsed || (new RegExp('td|tr|tbody|table|img', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode)) + parentElm = felm; + } + + // Whole element selected + if (parentElm && !invalidRe.test(parentElm.nodeName)) { + if (scmd == "setstyle") + tinyMCE.setStyleAttrib(parentElm, sname, svalue); + + if (scmd == "setattrib") + tinyMCE.setAttrib(parentElm, sname, svalue); + + if (scmd == "removeformat") { + parentElm.style.cssText = ''; + tinyMCE.setAttrib(parentElm, 'class', ''); + } + + // Remove style/attribs from all children + var ch = tinyMCE.getNodeTree(parentElm, [], 1); + for (z=0; z=0; i--) { + var elm = nodes[i]; + var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true"; + + elm.removeAttribute("mce_new"); + + // Is only child a element + if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) { + //tinyMCE.debug("merge1" + isNew); + this._mergeElements(scmd, elm, elm.childNodes[0], isNew); + continue; + } + + // Is I the only child + if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) { + //tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName); + if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName)) + this._mergeElements(scmd, elm.parentNode, elm, false); + } + } + + // Remove empty wrappers + var nodes = doc.getElementsByTagName(wrapper); + for (i=nodes.length-1; i>=0; i--) { + var elm = nodes[i], isEmpty = true; + + // Check if it has any attribs + var tmp = doc.createElement("body"); + tmp.appendChild(elm.cloneNode(false)); + + // Is empty span, remove it + tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), ''); + //tinyMCE.debug(tmp.innerHTML); + if (new RegExp('', 'gi').test(tmp.innerHTML)) { + for (x=0; x 0) { + value = tinyMCE.replaceVar(value, "selection", selectedText); + tinyMCE.execCommand('mceInsertContent', false, value); + } + + this._addBogusBR(); + tinyMCE.triggerNodeChange(); + break; + + case "mceSetAttribute": + if (typeof(value) == 'object') { + var targetElms = (typeof(value.targets) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value.targets; + var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms); + + if (targetNode) { + targetNode.setAttribute(value.name, value.value); + tinyMCE.triggerNodeChange(); + } + } + break; + + case "mceSetCSSClass": + this.execCommand("mceSetStyleInfo", false, {command : "setattrib", name : "class", value : value}); + break; + + case "mceInsertRawHTML": + var key = 'tiny_mce_marker'; + + this.execCommand('mceBeginUndoLevel'); + + // Insert marker key + this.execCommand('mceInsertContent', false, key); + + // Store away scroll pos + var scrollX = this.getBody().scrollLeft + this.getDoc().documentElement.scrollLeft; + var scrollY = this.getBody().scrollTop + this.getDoc().documentElement.scrollTop; + + // Find marker and replace with RAW HTML + var html = this.getBody().innerHTML; + if ((pos = html.indexOf(key)) != -1) + tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length)); + + // Restore scoll pos + this.contentWindow.scrollTo(scrollX, scrollY); + + this.execCommand('mceEndUndoLevel'); + + break; + + case "mceInsertContent": + // Force empty string + if (!value) + value = ''; + + var insertHTMLFailed = false; + + // Removed since it produced problems in IE + // this.getWin().focus(); + + if (tinyMCE.isGecko || tinyMCE.isOpera) { + try { + // Is plain text or HTML, &,   etc will be encoded wrong in FF + if (value.indexOf('<') == -1 && !value.match(/(&| |<|>)/g)) { + var r = this.getRng(); + var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value)); + var s = this.getSel(); + var r2 = r.cloneRange(); + + // Insert text at cursor position + s.removeAllRanges(); + r.deleteContents(); + r.insertNode(n); + + // Move the cursor to the end of text + r2.selectNode(n); + r2.collapse(false); + s.removeAllRanges(); + s.addRange(r2); + } else { + value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value); + this.getDoc().execCommand('inserthtml', false, value); + tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value); + } + } catch (ex) { + insertHTMLFailed = true; + } + + if (!insertHTMLFailed) { + tinyMCE.triggerNodeChange(); + return; + } + } + + if (!tinyMCE.isIE) { + var isHTML = value.indexOf('<') != -1; + var sel = this.getSel(); + var rng = this.getRng(); + + if (isHTML) { + if (tinyMCE.isSafari) { + var tmpRng = this.getDoc().createRange(); + + tmpRng.setStart(this.getBody(), 0); + tmpRng.setEnd(this.getBody(), 0); + + value = tmpRng.createContextualFragment(value); + } else + value = rng.createContextualFragment(value); + } else { + // Setup text node + value = doc.createTextNode(tinyMCE.entityDecode(value)); + } + + // Insert plain text in Safari + if (tinyMCE.isSafari && !isHTML) { + this.execCommand('InsertText', false, value.nodeValue); + tinyMCE.triggerNodeChange(); + return true; + } else if (tinyMCE.isSafari && isHTML) { + rng.deleteContents(); + rng.insertNode(value); + tinyMCE.triggerNodeChange(); + return true; + } + + rng.deleteContents(); + + // If target node is text do special treatment, (Mozilla 1.3 fix) + if (rng.startContainer.nodeType == 3) { + var node = rng.startContainer.splitText(rng.startOffset); + node.parentNode.insertBefore(value, node); + } else + rng.insertNode(value); + + if (!isHTML) { + // Removes weird selection trails + sel.selectAllChildren(doc.body); + sel.removeAllRanges(); + + // Move cursor to end of content + var rng = doc.createRange(); + + rng.selectNode(value); + rng.collapse(false); + + sel.addRange(rng); + } else + rng.collapse(false); + + tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value); + } else { + var rng = doc.selection.createRange(), tmpRng = null; + var c = value.indexOf('"; + } + + if (hc) { + cn = n.childNodes; + + for (i=0, l=cn.length; i'; + + return h; + }, + + _serializeAttribute : function(n, r, an) { + var av = '', t, os = this.settings.on_save; + + if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0)) + return ''; + + if (os && this.mceAttribs[an]) + av = this._getAttrib(n, this.mceAttribs[an]); + + if (av.length == 0) + av = this._getAttrib(n, an); + + if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) { + av = t; + + if (av == "mce_empty") + return " " + an + '=""'; + } + + if (r.forceAttribs && (t = r.forceAttribs[an])) + av = t; + + if (os && av.length != 0 && /^(src|href|longdesc)$/.test(an)) + av = this._urlConverter(this, n, av); + + if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av)) + return ""; + + if (av.length != 0 && av == "{$uid}") + av = "uid_" + (this.idCount++); + + if (av.length != 0) { + if (an.indexOf('on') != 0) + av = this.xmlEncode(av, 1); + + return " " + an + "=" + '"' + av + '"'; + } + + return ""; + }, + + formatHTML : function(h) { + var s = this.settings, p = '', i = 0, li = 0, o = '', l; + + // Replace BR in pre elements to \n + h = h.replace(/]*)>(.*?)<\/pre>/gi, function (a, b, c) { + c = c.replace(//gi, '\n'); + return '' + c + ''; + }); + + h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :) + h = '\n' + h; + h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting + h = h.replace(this.nlBeforeRe, '\n<$1$2>'); + h = h.replace(this.nlAfterRe, '<$1$2>\n'); + h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n'); + h += '\n'; + + //tinyMCE.debug(h); + + while ((i = h.indexOf('\n', i + 1)) != -1) { + if ((l = h.substring(li + 1, i)).length != 0) { + if (this.ouRe.test(l) && p.length >= s.indent_levels) + p = p.substring(s.indent_levels); + + o += p + l + '\n'; + + if (this.inRe.test(l)) + p += this.inStr; + } + + li = i; + } + + //tinyMCE.debug(h); + + return o; + }, + + xmlEncode : function(s) { + var cl = this, re = this.xmlEncodeRe; + + if (!this.entitiesDone) + this._setupEntities(); // Will intialize lookup table + + switch (this.settings.entity_encoding) { + case "raw": + return tinyMCE.xmlEncode(s); + + case "named": + return s.replace(re, function (c) { + var b = cl.entities[c.charCodeAt(0)]; + + return b ? '&' + b + ';' : c; + }); + + case "numeric": + return s.replace(re, function (c) { + return '&#' + c.charCodeAt(0) + ';'; + }); + } + + return s; + }, + + split : function(re, s) { + var i, l, o = [], c = s.split(re); + + for (i=0, l=c.length; i' : '>' + h + ''; + + return o; + }, + + createTag : function(d, tn, a, h) { + var o = d.createElement(tn), n; + + if (a) { + for (n in a) { + if (typeof(a[n]) != 'function' && a[n] != null) + tinyMCE.setAttrib(o, n, a[n]); + } + } + + if (h) + o.innerHTML = h; + + return o; + }, + + getElementByAttributeValue : function(n, e, a, v) { + return (n = this.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0]; + }, + + getElementsByAttributeValue : function(n, e, a, v) { + var i, nl = n.getElementsByTagName(e), o = []; + + for (i=0; i]*)>/gi, ''); + h = h.replace(/]*)>/gi, ''); + h = h.replace(/]*)>/gi, ''); + h = h.replace(/]*)>/gi, ''); + h = h.replace(/<\/strong>/gi, ''); + h = h.replace(/<\/em>/gi, ''); + } + + if (tinyMCE.isRealIE) { + // Since MSIE handles invalid HTML better that valid XHTML we + // need to make some things invalid.


gets converted to
. + h = h.replace(/\s\/>/g, '>'); + + // Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones + h = h.replace(/]*)>\u00A0?<\/p>/gi, ' 

'); // Keep empty paragraphs + h = h.replace(/]*)>\s* \s*<\/p>/gi, ' 

'); // Keep empty paragraphs + h = h.replace(/]*)>\s+<\/p>/gi, ' 

'); // Keep empty paragraphs + + // Remove first comment + e.innerHTML = tinyMCE.uniqueTag + h; + e.firstChild.removeNode(true); + + // Remove weird auto generated empty paragraphs unless it's supposed to be there + nl = e.getElementsByTagName("p"); + for (i=nl.length-1; i>=0; i--) { + n = nl[i]; + + if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep) + n.parentNode.removeChild(n); + } + } else { + h = this.fixGeckoBaseHREFBug(1, e, h); + e.innerHTML = h; + this.fixGeckoBaseHREFBug(2, e, h); + } + }, + + getOuterHTML : function(e) { + var d; + + if (tinyMCE.isIE) + return e.outerHTML; + + d = e.ownerDocument.createElement("body"); + d.appendChild(e.cloneNode(true)); + + return d.innerHTML; + }, + + setOuterHTML : function(e, h, d) { + var d = typeof(d) == "undefined" ? e.ownerDocument : d, i, nl, t; + + if (tinyMCE.isIE && e.nodeType == 1) + e.outerHTML = h; + else { + t = d.createElement("body"); + t.innerHTML = h; + + for (i=0, nl=t.childNodes; i-1; i--) { + if (ar[i].specified && ar[i].nodeValue) + ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue); + } + + ar = e.childNodes; + for (i=0; i= strTok2.length) { + for (i=0; i= strTok2.length || strTok1[i] != strTok2[i]) { + breakPoint = i + 1; + break; + } + } + } + + if (strTok1.length < strTok2.length) { + for (i=0; i= strTok1.length || strTok1[i] != strTok2[i]) { + breakPoint = i + 1; + break; + } + } + } + + if (breakPoint == 1) + return targetURL.path; + + for (i=0; i<(strTok1.length-(breakPoint-1)); i++) + outPath += "../"; + + for (i=breakPoint-1; i=0; i--) { + if (baseURLParts[i].length == 0) + continue; + + newBaseURLParts[newBaseURLParts.length] = baseURLParts[i]; + } + baseURLParts = newBaseURLParts.reverse(); + + // Merge relURLParts chunks + newRelURLParts = []; + numBack = 0; + for (i=relURLParts.length-1; i>=0; i--) { + if (relURLParts[i].length == 0 || relURLParts[i] == ".") + continue; + + if (relURLParts[i] == '..') { + numBack++; + continue; + } + + if (numBack > 0) { + numBack--; + continue; + } + + newRelURLParts[newRelURLParts.length] = relURLParts[i]; + } + + relURLParts = newRelURLParts.reverse(); + + // Remove end from absolute path + len = baseURLParts.length-numBack; + absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/'); + start = ""; + end = ""; + + // Build output URL + relURL.protocol = baseURL.protocol; + relURL.host = baseURL.host; + relURL.port = baseURL.port; + + // Re-add trailing slash if it's removed + if (relURL.path.charAt(relURL.path.length-1) == "/") + absPath += "/"; + + relURL.path = absPath; + + return this.serializeURL(relURL); + }, + + convertURL : function(url, node, on_save) { + var dl = document.location, start, portPart, urlParts, baseUrlParts, tmpUrlParts, curl; + var prot = dl.protocol, host = dl.hostname, port = dl.port; + + // Pass through file protocol + if (prot == "file:") + return url; + + // Something is wrong, remove weirdness + url = tinyMCE.regexpReplace(url, '(http|https):///', '/'); + + // Mailto link or anchor (Pass through) + if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || /^[ \t\r\n\+]*[#\?]/.test(url)) + return url; + + // Fix relative/Mozilla + if (!tinyMCE.isIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/') + return tinyMCE.settings.base_href + url; + + // Handle relative URLs + if (on_save && tinyMCE.getParam('relative_urls')) { + curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, url); + if (curl.charAt(0) == '/') + curl = tinyMCE.settings.document_base_prefix + curl; + + urlParts = tinyMCE.parseURL(curl); + tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings.document_base_url); + + // Force relative + if (urlParts.host == tmpUrlParts.host && (urlParts.port == tmpUrlParts.port)) + return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings.document_base_url, curl); + } + + // Handle absolute URLs + if (!tinyMCE.getParam('relative_urls')) { + urlParts = tinyMCE.parseURL(url); + baseUrlParts = tinyMCE.parseURL(tinyMCE.settings.base_href); + + // Force absolute URLs from relative URLs + url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, url); + + // If anchor and path is the same page + if (urlParts.anchor && urlParts.path == baseUrlParts.path) + return "#" + urlParts.anchor; + } + + // Remove current domain + if (tinyMCE.getParam('remove_script_host')) { + start = ""; + portPart = ""; + + if (port !== '') + portPart = ":" + port; + + start = prot + "//" + host + portPart + "/"; + + if (url.indexOf(start) == 0) + url = url.substring(start.length-1); + } + + return url; + }, + + convertAllRelativeURLs : function(body) { + var i, elms, src, href, mhref, msrc; + + // Convert all image URL:s to absolute URL + elms = body.getElementsByTagName("img"); + for (i=0; i bookmark.index) { + try { + rng.addElement(nl[bookmark.index]); + } catch (ex) { + // Might be thrown if the node no longer exists + } + } + } else { + // Try/catch needed since this operation breaks when TinyMCE is placed in hidden divs/tabs + try { + // Incorrect bookmark + if (bookmark.start < 0) + return true; + + rng = inst.getSel().createRange(); + rng.moveToElementText(inst.getBody()); + rng.collapse(true); + rng.moveStart('character', bookmark.start); + rng.moveEnd('character', bookmark.length); + } catch (ex) { + return true; + } + } + + rng.select(); + + win.scrollTo(bookmark.scrollX, bookmark.scrollY); + return true; + } + + if (tinyMCE.isGecko || tinyMCE.isOpera) { + if (!sel) + return false; + + if (bookmark.rng) { + sel.removeAllRanges(); + sel.addRange(bookmark.rng); + } + + if (bookmark.start != -1 && bookmark.end != -1) { + try { + sd = this._getTextPos(b, bookmark.start, bookmark.end); + rng = doc.createRange(); + rng.setStart(sd.startNode, sd.startOffset); + rng.setEnd(sd.endNode, sd.endOffset); + sel.removeAllRanges(); + sel.addRange(rng); + + if (!tinyMCE.isOpera) + win.focus(); + } catch (ex) { + // Ignore + } + } + + /* + if (typeof(bookmark.index) != 'undefined') { + tinyMCE.selectElements(b, 'IMG', function (n) { + if (bookmark.index-- == 0) { + // Select image in Gecko here + } + + return false; + }); + } + */ + + win.scrollTo(bookmark.scrollX, bookmark.scrollY); + return true; + } + + return false; + }, + + _getPosText : function(r, sn, en) { + var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {}; + + while ((n = w.nextNode()) != null) { + if (n == sn) + d.start = p; + + if (n == en) { + d.end = p; + return d; + } + + p += n.nodeValue ? n.nodeValue.length : 0; + } + + return null; + }, + + _getTextPos : function(r, sp, ep) { + var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {}; + + while ((n = w.nextNode()) != null) { + p += n.nodeValue ? n.nodeValue.length : 0; + + if (p >= sp && !d.startNode) { + d.startNode = n; + d.startOffset = sp - (p - n.nodeValue.length); + } + + if (p >= ep) { + d.endNode = n; + d.endOffset = ep - (p - n.nodeValue.length); + + return d; + } + } + + return null; + }, + + selectNode : function(node, collapse, select_text_node, to_start) { + var inst = this.instance, sel, rng, nodes; + + if (!node) + return; + + if (typeof(collapse) == "undefined") + collapse = true; + + if (typeof(select_text_node) == "undefined") + select_text_node = false; + + if (typeof(to_start) == "undefined") + to_start = true; + + if (inst.settings.auto_resize) + inst.resizeToContent(); + + if (tinyMCE.isRealIE) { + rng = inst.getDoc().body.createTextRange(); + + try { + rng.moveToElementText(node); + + if (collapse) + rng.collapse(to_start); + + rng.select(); + } catch (e) { + // Throws illigal agrument in MSIE some times + } + } else { + sel = this.getSel(); + + if (!sel) + return; + + if (tinyMCE.isSafari) { + sel.setBaseAndExtent(node, 0, node, node.innerText.length); + + if (collapse) { + if (to_start) + sel.collapseToStart(); + else + sel.collapseToEnd(); + } + + this.scrollToNode(node); + + return; + } + + rng = inst.getDoc().createRange(); + + if (select_text_node) { + // Find first textnode in tree + nodes = tinyMCE.getNodeTree(node, [], 3); + if (nodes.length > 0) + rng.selectNodeContents(nodes[0]); + else + rng.selectNodeContents(node); + } else + rng.selectNode(node); + + if (collapse) { + // Special treatment of textnode collapse + if (!to_start && node.nodeType == 3) { + rng.setStart(node, node.nodeValue.length); + rng.setEnd(node, node.nodeValue.length); + } else + rng.collapse(to_start); + } + + sel.removeAllRanges(); + sel.addRange(rng); + } + + this.scrollToNode(node); + + // Set selected element + tinyMCE.selectedElement = null; + if (node.nodeType == 1) + tinyMCE.selectedElement = node; + }, + + scrollToNode : function(node) { + var inst = this.instance, w = inst.getWin(), vp = inst.getViewPort(), pos = tinyMCE.getAbsPosition(node), cvp, p, cwin; + + // Only scroll if out of visible area + if (pos.absLeft < vp.left || pos.absLeft > vp.left + vp.width || pos.absTop < vp.top || pos.absTop > vp.top + (vp.height-25)) + w.scrollTo(pos.absLeft, pos.absTop - vp.height + 25); + + // Scroll container window + if (inst.settings.auto_resize) { + cwin = inst.getContainerWin(); + cvp = tinyMCE.getViewPort(cwin); + p = this.getAbsPosition(node); + + if (p.absLeft < cvp.left || p.absLeft > cvp.left + cvp.width || p.absTop < cvp.top || p.absTop > cvp.top + cvp.height) + cwin.scrollTo(p.absLeft, p.absTop - cvp.height + 25); + } + }, + + getAbsPosition : function(n) { + var pos = tinyMCE.getAbsPosition(n), ipos = tinyMCE.getAbsPosition(this.instance.iframeElement); + + return { + absLeft : ipos.absLeft + pos.absLeft, + absTop : ipos.absTop + pos.absTop + }; + }, + + getSel : function() { + var inst = this.instance; + + if (tinyMCE.isRealIE) + return inst.getDoc().selection; + + return inst.contentWindow.getSelection(); + }, + + getRng : function() { + var s = this.getSel(); + + if (s == null) + return null; + + if (tinyMCE.isRealIE) + return s.createRange(); + + if (tinyMCE.isSafari && !s.getRangeAt) + return '' + window.getSelection(); + + if (s.rangeCount > 0) + return s.getRangeAt(0); + + return null; + }, + + isCollapsed : function() { + var r = this.getRng(); + + if (r.item) + return false; + + return r.boundingWidth == 0 || this.getSel().isCollapsed; + }, + + collapse : function(b) { + var r = this.getRng(), s = this.getSel(); + + if (r.select) { + r.collapse(b); + r.select(); + } else { + if (b) + s.collapseToStart(); + else + s.collapseToEnd(); + } + }, + + getFocusElement : function() { + var inst = this.instance, doc, rng, sel, elm; + + if (tinyMCE.isRealIE) { + doc = inst.getDoc(); + rng = doc.selection.createRange(); + + // if (rng.collapse) + // rng.collapse(true); + + elm = rng.item ? rng.item(0) : rng.parentElement(); + } else { + if (!tinyMCE.isSafari && inst.isHidden()) + return inst.getBody(); + + sel = this.getSel(); + rng = this.getRng(); + + if (!sel || !rng) + return null; + + elm = rng.commonAncestorContainer; + //elm = (sel && sel.anchorNode) ? sel.anchorNode : null; + + // Handle selection a image or other control like element such as anchors + if (!rng.collapsed) { + // Is selection small + if (rng.startContainer == rng.endContainer) { + if (rng.startOffset - rng.endOffset < 2) { + if (rng.startContainer.hasChildNodes()) + elm = rng.startContainer.childNodes[rng.startOffset]; + } + } + } + + // Get the element parent of the node + elm = tinyMCE.getParentElement(elm); + + //if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") + // elm = tinyMCE.selectedElement; + } + + return elm; + } + + }; + +/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */ + +function TinyMCE_UndoRedo(inst) { + this.instance = inst; + this.undoLevels = []; + this.undoIndex = 0; + this.typingUndoIndex = -1; + this.undoRedo = true; +}; + +TinyMCE_UndoRedo.prototype = { + add : function(l) { + var b, customUndoLevels, newHTML, inst = this.instance, i, ul, ur; + + if (l) { + this.undoLevels[this.undoLevels.length] = l; + return true; + } + + if (this.typingUndoIndex != -1) { + this.undoIndex = this.typingUndoIndex; + + if (tinyMCE.typingUndoIndex != -1) + tinyMCE.undoIndex = tinyMCE.typingUndoIndex; + } + + newHTML = tinyMCE.trim(inst.getBody().innerHTML); + if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) { + //tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex].content); + + // Is dirty again + inst.isNotDirty = false; + + tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst); + + // Time to compress + customUndoLevels = tinyMCE.settings.custom_undo_redo_levels; + if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) { + for (i=0; i 0) { + this.undoIndex--; + + tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content); + inst.repaint(); + + if (inst.settings.custom_undo_redo_restore_selection) + inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark); + } + }, + + redo : function() { + var inst = this.instance; + + tinyMCE.execCommand("mceEndTyping"); + + if (this.undoIndex < (this.undoLevels.length-1)) { + this.undoIndex++; + + tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content); + inst.repaint(); + + if (inst.settings.custom_undo_redo_restore_selection) + inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark); + } + + tinyMCE.triggerNodeChange(); + } + + }; + +/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */ + +var TinyMCE_ForceParagraphs = { + _insertPara : function(inst, e) { + var doc = inst.getDoc(), sel = inst.getSel(), body = inst.getBody(), win = inst.contentWindow, rng = sel.getRangeAt(0); + var rootElm = doc.documentElement, blockName = "P", startNode, endNode, startBlock, endBlock; + var rngBefore, rngAfter, direct, startNode, startOffset, endNode, endOffset, b = tinyMCE.isOpera ? inst.selection.getBookmark() : null; + var paraBefore, paraAfter, startChop, endChop, contents, i; + + function isEmpty(para) { + var nodes; + + function isEmptyHTML(html) { + return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == ''; + } + + // Check for images + if (para.getElementsByTagName("img").length > 0) + return false; + + // Check for tables + if (para.getElementsByTagName("table").length > 0) + return false; + + // Check for HRs + if (para.getElementsByTagName("hr").length > 0) + return false; + + // Check all textnodes + nodes = tinyMCE.getNodeTree(para, [], 3); + for (i=0; i <" + blockName + "> "; + paraAfter = body.childNodes[1]; + } + + inst.selection.moveToBookmark(b); + inst.selection.selectNode(paraAfter, true, true); + + return true; + } + + // Place first part within new paragraph + if (startChop.nodeName == blockName) + rngBefore.setStart(startChop, 0); + else + rngBefore.setStartBefore(startChop); + + rngBefore.setEnd(startNode, startOffset); + paraBefore.appendChild(rngBefore.cloneContents()); + + // Place secound part within new paragraph + rngAfter.setEndAfter(endChop); + rngAfter.setStart(endNode, endOffset); + contents = rngAfter.cloneContents(); + + if (contents.firstChild && contents.firstChild.nodeName == blockName) { + /* var nodes = contents.firstChild.childNodes; + for (i=0; i= r.startOffset && nv.charAt(r.startOffset - 1) == ' ') + s = true;*/ + + // Only remove BRs if we are at the end of line #bug 1464152 + if (nv != null && r.startOffset == nv.length) + sn.nextSibling.parentNode.removeChild(sn.nextSibling); + } + + if (inst.settings.auto_resize) + inst.resizeToContent(); + + return s; + } + + }; + +/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */ + +function TinyMCE_Layer(id, bm) { + this.id = id; + this.blockerElement = null; + this.events = false; + this.element = null; + this.blockMode = typeof(bm) != 'undefined' ? bm : true; + this.doc = document; +}; + +TinyMCE_Layer.prototype = { + moveRelativeTo : function(re, p) { + var rep = this.getAbsPosition(re), e = this.getElement(), x, y; + var w = parseInt(re.offsetWidth), h = parseInt(re.offsetHeight); + var ew = parseInt(e.offsetWidth), eh = parseInt(e.offsetHeight); + + switch (p) { + case "tl": + x = rep.absLeft; + y = rep.absTop; + break; + + case "tr": + x = rep.absLeft + w; + y = rep.absTop; + break; + + case "bl": + x = rep.absLeft; + y = rep.absTop + h; + break; + + case "br": + x = rep.absLeft + w; + y = rep.absTop + h; + break; + + case "cc": + x = rep.absLeft + (w / 2) - (ew / 2); + y = rep.absTop + (h / 2) - (eh / 2); + break; + } + + this.moveTo(x, y); + }, + + moveBy : function(x, y) { + var e = this.getElement(); + this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y); + }, + + moveTo : function(x, y) { + var e = this.getElement(); + + e.style.left = x + "px"; + e.style.top = y + "px"; + + this.updateBlocker(); + }, + + resizeBy : function(w, h) { + var e = this.getElement(); + this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h); + }, + + resizeTo : function(w, h) { + var e = this.getElement(); + + if (w != null) + e.style.width = w + "px"; + + if (h != null) + e.style.height = h + "px"; + + this.updateBlocker(); + }, + + show : function() { + var el = this.getElement(); + + if (el) { + el.style.display = 'block'; + this.updateBlocker(); + } + }, + + hide : function() { + var el = this.getElement(); + + if (el) { + el.style.display = 'none'; + this.updateBlocker(); + } + }, + + isVisible : function() { + return this.getElement().style.display == 'block'; + }, + + getElement : function() { + if (!this.element) + this.element = this.doc.getElementById(this.id); + + return this.element; + }, + + setBlockMode : function(s) { + this.blockMode = s; + }, + + updateBlocker : function() { + var e, b, x, y, w, h; + + b = this.getBlocker(); + if (b) { + if (this.blockMode) { + e = this.getElement(); + x = this.parseInt(e.style.left); + y = this.parseInt(e.style.top); + w = this.parseInt(e.offsetWidth); + h = this.parseInt(e.offsetHeight); + + b.style.left = x + 'px'; + b.style.top = y + 'px'; + b.style.width = w + 'px'; + b.style.height = h + 'px'; + b.style.display = e.style.display; + } else + b.style.display = 'none'; + } + }, + + getBlocker : function() { + var d, b; + + if (!this.blockerElement && this.blockMode) { + d = this.doc; + b = d.getElementById(this.id + "_blocker"); + + if (!b) { + b = d.createElement("iframe"); + + b.setAttribute('id', this.id + "_blocker"); + b.style.cssText = 'display: none; position: absolute; left: 0; top: 0'; + b.src = 'javascript:false;'; + b.frameBorder = '0'; + b.scrolling = 'no'; + + d.body.appendChild(b); + } + + this.blockerElement = b; + } + + return this.blockerElement; + }, + + getAbsPosition : function(n) { + var p = {absLeft : 0, absTop : 0}; + + while (n) { + p.absLeft += n.offsetLeft; + p.absTop += n.offsetTop; + n = n.offsetParent; + } + + return p; + }, + + create : function(n, c, p, h) { + var d = this.doc, e = d.createElement(n); + + e.setAttribute('id', this.id); + + if (c) + e.className = c; + + if (!p) + p = d.body; + + if (h) + e.innerHTML = h; + + p.appendChild(e); + + return this.element = e; + }, + + exists : function() { + return this.doc.getElementById(this.id) != null; + }, + + parseInt : function(s) { + if (s == null || s == '') + return 0; + + return parseInt(s); + }, + + remove : function() { + var e = this.getElement(), b = this.getBlocker(); + + if (e) + e.parentNode.removeChild(e); + + if (b) + b.parentNode.removeChild(b); + } + + }; + +/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */ + +function TinyMCE_Menu() { + var id; + + if (typeof(tinyMCE.menuCounter) == "undefined") + tinyMCE.menuCounter = 0; + + id = "mc_menu_" + tinyMCE.menuCounter++; + + TinyMCE_Layer.call(this, id, true); + + this.id = id; + this.items = []; + this.needsUpdate = true; +}; + +TinyMCE_Menu.prototype = tinyMCE.extend(TinyMCE_Layer.prototype, { + init : function(s) { + var n; + + // Default params + this.settings = { + separator_class : 'mceMenuSeparator', + title_class : 'mceMenuTitle', + disabled_class : 'mceMenuDisabled', + menu_class : 'mceMenu', + drop_menu : true + }; + + for (n in s) + this.settings[n] = s[n]; + + this.create('div', this.settings.menu_class); + }, + + clear : function() { + this.items = []; + }, + + addTitle : function(t) { + this.add({type : 'title', text : t}); + }, + + addDisabled : function(t) { + this.add({type : 'disabled', text : t}); + }, + + addSeparator : function() { + this.add({type : 'separator'}); + }, + + addItem : function(t, js) { + this.add({text : t, js : js}); + }, + + add : function(mi) { + this.items[this.items.length] = mi; + this.needsUpdate = true; + }, + + update : function() { + var e = this.getElement(), h = '', i, t, m = this.items, s = this.settings; + + if (this.settings.drop_menu) + h += ''; + + h += ''; + + for (i=0; i'; + } + + h += '
'; + break; + + case 'title': + h += '
' + t + ''; + break; + + case 'disabled': + h += '
' + t + ''; + break; + + default: + h += '
' + t + ''; + } + + h += '
'; + + e.innerHTML = h; + + this.needsUpdate = false; + this.updateBlocker(); + }, + + show : function() { + var nl, i; + + if (tinyMCE.lastMenu == this) + return; + + if (this.needsUpdate) + this.update(); + + if (tinyMCE.lastMenu && tinyMCE.lastMenu != this) + tinyMCE.lastMenu.hide(); + + TinyMCE_Layer.prototype.show.call(this); + + if (!tinyMCE.isOpera) { + // Accessibility stuff +/* nl = this.getElement().getElementsByTagName("a"); + if (nl.length > 0) + nl[0].focus();*/ + } + + tinyMCE.lastMenu = this; + } + + }); + +/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */ + +tinyMCE.add(TinyMCE_Engine, { + debug : function() { + var m = "", a, i, l = tinyMCE.log.length; + + for (i=0, a = this.debug.arguments; i'; + h += ''; + + return h; +} + +function pickColor(e, target_form_element) { + if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown") + tinyMCEPopup.pickColor(e, target_form_element); +} + +function updateColor(img_id, form_element_id) { + document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value; +} + +function setBrowserDisabled(id, state) { + var img = document.getElementById(id); + var lnk = document.getElementById(id + "_link"); + + if (lnk) { + if (state) { + lnk.setAttribute("realhref", lnk.getAttribute("href")); + lnk.removeAttribute("href"); + tinyMCE.switchClass(img, 'mceButtonDisabled', true); + } else { + lnk.setAttribute("href", lnk.getAttribute("realhref")); + tinyMCE.switchClass(img, 'mceButtonNormal', false); + } + } +} + +function getBrowserHTML(id, target_form_element, type, prefix) { + var option = prefix + "_" + type + "_browser_callback"; + var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); + if (cb == null) + return ""; + + var html = ""; + + html += ''; + html += ''; + + return html; +} + +function openBrower(img_id, target_form_element, type, option) { + var img = document.getElementById(img_id); + + if (img.className != "mceButtonDisabled") + tinyMCEPopup.openBrowser(target_form_element, type, option); +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i x && mx < x + w && my > y && my < y + h)) { + MCLayer.visibleLayer = null; + + if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my)) + return true; + + l.hide(); + } + } + }, + + addCSSClass : function(e, c) { + this.removeCSSClass(e, c); + var a = this.explode(' ', e.className); + a[a.length] = c; + e.className = a.join(' '); + }, + + removeCSSClass : function(e, c) { + var a = this.explode(' ', e.className), i; + + for (i=0; i parseInt(v)) + st = this.mark(f, n); + } + } + + return st; + }, + + hasClass : function(n, c, d) { + return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className); + }, + + getNum : function(n, c) { + c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0]; + c = c.replace(/[^0-9]/g, ''); + + return c; + }, + + addClass : function(n, c, b) { + var o = this.removeClass(n, c); + n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c; + }, + + removeClass : function(n, c) { + c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' '); + return n.className = c != ' ' ? c : ''; + }, + + tags : function(f, s) { + return f.getElementsByTagName(s); + }, + + mark : function(f, n) { + var s = this.settings; + + this.addClass(n, s.invalid_cls); + this.markLabels(f, n, s.invalid_cls); + + return false; + }, + + markLabels : function(f, n, ic) { + var nl, i; + + nl = this.tags(f, "label"); + for (i=0; i'\\"', '\\' => '\\\\')); fputs($conn->fp, "a001 LOGIN $user \"$password\"\r\n"); - do{ - $line = iil_ReadReply($conn->fp); - }while(!iil_StartsWith($line, "a001 ")); + do{ + $line = iil_ReadReply($conn->fp); + if ($line === false) + break; + }while(!iil_StartsWith($line, "a001 ")); $a=explode(" ", $line); if (strcmp($a[1],"OK")==0){ $result=$conn->fp; diff --git a/program/lib/mime.inc b/program/lib/mime.inc index 75c2d40..a256586 100644 --- a/program/lib/mime.inc +++ b/program/lib/mime.inc @@ -56,8 +56,10 @@ function iml_ParseBSString($str){ for ($i=0; $i<$len; $i++){ if ($str[$i] == "\"") $in_quote = ($in_quote + 1) % 2; else if (!$in_quote){ - if ($str[$i] == " ") $id++; //space means new element - else if ($str[$i]=="("){ //new part + if ($str[$i] == " "){ //space means new element + $id++; + while ($str[$i+1] == " ") $i++; // skip additional spaces + } else if ($str[$i]=="("){ //new part $i++; $endPos = iml_ClosingParenPos($str, $i); $partLen = $endPos - $i; diff --git a/program/localization/am/labels.inc b/program/localization/am/labels.inc old mode 100755 new mode 100644 index b25a2cd..bad9b70 --- a/program/localization/am/labels.inc +++ b/program/localization/am/labels.inc @@ -13,7 +13,7 @@ | Author: Vahan Yerkanian | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 552 2007-05-03 20:48:00Z yllar $ + @version $Id: labels.inc 584 2007-05-24 03:49:19Z estadtherr $ */ diff --git a/program/localization/am/messages.inc b/program/localization/am/messages.inc old mode 100755 new mode 100644 index 70a9ce7..f257d87 --- a/program/localization/am/messages.inc +++ b/program/localization/am/messages.inc @@ -13,7 +13,7 @@ | Author: Vahan Yerkanian | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 552 2007-05-03 20:48:00Z yllar $ + @version $Id: messages.inc 584 2007-05-24 03:49:19Z estadtherr $ */ diff --git a/program/localization/ar/labels.inc b/program/localization/ar/labels.inc new file mode 100644 index 0000000..ca24f67 --- /dev/null +++ b/program/localization/ar/labels.inc @@ -0,0 +1,180 @@ + | + +-----------------------------------------------------------------------+ + + @version $Id: labels.inc 842 2007-10-01 13:55:02Z tomekp $ + +*/ + +$labels = array(); +$labels['welcome'] = 'مرحباً بكم في $product'; +$labels['username'] = 'اسم المستخدم'; +$labels['password'] = 'كلمة المرور'; +$labels['server'] = 'الخادم'; +$labels['login'] = 'تسجيل الدخول'; +$labels['logout'] = 'تسجيل الخروج'; +$labels['mail'] = 'البريد'; +$labels['settings'] = 'الإعدادات الشخصية'; +$labels['addressbook'] = 'دفتر العناوين'; +$labels['inbox'] = 'الوارد'; +$labels['drafts'] = 'المسودات'; +$labels['sent'] = 'المرسل'; +$labels['trash'] = 'المهملات'; +$labels['junk'] = 'غير المرغوب'; +$labels['subject'] = 'الموضوع'; +$labels['from'] = 'المرسل'; +$labels['to'] = 'المستقبل'; +$labels['cc'] = 'نسخة'; +$labels['bcc'] = 'نسخة مخفية'; +$labels['replyto'] = 'الرد إلى'; +$labels['date'] = 'التاريخ'; +$labels['size'] = 'الحجم'; +$labels['priority'] = 'الأولوية'; +$labels['organization'] = 'المنظمة'; +$labels['reply-to'] = 'الرد إلى'; +$labels['mailboxlist'] = 'المجلدات'; +$labels['messagesfromto'] = 'الرسالة $from إلى $to من $count'; +$labels['messagenrof'] = 'الرسالة $nr من $count'; +$labels['moveto'] = 'نقل إلى...'; +$labels['download'] = 'تنزيل'; +$labels['filename'] = 'اسم الملف'; +$labels['filesize'] = 'حجم الملف'; +$labels['preferhtml'] = 'تفضيل صيغة HTML'; +$labels['htmlmessage'] = 'رسالة بنسق HTML'; +$labels['prettydate'] = 'تواريخ منمقة'; +$labels['addtoaddressbook'] = 'إضافة إلى دفتر العناوين'; +$labels['sun'] = 'أح'; +$labels['mon'] = 'إث'; +$labels['tue'] = 'ثل'; +$labels['wed'] = 'أر'; +$labels['thu'] = 'خم'; +$labels['fri'] = 'جم'; +$labels['sat'] = 'سب'; +$labels['sunday'] = 'الأحد'; +$labels['monday'] = 'الإثنين'; +$labels['tuesday'] = 'الثلاثاء'; +$labels['wednesday'] = 'الأربعاء'; +$labels['thursday'] = 'الخميس'; +$labels['friday'] = 'الجمعة'; +$labels['saturday'] = 'السبت'; +$labels['today'] = 'اليوم'; +$labels['checkmail'] = 'التحقق من وجود رسائل جديدة'; +$labels['writenewmessage'] = 'إنشاء رسالة جديدة'; +$labels['replytomessage'] = 'الرد على الرسالة'; +$labels['replytoallmessage'] = 'الرد على المرسل وجميع مستقبلي الرسالة'; +$labels['forwardmessage'] = 'تمرير الرسالة'; +$labels['deletemessage'] = 'حذف الرسالة إلى المهملات'; +$labels['printmessage'] = 'طباعة هذه الرسالة'; +$labels['previousmessage'] = 'عرض الرسالة السابقة'; +$labels['previousmessages'] = 'عرض المجموعة السابقة من الرسائل'; +$labels['firstmessage'] = 'عرض الرسالة الأولى'; +$labels['firstmessages'] = 'عرض مجموعة الرسائل الأولى'; +$labels['nextmessage'] = 'عرض الرسالة التالية'; +$labels['nextmessages'] = 'عرض المجموعة التالية من الرسائل'; +$labels['lastmessage'] = 'عرض الرسالة الأخيرة'; +$labels['lastmessages'] = 'عرض مجموعة الرسائل الأخيرة'; +$labels['backtolist'] = 'العودة إلى لائحة الرسائل'; +$labels['viewsource'] = 'إظهار المصدر'; +$labels['select'] = 'تحديد'; +$labels['all'] = 'الكل'; +$labels['none'] = 'لا شيء'; +$labels['unread'] = 'غير المقروءة'; +$labels['compact'] = 'ضغط'; +$labels['empty'] = 'تفريغ'; +$labels['purge'] = 'إزالة'; +$labels['quota'] = 'المساحة المستخدمة'; +$labels['unknown'] = 'مجهول'; +$labels['unlimited'] = 'غير محدود'; +$labels['quicksearch'] = 'البحث السريع'; +$labels['resetsearch'] = 'استعادة البحث للافتراضي'; +$labels['compose'] = 'إنشاء رسالة'; +$labels['sendmessage'] = 'إرسال الرسالة الآن'; +$labels['savemessage'] = 'حفظ هذه المسودة'; +$labels['addattachment'] = 'إرفاق ملف'; +$labels['charset'] = 'مجموعة المحارف'; +$labels['editortype'] = 'نوع المُحرّر'; +$labels['returnreceipt'] = 'ايصال استلام'; +$labels['checkspelling'] = 'التدقيق الإملائي'; +$labels['resumeediting'] = 'متابعة التحرير'; +$labels['revertto'] = 'استعادة إلى'; +$labels['attachments'] = 'مرفقات'; +$labels['upload'] = 'تحميل'; +$labels['close'] = 'إغلاق'; +$labels['low'] = 'منخض'; +$labels['lowest'] = 'الأقل'; +$labels['normal'] = 'عادي'; +$labels['high'] = 'مرتفع'; +$labels['highest'] = 'الأعلى'; +$labels['nosubject'] = '(دون موضوع)'; +$labels['showimages'] = 'إظهار الصور'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'نص مجرد'; +$labels['name'] = 'اسم العرض'; +$labels['firstname'] = 'الإسم الأول'; +$labels['surname'] = 'الإسم الأخير'; +$labels['email'] = 'البريد الإلكتروني'; +$labels['addcontact'] = 'إضافة المراسل المحدد إلى دفتر عناويني'; +$labels['editcontact'] = 'تحرير بيانات المراسل'; +$labels['edit'] = 'تحرير'; +$labels['cancel'] = 'إلغاء'; +$labels['save'] = 'حفظ'; +$labels['delete'] = 'حذف'; +$labels['newcontact'] = 'إنشاء بطاقة مراسل جديدة'; +$labels['deletecontact'] = 'حذف المراسلين المحددين'; +$labels['composeto'] = 'إنشاء رسالة إليه'; +$labels['contactsfromto'] = 'المراسلون $from إلى $to من $count'; +$labels['print'] = 'طباعة'; +$labels['export'] = 'تصدير'; +$labels['previouspage'] = 'عرض المجموعة السابقة'; +$labels['firstpage'] = 'عرض المجموعة الأولى'; +$labels['nextpage'] = 'عرض المجموعة التالية'; +$labels['lastpage'] = 'عرض المجموعة الأخيرة'; +$labels['groups'] = 'المجموعات'; +$labels['personaladrbook'] = 'العناوين الشخصية'; +$labels['settingsfor'] = 'إعدادات'; +$labels['preferences'] = 'التفضيلات'; +$labels['userpreferences'] = 'تفضيلات المستخدم'; +$labels['editpreferences'] = 'تحرير تفضيلات المستخدم'; +$labels['identities'] = 'الهويات'; +$labels['manageidentities'] = 'إدارة هويات هذا الحساب'; +$labels['newidentity'] = 'هوية جديدة'; +$labels['newitem'] = 'عنصر جديد'; +$labels['edititem'] = 'تحرير عنصر'; +$labels['setdefault'] = 'تعيين كإفتراضي'; +$labels['language'] = 'اللغة'; +$labels['timezone'] = 'المنطقة الزمنية'; +$labels['pagesize'] = 'أسطر في الصفحة'; +$labels['signature'] = 'التوقيع'; +$labels['dstactive'] = 'التوقيت الصيفي'; +$labels['htmleditor'] = 'إنشاء رسائل بنسق HTML'; +$labels['htmlsignature'] = 'توقيع HTML'; +$labels['previewpane'] = 'إظهار قسم المعاينة'; +$labels['autosavedraft'] = 'حفظ المسودة تلقائياً'; +$labels['everynminutes'] = 'كل $n دقيقة'; +$labels['never'] = 'أبداً'; +$labels['folder'] = 'مجلد'; +$labels['folders'] = 'مجلدات'; +$labels['foldername'] = 'اسم المجلد'; +$labels['subscribed'] = 'مشترك'; +$labels['create'] = 'إنشاء'; +$labels['createfolder'] = 'إنشاء مجلد جديد'; +$labels['rename'] = 'إعادة التسمية'; +$labels['renamefolder'] = 'إعادة تسمية المجلد'; +$labels['deletefolder'] = 'حذف المجلد'; +$labels['managefolders'] = 'إدارة المجلدات'; +$labels['sortby'] = 'ترتيب بحسب'; +$labels['sortasc'] = 'ترتيب تصاعدي'; +$labels['sortdesc'] = 'ترتيب تنازلي'; + +?> \ No newline at end of file diff --git a/program/localization/ar/messages.inc b/program/localization/ar/messages.inc new file mode 100644 index 0000000..f948896 --- /dev/null +++ b/program/localization/ar/messages.inc @@ -0,0 +1,77 @@ + | + +-----------------------------------------------------------------------+ + + @version $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ + +*/ + +$messages = array(); +$messages['loginfailed'] = 'فشل تسجيل الدخول'; +$messages['cookiesdisabled'] = 'المتصفح الخاص بك لا يقبل الكوكيز'; +$messages['sessionerror'] = 'انتهت صلاحية الجلسة الحالية أو أنها غير صالحة'; +$messages['imaperror'] = 'فشل الاتصال بخادم IMAP'; +$messages['nomessagesfound'] = 'لم يعثر على أية رسائل في صندوق البريد هذا'; +$messages['loggedout'] = 'لقد قمت بإنهاء هذه الجلسة بنجاح. إلى اللقاء!'; +$messages['mailboxempty'] = 'صندوق البريد فارغ'; +$messages['loading'] = 'جاري العمل...'; +$messages['loadingdata'] = 'تحميل البيانات...'; +$messages['checkingmail'] = 'التحقق من وجود رسائل جديدة...'; +$messages['sendingmessage'] = 'إرسال الرسالة...'; +$messages['messagesent'] = 'تم إرسال الرسالة بنجاح'; +$messages['savingmessage'] = 'حفظ الرسالة...'; +$messages['messagesaved'] = 'تم حفظ الرسالة في المسودات'; +$messages['successfullysaved'] = 'تم الحفظ بنجاح'; +$messages['addedsuccessfully'] = 'تمت إضافة المراسل إلى دفتر العناوين بنجاح'; +$messages['contactexists'] = 'هناك مراسل له نفس هذا البريد الالكتروني موجود مسبقاً'; +$messages['blockedimages'] = 'لحماية خصوصيتك، تم حجب الصور الغير مضمنة (البعيدة) في هذه الرسالة.'; +$messages['encryptedmessage'] = 'هذه الرسالة مشفرة ولا يمكن عرضها. عذراً!'; +$messages['nocontactsfound'] = 'لم يعثر على أي مراسل'; +$messages['contactnotfound'] = 'تعذر العثور على المراسل المطلوب'; +$messages['sendingfailed'] = 'فشل إرسال الرسالة'; +$messages['errorsaving'] = 'حدث خطأ أثناء الحفظ'; +$messages['errormoving'] = 'تعذر نقل هذه الرسالة'; +$messages['errordeleting'] = 'تعذر حذف هذه الرسالة'; +$messages['deletecontactconfirm'] = 'هل تريد حقاً حذف المراسلـ(ين) المحدد(ين)؟'; +$messages['deletemessagesconfirm'] = 'هل تريد حذف الرسائل المحددة؟'; +$messages['deletefolderconfirm'] = 'هل تريد حقاً حذف هذا المجلد؟'; +$messages['purgefolderconfirm'] = 'هل تريد حقاً حذف جميع الرسائل في هذا المجلد؟'; +$messages['formincomplete'] = 'لم يتم تعبئة بيانات الاستمارة بالكامل'; +$messages['noemailwarning'] = 'الرجاء إدخال عنوان بريد إلكتروني صالح'; +$messages['nonamewarning'] = 'الرجاء إدخال اسم'; +$messages['nopagesizewarning'] = 'الرجاء إدخال حجم الصفحة'; +$messages['norecipientwarning'] = 'الرجاء إدخال اسم مستقبل واحد على الأقل'; +$messages['nosubjectwarning'] = 'حقل "الموضوع" فارغ. هل تريد كتابة موضوع للرسالة؟'; +$messages['nobodywarning'] = 'إرسال هذه الرسالة دون نص؟'; +$messages['notsentwarning'] = 'لم يتم إرسال الرسالة. هل تريد تجاهل الرسالة؟'; +$messages['noldapserver'] = 'الرجاء اختيار خادم ldap للبحث فيه'; +$messages['nocontactsreturned'] = 'لم يعثر على أي مراسلين'; +$messages['nosearchname'] = 'الرجاء إدخال اسم مراسل أو عنوان بريد إلكتروني'; +$messages['searchsuccessful'] = 'عثر على $nr رسائل'; +$messages['searchnomatch'] = 'لم يعثر على شيء'; +$messages['searching'] = 'جاري البحث...'; +$messages['checking'] = 'جاري التحقق...'; +$messages['nospellerrors'] = 'لم يعثر على أية أخطاء إملائية'; +$messages['folderdeleted'] = 'تم حذف المجلد بنجاح'; +$messages['deletedsuccessfully'] = 'تم الحذف بنجاح'; +$messages['converting'] = 'إزالة التنسيق من الرسالة...'; +$messages['messageopenerror'] = 'تعذرت قراءة الرسالة من الخادم'; +$messages['fileuploaderror'] = 'فشل رفع الملف'; +$messages['filesizeerror'] = 'حجم الملف الذي تحاول رفعه أكبر من الحجم الأقصى $size'; +$messages['copysuccess'] = 'تم نسخ $nr رسائل بنجاح'; +$messages['copyerror'] = 'لم يمكن نسخ أية عناوين'; +$messages['sourceisreadonly'] = 'لا يمكن تعديل مصدر العنوان هذا'; +$messages['errorsavingcontact'] = 'تعذر حفظ عنوان المراسل'; + +?> \ No newline at end of file diff --git a/program/localization/ca/labels.inc b/program/localization/ca/labels.inc index 7046bdb..ffedb30 100644 --- a/program/localization/ca/labels.inc +++ b/program/localization/ca/labels.inc @@ -1,4 +1,4 @@ - | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 560 2007-05-17 15:01:26Z thomasb $ + @version $Id: labels.inc 872 2007-10-16 09:27:16Z yllar $ */ @@ -75,7 +75,8 @@ $labels['writenewmessage'] = 'Crear nou missatge'; $labels['replytomessage'] = 'Respondre al missatge'; $labels['replytoallmessage'] = 'Respondre al remitent i a tots els destinataris'; $labels['forwardmessage'] = 'Reenviar missatge'; -$labels['deletemessage'] = 'Moure missatge a la paperera'; +$labels['deletemessage'] = 'Eliminar missatge'; +$labels['movemessagetotrash'] = 'Moure missatge a la paperera'; $labels['printmessage'] = 'Imprimir aquest missatge'; $labels['previousmessage'] = 'Mostrar el missatge anterior'; $labels['previousmessages'] = 'Mostrar missatges anteriors'; @@ -100,8 +101,8 @@ $labels['unlimited'] = 'il·limitat'; $labels['quicksearch'] = 'Cerca ràpida'; $labels['resetsearch'] = 'Neteja cerca'; $labels['compose'] = 'Escriure un missatge'; -$labels['sendmessage'] = 'Enviar ara el missatge'; $labels['savemessage'] = 'Desa aquest esborrany'; +$labels['sendmessage'] = 'Enviar ara el missatge'; $labels['addattachment'] = 'Afegir un fitxer'; $labels['charset'] = 'Codificació de caràcters'; $labels['editortype'] = 'Tipus d\'editor'; @@ -121,6 +122,9 @@ $labels['nosubject'] = '(sense assumpte)'; $labels['showimages'] = 'Mostra imatges'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Text pla'; +$labels['addcc'] = 'Afegir Cc'; +$labels['addbcc'] = 'Afegir Bcc'; +$labels['addreplyto'] = 'Afegir Reply-To'; $labels['name'] = 'Nom a mostrar'; $labels['firstname'] = 'Nom'; $labels['surname'] = 'Cognom'; @@ -178,4 +182,4 @@ $labels['sortby'] = 'Ordena per'; $labels['sortasc'] = 'Ordena ascendentment'; $labels['sortdesc'] = 'Ordena descendentment'; -?> +?> \ No newline at end of file diff --git a/program/localization/ca/messages.inc b/program/localization/ca/messages.inc index c5f8b17..143db69 100644 --- a/program/localization/ca/messages.inc +++ b/program/localization/ca/messages.inc @@ -1,4 +1,4 @@ - | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 560 2007-05-17 15:01:26Z thomasb $ + @version $Id: messages.inc 872 2007-10-16 09:27:16Z yllar $ */ @@ -74,5 +74,6 @@ $messages['copysuccess'] = 'S\'ha copiat $nr adreces correctament'; $messages['copyerror'] = 'No s\'ha pogut copiar cap adreça'; $messages['sourceisreadonly'] = 'Aquesta adreça és només de lectura.'; $messages['errorsavingcontact'] = 'No s\'ha pogut guardar l\'adreça de contacte'; +$messages['movingmessage'] = 'Movent el missatge...'; ?> \ No newline at end of file diff --git a/program/localization/cz/labels.inc b/program/localization/cz/labels.inc old mode 100755 new mode 100644 index a690e52..a8cb285 --- a/program/localization/cz/labels.inc +++ b/program/localization/cz/labels.inc @@ -14,63 +14,47 @@ | joe | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 553 2007-05-13 16:31:19Z thomasb $ + @version $Id: labels.inc 869 2007-10-15 13:27:08Z yllar $ */ $labels = array(); - -// login page -$labels['username'] = 'Uživatel'; -$labels['password'] = 'Heslo'; -$labels['server'] = 'Server'; -$labels['login'] = 'Přihlásit'; - -// taskbar -$labels['logout'] = 'Odhlásit'; -$labels['mail'] = 'E-mail'; +$labels['welcome'] = 'Vítejte v $product'; +$labels['username'] = 'Uživatel'; +$labels['password'] = 'Heslo'; +$labels['server'] = 'Server'; +$labels['login'] = 'Přihlásit'; +$labels['logout'] = 'Odhlásit'; +$labels['mail'] = 'E-mail'; $labels['settings'] = 'Osobní nastavení'; $labels['addressbook'] = 'Adresář'; - -// mailbox names -$labels['inbox'] = 'Příchozí pošta'; -$labels['sent'] = 'Odeslané'; -$labels['trash'] = 'Koš'; +$labels['inbox'] = 'Příchozí pošta'; $labels['drafts'] = 'Rozepsané'; -$labels['junk'] = 'Nevyžádaná pošta'; - -// message listing +$labels['sent'] = 'Odeslané'; +$labels['trash'] = 'Koš'; +$labels['junk'] = 'Nevyžádaná pošta'; $labels['subject'] = 'Předmět'; -$labels['from'] = 'Odesílatel'; -$labels['to'] = 'Adresát'; -$labels['cc'] = 'Kopie'; -$labels['bcc'] = 'Slepá'; +$labels['from'] = 'Odesílatel'; +$labels['to'] = 'Adresát'; +$labels['cc'] = 'Kopie'; +$labels['bcc'] = 'Slepá'; $labels['replyto'] = 'Odpověď na'; -$labels['date'] = 'Datum'; -$labels['size'] = 'Velikost'; +$labels['date'] = 'Datum'; +$labels['size'] = 'Velikost'; $labels['priority'] = 'Priorita'; $labels['organization'] = 'Organizace'; - -// aliases -$labels['reply-to'] = $labels['replyto']; - +$labels['reply-to'] = 'Odpověď na'; $labels['mailboxlist'] = 'Složky'; $labels['messagesfromto'] = 'Zprávy $from až $to z celkem $count'; $labels['messagenrof'] = 'Zpráva $nr z $count'; - -$labels['moveto'] = 'přesunout do...'; +$labels['moveto'] = 'přesunout do...'; $labels['download'] = 'stáhnout'; - $labels['filename'] = 'Jméno přílohy'; $labels['filesize'] = 'Velikost přílohy'; - $labels['preferhtml'] = 'Upřednostňovat HTML zobrazení'; $labels['htmlmessage'] = 'HTML zpráva'; $labels['prettydate'] = 'Hezčí datum'; - $labels['addtoaddressbook'] = 'Přidat do adresáře'; - -// weekdays short $labels['sun'] = 'Ne'; $labels['mon'] = 'Po'; $labels['tue'] = 'Út'; @@ -78,167 +62,124 @@ $labels['wed'] = 'St'; $labels['thu'] = 'Čt'; $labels['fri'] = 'Pá'; $labels['sat'] = 'So'; - -// weekdays long -$labels['sunday'] = 'Neděle'; -$labels['monday'] = 'Pondělí'; -$labels['tuesday'] = 'Úterý'; +$labels['sunday'] = 'Neděle'; +$labels['monday'] = 'Pondělí'; +$labels['tuesday'] = 'Úterý'; $labels['wednesday'] = 'Středa'; -$labels['thursday'] = 'Čtvrtek'; -$labels['friday'] = 'Pátek'; -$labels['saturday'] = 'Sobota'; - +$labels['thursday'] = 'Čtvrtek'; +$labels['friday'] = 'Pátek'; +$labels['saturday'] = 'Sobota'; $labels['today'] = 'Dnes'; - -// toolbar buttons -$labels['writenewmessage'] = 'Vytvořit novou zprávu'; -$labels['replytomessage'] = 'Odpovědět odesílateli'; +$labels['checkmail'] = 'Zkontrolovat nové zprávy'; +$labels['writenewmessage'] = 'Vytvořit novou zprávu'; +$labels['replytomessage'] = 'Odpovědět odesílateli'; $labels['replytoallmessage'] = 'Odpovědět všem'; -$labels['forwardmessage'] = 'Předat zprávu'; -$labels['deletemessage'] = 'Přesunout do koše'; -$labels['printmessage'] = 'Vytisknout zprávu'; +$labels['forwardmessage'] = 'Předat zprávu'; +$labels['deletemessage'] = 'Přesunout do koše'; +$labels['movemessagetotrash'] = 'Přesunout zprávu do koše'; +$labels['printmessage'] = 'Vytisknout zprávu'; +$labels['previousmessage'] = 'Zobrazit předchozí zprávu'; $labels['previousmessages'] = 'Zobrazit předchozí zprávy'; -$labels['nextmessages'] = 'Zobrazit další zprávy'; -$labels['backtolist'] = 'Zpět do seznamu zpráv'; -$labels['viewsource'] = 'Zobrazit zdroj'; - +$labels['firstmessage'] = 'Zobrazit první zprávu'; +$labels['firstmessages'] = 'Zobrazit první zprávy'; +$labels['nextmessage'] = 'Zobrazit další zprávu'; +$labels['nextmessages'] = 'Zobrazit další zprávy'; +$labels['lastmessage'] = 'Zobrazit poslední zprávu'; +$labels['lastmessages'] = 'Zobrazit poslední zprávy'; +$labels['backtolist'] = 'Zpět do seznamu zpráv'; +$labels['viewsource'] = 'Zobrazit zdroj'; $labels['select'] = 'Vybrat'; $labels['all'] = 'Vše'; $labels['none'] = 'Nic'; $labels['unread'] = 'Nepřečtené'; - -// message compose -$labels['compose'] = 'Napsat zprávu'; -$labels['sendmessage'] = 'Odeslat zprávu nyní'; -$labels['addattachment'] = 'Přidat přílohu'; - -$labels['attachments'] = 'Přílohy'; -$labels['upload'] = 'Nahrát'; -$labels['close'] = 'Zavřít'; - -$labels['low'] = 'Nízká'; -$labels['lowest'] = 'Nejnižší'; -$labels['normal'] = 'Normální'; -$labels['high'] = 'Vysoká'; -$labels['highest'] = 'Nejvyšší'; - -$labels['showimages'] = 'Zobrazit obrázky'; - - -// address boook -$labels['name'] = 'Zobrazit jméno'; -$labels['firstname'] = 'Jméno'; -$labels['surname'] = 'Příjmení'; -$labels['email'] = 'E-mail'; - -$labels['addcontact'] = 'Přidat kontakt'; -$labels['editcontact'] = 'Upravit kontakt'; - -$labels['edit'] = 'Upravit'; -$labels['cancel'] = 'Konec'; -$labels['save'] = 'Uložit'; -$labels['delete'] = 'Smazat'; - -$labels['newcontact'] = 'Vytvořit nový kontakt'; -$labels['deletecontact'] = 'Smazat vybrané kontakty'; -$labels['composeto'] = 'Poslat e-mail'; -$labels['contactsfromto'] = 'Kontakty $from až $to z celkem $count'; -$labels['print'] = 'Tisk'; -$labels['export'] = 'Export'; - - -// settings -$labels['settingsfor'] = 'Nastavení pro'; - -$labels['preferences'] = 'Vlastnosti'; -$labels['userpreferences'] = 'Vlastnosti uživatele'; -$labels['editpreferences'] = 'Upravit vlastnosti uživatele'; - -$labels['identities'] = 'Profily'; -$labels['manageidentities'] = 'Spravovat profily u tohoto účtu'; -$labels['newidentity'] = 'Nový profil'; - -$labels['newitem'] = 'Nová položka'; -$labels['edititem'] = 'Upravit položku'; - -$labels['setdefault'] = 'Nastavit výchozí'; -$labels['language'] = 'Jazyk'; -$labels['timezone'] = 'Časová zóna'; -$labels['pagesize'] = 'Řádků na stránku'; - -$labels['folders'] = 'Složky'; -$labels['folder'] = 'Složka'; -$labels['foldername'] = 'Jméno složky'; -$labels['subscribed'] = 'Vybráno'; -$labels['create'] = 'Vytvořit'; -$labels['createfolder'] = 'Vytvořit novou složku'; -$labels['deletefolder'] = 'Smazat složku'; -$labels['managefolders'] = 'Spravovat složky'; - $labels['compact'] = 'Kompaktní'; $labels['empty'] = 'Prázdný'; $labels['purge'] = 'Vyprázdnit'; $labels['quota'] = 'Využití schránky'; - -$labels['sortby'] = 'Seřadit podle'; -$labels['sortdesc'] = 'Seřadit sestupně'; -$labels['sortasc'] = 'Seřadit vzestupně'; - -$labels['nosubject'] = '(bez predmetu)'; -$labels['signature'] = 'Podpis'; -$labels['charset'] = 'Znaková sada'; - -$labels['ldapsearch'] = 'Hledat v LDAP adresáři'; -$labels['ldappublicsearchname'] = 'Jméno kontaktu'; -$labels['ldappublicsearchtype'] = 'Doslovné znění?'; -$labels['ldappublicserverselect'] = 'Zvolit servery'; -$labels['ldappublicsearchfield'] = 'Hledat na'; -$labels['ldappublicsearchform'] = 'Hledat kontakt'; -$labels['ldappublicsearch'] = 'Hledat'; - -$labels['welcome'] = 'Vítejte v $product'; - $labels['unknown'] = 'neznámý'; $labels['unlimited'] = 'neomezený'; -$labels['dstactive'] = 'Letní čas'; - -$labels['previouspage'] = 'Předchozí'; -$labels['nextpage'] = 'Další'; - +$labels['quicksearch'] = 'Rychlé vyhledávání'; +$labels['resetsearch'] = 'Zrušit vyhledávání'; +$labels['compose'] = 'Napsat zprávu'; +$labels['savemessage'] = 'Uložit do rozepsaných'; +$labels['sendmessage'] = 'Odeslat zprávu nyní'; +$labels['addattachment'] = 'Přidat přílohu'; +$labels['charset'] = 'Znaková sada'; +$labels['editortype'] = 'Typ editoru zpráv'; $labels['returnreceipt'] = 'Doručenka'; - -$labels['checkmail'] = 'Zkontrolovat nové zprávy'; $labels['checkspelling'] = 'Zkontrolovat pravopis'; $labels['resumeediting'] = 'Pokračovat v úpravách'; $labels['revertto'] = 'Přejít na'; - -$labels['savemessage'] = 'Uložit do rozepsaných'; -$labels['rename'] = 'Přejmenovat'; -$labels['renamefolder'] = 'Přejmenovat složku'; - -$labels['description'] = 'Popis'; - -$labels['previousmessage'] = 'Zobrazit předchozí zprávu'; -$labels['firstmessage'] = 'Zobrazit první zprávu'; -$labels['firstmessages'] = 'Zobrazit první zprávy'; -$labels['nextmessage'] = 'Zobrazit další zprávu'; -$labels['lastmessage'] = 'Zobrazit poslední zprávu'; -$labels['lastmessages'] = 'Zobrazit poslední zprávy'; -$labels['quicksearch'] = 'Rychlé vyhledávání'; -$labels['resetsearch'] = 'Zrušit vyhledávání'; -$labels['editortype'] = 'Typ editoru zpráv'; +$labels['attachments'] = 'Přílohy'; +$labels['upload'] = 'Nahrát'; +$labels['close'] = 'Zavřít'; +$labels['low'] = 'Nízká'; +$labels['lowest'] = 'Nejnižší'; +$labels['normal'] = 'Normální'; +$labels['high'] = 'Vysoká'; +$labels['highest'] = 'Nejvyšší'; +$labels['nosubject'] = '(bez predmetu)'; +$labels['showimages'] = 'Zobrazit obrázky'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Prostý text'; -$labels['firstpage'] = 'Zobrazit první zprávy'; -$labels['lastpage'] = 'Zobrazit poslední zprávy'; +$labels['addcc'] = 'Přidat pole "Kopie"'; +$labels['addbcc'] = 'Přidat pole "Skrytá Kopie"'; +$labels['addreplyto'] = 'Přidat pole "Odpověď"'; +$labels['name'] = 'Zobrazit jméno'; +$labels['firstname'] = 'Jméno'; +$labels['surname'] = 'Příjmení'; +$labels['email'] = 'E-mail'; +$labels['addcontact'] = 'Přidat kontakt'; +$labels['editcontact'] = 'Upravit kontakt'; +$labels['edit'] = 'Upravit'; +$labels['cancel'] = 'Konec'; +$labels['save'] = 'Uložit'; +$labels['delete'] = 'Smazat'; +$labels['newcontact'] = 'Vytvořit nový kontakt'; +$labels['deletecontact'] = 'Smazat vybrané kontakty'; +$labels['composeto'] = 'Poslat e-mail'; +$labels['contactsfromto'] = 'Kontakty $from až $to z celkem $count'; +$labels['print'] = 'Tisk'; +$labels['export'] = 'Export'; +$labels['previouspage'] = 'Předchozí'; +$labels['firstpage'] = 'Zobrazit první zprávy'; +$labels['nextpage'] = 'Další'; +$labels['lastpage'] = 'Zobrazit poslední zprávy'; $labels['groups'] = 'Skupiny'; $labels['personaladrbook'] = 'Osobní kontakty'; +$labels['settingsfor'] = 'Nastavení pro'; +$labels['preferences'] = 'Vlastnosti'; +$labels['userpreferences'] = 'Vlastnosti uživatele'; +$labels['editpreferences'] = 'Upravit vlastnosti uživatele'; +$labels['identities'] = 'Profily'; +$labels['manageidentities'] = 'Spravovat profily u tohoto účtu'; +$labels['newidentity'] = 'Nový profil'; +$labels['newitem'] = 'Nová položka'; +$labels['edititem'] = 'Upravit položku'; +$labels['setdefault'] = 'Nastavit výchozí'; +$labels['language'] = 'Jazyk'; +$labels['timezone'] = 'Časová zóna'; +$labels['pagesize'] = 'Řádků na stránku'; +$labels['signature'] = 'Podpis'; +$labels['dstactive'] = 'Letní čas'; $labels['htmleditor'] = 'Vytvářet HTML zprávy'; $labels['htmlsignature'] = 'HTML podpis'; $labels['previewpane'] = 'Zobrazit panel náhledu'; -$labels['autosavedraft'] = 'Automaticky uložit rozepsané zprávy'; -$labels['everynminutes'] = 'každých $n minut'; -$labels['never'] = 'nikdy'; - +$labels['autosavedraft'] = 'Automaticky uložit rozepsané zprávy'; +$labels['everynminutes'] = 'každých $n minut'; +$labels['never'] = 'nikdy'; +$labels['folder'] = 'Složka'; +$labels['folders'] = 'Složky'; +$labels['foldername'] = 'Jméno složky'; +$labels['subscribed'] = 'Vybráno'; +$labels['create'] = 'Vytvořit'; +$labels['createfolder'] = 'Vytvořit novou složku'; +$labels['rename'] = 'Přejmenovat'; +$labels['renamefolder'] = 'Přejmenovat složku'; +$labels['deletefolder'] = 'Smazat složku'; +$labels['managefolders'] = 'Spravovat složky'; +$labels['sortby'] = 'Seřadit podle'; +$labels['sortasc'] = 'Seřadit vzestupně'; +$labels['sortdesc'] = 'Seřadit sestupně'; -?> +?> \ No newline at end of file diff --git a/program/localization/cz/messages.inc b/program/localization/cz/messages.inc old mode 100755 new mode 100644 index 106f3df..97c3042 --- a/program/localization/cz/messages.inc +++ b/program/localization/cz/messages.inc @@ -14,60 +14,58 @@ | joe | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 553 2007-05-13 16:31:19Z thomasb $ + @version $Id: messages.inc 869 2007-10-15 13:27:08Z yllar $ */ $messages = array(); - -$messages['loginfailed'] = 'Přihlášení selhalo'; +$messages['loginfailed'] = 'Přihlášení selhalo'; $messages['cookiesdisabled'] = 'Váš prohlížeč nepodporuje cookies, které jsou pro přihlášení nezbytné'; $messages['sessionerror'] = 'Vaše přihlášení je neplatné nebo vypršelo'; $messages['imaperror'] = 'Připojení na IMAP server selhalo'; $messages['nomessagesfound'] = 'Ve schránce nebyla nalezena žádná zpráva'; $messages['loggedout'] = 'Byli jste úspěšně odhlášeni. Nashledanou!'; $messages['mailboxempty'] = 'Schránka je prázdná'; +$messages['loading'] = 'Načítám...'; $messages['loadingdata'] = 'Načítám data...'; +$messages['checkingmail'] = 'Kontroluji nové zprávy...'; +$messages['sendingmessage'] = 'Odesílám zprávu...'; $messages['messagesent'] = 'Zpráva byla odeslána'; +$messages['savingmessage'] = 'Ukládám zprávu...'; +$messages['messagesaved'] = 'Zpráva uložena do Rozepsané'; $messages['successfullysaved'] = 'Uloženo'; $messages['addedsuccessfully'] = 'Kontakt byl úspěšně přidán do adresáře'; $messages['contactexists'] = 'Kontakt se zadanou e-mailovou adresou již existuje'; $messages['blockedimages'] = 'Z bezpečnostních důvodů byly zablokovány obrázky ve zprávě.'; $messages['encryptedmessage'] = 'Tato zpráva je zašifrovaná a nelze ji zobrazit.'; $messages['nocontactsfound'] = 'Nemáte žádné kontakty'; +$messages['contactnotfound'] = 'Požadovaný kontakt nebyl nalezen.'; $messages['sendingfailed'] = 'Odesílání zprávy selhalo'; $messages['errorsaving'] = 'Vyskytla se chyba při ukládání'; $messages['errormoving'] = 'Nemohu přesunout zprávu'; $messages['errordeleting'] = 'Nemohu smazat zprávu'; -$messages['loading'] = 'Načítám...'; -$messages['sendingmessage'] = 'Odesílám zprávu...'; +$messages['deletecontactconfirm'] = 'Opravdu chcete smazat označené kontakty?'; +$messages['deletemessagesconfirm'] = 'Opravdu chcete smazat označené zprávy?'; +$messages['deletefolderconfirm'] = 'Chcete opravdu smazat tento adresář?'; +$messages['purgefolderconfirm'] = 'Opravdu chcete smazat všechny zprávy v této složce?'; +$messages['formincomplete'] = 'Formulář nebyl korektně vyplněn'; $messages['noemailwarning'] = 'Zadejte, prosím, platnou adresu'; -$messages['nonamewarning'] = 'Zadejte, prosím, jméno'; +$messages['nonamewarning'] = 'Zadejte, prosím, jméno'; $messages['nopagesizewarning'] = 'Zadejte, prosím, velikost stránky'; -$messages['formincomplete'] = 'Formulář nebyl korektně vyplněn'; $messages['norecipientwarning'] = 'Zadejte, prosím, alespoň jednoho příjemce'; -$messages['nosubjectwarning'] = 'Předmět nebyl vyplňen. Přejete si jej zadat nyní?'; +$messages['nosubjectwarning'] = 'Předmět nebyl vyplňen. Přejete si jej zadat nyní?'; $messages['nobodywarning'] = 'Opravdu chtete odeslat prázdnou zprávu?'; -$messages['deletefolderconfirm'] = 'Chcete opravdu smazat tento adresář?'; $messages['notsentwarning'] = 'Zpráva nebyla odeslána. Přejete si zprávu zahodit?'; $messages['noldapserver'] = 'Zvolte, prosím, LDAP server k hledání'; $messages['nocontactsreturned'] = 'Nebyly nalezeny žádné kontakty'; $messages['nosearchname'] = 'Zadejte, prosím, jméno nebo e-mail kontaktu'; -$messages['checking'] = 'Kontroluji...'; -$messages['nospellerrors'] = 'Nebyly nalezeny žádné chyby'; -$messages['checkingmail'] = 'Kontroluji nové zprávy...'; -$messages['savingmessage'] = 'Ukládám zprávu...'; -$messages['messagesaved'] = 'Zpráva uložena do Rozepsané'; -$messages['folderdeleted'] = 'Složka byla úspěšně vymazána'; - -$messages['contactnotfound'] = 'Požadovaný kontakt nebyl nalezen.'; -$messages['deletecontactconfirm'] = 'Opravdu chcete smazat označené kontakty?'; -$messages['deletemessagesconfirm'] = 'Opravdu chcete smazat označené zprávy?'; -$messages['purgefolderconfirm'] = 'Opravdu chcete smazat všechny zprávy v této složce?'; $messages['searchsuccessful'] = '$nr zpráv nalezeno'; $messages['searchnomatch'] = 'Nenalezena žádná zpráva'; $messages['searching'] = 'Vyhledávám...'; -$messages['deletedsuccessfully'] = "Úspěšně smazáno"; +$messages['checking'] = 'Kontroluji...'; +$messages['nospellerrors'] = 'Nebyly nalezeny žádné chyby'; +$messages['folderdeleted'] = 'Složka byla úspěšně vymazána'; +$messages['deletedsuccessfully'] = 'Úspěšně smazáno'; $messages['converting'] = 'Odstranuji formátování ze zprávy...'; $messages['messageopenerror'] = 'Nemohu načíst zprávu ze serveru'; $messages['fileuploaderror'] = 'Nahrávání souboru selhalo'; @@ -76,5 +74,6 @@ $messages['copysuccess'] = 'Úspěšně zkopírováno $nr adres'; $messages['copyerror'] = 'Nemohu zkopírovat žádnou adresu'; $messages['sourceisreadonly'] = 'Tento zdroj adres je pouze pro čtení'; $messages['errorsavingcontact'] = 'Nemohu uložit adresu kontaktu'; +$messages['movingmessage'] = 'Přesouvám zprávu...'; -?> +?> \ No newline at end of file diff --git a/program/localization/da/labels.inc b/program/localization/da/labels.inc index 923733b..76b35d1 100644 --- a/program/localization/da/labels.inc +++ b/program/localization/da/labels.inc @@ -15,7 +15,7 @@ | Søren Aggeboe | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 553 2007-05-13 16:31:19Z thomasb $ + @version $Id: labels.inc 886 2007-10-19 07:24:53Z yllar $ */ @@ -76,7 +76,8 @@ $labels['writenewmessage'] = 'Skriv en ny besked'; $labels['replytomessage'] = 'Svar på denne besked'; $labels['replytoallmessage'] = 'Svar til alle modtagere'; $labels['forwardmessage'] = 'Videresend denne besked'; -$labels['deletemessage'] = 'Flyt beskeden til skrald'; +$labels['deletemessage'] = 'Slet besked'; +$labels['movemessagetotrash'] = 'Flyt besked til skrald'; $labels['printmessage'] = 'Udskriv denne besked'; $labels['previousmessage'] = 'Vis forrige besked'; $labels['previousmessages'] = 'Vis forrige sæt beskeder'; @@ -101,8 +102,8 @@ $labels['unlimited'] = 'ubegrænset'; $labels['quicksearch'] = 'Hurtigsøgning'; $labels['resetsearch'] = 'Nulstil søgning'; $labels['compose'] = 'Forfat en besked'; -$labels['sendmessage'] = 'Send beskeden nu'; $labels['savemessage'] = 'Gem denne kladde'; +$labels['sendmessage'] = 'Send beskeden nu'; $labels['addattachment'] = 'Vedhæft en fil'; $labels['charset'] = 'Tegnsæt'; $labels['editortype'] = 'Tekstbehandler'; @@ -122,6 +123,9 @@ $labels['nosubject'] = '(intet emne)'; $labels['showimages'] = 'Vis billeder'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Almindelig tekst'; +$labels['addcc'] = 'Tilføj Cc'; +$labels['addbcc'] = 'Tilføj Bcc'; +$labels['addreplyto'] = 'Tilføj Svar-Til adresse'; $labels['name'] = 'Vist navn'; $labels['firstname'] = 'Fornavn'; $labels['surname'] = 'Efternavn'; @@ -179,4 +183,4 @@ $labels['sortby'] = 'Sortér efter'; $labels['sortasc'] = 'Ældste først'; $labels['sortdesc'] = 'Nyeste først'; -?> +?> \ No newline at end of file diff --git a/program/localization/da/messages.inc b/program/localization/da/messages.inc index 6d14f8e..b0e6306 100644 --- a/program/localization/da/messages.inc +++ b/program/localization/da/messages.inc @@ -15,7 +15,7 @@ | Søren Aggeboe | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 553 2007-05-13 16:31:19Z thomasb $ + @version $Id: messages.inc 886 2007-10-19 07:24:53Z yllar $ */ @@ -75,5 +75,6 @@ $messages['copysuccess'] = 'Det lykkedes at kopiere $nr adresser'; $messages['copyerror'] = 'Kunne ikke kopiere adresserne'; $messages['sourceisreadonly'] = 'Denne adressekilde er kun til læsning'; $messages['errorsavingcontact'] = 'Kunne ikke gemme kontakt adressen'; +$messages['movingmessage'] = 'Flytter besked...'; -?> +?> \ No newline at end of file diff --git a/program/localization/de_CH/labels.inc b/program/localization/de_CH/labels.inc index 0456ff2..425ac22 100644 --- a/program/localization/de_CH/labels.inc +++ b/program/localization/de_CH/labels.inc @@ -14,7 +14,7 @@ | Corrections: Alexander Stiebing | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 549 2007-05-01 18:53:56Z thomasb $ + @version $Id: labels.inc 816 2007-09-26 08:13:21Z thomasb $ */ @@ -97,7 +97,8 @@ $labels['writenewmessage'] = 'Neue Nachricht schreiben'; $labels['replytomessage'] = 'Antwort verfassen'; $labels['replytoallmessage'] = 'Antwort an Absender und alle Empfänger'; $labels['forwardmessage'] = 'Nachricht weiterleiten'; -$labels['deletemessage'] = 'In den Papierkorb verschieben'; +$labels['deletemessage'] = 'Nachricht löschen'; +$labels['movemessagetotrash'] = 'Nachricht in den Papierkorb verschieben'; $labels['printmessage'] = 'Diese Nachricht drucken'; $labels['previousmessage'] = 'Vorherige Nachricht anzeigen'; $labels['previousmessages'] = 'Vorherige Nachrichten anzeigen'; @@ -156,6 +157,10 @@ $labels['showimages'] = 'Bilder anzeigen'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Klartext'; +$labels['addcc'] = 'Cc hinzufügen'; +$labels['addbcc'] = 'Bcc hinzufügen'; +$labels['addreplyto'] = 'Antwortadresse hinzufügen'; + // address book // Adressbuch $labels['name'] = 'Anzeigename'; diff --git a/program/localization/de_DE/labels.inc b/program/localization/de_DE/labels.inc index c29841f..2f69c14 100644 --- a/program/localization/de_DE/labels.inc +++ b/program/localization/de_DE/labels.inc @@ -13,7 +13,7 @@ | Author: Stephan Diehl | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 549 2007-05-01 18:53:56Z thomasb $ + @version $Id: labels.inc 858 2007-10-04 10:14:19Z Stiwi $ */ @@ -74,7 +74,8 @@ $labels['writenewmessage'] = 'Neue Nachricht schreiben'; $labels['replytomessage'] = 'Antwort verfassen'; $labels['replytoallmessage'] = 'Antwort an Absender und alle Empfänger'; $labels['forwardmessage'] = 'Nachricht weiterleiten'; -$labels['deletemessage'] = 'Nachricht in den Papierkorb verschieben'; +$labels['deletemessage'] = 'Nachricht löschen'; +$labels['movemessagetotrash'] = 'Nachricht in den Papierkorb verschieben'; $labels['printmessage'] = 'Diese Nachricht drucken'; $labels['previousmessage'] = 'Vorherige Nachricht anzeigen'; $labels['previousmessages'] = 'Vorherige Nachrichten anzeigen'; @@ -99,8 +100,8 @@ $labels['unlimited'] = 'unbegrenzt'; $labels['quicksearch'] = 'Schnellsuche'; $labels['resetsearch'] = 'Suche zurücksetzen'; $labels['compose'] = 'Neue Nachricht verfassen'; -$labels['sendmessage'] = 'Nachricht jetzt senden'; $labels['savemessage'] = 'Nachricht speichern'; +$labels['sendmessage'] = 'Nachricht jetzt senden'; $labels['addattachment'] = 'Datei anfügen'; $labels['charset'] = 'Zeichensatz'; $labels['editortype'] = 'Editor Typ'; @@ -120,6 +121,9 @@ $labels['nosubject'] = '(kein Betreff)'; $labels['showimages'] = 'Bilder anzeigen'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Nur-Text'; +$labels['addcc'] = 'Cc hinzufügen'; +$labels['addbcc'] = 'Bcc hinzufügen'; +$labels['addreplyto'] = 'Antwortadresse hinzufügen'; $labels['name'] = 'Anzeigename'; $labels['firstname'] = 'Vorname'; $labels['surname'] = 'Nachname'; @@ -177,4 +181,4 @@ $labels['sortby'] = 'Sortieren nach'; $labels['sortasc'] = 'Aufsteigend sortieren'; $labels['sortdesc'] = 'Absteigend sortieren'; -?> \ No newline at end of file +?> diff --git a/program/localization/de_DE/messages.inc b/program/localization/de_DE/messages.inc index f742eae..ea109a9 100644 --- a/program/localization/de_DE/messages.inc +++ b/program/localization/de_DE/messages.inc @@ -1,4 +1,4 @@ - | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 557 2007-05-15 06:41:32Z yllar $ + @version $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -73,5 +73,6 @@ $messages['copysuccess'] = '$nr Adressen erfolgreich kopiert'; $messages['copyerror'] = 'Die Adressen konnten nicht kopiert werden'; $messages['sourceisreadonly'] = 'Das Adressverzeichnis kann nicht verändert werden'; $messages['errorsavingcontact'] = 'Die Änderungen konnten nicht gespeichert werden'; +$messages['movingmessage'] = 'Die E-Mail wird verschoben...'; ?> \ No newline at end of file diff --git a/program/localization/el/labels.inc b/program/localization/el/labels.inc old mode 100755 new mode 100644 index cdfee08..8ba5cf8 --- a/program/localization/el/labels.inc +++ b/program/localization/el/labels.inc @@ -14,7 +14,7 @@ | John Economou | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: labels.inc 612 2007-06-12 18:17:21Z thomasb $ */ diff --git a/program/localization/el/messages.inc b/program/localization/el/messages.inc old mode 100755 new mode 100644 index a5fb405..c490f58 --- a/program/localization/el/messages.inc +++ b/program/localization/el/messages.inc @@ -14,7 +14,7 @@ | John Economou | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: messages.inc 612 2007-06-12 18:17:21Z thomasb $ */ diff --git a/program/localization/en_GB/labels.inc b/program/localization/en_GB/labels.inc index 83e204a..7d26459 100644 --- a/program/localization/en_GB/labels.inc +++ b/program/localization/en_GB/labels.inc @@ -13,7 +13,7 @@ | Author: Weiran Zhang (weiran@weiran.co.uk) | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 543 2007-04-28 18:07:12Z thomasb $ + @version $Id: labels.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -37,7 +37,6 @@ $labels['inbox'] = 'Inbox'; $labels['drafts'] = 'Drafts'; $labels['sent'] = 'Sent'; $labels['trash'] = 'Deleted Items'; -$labels['drafts'] = 'Drafts'; $labels['junk'] = 'Junk'; // message listing @@ -65,7 +64,7 @@ $labels['download'] = 'download'; $labels['filename'] = 'File name'; $labels['filesize'] = 'File size'; -$labels['preferhtml'] = 'Prefer HTML'; +$labels['preferhtml'] = 'Display HTML'; $labels['htmlmessage'] = 'HTML Message'; $labels['prettydate'] = 'Pretty dates'; @@ -97,10 +96,17 @@ $labels['writenewmessage'] = 'Create a new message'; $labels['replytomessage'] = 'Reply to the message'; $labels['replytoallmessage'] = 'Reply to sender and all recipients'; $labels['forwardmessage'] = 'Forward the message'; -$labels['deletemessage'] = 'Move message to trash'; +$labels['deletemessage'] = 'Delete message'; +$labels['movemessagetotrash'] = 'Move message to "Deleted Items"'; $labels['printmessage'] = 'Print this message'; +$labels['previousmessage'] = 'Show the previous message'; $labels['previousmessages'] = 'Show previous set of messages'; +$labels['firstmessage'] = 'Show the first message'; +$labels['firstmessages'] = 'Show first set of messages'; +$labels['nextmessage'] = 'Show the next message'; $labels['nextmessages'] = 'Show next set of messages'; +$labels['lastmessage'] = 'Show the last message'; +$labels['lastmessages'] = 'Show last set of messages'; $labels['backtolist'] = 'Back to message list'; $labels['viewsource'] = 'Show source'; @@ -114,14 +120,25 @@ $labels['empty'] = 'Empty'; $labels['purge'] = 'Purge'; $labels['quota'] = 'Disk usage'; +$labels['unknown'] = 'unknown'; +$labels['unlimited'] = 'unlimited'; + +$labels['quicksearch'] = 'Quick search'; +$labels['resetsearch'] = 'Reset search'; // message compose -$labels['compose'] = 'Compose a message'; -$labels['savemessage'] = 'Save this draft'; -$labels['sendmessage'] = 'Send the message now'; +$labels['compose'] = 'Compose a message'; +$labels['savemessage'] = 'Save this draft'; +$labels['sendmessage'] = 'Send the message now'; $labels['addattachment'] = 'Attach a file'; -$labels['charset'] = 'Charset'; +$labels['charset'] = 'Charset'; +$labels['editortype'] = 'Editor type'; +$labels['returnreceipt'] = 'Return receipt'; + +$labels['checkspelling'] = 'Check spelling'; +$labels['resumeediting'] = 'Resume editing'; +$labels['revertto'] = 'Revert to'; $labels['attachments'] = 'Attachments'; $labels['upload'] = 'Upload'; @@ -136,6 +153,9 @@ $labels['highest'] = 'Highest'; $labels['nosubject'] = '(no subject)'; $labels['showimages'] = 'Display images'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'Plain text'; + // address boook $labels['name'] = 'Display name'; @@ -158,6 +178,14 @@ $labels['contactsfromto'] = 'Contacts $from to $to of $count'; $labels['print'] = 'Print'; $labels['export'] = 'Export'; +$labels['previouspage'] = 'Show previous set'; +$labels['firstpage'] = 'Show first set'; +$labels['nextpage'] = 'Show next set'; +$labels['lastpage'] = 'Show last set'; + +$labels['groups'] = 'Groups'; +$labels['personaladrbook'] = 'Personal Addresses'; + // settings $labels['settingsfor'] = 'Settings for'; @@ -178,6 +206,14 @@ $labels['language'] = 'Language'; $labels['timezone'] = 'Time zone'; $labels['pagesize'] = 'Rows per page'; $labels['signature'] = 'Signature'; +$labels['dstactive'] = 'Daylight savings'; +$labels['htmleditor'] = 'Compose HTML messages'; +$labels['htmlsignature'] = 'HTML signature'; +$labels['previewpane'] = 'Show preview pane'; + +$labels['autosavedraft'] = 'Automatically save draft'; +$labels['everynminutes'] = 'every $n minutes'; +$labels['never'] = 'never'; $labels['folder'] = 'Folder'; $labels['folders'] = 'Folders'; @@ -185,6 +221,8 @@ $labels['foldername'] = 'Folder name'; $labels['subscribed'] = 'Subscribed'; $labels['create'] = 'Create'; $labels['createfolder'] = 'Create new folder'; +$labels['rename'] = 'Rename'; +$labels['renamefolder'] = 'Rename folder'; $labels['deletefolder'] = 'Delete folder'; $labels['managefolders'] = 'Manage folders'; diff --git a/program/localization/en_GB/messages.inc b/program/localization/en_GB/messages.inc index cc31bf2..dce6e12 100644 --- a/program/localization/en_GB/messages.inc +++ b/program/localization/en_GB/messages.inc @@ -13,14 +13,14 @@ | Author: Weiran Zhang (weiran@weiran.co.uk) | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 466 2007-02-06 09:17:01Z tomekp $ + @version $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ */ $messages = array(); $messages['loginfailed'] = 'Login failed'; $messages['cookiesdisabled'] = 'Your browser does not accept cookies'; -$messages['sessionerror'] = 'Your session is invalid or expired'; +$messages['sessionerror'] = 'Your session is invalid or has expired'; $messages['imaperror'] = 'Connection to IMAP server failed'; $messages['nomessagesfound'] = 'No messages found in this mailbox'; $messages['loggedout'] = 'You have successfully terminated the session. Good bye!'; @@ -28,37 +28,51 @@ $messages['mailboxempty'] = 'Mailbox is empty'; $messages['loading'] = 'Loading...'; $messages['loadingdata'] = 'Loading data...'; $messages['checkingmail'] = 'Checking for new messages...'; +$messages['sendingmessage'] = 'Sending message...'; $messages['messagesent'] = 'Message sent successfully'; $messages['savingmessage'] = 'Saving message...'; $messages['messagesaved'] = 'Message saved to Drafts'; $messages['successfullysaved'] = 'Successfully saved'; -$messages['addedsuccessfully'] = 'Contact added successfully to address book'; +$messages['addedsuccessfully'] = 'Contact successfully added to address book'; $messages['contactexists'] = 'A contact with this e-mail address already exists'; $messages['blockedimages'] = 'To protect your privacy, remote images are blocked in this message.'; $messages['encryptedmessage'] = 'This is an encrypted message and can not be displayed. Sorry!'; $messages['nocontactsfound'] = 'No contacts found'; +$messages['contactnotfound'] = 'The requested contact was not found'; $messages['sendingfailed'] = 'Failed to send message'; $messages['errorsaving'] = 'An error occured while saving'; $messages['errormoving'] = 'Could not move the message'; $messages['errordeleting'] = 'Could not delete the message'; $messages['deletecontactconfirm'] = 'Do you really want to delete the selected contact(s)?'; +$messages['deletemessagesconfirm'] = 'Do you really want to delete the selected message(s)?'; $messages['deletefolderconfirm'] = 'Do you really want to delete this folder?'; +$messages['purgefolderconfirm'] = 'Do you really want to delete all messages in this folder?'; $messages['formincomplete'] = 'The form was not completely filled out'; $messages['noemailwarning'] = 'Please enter a valid email address'; $messages['nonamewarning'] = 'Please enter a name'; $messages['nopagesizewarning'] = 'Please enter a page size'; $messages['norecipientwarning'] = 'Please enter at least one recipient'; $messages['nosubjectwarning'] = 'The "Subject" field is empty. Would you like to enter one now?'; -$messages['nobodywarning'] = 'Send this message without text?'; -$messages['notsentwarning'] = 'Message has not been sent. Do you want to discard your message?'; -$messages['noldapserver'] = 'Please select an ldap server to search'; +$messages['nobodywarning'] = 'Send this message without any text?'; +$messages['notsentwarning'] = 'Your message has not been sent. Do you want to discard it?'; +$messages['noldapserver'] = 'Please select an LDAP server to search'; $messages['nocontactsreturned'] = 'No contacts were found'; $messages['nosearchname'] = 'Please enter a contact name or email address'; $messages['searchsuccessful'] = '$nr messages found'; -$messages['searchnomatch'] = 'Search returned no matches'; +$messages['searchnomatch'] = 'Search found no matches'; $messages['searching'] = 'Searching...'; $messages['checking'] = 'Checking...'; $messages['nospellerrors'] = 'No spelling errors found'; $messages['folderdeleted'] = 'Folder successfully deleted'; +$messages['deletedsuccessfully'] = "Successfully deleted"; +$messages['converting'] = 'Removing formatting from message...'; +$messages['messageopenerror'] = 'Could not load message from server'; +$messages['fileuploaderror'] = 'File upload failed'; +$messages['filesizeerror'] = 'The uploaded file exceeds the maximum size of $size'; +$messages['copysuccess'] = 'Successfully copied $nr addresses'; +$messages['copyerror'] = 'Could not copy any addresses'; +$messages['sourceisreadonly'] = 'This address source is read-only'; +$messages['errorsavingcontact'] = 'Could not save the contact address'; +$messages['movingmessage'] = 'Moving message...'; ?> \ No newline at end of file diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index b24ac0e..c893a63 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -13,7 +13,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 543 2007-04-28 18:07:12Z thomasb $ + @version $Id: labels.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -96,7 +96,8 @@ $labels['writenewmessage'] = 'Create a new message'; $labels['replytomessage'] = 'Reply to the message'; $labels['replytoallmessage'] = 'Reply to sender and all recipients'; $labels['forwardmessage'] = 'Forward the message'; -$labels['deletemessage'] = 'Move message to trash'; +$labels['deletemessage'] = 'Delete message'; +$labels['movemessagetotrash'] = 'Move message to trash'; $labels['printmessage'] = 'Print this message'; $labels['previousmessage'] = 'Show the previous message'; $labels['previousmessages'] = 'Show previous set of messages'; @@ -128,8 +129,8 @@ $labels['resetsearch'] = 'Reset search'; // message compose $labels['compose'] = 'Compose a message'; +$labels['savemessage'] = 'Save this draft'; $labels['sendmessage'] = 'Send the message now'; -$labels['savemessage'] = 'Save this draft'; $labels['addattachment'] = 'Attach a file'; $labels['charset'] = 'Charset'; $labels['editortype'] = 'Editor type'; @@ -155,6 +156,10 @@ $labels['showimages'] = 'Display images'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Plain text'; +$labels['addcc'] = 'Add Cc'; +$labels['addbcc'] = 'Add Bcc'; +$labels['addreplyto'] = 'Add Reply-To'; + // address boook $labels['name'] = 'Display name'; diff --git a/program/localization/en_US/messages.inc b/program/localization/en_US/messages.inc index 587c71a..8240eda 100644 --- a/program/localization/en_US/messages.inc +++ b/program/localization/en_US/messages.inc @@ -3,7 +3,7 @@ /* +-----------------------------------------------------------------------+ - | language/en/messages.inc | + | language/en_US/messages.inc | | | | Language file of the RoundCube Webmail client | | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | @@ -13,7 +13,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 543 2007-04-28 18:07:12Z thomasb $ + @version $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -39,7 +39,6 @@ $messages['blockedimages'] = 'To protect your privacy, remote images are blocked $messages['encryptedmessage'] = 'This is an encrypted message and can not be displayed. Sorry!'; $messages['nocontactsfound'] = 'No contacts found'; $messages['contactnotfound'] = 'The requested contact was not found'; - $messages['sendingfailed'] = 'Failed to send message'; $messages['errorsaving'] = 'An error occured while saving'; $messages['errormoving'] = 'Could not move the message'; @@ -70,10 +69,10 @@ $messages['converting'] = 'Removing formatting from message...'; $messages['messageopenerror'] = 'Could not load message from server'; $messages['fileuploaderror'] = 'File upload failed'; $messages['filesizeerror'] = 'The uploaded file exceeds the maximum size of $size'; - $messages['copysuccess'] = 'Successfully copied $nr addresses'; $messages['copyerror'] = 'Could not copy any addresses'; $messages['sourceisreadonly'] = 'This address source is read only'; $messages['errorsavingcontact'] = 'Could not save the contact address'; +$messages['movingmessage'] = 'Moving message...'; -?> +?> \ No newline at end of file diff --git a/program/localization/eo/labels.inc b/program/localization/eo/labels.inc new file mode 100644 index 0000000..9ec4f7a --- /dev/null +++ b/program/localization/eo/labels.inc @@ -0,0 +1,233 @@ + | + +-----------------------------------------------------------------------+ + + @version $Id: labels.inc 858 2007-10-04 10:14:19Z Stiwi $ + +*/ + + +$labels = array(); + +// login page +$labels['welcome'] = 'Bonvenon al $product'; +$labels['username'] = 'Uzanta-nomo'; +$labels['password'] = 'Pasvorto'; +$labels['server'] = 'Servilo'; +$labels['login'] = 'Ensalutu'; + +// taskbar +$labels['logout'] = 'Elsalutu'; +$labels['mail'] = 'Retpoŝto'; +$labels['settings'] = 'Preferoj'; +$labels['addressbook'] = 'Adresaro'; + +// mailbox names +$labels['inbox'] = 'Ricevitujo'; +$labels['drafts'] = 'Malnetujo'; +$labels['sent'] = 'Senditujo'; +$labels['trash'] = 'Rubujo'; +$labels['junk'] = 'Spamujo'; #FIXME. eble fatrasujo. + +// message listing +$labels['subject'] = 'Subjekto'; #temo? +$labels['from'] = 'Sendanto'; +$labels['to'] = 'Ricevanto'; +$labels['cc'] = 'Kopio'; +$labels['bcc'] = 'Blindkopio'; +$labels['replyto'] = 'Respondu-Al'; +$labels['date'] = 'Dato'; +$labels['size'] = 'Grando'; +$labels['priority'] = 'Prioritato'; +$labels['organization'] = 'Organizo'; + +// aliases +$labels['reply-to'] = $labels['replyto']; + +$labels['mailboxlist'] = 'Dosierujoj'; +$labels['messagesfromto'] = 'Mesaĝoj ekde $from ĝis $to de $count'; +$labels['messagenrof'] = 'Mesaĝo $nr-a de $count'; + +$labels['moveto'] = 'transloku al...'; +$labels['download'] = 'elŝutu'; + +$labels['filename'] = 'Dosiernomo'; +$labels['filesize'] = 'Dosiergrando'; + +$labels['preferhtml'] = 'Montru HTML'; +$labels['htmlmessage'] = 'HTML Mesaĝo'; +$labels['prettydate'] = 'Agrablaj Datoj'; + +$labels['addtoaddressbook'] = 'Aldonu al adresaro'; + +// weekdays short +$labels['sun'] = 'Dim'; +$labels['mon'] = 'Lun'; +$labels['tue'] = 'Mar'; +$labels['wed'] = 'Mer'; +$labels['thu'] = 'Ĵaŭ'; +$labels['fri'] = 'Ven'; +$labels['sat'] = 'Sab'; + +// weekdays long +$labels['sunday'] = 'Dimanĉo'; +$labels['monday'] = 'Luno'; +$labels['tuesday'] = 'Mardo'; +$labels['wednesday'] = 'Merkredo'; +$labels['thursday'] = 'Ĵaŭdo'; +$labels['friday'] = 'Vendredo'; +$labels['saturday'] = 'Sabato'; + +$labels['today'] = 'Hodiaŭ'; + +// toolbar buttons +$labels['checkmail'] = 'Kontrolu por novaj mesaĝoj'; +$labels['writenewmessage'] = 'Verku novan mesaĝon'; +$labels['replytomessage'] = 'Respondu al mesaĝo'; +$labels['replytoallmessage'] = 'Respondu al sendanto kaj ĉiu ricevanto'; +$labels['forwardmessage'] = 'Plusendu mesaĝon'; +$labels['deletemessage'] = 'Transloku mesaĝon al rubujo'; +$labels['printmessage'] = 'Printu ĉi tiun mesaĝon'; +$labels['previousmessage'] = 'Montru antaŭan mesaĝon'; +$labels['previousmessages'] = 'Montru antaŭan aron de mesaĝoj'; +$labels['firstmessage'] = 'Montru unuan mesaĝon'; +$labels['firstmessages'] = 'Montru unuan aron de mesaĝoj'; +$labels['nextmessage'] = 'Montru sekvan mesaĝon'; +$labels['nextmessages'] = 'Montru sekvan aron de mesaĝoj'; +$labels['lastmessage'] = 'Montru lastan mesaĝon'; +$labels['lastmessages'] = 'Montru lastan aron de mesaĝoj'; +$labels['backtolist'] = 'Reen al mesaĝo-listo'; +$labels['viewsource'] = 'Montru fonton'; + +$labels['select'] = 'Elektu'; +$labels['all'] = 'Ĉion'; +$labels['none'] = 'Nenion'; +$labels['unread'] = 'Nelegatan'; + +$labels['compact'] = 'Kompakta'; +$labels['empty'] = 'Malplena'; +$labels['purge'] = 'Senrubigu'; + +$labels['quota'] = 'Diskuzo'; +$labels['unknown'] = 'nekonata'; +$labels['unlimited'] = 'senlimo'; + +$labels['quicksearch'] = 'Rapida serĉo'; +$labels['resetsearch'] = 'Vakigu serĉon'; + + +// message compose +$labels['compose'] = 'Verku mesaĝon'; +$labels['sendmessage'] = 'Sendu mesaĝon nun'; +$labels['savemessage'] = 'Savu ĉi tiun malneton'; +$labels['addattachment'] = 'Alfiksu dosieron'; +$labels['charset'] = 'Karakteraro'; +$labels['editortype'] = 'Speco de redaktilo'; #??? +$labels['returnreceipt'] = 'Return receipt'; + +$labels['checkspelling'] = 'Kontrolu grafismon'; +$labels['resumeediting'] = 'Rekomencu redakti'; +$labels['revertto'] = 'Reiru al'; + +$labels['attachments'] = 'Alfiksaĵoj'; +$labels['upload'] = 'Alŝutu'; +$labels['close'] = 'Fermu'; + +$labels['low'] = 'Malalta'; +$labels['lowest'] = 'Plej malalta'; +$labels['normal'] = 'Normala'; +$labels['high'] = 'Alta'; +$labels['highest'] = 'Plej alta'; + +$labels['nosubject'] = '(sensubjekto)'; +$labels['showimages'] = 'Montru bildojn'; + +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'Plata teksto'; + + +// address boook +$labels['name'] = 'Nomo'; +$labels['firstname'] = 'Antaŭa nomo'; +$labels['surname'] = 'Familia nomo'; +$labels['email'] = 'Retpoŝto'; + +$labels['addcontact'] = 'Aldonu kontakton'; +$labels['editcontact'] = 'Redaktu kontakton'; + +$labels['edit'] = 'Redaktu'; +$labels['cancel'] = 'Rezignu'; +$labels['save'] = 'Savu'; +$labels['delete'] = 'Forigu'; + +$labels['newcontact'] = 'Kreu novan kontaktaĵon'; +$labels['deletecontact'] = 'Forigu elektatajn kontaktojn'; +$labels['composeto'] = 'Verku mesaĝon al'; +$labels['contactsfromto'] = 'Kontaktoj ekde $from ĝis $to de $count'; +$labels['print'] = 'Printu'; +$labels['export'] = 'Eksportu'; + +$labels['previouspage'] = 'Montru auntaŭan aron'; +$labels['firstpage'] = 'Montru unuan aron'; +$labels['nextpage'] = 'Montru sekvan aron'; +$labels['lastpage'] = 'Montru lastan aron'; + +$labels['groups'] = 'Grupoj'; +$labels['personaladrbook'] = 'Persona Adresoj'; + + +// settings +$labels['settingsfor'] = 'Preferoj de'; + +$labels['preferences'] = 'Preferoj'; +$labels['userpreferences'] = 'Uzant-preferoj'; +$labels['editpreferences'] = 'Redajtu uzant-preferojn'; + +$labels['identities'] = 'Identoj'; +$labels['manageidentities'] = 'Administru identoj de ĉi tiu konto'; +$labels['newidentity'] = 'Nova idento'; + +$labels['newitem'] = 'Nova ero'; +$labels['edititem'] = 'Redaktu eron'; + +$labels['setdefault'] = 'Agordu kiel defaŭlta'; +$labels['language'] = 'Lingvo'; +$labels['timezone'] = 'Tempzono'; +$labels['pagesize'] = 'Mesaĝoj po paĝo'; +$labels['signature'] = 'Subskribo'; +$labels['dstactive'] = 'Taglumsavado'; +$labels['htmleditor'] = 'Verku HTML mesaĝojn'; +$labels['htmlsignature'] = 'HTML subskribo'; +$labels['previewpane'] = 'Montru antaŭrigardejon'; + +$labels['autosavedraft'] = 'Aŭtomate savu malneton'; +$labels['everynminutes'] = 'ĉiu $n minutoj'; +$labels['never'] = 'neniam'; + +$labels['folder'] = 'Dosierujo'; +$labels['folders'] = 'Dosierujoj'; +$labels['foldername'] = 'Dosierujo-nomo'; +$labels['subscribed'] = 'Abonata'; +$labels['create'] = 'Kreu'; +$labels['createfolder'] = 'Kreu novan dosierujon'; +$labels['rename'] = 'Renomu'; +$labels['renamefolder'] = 'Renomu dosierujon'; +$labels['deletefolder'] = 'Forigu dosierujon'; +$labels['managefolders'] = 'Administru dosierujon'; + +$labels['sortby'] = 'Ordigu per'; +$labels['sortasc'] = 'Ordigu kreskante'; +$labels['sortdesc'] = 'Ordigu malkreskante'; + +?> \ No newline at end of file diff --git a/program/localization/eo/messages.inc b/program/localization/eo/messages.inc new file mode 100644 index 0000000..9051d1d --- /dev/null +++ b/program/localization/eo/messages.inc @@ -0,0 +1,80 @@ + pardonu? +$messages['nocontactsfound'] = 'Trovis neniun kontakton'; +$messages['contactnotfound'] = 'La petitan kontakton ne trovis'; + +$messages['sendingfailed'] = 'Nesukcesis sendi mesaĝon'; +$messages['errorsaving'] = 'Eraro dum savo de mesaĝo'; +$messages['errormoving'] = 'Ne povis transloki mesaĝon'; +$messages['errordeleting'] = 'Ne povis forigi mesaĝon'; +$messages['deletecontactconfirm'] = 'Ĉu vi vere volas forigi la elektata(j)n kontakto(j)n?'; +$messages['deletemessagesconfirm'] = 'Ĉu vi vere volas forigi la elektata(j)n mesaĝo(j)n?'; +$messages['deletefolderconfirm'] = 'Ĉu vi vere volas forigi la elektatan dosierujon?'; +$messages['purgefolderconfirm'] = 'Ĉu vi vere volas forigi ĉiun mesaĝon en ĉi tiu dosierujo?'; +$messages['formincomplete'] = 'La formularo ne estis kompletiĝita'; +$messages['noemailwarning'] = 'Bonvolu skribu validan retpoŝt-adreson'; +$messages['nonamewarning'] = 'Bonvulu skribu nomon'; +$messages['nopagesizewarning'] = 'Bonvolu skribu paĝ-grando'; +$messages['norecipientwarning'] = 'Bonvolu skribu minumume unu ricevonto'; +$messages['nosubjectwarning'] = 'La "Subjekto" kampo estas malplena. Ĉu vi volas skribi subjekton nun?'; +$messages['nobodywarning'] = 'Ĉu sendu ĉi tiun mesaĝon sen teksto?'; +$messages['notsentwarning'] = 'Mesaĝo ne estas sendita. Ĉu vi volas forigi vian mesaĝon?'; +$messages['noldapserver'] = 'Bonvolu elekti ldap-servilo por serĉi'; +$messages['nocontactsreturned'] = 'Trovis nenion kontakton'; +$messages['nosearchname'] = 'Bonvolu skribi kontakt-nomo aŭ retpoŝt-adreson.'; +$messages['searchsuccessful'] = 'trovis $nr mesaĝojn'; +$messages['searchnomatch'] = 'Serĉo donis nenion'; +$messages['searching'] = 'Serĉante...'; +$messages['checking'] = 'Kontrolante...'; +$messages['nospellerrors'] = 'Neniujn grafismaj erarojn trovis'; +$messages['folderdeleted'] = 'Forigis dosierujon sukcese'; +$messages['deletedsuccessfully'] = "Sukcese forigis"; +$messages['converting'] = 'Forigante formata de mesaĝo...'; +$messages['messageopenerror'] = 'Ne povis ŝarĝi mesaĝon de servilo'; +$messages['fileuploaderror'] = 'Malsukcesis alŝuti dosieron'; +$messages['filesizeerror'] = 'La dosiero superas la maksimuma grando de $size'; + +$messages['copysuccess'] = 'Sukcese kopiis $nr adresojn'; +$messages['copyerror'] = 'Ne povis kopii ajn adresojn'; +$messages['sourceisreadonly'] = 'Ĉi tiu adres-fonto estas nurlegebla'; +$messages['errorsavingcontact'] = 'Ne povis savi la kontakt-adreson'; + + +?> \ No newline at end of file diff --git a/program/localization/es/labels.inc b/program/localization/es/labels.inc index 0c4cdb9..ea20eba 100644 --- a/program/localization/es/labels.inc +++ b/program/localization/es/labels.inc @@ -1,4 +1,4 @@ - \ No newline at end of file +?> diff --git a/program/localization/es/messages.inc b/program/localization/es/messages.inc index c3370e4..32a5a44 100644 --- a/program/localization/es/messages.inc +++ b/program/localization/es/messages.inc @@ -1,4 +1,4 @@ - | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 552 2007-05-03 20:48:00Z yllar $ + @version $Id: messages.inc 873 2007-10-16 19:06:34Z yllar $ */ @@ -69,11 +69,12 @@ $messages['folderdeleted'] = 'Carpeta eliminada exitosamente'; $messages['deletedsuccessfully'] = 'Eliminado exitosamente'; $messages['converting'] = 'Removiendo el formato del mensaje...'; $messages['messageopenerror'] = 'No puedo descargar el mensaje del servidor'; -$messages['fileuploaderror'] = 'Fallo en la subida de ficheros'; -$messages['filesizeerror'] = 'El fichero excede el tamaño maximo ($size)'; +$messages['fileuploaderror'] = 'Fallo en la subida de archivos'; +$messages['filesizeerror'] = 'El archivo excede el tamaño maximo ($size)'; $messages['copysuccess'] = '$nr direcciones copiadas con éxito'; $messages['copyerror'] = 'No se pudo copiar ninguna dirección'; $messages['sourceisreadonly'] = 'Esta dirección es de sólo-lectura'; $messages['errorsavingcontact'] = 'No se pudo guardar la dirección de contacto'; +$messages['movingmessage'] = 'Moviendo mensaje...'; -?> \ No newline at end of file +?> diff --git a/program/localization/et_EE/labels.inc b/program/localization/et_EE/labels.inc index 0c21873..5246121 100644 --- a/program/localization/et_EE/labels.inc +++ b/program/localization/et_EE/labels.inc @@ -36,7 +36,7 @@ $labels['subject'] = 'Pealkiri'; $labels['from'] = 'Saatja'; $labels['to'] = 'Saaja'; $labels['cc'] = 'Koopia'; -$labels['bcc'] = 'Bcc'; +$labels['bcc'] = 'Pimekoopia'; $labels['replyto'] = 'Vastus aadressile'; $labels['date'] = 'Kuupäev'; $labels['size'] = 'Suurus'; @@ -74,7 +74,8 @@ $labels['writenewmessage'] = 'Kirjuta uus kiri'; $labels['replytomessage'] = 'Vasta kirjale'; $labels['replytoallmessage'] = 'Vasta saatjale ja teistele kirja saanutele'; $labels['forwardmessage'] = 'Edasta see kiri'; -$labels['deletemessage'] = 'Liiguta kiri prügikasti'; +$labels['deletemessage'] = 'Kustuta kiri'; +$labels['movemessagetotrash'] = 'Liiguta kiri prügikasti'; $labels['printmessage'] = 'Trüki kiri'; $labels['previousmessage'] = 'Näita eelmist kirja'; $labels['previousmessages'] = 'Näita eelmisi kirju'; @@ -120,6 +121,9 @@ $labels['nosubject'] = '(teema puudub)'; $labels['showimages'] = 'Näita pilte'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Lihttekst'; +$labels['addcc'] = 'Lisa koopia'; +$labels['addbcc'] = 'Lisa pimekoopia'; +$labels['addreplyto'] = 'Lisa vastus aadressile'; $labels['name'] = 'Näidatav nimi'; $labels['firstname'] = 'Eesnimi'; $labels['surname'] = 'Perekonnanimi'; @@ -177,4 +181,4 @@ $labels['sortby'] = 'Järjesta'; $labels['sortasc'] = 'Järjesta kasvavalt'; $labels['sortdesc'] = 'Järjesta kahanevalt'; -?> +?> \ No newline at end of file diff --git a/program/localization/et_EE/messages.inc b/program/localization/et_EE/messages.inc index 6d216f8..7077d1d 100644 --- a/program/localization/et_EE/messages.inc +++ b/program/localization/et_EE/messages.inc @@ -73,5 +73,6 @@ $messages['copysuccess'] = '$nr aadressi edukalt kopeeritud'; $messages['copyerror'] = 'Ühegi aadressi kopeerimine ei õnnestunud '; $messages['sourceisreadonly'] = 'Aadressi asukohas puuduvad kirjutusõigused'; $messages['errorsavingcontact'] = 'Kontakti aadressi salvestamine ebaõnnestus'; +$messages['movingmessage'] = 'Kirja liigutamine...'; -?> +?> \ No newline at end of file diff --git a/program/localization/eu/labels.inc b/program/localization/eu/labels.inc index 35552ca..f040729 100644 --- a/program/localization/eu/labels.inc +++ b/program/localization/eu/labels.inc @@ -9,10 +9,10 @@ | Licensed under the GNU GPL | | | +-----------------------------------------------------------------------+ - | Author: pi | + | Author: Bicyus | +-----------------------------------------------------------------------+ - $Id: labels.inc 549 2007-05-01 18:53:56Z thomasb $ + $Id: labels.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -139,13 +139,8 @@ $labels['previouspage'] = 'Aurreko sorta ikusi'; $labels['firstpage'] = 'Lehenengo sorta ikusi'; $labels['nextpage'] = 'Hurrengo sorta ikusi'; $labels['lastpage'] = 'Azken sorta ikusi'; -$labels['ldapsearch'] = 'LDAP direktorio bilaketa'; -$labels['ldappublicsearchname'] = 'Harremanetarako izena'; -$labels['ldappublicsearchtype'] = 'Parekatze zehatza?'; -$labels['ldappublicserverselect'] = 'Zerbitzariak hautatu'; -$labels['ldappublicsearchfield'] = 'Bilatu hemen'; -$labels['ldappublicsearchform'] = 'Kontaktu bat bilatu'; -$labels['ldappublicsearch'] = 'Bilatu'; +$labels['groups'] = 'Taldeak'; +$labels['personaladrbook'] = 'Helbide pertsonalak'; $labels['settingsfor'] = 'Honen ezarpenak:'; $labels['preferences'] = 'Hobespenak'; $labels['userpreferences'] = 'Erabiltzaile hobespenak'; diff --git a/program/localization/eu/messages.inc b/program/localization/eu/messages.inc index 3705884..4bb6e2e 100644 --- a/program/localization/eu/messages.inc +++ b/program/localization/eu/messages.inc @@ -12,7 +12,7 @@ | Author: pi | +-----------------------------------------------------------------------+ - $Id: messages.inc 549 2007-05-01 18:53:56Z thomasb $ + $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -68,4 +68,4 @@ $messages['messageopenerror'] = 'Ezin da zerbitzaritik mezua kargatu'; $messages['fileuploaderror'] = 'Huts fitxategia eransterakoan'; $messages['filesizeerror'] = 'Erantsi nahi duzun fitxategian $size tamaina muga gainditzen du'; -?> +?> \ No newline at end of file diff --git a/program/localization/fa/labels.inc b/program/localization/fa/labels.inc new file mode 100644 index 0000000..47ddfbb --- /dev/null +++ b/program/localization/fa/labels.inc @@ -0,0 +1,183 @@ + | + | Mohammad Ebrahim Mohammadi Panah | + +-----------------------------------------------------------------------+ + +*/ + +$labels = array(); +$labels['welcome'] = 'به $product خوش آمدید'; +$labels['username'] = 'نام کاربری'; +$labels['password'] = 'گذرواژه'; +$labels['server'] = 'خادم'; +$labels['login'] = 'ورود'; +$labels['logout'] = 'خروج'; +$labels['mail'] = 'رایانامه'; +$labels['settings'] = 'تنظیمات شخصی'; +$labels['addressbook'] = 'دفتر نشانی‌ها'; +$labels['inbox'] = 'صندوق'; +$labels['drafts'] = 'پیش‌نویس‌ها'; +$labels['sent'] = 'فرستاده‌شده‌ها'; +$labels['trash'] = 'زباله‌دان'; +$labels['junk'] = 'بنجل'; +$labels['subject'] = 'موضوع'; +$labels['from'] = 'فرستنده'; +$labels['to'] = 'گیرنده'; +$labels['cc'] = 'رونوشت'; +$labels['bcc'] = 'رونوشت مخفی'; +$labels['replyto'] = 'پاسخ-به'; +$labels['date'] = 'تاریخ'; +$labels['size'] = 'حجم'; +$labels['priority'] = 'اولویت'; +$labels['organization'] = 'سازمان‌دهی'; +$labels['reply-to'] = 'پاسخ-به'; +$labels['mailboxlist'] = 'پوشه‌ها'; +$labels['messagesfromto'] = 'پیغام‌های $from تا $to از $count تا'; +$labels['messagenrof'] = 'پیغام $nr از $count تا'; +$labels['moveto'] = '...انتقال به'; +$labels['download'] = 'پایین‌گذاری'; +$labels['filename'] = 'نام پرونده'; +$labels['filesize'] = 'اندازه‌ی پرونده'; +$labels['preferhtml'] = 'نمایش HTML'; +$labels['htmlmessage'] = 'پیغام HTML'; +$labels['prettydate'] = 'تاریخ‌های زیبا'; +$labels['addtoaddressbook'] = 'افزودن به دفتر نشانی‌ها'; +$labels['sun'] = 'یک‌شنبه'; +$labels['mon'] = 'دوشنبه'; +$labels['tue'] = 'سه‌شنبه'; +$labels['wed'] = 'چهارشنبه'; +$labels['thu'] = 'پنج‌شنبه'; +$labels['fri'] = 'جمعه'; +$labels['sat'] = 'شنبه'; +$labels['sunday'] = 'یک‌شنبه'; +$labels['monday'] = 'دوشنبه'; +$labels['tuesday'] = 'سه‌شنبه'; +$labels['wednesday'] = 'چهارشنبه'; +$labels['thursday'] = 'پنج‌شنبه'; +$labels['friday'] = 'جمعه'; +$labels['saturday'] = 'شنبه'; +$labels['today'] = 'امروز'; +$labels['checkmail'] = 'بررسی برای پیغام‌های جدید'; +$labels['writenewmessage'] = 'ایجاد پیغام جدید'; +$labels['replytomessage'] = 'پاسخ به پیغام'; +$labels['replytoallmessage'] = 'پاسخ به فرستنده وتمام گیرنده‌ها'; +$labels['forwardmessage'] = 'ارجاع پیغام'; +$labels['deletemessage'] = 'حذف پیغام'; +$labels['movemessagetotrash'] = 'انتقال پیغام به زباله‌دان'; +$labels['printmessage'] = 'چاپ این پیغام'; +$labels['previousmessage'] = 'نمایش پیغام قبلی'; +$labels['previousmessages'] = 'نمایش دسته‌ی قبلی پیغام‌ها'; +$labels['firstmessage'] = 'نمایش اولین پیغام'; +$labels['firstmessages'] = 'نمایش اولین دسته‌ی پیغام‌ها'; +$labels['nextmessage'] = 'نمایش پیغام بعدی'; +$labels['nextmessages'] = 'نمایش دسته‌ی بعدی پیغام‌ها'; +$labels['lastmessage'] = 'نمایش آخرین پیغام'; +$labels['lastmessages'] = 'نمایش آخرین دسته‌ی پیغام‌ها'; +$labels['backtolist'] = 'بازگشت به فهرست پیغام‌ها'; +$labels['viewsource'] = 'نمایش منبع'; +$labels['select'] = 'انتخاب'; +$labels['all'] = 'همه'; +$labels['none'] = 'هیچ'; +$labels['unread'] = 'ناخوانده'; +$labels['compact'] = 'فشرده'; +$labels['empty'] = 'خالی'; +$labels['purge'] = 'خرد کردن'; +$labels['quota'] = 'فضای استفاده شده'; +$labels['unknown'] = 'ناشناخته'; +$labels['unlimited'] = 'نامحدود'; +$labels['quicksearch'] = 'جستجوی سریع'; +$labels['resetsearch'] = 'شروع مجدد جستجو'; +$labels['compose'] = 'نوشتن پیغام'; +$labels['savemessage'] = 'ذخیره‌ی این پیش‌نویس'; +$labels['sendmessage'] = 'ارسال پیغام'; +$labels['addattachment'] = 'پیوست کردن یک پرونده'; +$labels['charset'] = 'مجموعه‌نمایه'; +$labels['editortype'] = 'نوع ویرایش‌گر'; +$labels['returnreceipt'] = 'گیرنده‌ی پیغام بازگشت'; +$labels['checkspelling'] = 'بررسی املایی'; +$labels['resumeediting'] = 'ادامه‌ی ویرایش'; +$labels['revertto'] = 'برگرداندن به'; +$labels['attachments'] = 'پیوست‌ها'; +$labels['upload'] = 'بالاگذاری'; +$labels['close'] = 'بستن'; +$labels['low'] = 'کم'; +$labels['lowest'] = 'کم‌ترین'; +$labels['normal'] = 'معمولی'; +$labels['high'] = 'زیاد'; +$labels['highest'] = 'بیش‌ترین'; +$labels['nosubject'] = '(بدون موضوع)'; +$labels['showimages'] = 'نمایش عکس‌ها'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'متن ساده'; +$labels['addcc'] = 'افزودن رونوشت'; +$labels['addbcc'] = 'افزودن رونوشت مخفی'; +$labels['addreplyto'] = 'افزودن پاسخ-به'; +$labels['name'] = 'نمایش نام'; +$labels['firstname'] = 'نام'; +$labels['surname'] = 'نام خانوادگی'; +$labels['email'] = 'رایانامه'; +$labels['addcontact'] = 'افزودن تماس جدید'; +$labels['editcontact'] = 'ویرایش تماس'; +$labels['edit'] = 'ویرایش'; +$labels['cancel'] = 'لغو'; +$labels['save'] = 'ذخیره'; +$labels['delete'] = 'حذف'; +$labels['newcontact'] = 'ایجاد کارت تماس جدید'; +$labels['deletecontact'] = 'حذف تماس‌های انتخاب شده'; +$labels['composeto'] = 'نوشتن نامه به'; +$labels['contactsfromto'] = 'تماس‌های $from تا $to از $count تا'; +$labels['print'] = 'چاپ'; +$labels['export'] = 'صدور'; +$labels['previouspage'] = 'نمایش دسته‌ی قبلی'; +$labels['firstpage'] = 'نمایش دسته‌ی اول'; +$labels['nextpage'] = 'نمایش دسته‌ی بعدی'; +$labels['lastpage'] = 'نمایش دسته‌ی آخر'; +$labels['groups'] = 'گروه‌ها'; +$labels['personaladrbook'] = 'نشانی‌های شخصی'; +$labels['settingsfor'] = 'تنظیمات'; +$labels['preferences'] = 'ترجیحات'; +$labels['userpreferences'] = 'ترجیحات کاربر'; +$labels['editpreferences'] = 'ویرایش ترجیحات کاربر'; +$labels['identities'] = 'شناسه‌ها'; +$labels['manageidentities'] = 'مدیریت شناسه‌ها برای این حساب'; +$labels['newidentity'] = 'شناسه جدید'; +$labels['newitem'] = 'مورد جدید'; +$labels['edititem'] = 'ویرایش مورد'; +$labels['setdefault'] = 'پیش‌فرض کن'; +$labels['language'] = 'زبان'; +$labels['timezone'] = 'محدوده‌ی زمانی'; +$labels['pagesize'] = 'سطر در صفحه'; +$labels['signature'] = 'امضا'; +$labels['dstactive'] = 'ساعت تابستانی'; +$labels['htmleditor'] = 'HTML ‌نوشتن پیغام‌های'; +$labels['htmlsignature'] = 'HTML امضای'; +$labels['previewpane'] = 'نمایش قاب پیش‌نمایش'; +$labels['autosavedraft'] = 'ذخیره‌ی خودکار پیش‌نویس'; +$labels['everynminutes'] = 'هر $n دقیقه'; +$labels['never'] = 'هرگز'; +$labels['folder'] = 'پوشه'; +$labels['folders'] = 'پوشه‌ها'; +$labels['foldername'] = 'نام پوشه'; +$labels['subscribed'] = 'مورد اشتراک'; +$labels['create'] = 'ایجاد'; +$labels['createfolder'] = 'ایجاد پوشه‌ی جدید'; +$labels['rename'] = 'تغییر نام'; +$labels['renamefolder'] = 'تغییر نام پوشه'; +$labels['deletefolder'] = 'حذف پوشه'; +$labels['managefolders'] = 'مدیریت پوشه‌ها'; +$labels['sortby'] = 'مرتب‌سازی بر اساس'; +$labels['sortasc'] = 'مرتب‌سازی صعودی'; +$labels['sortdesc'] = 'مرتب‌سازی نزولی'; + +?> diff --git a/program/localization/fa/messages.inc b/program/localization/fa/messages.inc new file mode 100644 index 0000000..e885abb --- /dev/null +++ b/program/localization/fa/messages.inc @@ -0,0 +1,77 @@ + | + | Mohammad Ebrahim Mohammadi Panah | + +-----------------------------------------------------------------------+ + +*/ + +$messages = array(); +$messages['loginfailed'] = 'ورود ناموفق بود'; +$messages['cookiesdisabled'] = 'مرورگر شما کلوچه قبول نمی کند'; +$messages['sessionerror'] = 'نشست شما یا معتبر نیست، یا منقضی شده است'; +$messages['imaperror'] = 'اتصال به خادم IMAP ناموفق بود'; +$messages['nomessagesfound'] = 'هیچ پیغامی در صندوق نامه پیدا نشد'; +$messages['loggedout'] = 'شما با موفقیت نشست را پایان دادید. خدا نکه‌دار!'; +$messages['mailboxempty'] = 'صندوق نامه خالی است'; +$messages['loading'] = 'در حال بارگذاری ...'; +$messages['loadingdata'] = 'در حال بارگذاری داده‌ها ...'; +$messages['checkingmail'] = 'بررسی برای پیغام جدید ...'; +$messages['sendingmessage'] = 'در حال ارسال پیغام ...'; +$messages['messagesent'] = 'پیغام با موفقیت فرستاده شد'; +$messages['savingmessage'] = 'درحال ذخیره‌ی پیغام ...'; +$messages['messagesaved'] = 'پیغام در پیش‌نویس‌ها ذخیره شد'; +$messages['successfullysaved'] = 'با موفقیت ذخیره شد'; +$messages['addedsuccessfully'] = 'تماس با موفقیت به دفتر نشانی‌ها اضافه شد'; +$messages['contactexists'] = 'یک تماس با این نشانی رایانامه از قبل وجود دارد'; +$messages['blockedimages'] = 'برای حفاظت از حریم شخصی شما ، عکس‌های دوردست از پیغام حذف شد'; +$messages['encryptedmessage'] = 'این یک پیغام رمزنگاری شده است و قابل نمایش نیست. ببخشید!'; +$messages['nocontactsfound'] = 'هیج تماسی پیدا نشد'; +$messages['contactnotfound'] = 'تماس درخواست شده پیدا نشد'; +$messages['sendingfailed'] = 'ناموفق در فرستادن پیغام'; +$messages['errorsaving'] = 'هنگام ذخیره‌سازی، اشکالی پیش آمد'; +$messages['errormoving'] = 'ناتوان از انتقال پیغام'; +$messages['errordeleting'] = 'ناتوان از حذف پیغام'; +$messages['deletecontactconfirm'] = 'آیا واقعاً می‌خواهید تماس (های) انتخاب شده را حذف کنید؟'; +$messages['deletemessagesconfirm'] = 'آیا واقعاً می‌خواهید پیغام (های) انتخاب شده را حذف کنید؟'; +$messages['deletefolderconfirm'] = 'آیا واقعاً می‌خواهید این پوشه را حذف کنید؟'; +$messages['purgefolderconfirm'] = 'آیا واقعاً می‌خواهید همه‌ی پیغام‌های داخل این پوشه را حذف کنید؟'; +$messages['formincomplete'] = 'فرم کاملاً پر نشده بود'; +$messages['noemailwarning'] = 'لطفاً یک نشانی رایانامه‌ی معتبر وارد کنید'; +$messages['nonamewarning'] = 'لطفاً یک نام وارد کنید'; +$messages['nopagesizewarning'] = 'لطفاً یک اندازه برای صفحه وارد کنید'; +$messages['norecipientwarning'] = 'لطفاً حداقل یک گیرنده وارد کنید'; +$messages['nosubjectwarning'] = 'قسمت "موضوع" خالی است. آیا می‌خواهید اکنون وارد کنید؟'; +$messages['nobodywarning'] = 'این پیغام بدون متن ارسال شود؟'; +$messages['notsentwarning'] = 'پیغام ارسال نشده است. آیا می‌خواهید پیغام را از بین ببرید؟'; +$messages['noldapserver'] = 'لطفاً یک خادم LDAP برای جست و جو انتخاب کنید'; +$messages['nocontactsreturned'] = 'هیچ تماسی پیدا نشد'; +$messages['nosearchname'] = 'لطفا نام یک تماس و یا یک نشانی رایانامه وارد کنید'; +$messages['searchsuccessful'] = '$nr پیغام پیدا شد'; +$messages['searchnomatch'] = 'جست و جو هیچ نتیجه‌ای نداشت'; +$messages['searching'] = 'در حال جست و جو ...'; +$messages['checking'] = 'در حال بررسی ...'; +$messages['nospellerrors'] = 'هیچ اشکال املایی پیدا نشد'; +$messages['folderdeleted'] = 'پوشه با موفقیت حذف شد'; +$messages['deletedsuccessfully'] = 'حذف انجام شد'; +$messages['converting'] = 'در حال حذف قالب‌بندی‌ها از پیغام ...'; +$messages['messageopenerror'] = 'ناتوان از بارگذاری پیغام از روی خادم'; +$messages['fileuploaderror'] = 'بالاگذاری پرونده ناموفق بود'; +$messages['filesizeerror'] = 'اندازه‌ی پرونده‌ی بالاگذاری شده از بیشینه اندازه‌ی $size تجاوز می‌کند'; +$messages['copysuccess'] = '$nr نشانی با موفقیت رونوشت‌برداری شدند'; +$messages['copyerror'] = 'رونوشت‌برداری از نشانی‌ها ناموفق بود'; +$messages['sourceisreadonly'] = 'این منبع نشانی فقط‌خواندنی است'; +$messages['errorsavingcontact'] = 'ذخیره‌ی نشانی تماس ناموفق بود'; +$messages['movingmessage'] = 'در حال انتقال پیغام ...'; + +?> diff --git a/program/localization/fi/labels.inc b/program/localization/fi/labels.inc index 0e45437..329c685 100644 --- a/program/localization/fi/labels.inc +++ b/program/localization/fi/labels.inc @@ -14,7 +14,7 @@ | Veljo Velling | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: labels.inc 612 2007-06-12 18:17:21Z thomasb $ */ diff --git a/program/localization/fi/messages.inc b/program/localization/fi/messages.inc index 7d2bbb2..b314248 100644 --- a/program/localization/fi/messages.inc +++ b/program/localization/fi/messages.inc @@ -14,7 +14,7 @@ | Veljo Velling | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: messages.inc 612 2007-06-12 18:17:21Z thomasb $ */ diff --git a/program/localization/fr/labels.inc b/program/localization/fr/labels.inc index d7b6df2..2693ea9 100644 --- a/program/localization/fr/labels.inc +++ b/program/localization/fr/labels.inc @@ -12,6 +12,7 @@ +-----------------------------------------------------------------------+ | Author: aldweb | | Pierre HAEGELI | + | Mickaël Wolff | +-----------------------------------------------------------------------+ @version $Id$ @@ -19,13 +20,13 @@ */ $labels = array(); -$labels['welcome'] = 'Bienvenue à $product'; -$labels['username'] = 'ID utilisateur'; +$labels['welcome'] = 'Bienvenue sur $product'; +$labels['username'] = 'Utilisateur'; $labels['password'] = 'Mot de passe'; $labels['server'] = 'Serveur'; -$labels['login'] = 'Connexion'; +$labels['login'] = 'Authentification'; $labels['logout'] = 'Quitter'; -$labels['mail'] = 'e-Mail'; +$labels['mail'] = 'Courriel'; $labels['settings'] = 'Préférences'; $labels['addressbook'] = 'Carnet d\'adresses'; $labels['inbox'] = 'Messages reçus'; @@ -35,7 +36,7 @@ $labels['trash'] = 'Corbeille'; $labels['junk'] = 'Indésirables'; $labels['subject'] = 'Objet'; $labels['from'] = 'De'; -$labels['to'] = 'A'; +$labels['to'] = 'À'; $labels['cc'] = 'Cc'; $labels['bcc'] = 'Cci'; $labels['replyto'] = 'Répondre à'; @@ -45,15 +46,15 @@ $labels['priority'] = 'Priorité'; $labels['organization'] = 'Organisation'; $labels['reply-to'] = 'Répondre à'; $labels['mailboxlist'] = 'Dossiers'; -$labels['messagesfromto'] = 'Messages $from à $to sur $count'; +$labels['messagesfromto'] = 'Messages de $from à $to sur $count'; $labels['messagenrof'] = 'Message $nr sur $count'; $labels['moveto'] = 'Déplacer vers...'; $labels['download'] = 'Télécharger'; $labels['filename'] = 'Nom du fichier'; $labels['filesize'] = 'Taille du fichier'; -$labels['preferhtml'] = 'Préférer HTML'; -$labels['htmlmessage'] = 'Message HTML'; -$labels['prettydate'] = 'Affichage réduit des dates'; +$labels['preferhtml'] = 'Afficher en HTML'; +$labels['htmlmessage'] = 'Message en HTML'; +$labels['prettydate'] = 'Affichage court des dates'; $labels['addtoaddressbook'] = 'Ajouter au carnet d\'adresses'; $labels['sun'] = 'Dim'; $labels['mon'] = 'Lun'; @@ -71,7 +72,7 @@ $labels['friday'] = 'Vendredi'; $labels['saturday'] = 'Samedi'; $labels['today'] = 'Aujourd\'hui'; $labels['checkmail'] = 'Vérification des nouveaux messages'; -$labels['writenewmessage'] = 'Créer un nouveau message'; +$labels['writenewmessage'] = 'Écrire un nouveau message'; $labels['replytomessage'] = 'Répondre au message'; $labels['replytoallmessage'] = 'Répondre à tous'; $labels['forwardmessage'] = 'Transmettre le message'; @@ -86,15 +87,15 @@ $labels['nextmessages'] = 'Voir les messages suivants'; $labels['lastmessage'] = 'Voir le dernier message'; $labels['lastmessages'] = 'Voir la dernière page de messages'; $labels['backtolist'] = 'Retourner à la liste des messages'; -$labels['viewsource'] = 'Voir le code source'; +$labels['viewsource'] = 'Voir le source'; $labels['select'] = 'Sélectionner'; $labels['all'] = 'Tous'; $labels['none'] = 'Aucun'; $labels['unread'] = 'Non lus'; -$labels['compact'] = 'Compact'; +$labels['compact'] = 'Compacter'; $labels['empty'] = 'Vider'; $labels['purge'] = 'Purger'; -$labels['quota'] = 'Utilisation Disque'; +$labels['quota'] = 'Utilisation disque'; $labels['unknown'] = 'inconnue'; $labels['unlimited'] = 'illimitée'; $labels['quicksearch'] = 'Recherche rapide'; @@ -115,26 +116,26 @@ $labels['close'] = 'Fermer'; $labels['low'] = 'Basse'; $labels['lowest'] = 'La plus basse'; $labels['normal'] = 'Normale'; -$labels['high'] = 'Elevée'; +$labels['high'] = 'Élevée'; $labels['highest'] = 'La plus élevée'; $labels['nosubject'] = '(pas de sujet)'; -$labels['showimages'] = 'Montrer les images'; +$labels['showimages'] = 'Afficher les images'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'texte brut'; $labels['name'] = 'Nom à afficher'; $labels['firstname'] = 'Prénom'; $labels['surname'] = 'Nom'; -$labels['email'] = 'e-Mail'; +$labels['email'] = 'Courriel'; $labels['addcontact'] = 'Ajouter le contact sélectionné à votre Carnet d\'adresses'; -$labels['editcontact'] = 'Editer le contact'; -$labels['edit'] = 'Editer'; +$labels['editcontact'] = 'Modifier le contact'; +$labels['edit'] = 'Modifier'; $labels['cancel'] = 'Annuler'; $labels['save'] = 'Sauvegarder'; $labels['delete'] = 'Supprimer'; $labels['newcontact'] = 'Créer un nouveau contact'; $labels['deletecontact'] = 'Supprimer les contacts sélectionnés'; -$labels['composeto'] = 'Ecrire un message à'; -$labels['contactsfromto'] = 'Contacts $from à $to sur $count'; +$labels['composeto'] = 'Écrire un message à'; +$labels['contactsfromto'] = 'Contacts de $from à $to sur $count'; $labels['print'] = 'Imprimer'; $labels['export'] = 'Exporter'; $labels['previouspage'] = 'Montrer page précédente'; @@ -146,12 +147,12 @@ $labels['personaladrbook'] = 'Adresses personnelle'; $labels['settingsfor'] = 'Paramètres pour'; $labels['preferences'] = 'Préférences'; $labels['userpreferences'] = 'Préférences utilisateur'; -$labels['editpreferences'] = 'Editer les préférences utilisateur'; +$labels['editpreferences'] = 'Modifier les préférences utilisateur'; $labels['identities'] = 'Identités'; $labels['manageidentities'] = 'Gérer les identités pour ce compte'; $labels['newidentity'] = 'Nouvelle identité'; $labels['newitem'] = 'Nouvel élément'; -$labels['edititem'] = 'Editer l\'élément'; +$labels['edititem'] = 'Modifier l\'élément'; $labels['setdefault'] = 'Paramètres par défaut'; $labels['language'] = 'Langue'; $labels['timezone'] = 'Fuseau horaire'; @@ -173,7 +174,7 @@ $labels['createfolder'] = 'Créer un nouveau dossier'; $labels['rename'] = 'Renommer'; $labels['renamefolder'] = 'Renommer le dossier'; $labels['deletefolder'] = 'Supprimer le dossier'; -$labels['managefolders'] = 'Gérer les dossiers'; +$labels['managefolders'] = 'Organiser les dossiers'; $labels['sortby'] = 'Trier par'; $labels['sortasc'] = 'Tri ascendant'; $labels['sortdesc'] = 'Tri descendant'; diff --git a/program/localization/fr/messages.inc b/program/localization/fr/messages.inc index dfe2a08..4e3985b 100644 --- a/program/localization/fr/messages.inc +++ b/program/localization/fr/messages.inc @@ -12,6 +12,7 @@ +-----------------------------------------------------------------------+ | Author: aldweb | | Pierre HAEGELI | + | Mickaël Wolff | +-----------------------------------------------------------------------+ @version $Id$ @@ -19,60 +20,60 @@ */ $messages = array(); -$messages['loginfailed'] = 'Erreur de connexion'; +$messages['loginfailed'] = 'Erreur d\'authentification'; $messages['cookiesdisabled'] = 'Votre navigateur n\'accepte pas les cookies'; -$messages['sessionerror'] = 'Votre session n\'est pas valide ou a expiré'; +$messages['sessionerror'] = 'Votre session est invalide ou a expiré'; $messages['imaperror'] = 'Erreur de connexion au serveur IMAP'; $messages['nomessagesfound'] = 'Aucun message trouvé dans cette boîte aux lettres'; $messages['loggedout'] = 'Vous venez de vous déconnecter avec succès. Au revoir !'; $messages['mailboxempty'] = 'Boîte aux lettres vide'; -$messages['loading'] = 'Chargement en cours...'; -$messages['loadingdata'] = 'Chargement des données en cours...'; -$messages['checkingmail'] = 'Vérification des nouveaux messages ...'; +$messages['loading'] = 'Chargement...'; +$messages['loadingdata'] = 'Chargement des données...'; +$messages['checkingmail'] = 'Vérification des nouveaux messages...'; $messages['sendingmessage'] = 'Message en cours d\'envoi...'; -$messages['messagesent'] = 'Message envoyé'; +$messages['messagesent'] = 'Message bien envoyé'; $messages['savingmessage'] = 'Sauvegarde du message...'; $messages['messagesaved'] = 'Message sauvegardé dans Brouillons'; $messages['successfullysaved'] = 'Sauvegarde effectuée'; $messages['addedsuccessfully'] = 'Contact ajouté dans le carnet d\'adresses'; -$messages['contactexists'] = 'Un contact avec cette adresse e-Mail existe déjà'; +$messages['contactexists'] = 'Un contact avec ce courriel existe déjà'; $messages['blockedimages'] = 'Afin de préserver votre vie privée, les images distantes ont été bloquées dans ce message.'; $messages['encryptedmessage'] = 'Ceci est un message crypté et il ne peut pas être affiché. Désolé !'; -$messages['nocontactsfound'] = 'Aucun contact trouvé'; +$messages['nocontactsfound'] = 'Aucun contact n\'a pu être trouvé'; $messages['contactnotfound'] = 'Le contact demandé n\'a pas été trouvé'; -$messages['sendingfailed'] = 'Le message n\'a pas été envoyé'; -$messages['errorsaving'] = 'Une erreur est apparue pendant la sauvegarde'; +$messages['sendingfailed'] = 'L\'envoie du message a échoué'; +$messages['errorsaving'] = 'Une erreur a empêché la sauvegarde'; $messages['errormoving'] = 'Impossible de déplacer le message'; $messages['errordeleting'] = 'Impossible d\'effacer le message'; -$messages['deletecontactconfirm'] = 'Voulez-vous vraiment effacer les contacts sélectionnés ?'; +$messages['deletecontactconfirm'] = 'Voulez-vous vraiment effacer le(s) contact(s) sélectionné(s) ?'; $messages['deletemessagesconfirm'] = 'Voulez-vous vraiment supprimer le(s) message(s) séléctionné(s) ?'; $messages['deletefolderconfirm'] = 'Voulez-vous vraiment effacer ce dossier ?'; -$messages['purgefolderconfirm'] = 'Voulez-vous vraiment effacer tous les messages dans ce dossier ?'; +$messages['purgefolderconfirm'] = 'Voulez-vous vraiment effacer tous les messages de ce dossier ?'; $messages['formincomplete'] = 'Le formulaire n\'a pas été entièrement rempli'; -$messages['noemailwarning'] = 'Entrez une adresse e-Mail valide SVP'; -$messages['nonamewarning'] = 'Entrez un nom SVP'; -$messages['nopagesizewarning'] = 'Entrez une taille de page SVP'; -$messages['norecipientwarning'] = 'Entrez au moins un destinataire SVP'; -$messages['nosubjectwarning'] = 'Le champ "Objet" est vide. Souhaitez-vous le compléter maintenant ?'; +$messages['noemailwarning'] = 'Veuillez spécifier un courriel valide'; +$messages['nonamewarning'] = 'Veuillez fournir un nom'; +$messages['nopagesizewarning'] = 'Veuillez indiquer une taille de page'; +$messages['norecipientwarning'] = 'Veuillez ajouter au moins un destinataire'; +$messages['nosubjectwarning'] = 'Le champ « Objet » est vide. Souhaitez-vous le renseigner maintenant ?'; $messages['nobodywarning'] = 'Envoyer ce message sans texte ?'; $messages['notsentwarning'] = 'Le message n\'a pas été envoyé. Voulez-vous abandonner ce message ?'; -$messages['noldapserver'] = 'Choisissez un serveur ldap pour la recherche'; +$messages['noldapserver'] = 'Choisissez un serveur LDAP pour la recherche'; $messages['nocontactsreturned'] = 'Aucun contact trouvé'; -$messages['nosearchname'] = 'Entrez un nom ou une adresse e-Mail de contact'; +$messages['nosearchname'] = 'Entrez un nom de contact ou un courriel'; $messages['searchsuccessful'] = '$nr messages trouvés'; -$messages['searchnomatch'] = 'Aucun résultat trouvé'; +$messages['searchnomatch'] = 'La recherche ne donne aucun résultat'; $messages['searching'] = 'En cours de recherche...'; $messages['checking'] = 'Vérification...'; $messages['nospellerrors'] = 'Aucune faute trouvée'; $messages['folderdeleted'] = 'Dossier effacé'; $messages['deletedsuccessfully'] = 'Supprimé(s) avec succès'; -$messages['converting'] = 'Suppression du formattage ...'; -$messages['messageopenerror'] = 'Impossible de charger le message du serveur'; +$messages['converting'] = 'Suppression de la mise en forme...'; +$messages['messageopenerror'] = 'Impossible de charger le message depuis serveur'; $messages['fileuploaderror'] = 'Transfert du fichier echoué'; -$messages['filesizeerror'] = 'Transfert du fichier a atteint la taille maximale de $size'; -$messages['copysuccess'] = 'Succés de la copie des $nr adresses'; +$messages['filesizeerror'] = 'Le fichier transféré dépasse la taille maximale de $size'; +$messages['copysuccess'] = 'Succès de la copie des $nr adresses'; $messages['copyerror'] = 'Ne peut pas copier les adresses'; -$messages['sourceisreadonly'] = 'Cette adresse source est en lecture seule'; +$messages['sourceisreadonly'] = 'Cette source d\'adresse est en lecture seule'; $messages['errorsavingcontact'] = 'Ne peut pas enregistrer l\'adresse du contact'; ?> \ No newline at end of file diff --git a/program/localization/ga_IE/labels.inc b/program/localization/ga_IE/labels.inc new file mode 100755 index 0000000..96b0d94 --- /dev/null +++ b/program/localization/ga_IE/labels.inc @@ -0,0 +1,177 @@ + \ No newline at end of file diff --git a/program/localization/ga_IE/messages.inc b/program/localization/ga_IE/messages.inc new file mode 100755 index 0000000..cd118be --- /dev/null +++ b/program/localization/ga_IE/messages.inc @@ -0,0 +1,74 @@ + \ No newline at end of file diff --git a/program/localization/gl/labels.inc b/program/localization/gl/labels.inc new file mode 100644 index 0000000..33898ff --- /dev/null +++ b/program/localization/gl/labels.inc @@ -0,0 +1,181 @@ + | + +-----------------------------------------------------------------------+ + +*/ + +$labels = array(); +$labels['welcome'] = 'Benvido a $product'; +$labels['username'] = 'Nome de usuario'; +$labels['password'] = 'Contrasinal'; +$labels['server'] = 'Servidor'; +$labels['login'] = 'Acceder'; +$labels['logout'] = 'Saír'; +$labels['mail'] = 'Correo Electrónico'; +$labels['settings'] = 'Axustes persoais'; +$labels['addressbook'] = 'Caderno de enderezos'; +$labels['inbox'] = 'Caixa de entrada'; +$labels['drafts'] = 'Borradores'; +$labels['sent'] = 'Enviado'; +$labels['trash'] = 'Cubo do Lixo'; +$labels['junk'] = 'Lixo'; +$labels['subject'] = 'Asunto'; +$labels['from'] = 'Remitente'; +$labels['to'] = 'Destinatario'; +$labels['cc'] = 'Copia'; +$labels['bcc'] = 'Copia Oculta'; +$labels['replyto'] = 'Respostar a'; +$labels['date'] = 'Data'; +$labels['size'] = 'Tamaño'; +$labels['priority'] = 'Prioridade'; +$labels['organization'] = 'Organización'; +$labels['reply-to'] = 'Respostar a'; +$labels['mailboxlist'] = 'Cartafoles'; +$labels['messagesfromto'] = 'Mensaxes do $from ao $to de $count'; +$labels['messagenrof'] = 'Mensaxe $nr de $count'; +$labels['moveto'] = 'Mover a...'; +$labels['download'] = 'Baixar'; +$labels['filename'] = 'Nome de ficheiro'; +$labels['filesize'] = 'Tamaño de ficheiro'; +$labels['preferhtml'] = 'Prefiro HTML'; +$labels['htmlmessage'] = 'Mensaxe HTML'; +$labels['prettydate'] = 'Data decorada'; +$labels['addtoaddressbook'] = 'Engadir ao caderno de enderezos'; +$labels['sun'] = 'Dom'; +$labels['mon'] = 'Lun'; +$labels['tue'] = 'Mar'; +$labels['wed'] = 'Mér'; +$labels['thu'] = 'Xov'; +$labels['fri'] = 'Ven'; +$labels['sat'] = 'Sáb'; +$labels['sunday'] = 'Domingo'; +$labels['monday'] = 'Luns'; +$labels['tuesday'] = 'Martes'; +$labels['wednesday'] = 'Mércores'; +$labels['thursday'] = 'Xoves'; +$labels['friday'] = 'Venres'; +$labels['saturday'] = 'Sábado'; +$labels['today'] = 'Hoxe'; +$labels['checkmail'] = 'Buscar novas mensaxes'; +$labels['writenewmessage'] = 'Crear unha nova mensaxe'; +$labels['replytomessage'] = 'Respostar á mensaxe'; +$labels['replytoallmessage'] = 'Respostar a todos'; +$labels['forwardmessage'] = 'Reenviar a mensaxe'; +$labels['deletemessage'] = 'Borrar a mensaxe'; +$labels['movemessagetotrash'] = 'Mover a mensaxe ó cubo do lixo'; +$labels['printmessage'] = 'Imprimir esta mensaxe'; +$labels['previousmessage'] = 'Amosar a mensaxe anterior'; +$labels['previousmessages'] = 'Amosar o grupo anterior de mensaxes'; +$labels['firstmessage'] = 'Amosar a primeira mensaxe'; +$labels['firstmessages'] = 'Amosar o primeiro grupo de mensaxes'; +$labels['nextmessage'] = 'Amosar a seguinte mensaxe'; +$labels['nextmessages'] = 'Amosar o seguinte grupo de mensaxes'; +$labels['lastmessage'] = 'Amosar a última mensaxe'; +$labels['lastmessages'] = 'Amosar o último grupo de mensaxes'; +$labels['backtolist'] = 'Voltar á lista de mensaxes'; +$labels['viewsource'] = 'Ver fonte'; +$labels['select'] = 'Seleccionar'; +$labels['all'] = 'Todas'; +$labels['none'] = 'Ningunha'; +$labels['unread'] = 'Non lidas'; +$labels['compact'] = 'Compactar'; +$labels['empty'] = 'Baleiro'; +$labels['purge'] = 'Baleirar'; +$labels['quota'] = 'Uso de disco'; +$labels['unknown'] = 'desconocido'; +$labels['unlimited'] = 'ilimitado'; +$labels['quicksearch'] = 'Busca rápida'; +$labels['resetsearch'] = 'Restablecer a busca'; +$labels['compose'] = 'Redactar unha mensaxe'; +$labels['savemessage'] = 'Gardar a mensaxe coma borrador'; +$labels['sendmessage'] = 'Enviar a mensaxe agora'; +$labels['addattachment'] = 'Anexar un ficheiro'; +$labels['charset'] = 'Codificación'; +$labels['editortype'] = 'Tipo de editor'; +$labels['returnreceipt'] = 'Notificación de disposición'; +$labels['checkspelling'] = 'Revisar a ortografía'; +$labels['resumeediting'] = 'Voltar á edición'; +$labels['revertto'] = 'Voltar a'; +$labels['attachments'] = 'Ficheiros anexos'; +$labels['upload'] = 'Cargar'; +$labels['close'] = 'Pechar'; +$labels['low'] = 'Baixa'; +$labels['lowest'] = 'A máis baixa'; +$labels['normal'] = 'Normal'; +$labels['high'] = 'Alta'; +$labels['highest'] = 'A máis alta'; +$labels['nosubject'] = '(Sen asunto)'; +$labels['showimages'] = 'Mostrar imaxes'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'Texto claro'; +$labels['addcc'] = 'Engadir Copia (CC)'; +$labels['addbcc'] = 'Engadir Copia Oculta (BCC)'; +$labels['addreplyto'] = 'Engadir Respostar a (Reply-To)'; +$labels['name'] = 'Nome completo'; +$labels['firstname'] = 'Nome'; +$labels['surname'] = 'Apelidos'; +$labels['email'] = 'Correo Electrónico'; +$labels['addcontact'] = 'Engadir novo contacto'; +$labels['editcontact'] = 'Editar contacto'; +$labels['edit'] = 'Editar'; +$labels['cancel'] = 'Cancelar'; +$labels['save'] = 'Gardar'; +$labels['delete'] = 'Borrar'; +$labels['newcontact'] = 'Crear novo contacto'; +$labels['deletecontact'] = 'Borrar os contactos seleccionados'; +$labels['composeto'] = 'Redactar mensaxe a'; +$labels['contactsfromto'] = 'Contactos do $from ao $to de $count'; +$labels['print'] = 'Imprimir'; +$labels['export'] = 'Exportar'; +$labels['previouspage'] = 'Amosar o grupo anterior'; +$labels['firstpage'] = 'Amosar o primeiro grupo'; +$labels['nextpage'] = 'Amosar o seguinte grupo'; +$labels['lastpage'] = 'Amosar o último grupo'; +$labels['groups'] = 'Grupos'; +$labels['personaladrbook'] = 'Enderezos persoais'; +$labels['settingsfor'] = 'Axustes de'; +$labels['preferences'] = 'Preferencias'; +$labels['userpreferences'] = 'Preferencias de usuario'; +$labels['editpreferences'] = 'Editar preferencias de usuario'; +$labels['identities'] = 'Identidades'; +$labels['manageidentities'] = 'Administrar identidades de esta conta'; +$labels['newidentity'] = 'Nova identidade'; +$labels['newitem'] = 'Novo'; +$labels['edititem'] = 'Editar'; +$labels['setdefault'] = 'Opción por defecto'; +$labels['language'] = 'Linguaxe'; +$labels['timezone'] = 'Zona horaria'; +$labels['pagesize'] = 'Filas por páxina'; +$labels['signature'] = 'Sinatura'; +$labels['dstactive'] = 'Cambio de hora'; +$labels['htmleditor'] = 'Redactar mensaxes HTML'; +$labels['htmlsignature'] = 'Sinatura HTML'; +$labels['previewpane'] = 'Amosar panel de previsualización'; +$labels['autosavedraft'] = 'Gardar borrador automáticamente'; +$labels['everynminutes'] = 'cada $n minutos'; +$labels['never'] = 'nunca'; +$labels['folder'] = 'Cartafol'; +$labels['folders'] = 'Cartafoles'; +$labels['foldername'] = 'Nome do cartafol'; +$labels['subscribed'] = 'Subscrito'; +$labels['create'] = 'Crear'; +$labels['createfolder'] = 'Crear novo cartafol'; +$labels['rename'] = 'Renomear'; +$labels['renamefolder'] = 'Renomear cartafol'; +$labels['deletefolder'] = 'Borrar cartafol'; +$labels['managefolders'] = 'Xestionar cartafoles'; +$labels['sortby'] = 'Ordenar por'; +$labels['sortasc'] = 'Orde ascendente'; +$labels['sortdesc'] = 'Orde descendente'; + +?> diff --git a/program/localization/gl/messages.inc b/program/localization/gl/messages.inc new file mode 100644 index 0000000..05ff976 --- /dev/null +++ b/program/localization/gl/messages.inc @@ -0,0 +1,75 @@ + | + +-----------------------------------------------------------------------+ + +*/ + +$messages = array(); +$messages['loginfailed'] = 'Fallou o acceso'; +$messages['cookiesdisabled'] = 'O seu navegador non acepta galletas'; +$messages['sessionerror'] = 'A súa sesión non é válida ou expirou'; +$messages['imaperror'] = 'Fallou a conexión co servidor IMAP'; +$messages['nomessagesfound'] = 'Non se atoparon mensaxes nesta caixa de correo'; +$messages['loggedout'] = 'Rematou correctamente a súa sesión. ¡Ata logo!'; +$messages['mailboxempty'] = 'A caixa de correo está vacía'; +$messages['loading'] = 'Cargando...'; +$messages['loadingdata'] = 'Cargando datos...'; +$messages['checkingmail'] = 'Buscando novas mensaxes...'; +$messages['sendingmessage'] = 'Enviando mensaxe...'; +$messages['messagesent'] = 'A mensaxe enviouse correctamente'; +$messages['savingmessage'] = 'Gardando mensaxe...'; +$messages['messagesaved'] = 'A mensaxe gardouse en "Borradores"'; +$messages['successfullysaved'] = 'Gardada correctamente'; +$messages['addedsuccessfully'] = 'O contacto engadiuse correctamente ao caderno de enderezos'; +$messages['contactexists'] = 'Xa existe un contacto con este enderezo de correo electrónico'; +$messages['blockedimages'] = 'Estanse a bloquear as imaxes remotas para protexer a súa privacidade'; +$messages['encryptedmessage'] = '¡Síntoo!. Non se pode amosar a mensaxe porque está cifrada'; +$messages['nocontactsfound'] = 'Non se atoparon contactos'; +$messages['contactnotfound'] = 'Non se atopou o contacto solicitado'; +$messages['sendingfailed'] = 'Fallou o envío da mensaxe'; +$messages['errorsaving'] = 'Ocurriu un erro mentres se gardaba'; +$messages['errormoving'] = 'Non puiden mover a mensaxe'; +$messages['errordeleting'] = 'Non puiden borrar a mensaxe'; +$messages['deletecontactconfirm'] = '¿Quere borrar o(s) contacto(s) seleccionados?'; +$messages['deletemessagesconfirm'] = '¿Quere borrar a(s) mensaxe(s) seleccionadas?'; +$messages['deletefolderconfirm'] = '¿Quere borrar este cartafol?'; +$messages['purgefolderconfirm'] = '¿Quere borrar tódalas mensaxes neste cartafol?'; +$messages['formincomplete'] = 'Non se cumprimentou completamente o formulario'; +$messages['noemailwarning'] = 'Por favor, introduza un enderezo de correo electrónico válida'; +$messages['nonamewarning'] = 'Por favor, introduza un nome'; +$messages['nopagesizewarning'] = 'Por favor, introduza un tamaño de páxina'; +$messages['norecipientwarning'] = 'Por favor, introduza polo menos un destinatario'; +$messages['nosubjectwarning'] = 'O campo "tema" está baleiro. ¿Quere introducir un?'; +$messages['nobodywarning'] = '¿Quere enviar esta mensaxe sen texto?'; +$messages['notsentwarning'] = 'A mensaxe non se enviou. ¿Quere descartala?'; +$messages['noldapserver'] = 'Por favor, elixa un servidor LDAP para buscar'; +$messages['nocontactsreturned'] = 'Non se atoparon contactos'; +$messages['nosearchname'] = 'Por favor, introduza un contacto ou un enderezo de correo electrónico'; +$messages['searchsuccessful'] = 'Atopáronse $nr mensaxes'; +$messages['searchnomatch'] = 'A busca non atopou coincidencias'; +$messages['searching'] = 'Buscando...'; +$messages['checking'] = 'Comprobando...'; +$messages['nospellerrors'] = 'Non hai erros ortográficos'; +$messages['folderdeleted'] = 'Borrouse o cartafol con éxito'; +$messages['deletedsuccessfully'] = 'Borrouse con éxito'; +$messages['converting'] = 'Eliminando o formato da mensaxe...'; +$messages['messageopenerror'] = 'Non puiden cargar a mensaxe desde o servidor'; +$messages['fileuploaderror'] = 'Fallou a carga do ficheiro'; +$messages['filesizeerror'] = 'O ficheiro cargado é máis grande que o tamaño máximo de $size'; +$messages['copysuccess'] = 'Copiáronse correctamente $nr enderezos'; +$messages['copyerror'] = 'Non puiden copiar ningún enderezo'; +$messages['sourceisreadonly'] = 'A orixe é de só lectura'; +$messages['errorsavingcontact'] = 'Non puiden gardar o contacto'; +$messages['movingmessage'] = 'Movendo mensaxe...'; + +?> \ No newline at end of file diff --git a/program/localization/hr/labels.inc b/program/localization/hr/labels.inc new file mode 100644 index 0000000..b376082 --- /dev/null +++ b/program/localization/hr/labels.inc @@ -0,0 +1,180 @@ + | + +-----------------------------------------------------------------------+ + + @version $Id: labels.inc 627 2007-06-27 07:07:02Z tomekp $ + +*/ + +$labels = array(); +$labels['welcome'] = 'Dobrodošli na $product'; +$labels['username'] = 'E-mail'; +$labels['password'] = 'Lozinka'; +$labels['server'] = 'Server'; +$labels['login'] = 'Prijava'; +$labels['logout'] = 'Odjava'; +$labels['mail'] = 'Sandučić'; +$labels['settings'] = 'Postavke'; +$labels['addressbook'] = 'Imenik'; +$labels['inbox'] = 'Inbox'; +$labels['drafts'] = 'Predlošci'; +$labels['sent'] = 'Poslano'; +$labels['trash'] = 'Smeće'; +$labels['junk'] = 'Spam'; +$labels['subject'] = 'Naslov'; +$labels['from'] = 'Od'; +$labels['to'] = 'Za'; +$labels['cc'] = 'Cc'; +$labels['bcc'] = 'Bcc'; +$labels['replyto'] = 'Reply-To'; +$labels['date'] = 'Datum'; +$labels['size'] = 'Veličina'; +$labels['priority'] = 'Prioritet'; +$labels['organization'] = 'Organizacija'; +$labels['reply-to'] = 'Reply-To'; +$labels['mailboxlist'] = 'Folderi'; +$labels['messagesfromto'] = 'Poruke od $from do $to od ukupno $count'; +$labels['messagenrof'] = 'Poruka broj $nr od $count'; +$labels['moveto'] = 'prebaci u...'; +$labels['download'] = 'preuzmi (download)'; +$labels['filename'] = 'Ime datoteke'; +$labels['filesize'] = 'Veličina datoteke'; +$labels['preferhtml'] = 'HTML format u prednosti'; +$labels['htmlmessage'] = 'HTML format poruke'; +$labels['prettydate'] = 'Formatiran datum'; +$labels['addtoaddressbook'] = 'Dodaj u imenik'; +$labels['sun'] = 'Ned'; +$labels['mon'] = 'Pon'; +$labels['tue'] = 'Uto'; +$labels['wed'] = 'Sri'; +$labels['thu'] = 'Čet'; +$labels['fri'] = 'Pet'; +$labels['sat'] = 'Sub'; +$labels['sunday'] = 'Nedjelja'; +$labels['monday'] = 'Ponedjeljak'; +$labels['tuesday'] = 'Utorak'; +$labels['wednesday'] = 'Srijeda'; +$labels['thursday'] = 'Četvrtak'; +$labels['friday'] = 'Petak'; +$labels['saturday'] = 'Subota'; +$labels['today'] = 'danas'; +$labels['checkmail'] = 'Provjera novih poruka'; +$labels['writenewmessage'] = 'Nova poruka'; +$labels['replytomessage'] = 'Odgovori na poruku'; +$labels['replytoallmessage'] = 'Odgovori pošiljaocu i svim primateljima'; +$labels['forwardmessage'] = 'Prosljedi poruku'; +$labels['deletemessage'] = 'Prebaci poruku u folder (Smeće)'; +$labels['printmessage'] = 'Isprintajte poruku'; +$labels['previousmessage'] = 'Prikaži prethodnu poruku'; +$labels['previousmessages'] = 'Prijašnje poruke'; +$labels['firstmessage'] = 'Prikaži prvu poruku'; +$labels['firstmessages'] = 'Prikaži početni skup poruka'; +$labels['nextmessage'] = 'Prikaži slijedeću poruku'; +$labels['nextmessages'] = 'Sljedeće poruke'; +$labels['lastmessage'] = 'Prikaži zadnju poruku'; +$labels['lastmessages'] = 'Prikaži zadnju skupinu poruka'; +$labels['backtolist'] = 'Povratak na listu poruka'; +$labels['viewsource'] = 'Prikaži poruku u izvornom obliku'; +$labels['select'] = 'Oznaći'; +$labels['all'] = 'Sve'; +$labels['none'] = 'Nijednu'; +$labels['unread'] = 'Nepročitane'; +$labels['compact'] = 'Kompresiranje'; +$labels['empty'] = 'Izprazni'; +$labels['purge'] = 'Očisti'; +$labels['quota'] = 'Kvota'; +$labels['unknown'] = 'nepoznato'; +$labels['unlimited'] = 'beskonačna'; +$labels['quicksearch'] = 'Brza pretraga'; +$labels['resetsearch'] = 'Prikaži sve poruke'; +$labels['compose'] = 'Nova poruka'; +$labels['sendmessage'] = 'Pošalji poruku'; +$labels['savemessage'] = 'Spremi u \'Predlošci\''; +$labels['addattachment'] = 'Priloži datoteku'; +$labels['charset'] = 'Charset'; +$labels['editortype'] = 'Tip editora'; +$labels['returnreceipt'] = 'Potvrda o primitku poruke'; +$labels['checkspelling'] = 'Provjera pravopisa'; +$labels['resumeediting'] = 'Povratak u pisanje'; +$labels['revertto'] = 'Revert to'; +$labels['attachments'] = 'Privitci (Attachments)'; +$labels['upload'] = 'Dodaj'; +$labels['close'] = 'Zatvori'; +$labels['low'] = 'Nizak'; +$labels['lowest'] = 'Najniži'; +$labels['normal'] = 'Srednji'; +$labels['high'] = 'Visok'; +$labels['highest'] = 'Najviši'; +$labels['nosubject'] = '(bez naslova)'; +$labels['showimages'] = 'Prikaži slike'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'Samo teks'; +$labels['name'] = 'Puno ime'; +$labels['firstname'] = 'Ime'; +$labels['surname'] = 'Prezime'; +$labels['email'] = 'E-Mail'; +$labels['addcontact'] = 'Dodaj novi kontakt'; +$labels['editcontact'] = 'Izmjeni kontakt'; +$labels['edit'] = 'Izmjeni'; +$labels['cancel'] = 'Odustani'; +$labels['save'] = 'Spremi'; +$labels['delete'] = 'Obriši'; +$labels['newcontact'] = 'Dodaj novi kontakt'; +$labels['deletecontact'] = 'Obriši odabrane kontakte'; +$labels['composeto'] = 'Napiši mail...'; +$labels['contactsfromto'] = 'Kontakti od $from do $to od ukupno $count'; +$labels['print'] = 'Print'; +$labels['export'] = 'Export'; +$labels['previouspage'] = 'Prethodna strana'; +$labels['firstpage'] = 'Prva strana'; +$labels['nextpage'] = 'Slijedeća strana'; +$labels['lastpage'] = 'Zadnja strana'; +$labels['groups'] = 'Grupe'; +$labels['personaladrbook'] = 'Privatna adresa'; +$labels['settingsfor'] = 'Postavke za'; +$labels['preferences'] = 'Postavke'; +$labels['userpreferences'] = 'Korisnićke postavke'; +$labels['editpreferences'] = 'Izmjena postavki'; +$labels['identities'] = 'Identiteti'; +$labels['manageidentities'] = 'Podesi identitete za ovaj nalog'; +$labels['newidentity'] = 'Dodaj identitet'; +$labels['newitem'] = 'New item'; +$labels['edititem'] = 'Edit item'; +$labels['setdefault'] = 'Set default'; +$labels['language'] = 'Jezik'; +$labels['timezone'] = 'Vremenska zona'; +$labels['pagesize'] = 'Redova po stranici'; +$labels['signature'] = 'Potpis'; +$labels['dstactive'] = 'Automatska promjena vremena'; +$labels['htmleditor'] = 'Sastavi HTML poruke'; +$labels['htmlsignature'] = 'HTML potpis'; +$labels['previewpane'] = 'Prikaži područje pregleda'; +$labels['autosavedraft'] = 'Automatski spremi draft'; +$labels['everynminutes'] = 'svakih $n minuta'; +$labels['never'] = 'Nikada'; +$labels['folder'] = 'Folder'; +$labels['folders'] = 'Folderi'; +$labels['foldername'] = 'Ime foldera'; +$labels['subscribed'] = 'Pretplata'; +$labels['create'] = 'Napravi'; +$labels['createfolder'] = 'Napravi novi folder'; +$labels['rename'] = 'Preimenuj'; +$labels['renamefolder'] = 'Preimenuj Folder'; +$labels['deletefolder'] = 'Obriši Folder'; +$labels['managefolders'] = 'Podesi Folder'; +$labels['sortby'] = 'Sortiraj po'; +$labels['sortasc'] = 'Sortiraj rastućim nizom'; +$labels['sortdesc'] = 'Sortiraj opadajućim nizom'; + +?> \ No newline at end of file diff --git a/program/localization/hr/messages.inc b/program/localization/hr/messages.inc new file mode 100644 index 0000000..4a4b95c --- /dev/null +++ b/program/localization/hr/messages.inc @@ -0,0 +1,77 @@ + | + +-----------------------------------------------------------------------+ + + @version $Id: messages.inc 627 2007-06-27 07:07:02Z tomekp $ + +*/ + +$messages = array(); +$messages['loginfailed'] = 'Prijava neuspješna'; +$messages['cookiesdisabled'] = 'Vaš pretraživač ne podržava kolačiće (cookies)'; +$messages['sessionerror'] = 'Morate se ponovno ulogirati'; +$messages['imaperror'] = 'Neuspješna konekcija na IMAP server'; +$messages['nomessagesfound'] = 'Nema poruka u sandučiću'; +$messages['loggedout'] = 'Uspješno ste se odjavili.'; +$messages['mailboxempty'] = 'Sandučuć je prazan'; +$messages['loading'] = 'Učitavanje...'; +$messages['loadingdata'] = 'Učitavanje podataka...'; +$messages['checkingmail'] = 'Provjera novih poruka u tijeku...'; +$messages['sendingmessage'] = 'Poruka se šalje...'; +$messages['messagesent'] = 'Poruka je uspješno poslana'; +$messages['savingmessage'] = 'Poruka se snima...'; +$messages['messagesaved'] = 'Poruka uspješno spremljena u \'Predlošci\''; +$messages['successfullysaved'] = 'Spremanje uspješno obavljeno'; +$messages['addedsuccessfully'] = 'Kontakt uspješno dodan u imenik'; +$messages['contactexists'] = 'Kontakt sa ovom e-mail adresom već postoji u imeniku'; +$messages['blockedimages'] = 'Zbog zaštite privatnosti, slike sa udaljenih servera su blokirane.'; +$messages['encryptedmessage'] = 'Ova poruka je zaštićena pa se ne može prikazati'; +$messages['nocontactsfound'] = 'Imenik je prazan'; +$messages['contactnotfound'] = 'Traženi kontak nije pronađen'; +$messages['sendingfailed'] = 'Greška pri slanju poruke'; +$messages['errorsaving'] = 'Greška pri spremanju'; +$messages['errormoving'] = 'Greška pri premještanju poruke'; +$messages['errordeleting'] = 'Greška pri brisanju poruke'; +$messages['deletecontactconfirm'] = 'Želite li obrisati izabrane kontakte?'; +$messages['deletemessagesconfirm'] = 'Sigurno želite obrisati odabrane poruke?'; +$messages['deletefolderconfirm'] = 'Želite li obrisati ovaj folder?'; +$messages['purgefolderconfirm'] = 'Želite li obrisati sve poruke u folderu?'; +$messages['formincomplete'] = 'Forma nije u cjelosti popunjena'; +$messages['noemailwarning'] = 'Unesite valjanu e-mail adresu'; +$messages['nonamewarning'] = 'Unesite ime'; +$messages['nopagesizewarning'] = 'Unesite veličinu stranice'; +$messages['norecipientwarning'] = 'Unesite primatelja (ZA)'; +$messages['nosubjectwarning'] = 'Polje \'Naslov\' je prazno. Želite li unijeti naslov?'; +$messages['nobodywarning'] = 'Želite li poslati poruku bez teksta?'; +$messages['notsentwarning'] = 'Poruka nije poslana. Želite li odbaciti ovu poruku?'; +$messages['noldapserver'] = 'Unesite LDAP server za pretragu'; +$messages['nocontactsreturned'] = 'Nije pronađen niti jedan kontakt'; +$messages['nosearchname'] = 'Unesite ime ili e-mail adresu'; +$messages['searchsuccessful'] = 'Broj pronađenih poruka: $nr'; +$messages['searchnomatch'] = 'Traženi termin nije pronađen ni u jednoj poruci'; +$messages['searching'] = 'Pretraga u tijeku...'; +$messages['checking'] = 'Provjera u tijeku...'; +$messages['nospellerrors'] = 'Nije pronađena niti jedna pravopisna greška'; +$messages['folderdeleted'] = 'Folder uspješno obrisan'; +$messages['deletedsuccessfully'] = 'Uspješno obrisano'; +$messages['converting'] = 'Mičem formatiranje poruke'; +$messages['messageopenerror'] = 'Nije moguće '; +$messages['fileuploaderror'] = 'Prijenos datoteke nije uspio'; +$messages['filesizeerror'] = 'Datoteka je prevelika. Dopuštena maksimalna je $size'; +$messages['copysuccess'] = 'Uspješno kopirano $n adresa'; +$messages['copyerror'] = 'Nije uspjelo kopiranje adresa'; +$messages['sourceisreadonly'] = 'Ovaj resurs adresa je samo za čitanje'; +$messages['errorsavingcontact'] = 'Nije uspjelo spremanje adrese kontakta'; + +?> \ No newline at end of file diff --git a/program/localization/hu/labels.inc b/program/localization/hu/labels.inc index b57b18b..89a127d 100644 --- a/program/localization/hu/labels.inc +++ b/program/localization/hu/labels.inc @@ -3,76 +3,179 @@ /* +-----------------------------------------------------------------------+ - | language/hu/messages.inc | + | language/hu/labels.inc | | | | Language file of the RoundCube Webmail client | | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | +-----------------------------------------------------------------------+ - | Author: Levente Farkas | + | Author: Levente Farkas | | Ervin Hegedüs | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: labels.inc 890 2007-10-20 18:01:01Z thomasb $ */ -$messages = array(); -$messages['loginfailed'] = 'Sikertelen belépés'; -$messages['cookiesdisabled'] = 'A böngésző nem támogatja a sütik használatát'; -$messages['sessionerror'] = 'Érvénytelen vagy lejárt munkamenet'; -$messages['imaperror'] = 'Nem sikerült a kapcsolódás az IMAP szerverhez'; -$messages['nomessagesfound'] = 'A fiók nem tartalmaz leveleket'; -$messages['loggedout'] = 'Sikeres kijelentkezés. Viszont látásra!'; -$messages['mailboxempty'] = 'A fiók üres'; -$messages['loading'] = 'Betöltés...'; -$messages['loadingdata'] = 'Az adatok betöltése...'; -$messages['checkingmail'] = 'Új üzenetek keresése...'; -$messages['sendingmessage'] = 'Az üzenet küldése...'; -$messages['messagesent'] = 'Az üzenet elküldve'; -$messages['savingmessage'] = 'Az üzenet mentése...'; -$messages['messagesaved'] = 'Az üzenet elmentve a Sablonokhoz'; -$messages['successfullysaved'] = 'A mentés sikerült'; -$messages['addedsuccessfully'] = 'A cím hozzáadása a címjegyzékhez megtörtént'; -$messages['contactexists'] = 'A kapcsolat már létezik ezzel az e-mail címmel'; -$messages['blockedimages'] = 'Biztonsági okokból a távoli képek letöltése tiltott.'; -$messages['encryptedmessage'] = 'Az üzenet titkosított, emiatt nem tudom megjeleníteni.'; -$messages['nocontactsfound'] = 'Nincs kapcsolat'; -$messages['contactnotfound'] = 'A kiválasztott kapcsolat nem található'; -$messages['sendingfailed'] = 'Az üzenet elküldése nem sikerült'; -$messages['errorsaving'] = 'A mentés során hiba lépett fel'; -$messages['errormoving'] = 'Az üzenetet nem sikerült áthelyezni'; -$messages['errordeleting'] = 'Az üzenetet nem sikerült törölni'; -$messages['deletecontactconfirm'] = 'Biztos, hogy törölni szeretnéd a kijelölt címe(ke)t?'; -$messages['deletemessagesconfirm'] = 'Biztos, hogy törölni szeretnéd a kijelölt üzenete(ke)t?'; -$messages['deletefolderconfirm'] = 'Biztos, hogy törölni szeretnéd ezt a mappát?'; -$messages['purgefolderconfirm'] = 'Biztos vagy benne, hogy az összes üzenet törölhető?'; -$messages['formincomplete'] = 'Az űrlap hiányosan lett kitöltve'; -$messages['noemailwarning'] = 'Adj meg egy valós e-mail címet'; -$messages['nonamewarning'] = 'Adj meg egy nevet'; -$messages['nopagesizewarning'] = 'Add meg a papír méretét'; -$messages['norecipientwarning'] = 'Legalább egy címzettet adj meg'; -$messages['nosubjectwarning'] = 'A "Tárgy" mező üres. Szeretnéd most kitölteni?'; -$messages['nobodywarning'] = 'Elküldöd az üzenetet tárgy nélkül?'; -$messages['notsentwarning'] = 'Az üzenet még nem küldtem el. Eldobod az üzenetet?'; -$messages['noldapserver'] = 'Adj meg egy LDAP szervert a kereséshez'; -$messages['nocontactsreturned'] = 'Nem találtam kapcsolatot'; -$messages['nosearchname'] = 'Add meg a kapcsolat nevét vagy e-mail címét'; -$messages['searchsuccessful'] = '$nr üzenetet találtam'; -$messages['searchnomatch'] = 'Nincs találat'; -$messages['searching'] = 'Keresés...'; -$messages['checking'] = 'Ellenőrzés...'; -$messages['nospellerrors'] = 'Nem találtam helyesírási hibát'; -$messages['folderdeleted'] = 'A mappa sikeresen törölve'; -$messages['deletedsuccessfully'] = 'Törölve'; -$messages['converting'] = 'Formázás eltávolítása az üzenetből...'; -$messages['messageopenerror'] = 'Nem tudom letölteni a leveleket a szerverről'; -$messages['fileuploaderror'] = 'Feltöltés sikertelen'; -$messages['filesizeerror'] = 'A feltöltött file mérete meghaladja a maximális méretet $size'; -$messages['copysuccess'] = 'Sikeresen másoltunk $nr címet'; -$messages['copyerror'] = 'Nem tudtunk másolni egyetlen címet sem'; -$messages['sourceisreadonly'] = 'Ez a címforrás csak olvasható'; -$messages['errorsavingcontact'] = 'Nem tudtuk menteni a kapcsolat címét'; +$labels = array(); +$labels['welcome'] = 'Üdvözli a $product'; +$labels['username'] = 'Felhasználónév'; +$labels['password'] = 'Jelszó'; +$labels['server'] = 'Szerver'; +$labels['login'] = 'Belépés'; +$labels['logout'] = 'Kijelentkezés'; +$labels['mail'] = 'E-mail'; +$labels['settings'] = 'Egyéni beállítások'; +$labels['addressbook'] = 'Címjegyzék'; +$labels['inbox'] = 'Érkezett levelek'; +$labels['drafts'] = 'Piszkozatok'; +$labels['sent'] = 'Küldött levelek'; +$labels['trash'] = 'Törölt elemek'; +$labels['junk'] = 'Szemetes'; +$labels['subject'] = 'Tárgy'; +$labels['from'] = 'Feladó'; +$labels['to'] = 'Címzett'; +$labels['cc'] = 'Másolat'; +$labels['bcc'] = 'Titkos másolat'; +$labels['replyto'] = 'Válaszcím'; +$labels['date'] = 'Dátum'; +$labels['size'] = 'Méret'; +$labels['priority'] = 'Sürgősség'; +$labels['organization'] = 'Szervezet'; +$labels['reply-to'] = 'Válaszcím'; +$labels['mailboxlist'] = 'Mappák'; +$labels['messagesfromto'] = 'Üzenetek: $from - $to / $count'; +$labels['messagenrof'] = '$nr / $count üzenet'; +$labels['moveto'] = 'áthelyezés...'; +$labels['download'] = 'letöltés'; +$labels['filename'] = 'File neve'; +$labels['filesize'] = 'File mérete'; +$labels['preferhtml'] = 'HTML megjelenítés'; +$labels['htmlmessage'] = 'HTML üzenet'; +$labels['prettydate'] = 'Rövid dátumok'; +$labels['addtoaddressbook'] = 'Hozzáadás a címjegyzékhez'; +$labels['sun'] = 'Vas'; +$labels['mon'] = 'Hét'; +$labels['tue'] = 'Kedd'; +$labels['wed'] = 'Szer'; +$labels['thu'] = 'Csüt'; +$labels['fri'] = 'Pén'; +$labels['sat'] = 'Szom'; +$labels['sunday'] = 'Vasárnap'; +$labels['monday'] = 'Hétfő'; +$labels['tuesday'] = 'Kedd'; +$labels['wednesday'] = 'Szerda'; +$labels['thursday'] = 'Csütörtök'; +$labels['friday'] = 'Péntek'; +$labels['saturday'] = 'Szombat'; +$labels['today'] = 'Ma'; +$labels['checkmail'] = 'Új üzenetek ellenőrzése'; +$labels['writenewmessage'] = 'Új üzenet'; +$labels['replytomessage'] = 'Válasz'; +$labels['replytoallmessage'] = 'Válasz a feladónak és az összes címzettnek'; +$labels['forwardmessage'] = 'Továbbítás'; +$labels['deletemessage'] = 'Törlés'; +$labels['printmessage'] = 'Nyomtatás'; +$labels['previousmessage'] = 'Előző levél mutatása'; +$labels['previousmessages'] = 'Előző rész mutatása'; +$labels['firstmessage'] = 'Első levél mutatása'; +$labels['firstmessages'] = 'Első rész mutatása'; +$labels['nextmessage'] = 'Következő levél mutatása'; +$labels['nextmessages'] = 'Következő rész mutatása'; +$labels['lastmessage'] = 'Utolsó levél mutatása'; +$labels['lastmessages'] = 'Utolsó rész mutatása'; +$labels['backtolist'] = 'Vissza az üzenetekhez'; +$labels['viewsource'] = 'Forrás megtekintése'; +$labels['select'] = 'Kijelölés'; +$labels['all'] = 'Összes'; +$labels['none'] = 'Nincs'; +$labels['unread'] = 'Olvasatlan'; +$labels['compact'] = 'Tömörítés'; +$labels['empty'] = 'Ürítés'; +$labels['purge'] = 'Tisztítás'; +$labels['quota'] = 'Diszk használat'; +$labels['unknown'] = 'ismeretlen'; +$labels['unlimited'] = 'korlátlan'; +$labels['quicksearch'] = 'Gyorskeresés'; +$labels['resetsearch'] = 'Alapállapot'; +$labels['compose'] = 'Üzenet létrehozása'; +$labels['sendmessage'] = 'Üzenet azonnali küldése'; +$labels['savemessage'] = 'Vázlat mentése'; +$labels['addattachment'] = 'File csatolása'; +$labels['charset'] = 'Karakterkészlet'; +$labels['editortype'] = 'Szerkesztő típusa'; +$labels['returnreceipt'] = 'Értesítés'; +$labels['checkspelling'] = 'Helyesírás-ellenőrzés'; +$labels['resumeediting'] = 'Helyesírás kész'; +$labels['revertto'] = 'Vissza erre:'; +$labels['attachments'] = 'Csatolások'; +$labels['upload'] = 'Feltöltés'; +$labels['close'] = 'Bezárás'; +$labels['low'] = 'Alacsony'; +$labels['lowest'] = 'Legkisebb'; +$labels['normal'] = 'Normál'; +$labels['high'] = 'Magas'; +$labels['highest'] = 'Legmagasabb'; +$labels['nosubject'] = '(nincs tárgy)'; +$labels['showimages'] = 'Képek megjelenítése'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'Egyszerű szöveg'; +$labels['name'] = 'Megjelenített név'; +$labels['firstname'] = 'Keresztnév'; +$labels['surname'] = 'Vezetéknév'; +$labels['email'] = 'E-mail cím'; +$labels['addcontact'] = 'Új kapcsolat hozzáadása'; +$labels['editcontact'] = 'Kapcsolat szerkesztése'; +$labels['edit'] = 'Szerkesztés'; +$labels['cancel'] = 'Mégsem'; +$labels['save'] = 'Mentés'; +$labels['delete'] = 'Törlés'; +$labels['newcontact'] = 'Új névjegykártya létrehozása'; +$labels['deletecontact'] = 'Kijelölt kapcsolatok törlése'; +$labels['composeto'] = 'E-mail küldése erre a címre'; +$labels['contactsfromto'] = 'Kapcsolatok: $from - $to / $count'; +$labels['print'] = 'Nyomtatás'; +$labels['export'] = 'Exportálás'; +$labels['previouspage'] = 'Előző lap'; +$labels['firstpage'] = 'Első lap'; +$labels['nextpage'] = 'Következő lap'; +$labels['lastpage'] = 'Utolsó lap'; +$labels['groups'] = 'Csoportok'; +$labels['personaladrbook'] = 'Személyes címjegyzék'; +$labels['settingsfor'] = 'Beállítás'; +$labels['preferences'] = 'Beállítások'; +$labels['userpreferences'] = 'Felhasználói beállítások'; +$labels['editpreferences'] = 'Felhasználói beállítások szerkesztése'; +$labels['identities'] = 'Azonosítók'; +$labels['manageidentities'] = 'Hozzáférés azonosítóinak kezelése'; +$labels['newidentity'] = 'Új azonosító'; +$labels['newitem'] = 'Új elem'; +$labels['edititem'] = 'Elem szerkesztése'; +$labels['setdefault'] = 'Beállítás alapértelmezettnek'; +$labels['language'] = 'Nyelv'; +$labels['timezone'] = 'Időzóna'; +$labels['pagesize'] = 'Sorok száma egy oldalon'; +$labels['signature'] = 'Aláírás'; +$labels['dstactive'] = 'Nyári időszámítás'; +$labels['htmleditor'] = 'HTML üzenet írása'; +$labels['htmlsignature'] = 'HTML aláírás'; +$labels['previewpane'] = 'Előnézeti kép'; +$labels['autosavedraft'] = 'Automatikus piszkozat mentés'; +$labels['everynminutes'] = 'minden $n percben'; +$labels['never'] = 'soha'; +$labels['folder'] = 'Mappa'; +$labels['folders'] = 'Mappák'; +$labels['foldername'] = 'Mappa neve'; +$labels['subscribed'] = 'Feliratkozás'; +$labels['create'] = 'Létrehozás'; +$labels['createfolder'] = 'Új mappa létrehozása'; +$labels['rename'] = 'Átnevezés'; +$labels['renamefolder'] = 'Mappa átnevezése'; +$labels['deletefolder'] = 'Mappa törlése'; +$labels['managefolders'] = 'Mappák kezelése'; +$labels['sortby'] = 'Rendezés'; +$labels['sortasc'] = 'növekvő'; +$labels['sortdesc'] = 'csökkenő'; -?> +?> \ No newline at end of file diff --git a/program/localization/hu/messages.inc b/program/localization/hu/messages.inc index 1b36afb..413ee66 100644 --- a/program/localization/hu/messages.inc +++ b/program/localization/hu/messages.inc @@ -14,168 +14,65 @@ | Ervin Hegedüs | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: messages.inc 890 2007-10-20 18:01:01Z thomasb $ */ -$labels = array(); -$labels['welcome'] = 'Üdvözli a $product'; -$labels['username'] = 'Felhasználónév'; -$labels['password'] = 'Jelszó'; -$labels['server'] = 'Szerver'; -$labels['login'] = 'Belépés'; -$labels['logout'] = 'Kijelentkezés'; -$labels['mail'] = 'E-mail'; -$labels['settings'] = 'Egyéni beállítások'; -$labels['addressbook'] = 'Címjegyzék'; -$labels['inbox'] = 'Érkezett levelek'; -$labels['drafts'] = 'Piszkozatok'; -$labels['sent'] = 'Küldött levelek'; -$labels['trash'] = 'Törölt elemek'; -$labels['junk'] = 'Szemetes'; -$labels['subject'] = 'Tárgy'; -$labels['from'] = 'Feladó'; -$labels['to'] = 'Címzett'; -$labels['cc'] = 'Másolat'; -$labels['bcc'] = 'Titkos másolat'; -$labels['replyto'] = 'Válaszcím'; -$labels['date'] = 'Dátum'; -$labels['size'] = 'Méret'; -$labels['priority'] = 'Sürgősség'; -$labels['organization'] = 'Szervezet'; -$labels['reply-to'] = 'Válaszcím'; -$labels['mailboxlist'] = 'Mappák'; -$labels['messagesfromto'] = 'Üzenetek: $from - $to / $count'; -$labels['messagenrof'] = '$nr / $count üzenet'; -$labels['moveto'] = 'áthelyezés...'; -$labels['download'] = 'letöltés'; -$labels['filename'] = 'File neve'; -$labels['filesize'] = 'File mérete'; -$labels['preferhtml'] = 'HTML megjelenítés'; -$labels['htmlmessage'] = 'HTML üzenet'; -$labels['prettydate'] = 'Rövid dátumok'; -$labels['addtoaddressbook'] = 'Hozzáadás a címjegyzékhez'; -$labels['sun'] = 'Vas'; -$labels['mon'] = 'Hét'; -$labels['tue'] = 'Kedd'; -$labels['wed'] = 'Szer'; -$labels['thu'] = 'Csüt'; -$labels['fri'] = 'Pén'; -$labels['sat'] = 'Szom'; -$labels['sunday'] = 'Vasárnap'; -$labels['monday'] = 'Hétfő'; -$labels['tuesday'] = 'Kedd'; -$labels['wednesday'] = 'Szerda'; -$labels['thursday'] = 'Csütörtök'; -$labels['friday'] = 'Péntek'; -$labels['saturday'] = 'Szombat'; -$labels['today'] = 'Ma'; -$labels['checkmail'] = 'Új üzenetek ellenőrzése'; -$labels['writenewmessage'] = 'Új üzenet'; -$labels['replytomessage'] = 'Válasz'; -$labels['replytoallmessage'] = 'Válasz a feladónak és az összes címzettnek'; -$labels['forwardmessage'] = 'Továbbítás'; -$labels['deletemessage'] = 'Törlés'; -$labels['printmessage'] = 'Nyomtatás'; -$labels['previousmessage'] = 'Előző levél mutatása'; -$labels['previousmessages'] = 'Előző rész mutatása'; -$labels['firstmessage'] = 'Első levél mutatása'; -$labels['firstmessages'] = 'Első rész mutatása'; -$labels['nextmessage'] = 'Következő levél mutatása'; -$labels['nextmessages'] = 'Következő rész mutatása'; -$labels['lastmessage'] = 'Utolsó levél mutatása'; -$labels['lastmessages'] = 'Utolsó rész mutatása'; -$labels['backtolist'] = 'Vissza az üzenetekhez'; -$labels['viewsource'] = 'Forrás megtekintése'; -$labels['select'] = 'Kijelölés'; -$labels['all'] = 'Összes'; -$labels['none'] = 'Nincs'; -$labels['unread'] = 'Olvasatlan'; -$labels['compact'] = 'Tömörítés'; -$labels['empty'] = 'Ürítés'; -$labels['purge'] = 'Tisztítás'; -$labels['quota'] = 'Diszk használat'; -$labels['unknown'] = 'ismeretlen'; -$labels['unlimited'] = 'korlátlan'; -$labels['quicksearch'] = 'Gyorskeresés'; -$labels['resetsearch'] = 'Alapállapot'; -$labels['compose'] = 'Üzenet létrehozása'; -$labels['sendmessage'] = 'Üzenet azonnali küldése'; -$labels['savemessage'] = 'Vázlat mentése'; -$labels['addattachment'] = 'File csatolása'; -$labels['charset'] = 'Karakterkészlet'; -$labels['editortype'] = 'Szerkesztő típusa'; -$labels['returnreceipt'] = 'Értesítés'; -$labels['checkspelling'] = 'Helyesírás-ellenőrzés'; -$labels['resumeediting'] = 'Helyesírás kész'; -$labels['revertto'] = 'Vissza erre:'; -$labels['attachments'] = 'Csatolások'; -$labels['upload'] = 'Feltöltés'; -$labels['close'] = 'Bezárás'; -$labels['low'] = 'Alacsony'; -$labels['lowest'] = 'Legkisebb'; -$labels['normal'] = 'Normál'; -$labels['high'] = 'Magas'; -$labels['highest'] = 'Legmagasabb'; -$labels['nosubject'] = '(nincs tárgy)'; -$labels['showimages'] = 'Képek megjelenítése'; -$labels['htmltoggle'] = 'HTML'; -$labels['plaintoggle'] = 'Egyszerű szöveg'; -$labels['name'] = 'Megjelenített név'; -$labels['firstname'] = 'Keresztnév'; -$labels['surname'] = 'Vezetéknév'; -$labels['email'] = 'E-mail cím'; -$labels['addcontact'] = 'Új kapcsolat hozzáadása'; -$labels['editcontact'] = 'Kapcsolat szerkesztése'; -$labels['edit'] = 'Szerkesztés'; -$labels['cancel'] = 'Mégsem'; -$labels['save'] = 'Mentés'; -$labels['delete'] = 'Törlés'; -$labels['newcontact'] = 'Új névjegykártya létrehozása'; -$labels['deletecontact'] = 'Kijelölt kapcsolatok törlése'; -$labels['composeto'] = 'E-mail küldése erre a címre'; -$labels['contactsfromto'] = 'Kapcsolatok: $from - $to / $count'; -$labels['print'] = 'Nyomtatás'; -$labels['export'] = 'Exportálás'; -$labels['previouspage'] = 'Előző lap'; -$labels['firstpage'] = 'Első lap'; -$labels['nextpage'] = 'Következő lap'; -$labels['lastpage'] = 'Utolsó lap'; -$labels['groups'] = 'Csoportok'; -$labels['personaladrbook'] = 'Személyes címjegyzék'; -$labels['settingsfor'] = 'Beállítás'; -$labels['preferences'] = 'Beállítások'; -$labels['userpreferences'] = 'Felhasználói beállítások'; -$labels['editpreferences'] = 'Felhasználói beállítások szerkesztése'; -$labels['identities'] = 'Azonosítók'; -$labels['manageidentities'] = 'Hozzáférés azonosítóinak kezelése'; -$labels['newidentity'] = 'Új azonosító'; -$labels['newitem'] = 'Új elem'; -$labels['edititem'] = 'Elem szerkesztése'; -$labels['setdefault'] = 'Beállítás alapértelmezettnek'; -$labels['language'] = 'Nyelv'; -$labels['timezone'] = 'Időzóna'; -$labels['pagesize'] = 'Sorok száma egy oldalon'; -$labels['signature'] = 'Aláírás'; -$labels['dstactive'] = 'Nyári időszámítás'; -$labels['htmleditor'] = 'HTML üzenet írása'; -$labels['htmlsignature'] = 'HTML aláírás'; -$labels['previewpane'] = 'Előnézeti kép'; -$labels['autosavedraft'] = 'Automatikus piszkozat mentés'; -$labels['everynminutes'] = 'minden $n percben'; -$labels['never'] = 'soha'; -$labels['folder'] = 'Mappa'; -$labels['folders'] = 'Mappák'; -$labels['foldername'] = 'Mappa neve'; -$labels['subscribed'] = 'Feliratkozás'; -$labels['create'] = 'Létrehozás'; -$labels['createfolder'] = 'Új mappa létrehozása'; -$labels['rename'] = 'Átnevezés'; -$labels['renamefolder'] = 'Mappa átnevezése'; -$labels['deletefolder'] = 'Mappa törlése'; -$labels['managefolders'] = 'Mappák kezelése'; -$labels['sortby'] = 'Rendezés'; -$labels['sortasc'] = 'növekvő'; -$labels['sortdesc'] = 'csökkenő'; +$messages = array(); +$messages['loginfailed'] = 'Sikertelen belépés'; +$messages['cookiesdisabled'] = 'A böngésző nem támogatja a sütik használatát'; +$messages['sessionerror'] = 'Érvénytelen vagy lejárt munkamenet'; +$messages['imaperror'] = 'Nem sikerült a kapcsolódás az IMAP szerverhez'; +$messages['nomessagesfound'] = 'A fiók nem tartalmaz leveleket'; +$messages['loggedout'] = 'Sikeres kijelentkezés. Viszont látásra!'; +$messages['mailboxempty'] = 'A fiók üres'; +$messages['loading'] = 'Betöltés...'; +$messages['loadingdata'] = 'Az adatok betöltése...'; +$messages['checkingmail'] = 'Új üzenetek keresése...'; +$messages['sendingmessage'] = 'Az üzenet küldése...'; +$messages['messagesent'] = 'Az üzenet elküldve'; +$messages['savingmessage'] = 'Az üzenet mentése...'; +$messages['messagesaved'] = 'Az üzenet elmentve a Sablonokhoz'; +$messages['successfullysaved'] = 'A mentés sikerült'; +$messages['addedsuccessfully'] = 'A cím hozzáadása a címjegyzékhez megtörtént'; +$messages['contactexists'] = 'A kapcsolat már létezik ezzel az e-mail címmel'; +$messages['blockedimages'] = 'Biztonsági okokból a távoli képek letöltése tiltott.'; +$messages['encryptedmessage'] = 'Az üzenet titkosított, emiatt nem tudom megjeleníteni.'; +$messages['nocontactsfound'] = 'Nincs kapcsolat'; +$messages['contactnotfound'] = 'A kiválasztott kapcsolat nem található'; +$messages['sendingfailed'] = 'Az üzenet elküldése nem sikerült'; +$messages['errorsaving'] = 'A mentés során hiba lépett fel'; +$messages['errormoving'] = 'Az üzenetet nem sikerült áthelyezni'; +$messages['errordeleting'] = 'Az üzenetet nem sikerült törölni'; +$messages['deletecontactconfirm'] = 'Biztos, hogy törölni szeretnéd a kijelölt címe(ke)t?'; +$messages['deletemessagesconfirm'] = 'Biztos, hogy törölni szeretnéd a kijelölt üzenete(ke)t?'; +$messages['deletefolderconfirm'] = 'Biztos, hogy törölni szeretnéd ezt a mappát?'; +$messages['purgefolderconfirm'] = 'Biztos vagy benne, hogy az összes üzenet törölhető?'; +$messages['formincomplete'] = 'Az űrlap hiányosan lett kitöltve'; +$messages['noemailwarning'] = 'Adj meg egy valós e-mail címet'; +$messages['nonamewarning'] = 'Adj meg egy nevet'; +$messages['nopagesizewarning'] = 'Add meg a papír méretét'; +$messages['norecipientwarning'] = 'Legalább egy címzettet adj meg'; +$messages['nosubjectwarning'] = 'A "Tárgy" mező üres. Szeretnéd most kitölteni?'; +$messages['nobodywarning'] = 'Elküldöd az üzenetet tárgy nélkül?'; +$messages['notsentwarning'] = 'Az üzenet még nem küldtem el. Eldobod az üzenetet?'; +$messages['noldapserver'] = 'Adj meg egy LDAP szervert a kereséshez'; +$messages['nocontactsreturned'] = 'Nem találtam kapcsolatot'; +$messages['nosearchname'] = 'Add meg a kapcsolat nevét vagy e-mail címét'; +$messages['searchsuccessful'] = '$nr üzenetet találtam'; +$messages['searchnomatch'] = 'Nincs találat'; +$messages['searching'] = 'Keresés...'; +$messages['checking'] = 'Ellenőrzés...'; +$messages['nospellerrors'] = 'Nem találtam helyesírási hibát'; +$messages['folderdeleted'] = 'A mappa sikeresen törölve'; +$messages['deletedsuccessfully'] = 'Törölve'; +$messages['converting'] = 'Formázás eltávolítása az üzenetből...'; +$messages['messageopenerror'] = 'Nem tudom letölteni a leveleket a szerverről'; +$messages['fileuploaderror'] = 'Feltöltés sikertelen'; +$messages['filesizeerror'] = 'A feltöltött file mérete meghaladja a maximális méretet $size'; +$messages['copysuccess'] = 'Sikeresen másoltunk $nr címet'; +$messages['copyerror'] = 'Nem tudtunk másolni egyetlen címet sem'; +$messages['sourceisreadonly'] = 'Ez a címforrás csak olvasható'; +$messages['errorsavingcontact'] = 'Nem tudtuk menteni a kapcsolat címét'; -?> +?> \ No newline at end of file diff --git a/program/localization/index.inc b/program/localization/index.inc index bab4810..cf6ee4e 100644 --- a/program/localization/index.inc +++ b/program/localization/index.inc @@ -5,7 +5,7 @@ | program/localization/index.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005, RoundCube Dev, - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -16,7 +16,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: index.inc 560 2007-05-17 15:01:26Z thomasb $ + $Id: index.inc 886 2007-10-19 07:24:53Z yllar $ */ @@ -27,18 +27,20 @@ 'am' => 'Armenian', 'bg' => 'Bulgarian', 'bs_BA' => 'Bosnian (Bosanski)', - 'zh_TW' => 'Chinese (BIG5)', - 'zh_CN' => 'Chinese (GB2312)', + 'zh_TW' => 'Chinese (Traditional)', + 'zh_CN' => 'Chinese (Simplified)', 'ca' => 'Català', 'cz' => 'Czech', 'da' => 'Dansk', 'de_DE' => 'Deutsch (Deutsch)', 'de_CH' => 'Deutsch (Schweiz)', + 'eo' => 'Esperanto', 'es' => 'Español', 'et_EE' => 'Estonian', 'eu' => 'Euskara', 'fr' => 'Français', - 'ga' => 'Galician', + 'gl' => 'Galego', + 'ga_IE' => 'Irish', 'el' => 'Greek', 'hi' => 'Hindi', 'hr' => 'Hrvatski', @@ -50,6 +52,8 @@ 'kur_KU' => 'Kurdish (Kurmancî)', 'lv' => 'Latvian', 'lt' => 'Lithuanian', + 'mk' => 'Macedonian (Slavic FYROM)', + 'ms_MY' => 'Malay', 'nl_NL' => 'Nederlands', 'nl_BE' => 'Flemish', 'nb_NO' => 'Norsk (bokmål)', @@ -68,20 +72,23 @@ 'sr_latin' => 'Serbian Latin', 'sr_cyrillic' => 'Serbian Cyrillic', 'tr' => 'Turkish', - 'th' => 'Thai', + 'th_TH' => 'Thai', + 'uk' => 'Ukrainian', 'vn' => 'Vietnamese' ); $rcube_language_aliases = array( 'ee' => 'et_EE', 'bs' => 'bs_BA', - 'cn' => 'zh_CN', + 'cn' => 'zh_CN', 'de' => 'de_DE', 'en' => 'en_US', + 'ga' => 'ga_IE', 'nl' => 'nl_NL', 'no' => 'nn_NO', 'pt' => 'pt_PT', - 'tw' => 'zh_TW' + 'th' => 'th_TH', + 'tw' => 'zh_TW' ); $rcube_charsets = array(); diff --git a/program/localization/it/labels.inc b/program/localization/it/labels.inc index 8324c1f..bfd1016 100644 --- a/program/localization/it/labels.inc +++ b/program/localization/it/labels.inc @@ -14,7 +14,7 @@ | Yusef Maali | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 552 2007-05-03 20:48:00Z yllar $ + @version $Id: labels.inc 869 2007-10-15 13:27:08Z yllar $ */ @@ -51,7 +51,7 @@ $labels['moveto'] = 'sposta...'; $labels['download'] = 'download'; $labels['filename'] = 'Nome file'; $labels['filesize'] = 'Dimensione file'; -$labels['preferhtml'] = 'Preferisci HTML'; +$labels['preferhtml'] = 'Mostra HTML'; $labels['htmlmessage'] = 'Messaggio HTML'; $labels['prettydate'] = 'Date più leggibili'; $labels['addtoaddressbook'] = 'Aggiungi alla rubrica'; @@ -75,7 +75,8 @@ $labels['writenewmessage'] = 'Scrivi un nuovo messaggio'; $labels['replytomessage'] = 'Rispondi al messaggio'; $labels['replytoallmessage'] = 'Rispondi a tutti'; $labels['forwardmessage'] = 'Inoltra il messaggio'; -$labels['deletemessage'] = 'Sposta il messaggio nel cestino'; +$labels['deletemessage'] = 'Elimina il messaggio'; +$labels['movemessagetotrash'] = 'Sposta il messaggio nel cestino'; $labels['printmessage'] = 'Stampa il messaggio'; $labels['previousmessage'] = 'Visualizza il messaggio precedente'; $labels['previousmessages'] = 'Visualizza messaggi precedenti'; @@ -94,14 +95,14 @@ $labels['unread'] = 'Non letti'; $labels['compact'] = 'Compatta'; $labels['empty'] = 'Svuota'; $labels['purge'] = 'Pulisci'; -$labels['quota'] = 'Utilizzo spazio'; +$labels['quota'] = 'Spazio utilizzato'; $labels['unknown'] = 'sconosciuto'; $labels['unlimited'] = 'illimitato'; $labels['quicksearch'] = 'Ricerca veloce'; $labels['resetsearch'] = 'Annulla ricerca'; $labels['compose'] = 'Scrivi un messaggio'; -$labels['sendmessage'] = 'Invia il messaggio adesso'; $labels['savemessage'] = 'Salva come bozza'; +$labels['sendmessage'] = 'Invia il messaggio adesso'; $labels['addattachment'] = 'Allega un file'; $labels['charset'] = 'Set di caratteri'; $labels['editortype'] = 'Tipo editor'; @@ -121,11 +122,14 @@ $labels['nosubject'] = '(nessun oggetto)'; $labels['showimages'] = 'Visualizza immagini'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Testo semplice'; +$labels['addcc'] = 'Aggiungi Cc'; +$labels['addbcc'] = 'Aggiungi Bcc'; +$labels['addreplyto'] = 'Aggiungi Rispondi a'; $labels['name'] = 'Nome visualizzato'; $labels['firstname'] = 'Nome'; $labels['surname'] = 'Cognome'; $labels['email'] = 'E-Mail'; -$labels['addcontact'] = 'Aggiungi il contatto selezionato alla rubrica'; +$labels['addcontact'] = 'Aggiungi contatto alla rubrica'; $labels['editcontact'] = 'Modifica contatto'; $labels['edit'] = 'Modifica'; $labels['cancel'] = 'Annulla'; @@ -142,7 +146,7 @@ $labels['firstpage'] = 'Prima pagina'; $labels['nextpage'] = 'Pagina successiva'; $labels['lastpage'] = 'Ultima pagina'; $labels['groups'] = 'Gruppi'; -$labels['personaladrbook'] = 'Indirizzi Personali'; +$labels['personaladrbook'] = 'Rubrica Personale'; $labels['settingsfor'] = 'Impostazioni per '; $labels['preferences'] = 'Preferenze'; $labels['userpreferences'] = 'Preferenze utente'; @@ -169,10 +173,10 @@ $labels['folders'] = 'Cartelle'; $labels['foldername'] = 'Nome cartella'; $labels['subscribed'] = 'Sottoscritta'; $labels['create'] = 'Crea'; -$labels['createfolder'] = 'Crea una nuova cartella'; +$labels['createfolder'] = 'Crea nuova cartella'; $labels['rename'] = 'Rinomina'; $labels['renamefolder'] = 'Rinomina cartella'; -$labels['deletefolder'] = 'Cancella la cartella'; +$labels['deletefolder'] = 'Cancella cartella'; $labels['managefolders'] = 'Gestione cartelle'; $labels['sortby'] = 'Ordina per'; $labels['sortasc'] = 'Ordinamento crescente'; diff --git a/program/localization/it/messages.inc b/program/localization/it/messages.inc index b00cfaa..07fc7f4 100644 --- a/program/localization/it/messages.inc +++ b/program/localization/it/messages.inc @@ -14,7 +14,7 @@ | Yusef Maali | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 552 2007-05-03 20:48:00Z yllar $ + @version $Id: messages.inc 869 2007-10-15 13:27:08Z yllar $ */ @@ -52,7 +52,7 @@ $messages['formincomplete'] = 'Per favore, compila tutti i campi'; $messages['noemailwarning'] = 'Per favore, immetti un indirizzo e-mail valido'; $messages['nonamewarning'] = 'Per favore, immetti un nome'; $messages['nopagesizewarning'] = 'Per favore, immetti il numero di righe per pagina'; -$messages['norecipientwarning'] = 'Per favore, immetti almeno un contatto'; +$messages['norecipientwarning'] = 'Per favore, immetti almeno un destinatario'; $messages['nosubjectwarning'] = 'L\'oggetto é vuoto. Vuoi inserirlo adesso?'; $messages['nobodywarning'] = 'Inviare il messaggio senza testo?'; $messages['notsentwarning'] = 'Il messaggio non é stato inviato. Vuoi veramente annullare questo messaggio?'; @@ -74,5 +74,6 @@ $messages['copysuccess'] = 'Copiati $nr indirizzi'; $messages['copyerror'] = 'Impossibile copiare gli indirizzi'; $messages['sourceisreadonly'] = 'La rubrica è in sola lettura'; $messages['errorsavingcontact'] = 'Impossibile salvare il contatto'; +$messages['movingmessage'] = 'Sposto il messaggio...'; ?> \ No newline at end of file diff --git a/program/localization/ja/labels.inc b/program/localization/ja/labels.inc index a13a1c6..15dc25e 100644 --- a/program/localization/ja/labels.inc +++ b/program/localization/ja/labels.inc @@ -14,7 +14,7 @@ | Takashi Takamatsu | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: labels.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -178,4 +178,4 @@ $labels['sortby'] = '整列の基準にする'; $labels['sortasc'] = '昇順で整列'; $labels['sortdesc'] = '降順で整列'; -?> +?> \ No newline at end of file diff --git a/program/localization/ja/messages.inc b/program/localization/ja/messages.inc index c7ea077..eb19674 100644 --- a/program/localization/ja/messages.inc +++ b/program/localization/ja/messages.inc @@ -14,65 +14,66 @@ | Takashi Takamatsu | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ */ $messages = array(); $messages['loginfailed'] = 'ログインに失敗しました。'; -$messages['cookiesdisabled'] = 'ブラウザーが Cookie を受理しません。'; +$messages['cookiesdisabled'] = 'ブラウザーで Cookie が無効に設定されています。'; $messages['sessionerror'] = 'セッションが正しくないか期限切れです。'; $messages['imaperror'] = 'IMAP サーバーへの接続に失敗しました。'; -$messages['nomessagesfound'] = 'このメールボックスでメッセージは見つかりません。'; -$messages['loggedout'] = 'セッションの切断に成功しました。さようなら!'; +$messages['nomessagesfound'] = 'メールはありません。'; +$messages['loggedout'] = 'ログアウトしました。'; $messages['mailboxempty'] = 'メールボックスは空です。'; -$messages['loading'] = '読込中...'; -$messages['loadingdata'] = 'データを読込中です...'; -$messages['checkingmail'] = '新しいメッセージの確認中です...'; -$messages['sendingmessage'] = 'メッセージの送信中です...'; -$messages['messagesent'] = 'メッセージの送信に成功しました。'; -$messages['savingmessage'] = 'メッセージを保存しています...'; -$messages['messagesaved'] = 'メッセージを草稿に保存しました。'; -$messages['successfullysaved'] = '保存に成功しました。'; -$messages['addedsuccessfully'] = 'アドレス帳への連絡先の追加に成功しました。'; +$messages['loading'] = '読み込み中...'; +$messages['loadingdata'] = 'データを読み込み中です...'; +$messages['checkingmail'] = 'メールの確認中です...'; +$messages['sendingmessage'] = 'メールを送信中です...'; +$messages['messagesent'] = 'メールを送信しました。'; +$messages['savingmessage'] = 'メールを保存しています...'; +$messages['messagesaved'] = 'メールを下書きに保存しました。'; +$messages['successfullysaved'] = '保存しました。'; +$messages['addedsuccessfully'] = 'アドレス帳への連絡先の追加しました。'; $messages['contactexists'] = 'このメールアドレスは既にアドレス帳に存在します。'; -$messages['blockedimages'] = 'プライバシーを保護するため、このメッセージに含まれるリモート画像はブロックされました。'; -$messages['encryptedmessage'] = 'このメッセージは暗号化されているため表示できません。ごめんなさい!'; +$messages['blockedimages'] = 'プライバシーを保護するため、このメールに含まれるリモート画像はブロックされました。'; +$messages['encryptedmessage'] = 'このメールは暗号化されているため表示できません。'; $messages['nocontactsfound'] = '連絡先が見つかりません。'; $messages['contactnotfound'] = '要求された連絡先が見つかりません。'; -$messages['sendingfailed'] = 'メッセージの送信に失敗しました。'; +$messages['sendingfailed'] = 'メールの送信に失敗しました。'; $messages['errorsaving'] = '保存中にエラーが発生しました。'; -$messages['errormoving'] = 'メッセージを移動できません。'; -$messages['errordeleting'] = 'メッセージを削除できません。'; -$messages['deletecontactconfirm'] = '選択した連絡先を本当に削除しますか?'; -$messages['deletemessagesconfirm'] = '選択したメッセージを本当に削除しますか?'; -$messages['deletefolderconfirm'] = 'このフォルダーを本当に削除しますか?'; -$messages['purgefolderconfirm'] = 'このフォルダの全メッセージを本当に削除しますか?'; +$messages['errormoving'] = 'メールを移動できません。'; +$messages['errordeleting'] = 'メールを削除できません。'; +$messages['deletecontactconfirm'] = '選択した連絡先を本当に削除しますか?'; +$messages['deletemessagesconfirm'] = '選択したメールを本当に削除しますか?'; +$messages['deletefolderconfirm'] = 'このフォルダーを本当に削除しますか?'; +$messages['purgefolderconfirm'] = 'このフォルダの全てのメールを本当に削除しますか?'; $messages['formincomplete'] = 'フォームの項目が完全に入力されていません。'; $messages['noemailwarning'] = '有効なメールアドレスを入力して下さい。'; $messages['nonamewarning'] = '名前を入力して下さい。'; $messages['nopagesizewarning'] = 'ページのサイズを入力して下さい。'; $messages['norecipientwarning'] = '受信者を最低 1 人は入力して下さい。'; -$messages['nosubjectwarning'] = '件名が空です。今すぐ入力しますか?'; -$messages['nobodywarning'] = '本文の無いメッセージを送信しますか?'; -$messages['notsentwarning'] = 'メッセージは送信されませんでした。破棄しますか?'; +$messages['nosubjectwarning'] = '件名が空です。今すぐ入力しますか?'; +$messages['nobodywarning'] = '本文が無いメールを送信しますか?'; +$messages['notsentwarning'] = 'メールは送信されませんでした。破棄しますか?'; $messages['noldapserver'] = '検索する LDAP サーバーを選択して下さい。'; $messages['nocontactsreturned'] = '連絡先が見つかりません。'; $messages['nosearchname'] = '連絡先の名前かメールアドレスを入力して下さい。'; -$messages['searchsuccessful'] = ' $nr 個のメッセージが見つかりました。'; -$messages['searchnomatch'] = '一致するものがありません。'; +$messages['searchsuccessful'] = ' $nr 件のメールが見つかりました。'; +$messages['searchnomatch'] = '一致するメールはありません。'; $messages['searching'] = '検索中です...'; $messages['checking'] = '確認中です...'; -$messages['nospellerrors'] = 'スペルエラーは見つかりませんでした。'; -$messages['folderdeleted'] = 'フォルダーの削除に成功しました。'; -$messages['deletedsuccessfully'] = '削除に成功しました。'; -$messages['converting'] = 'メッセージから書式を削除中です...'; -$messages['messageopenerror'] = 'サーバからメッセージを取得できません。'; +$messages['nospellerrors'] = 'スペルミスは見つかりませんでした。'; +$messages['folderdeleted'] = 'フォルダーを削除しました。'; +$messages['deletedsuccessfully'] = '削除しました。'; +$messages['converting'] = 'メールから書式を削除中です...'; +$messages['messageopenerror'] = 'サーバからメールを取得できません。'; $messages['fileuploaderror'] = 'ファイルのアップロードに失敗しました。'; $messages['filesizeerror'] = 'アップロードしたファイルのサイズが上限 $size を超えました。'; $messages['copysuccess'] = 'アドレス $nr 個のコピーに成功しました。'; $messages['copyerror'] = 'アドレスをコピーできません。'; $messages['sourceisreadonly'] = 'このアドレス情報は読み取り専用です。'; $messages['errorsavingcontact'] = '連絡先のアドレスを保存できません。'; +$messages['movingmessage'] = '移動中です...'; -?> +?> \ No newline at end of file diff --git a/program/localization/lt/labels.inc b/program/localization/lt/labels.inc index bb603ff..9b9c16a 100644 --- a/program/localization/lt/labels.inc +++ b/program/localization/lt/labels.inc @@ -13,7 +13,7 @@ | Author: Martynas Bendorius | +-----------------------------------------------------------------------+' - @version $Id: labels.inc 557 2007-05-15 06:41:32Z yllar $ + @version $Id: labels.inc 853 2007-10-03 19:47:40Z yllar $ */ @@ -75,6 +75,7 @@ $labels['replytomessage'] = 'Atsakyti į lašką'; $labels['replytoallmessage'] = 'Atsakyti visiems'; $labels['forwardmessage'] = 'Persiųsti laišką'; $labels['deletemessage'] = 'Ištrinti laišką'; +$labels['movemessagetotrash'] = 'Perkelti laišką į šiukšliadėžę'; $labels['printmessage'] = 'Atspausdinti laišką'; $labels['previousmessage'] = 'Rodyti ankstesnį laišką'; $labels['previousmessages'] = 'Rodyti ankstesius laiškus'; @@ -99,8 +100,8 @@ $labels['unlimited'] = 'neribotas'; $labels['quicksearch'] = 'Greita paieška'; $labels['resetsearch'] = 'Atšaukti paiešką'; $labels['compose'] = 'Rašyti nauja laiška'; -$labels['sendmessage'] = 'Išsiųsti laiską'; $labels['savemessage'] = 'Išsaugoti šį juodraštį'; +$labels['sendmessage'] = 'Išsiųsti laiską'; $labels['addattachment'] = 'Prisegti bylą'; $labels['charset'] = 'Koduotė'; $labels['editortype'] = 'Redagavimo tipas'; @@ -120,6 +121,9 @@ $labels['nosubject'] = '(nėra temos)'; $labels['showimages'] = 'Rodyti paveikslėlius'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Paprastas tekstas'; +$labels['addcc'] = 'Pridėti Cc'; +$labels['addbcc'] = 'Pridėti Bcc'; +$labels['addreplyto'] = 'Pridėti Reply-To'; $labels['name'] = 'Rodomas vardas'; $labels['firstname'] = 'Vardas'; $labels['surname'] = 'Pavardė'; @@ -177,4 +181,4 @@ $labels['sortby'] = 'Rikiuoti pagal'; $labels['sortasc'] = 'Rikiuoti didėjančia tvarka'; $labels['sortdesc'] = 'Rikiuoti mažėjančia tvarka'; -?> +?> \ No newline at end of file diff --git a/program/localization/lt/messages.inc b/program/localization/lt/messages.inc index 13e8865..eb90411 100644 --- a/program/localization/lt/messages.inc +++ b/program/localization/lt/messages.inc @@ -13,7 +13,7 @@ | Author: Martynas Bendorius | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 557 2007-05-15 06:41:32Z yllar $ + @version $Id: messages.inc 853 2007-10-03 19:47:40Z yllar $ */ @@ -73,5 +73,6 @@ $messages['copysuccess'] = 'Sėkmingai nukopijuoti $nr adresai'; $messages['copyerror'] = 'Adresų kopijuoti negalima'; $messages['sourceisreadonly'] = 'Šis adreso šaltinis yra tik skaitymui'; $messages['errorsavingcontact'] = 'Kontakto adreso išsaugoti negalima'; +$messages['movingmessage'] = 'Perkeliamas laiškas...'; -?> +?> diff --git a/program/localization/mk/labels.inc b/program/localization/mk/labels.inc new file mode 100755 index 0000000..3a42fe4 --- /dev/null +++ b/program/localization/mk/labels.inc @@ -0,0 +1,177 @@ + \ No newline at end of file diff --git a/program/localization/mk/messages.inc b/program/localization/mk/messages.inc new file mode 100755 index 0000000..f20b7d9 --- /dev/null +++ b/program/localization/mk/messages.inc @@ -0,0 +1,74 @@ + \ No newline at end of file diff --git a/program/localization/ms_MY/labels.inc b/program/localization/ms_MY/labels.inc new file mode 100644 index 0000000..b511c75 --- /dev/null +++ b/program/localization/ms_MY/labels.inc @@ -0,0 +1,232 @@ + | + +-----------------------------------------------------------------------+ + + @version $Id: labels.inc 543 2007-04-28 18:07:12Z thomasb $ + +*/ + +$labels = array(); + +// login page +$labels['welcome'] = 'Selamat datang ke $product'; +$labels['username'] = 'Nama Pengguna'; +$labels['password'] = 'Kata Laluan'; +$labels['server'] = 'Pelayan'; +$labels['login'] = 'Log Masuk'; + +// taskbar +$labels['logout'] = 'Log Keluar'; +$labels['mail'] = 'E-Mel'; +$labels['settings'] = 'Tetapan Peribadi'; +$labels['addressbook'] = 'Buku Alamat'; + +// mailbox names +$labels['inbox'] = 'Masuk'; +$labels['drafts'] = 'Draf'; +$labels['sent'] = 'Keluar'; +$labels['trash'] = 'Sampah'; +$labels['junk'] = 'Remeh'; + +// message listing +$labels['subject'] = 'Subjek'; +$labels['from'] = 'Penghantar'; +$labels['to'] = 'Penerima'; +$labels['cc'] = 'Salinan'; +$labels['bcc'] = 'Bcc'; +$labels['replyto'] = 'Balas kepada'; +$labels['date'] = 'Tarikh'; +$labels['size'] = 'Saiz'; +$labels['priority'] = 'Keutamaan'; +$labels['organization'] = 'Organisasi'; + +// aliases +$labels['reply-to'] = $labels['replyto']; + +$labels['mailboxlist'] = 'Kabinet Fail'; +$labels['messagesfromto'] = 'Mesej $from ke $to dari $count'; +$labels['messagenrof'] = 'Mesej $nr dari $count'; + +$labels['moveto'] = 'pindah ke...'; +$labels['download'] = 'muat turun'; + +$labels['filename'] = 'Nama Fail'; +$labels['filesize'] = 'Saiz Fail'; + +$labels['preferhtml'] = 'Papar HTML'; +$labels['htmlmessage'] = 'Mesej HTML'; +$labels['prettydate'] = 'Tarikh-tarikh cantik'; + +$labels['addtoaddressbook'] = 'Tambah ke buku alamat'; + +// weekdays short +$labels['sun'] = 'Aha'; +$labels['mon'] = 'Isn'; +$labels['tue'] = 'Sel'; +$labels['wed'] = 'Rab'; +$labels['thu'] = 'Kha'; +$labels['fri'] = 'Jum'; +$labels['sat'] = 'Sab'; + +// weekdays long +$labels['sunday'] = 'Ahad'; +$labels['monday'] = 'Isnin'; +$labels['tuesday'] = 'Selasa'; +$labels['wednesday'] = 'Rabu'; +$labels['thursday'] = 'Khamis'; +$labels['friday'] = 'Jumaat'; +$labels['saturday'] = 'Sabtu'; + +$labels['today'] = 'Hari Ini'; + +// toolbar buttons +$labels['checkmail'] = 'Semak mesej baru'; +$labels['writenewmessage'] = 'Cipta mesej baru'; +$labels['replytomessage'] = 'Balas mesej'; +$labels['replytoallmessage'] = 'Balas kepada penghantar dan semua penerima'; +$labels['forwardmessage'] = 'Marakan mesej'; +$labels['deletemessage'] = 'Pindah mesej ke sampah'; +$labels['printmessage'] = 'Cetak mesej ini'; +$labels['previousmessage'] = 'Papar mesej sebelumnya'; +$labels['previousmessages'] = 'Papar set mesej sebelumnya'; +$labels['firstmessage'] = 'Papar mesej pertama'; +$labels['firstmessages'] = 'Papar set mesej pertama'; +$labels['nextmessage'] = 'Papat mesej seterusnya'; +$labels['nextmessages'] = 'Papar set mesej seterusnya'; +$labels['lastmessage'] = 'Papat mesej terakhir'; +$labels['lastmessages'] = 'Papar set mesej terakhir'; +$labels['backtolist'] = 'Kembali ke senarai mesej'; +$labels['viewsource'] = 'Papar sumber'; + +$labels['select'] = 'Pilih'; +$labels['all'] = 'Semua'; +$labels['none'] = 'Tiada'; +$labels['unread'] = 'Tidak dibaca'; + +$labels['compact'] = 'Padat'; +$labels['empty'] = 'Kosong'; +$labels['purge'] = 'Singkir'; + +$labels['quota'] = 'Penggunaan cakera'; +$labels['unknown'] = 'tidak dikenali'; +$labels['unlimited'] = 'tidak terhad'; + +$labels['quicksearch'] = 'Carian pantas'; +$labels['resetsearch'] = 'Set semula carian'; + + +// message compose +$labels['compose'] = 'Karang mesej'; +$labels['sendmessage'] = 'Hantar mesej sekarang'; +$labels['savemessage'] = 'Simpan draf ini'; +$labels['addattachment'] = 'Lampir fail'; +$labels['charset'] = 'Charset'; +$labels['editortype'] = 'Jenis Editor'; +$labels['returnreceipt'] = 'Resit kembali'; + +$labels['checkspelling'] = 'Semak ejaan'; +$labels['resumeediting'] = 'Sambung pengeditan'; +$labels['revertto'] = 'Kembali kepada'; + +$labels['attachments'] = 'Lampiran'; +$labels['upload'] = 'Muat naik'; +$labels['close'] = 'Tutup'; + +$labels['low'] = 'Rendah'; +$labels['lowest'] = 'Paling Rendah'; +$labels['normal'] = 'Normal'; +$labels['high'] = 'Tinggi'; +$labels['highest'] = 'Paling Tinggi'; + +$labels['nosubject'] = '(tiada subjek)'; +$labels['showimages'] = 'Papar imej'; + +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'Teks kosong'; + + +// address boook +$labels['name'] = 'Nama paparan'; +$labels['firstname'] = 'Nama pertama'; +$labels['surname'] = 'Nama akhir'; +$labels['email'] = 'E-Mel'; + +$labels['addcontact'] = 'Tambah kontek baru'; +$labels['editcontact'] = 'Ubahsuai Kontek'; + +$labels['edit'] = 'Ubahsuai'; +$labels['cancel'] = 'Batal'; +$labels['save'] = 'Simpan'; +$labels['delete'] = 'Hapus'; + +$labels['newcontact'] = 'Cipta kad kontek baru'; +$labels['deletecontact'] = 'Hapus kontek yang dipilih'; +$labels['composeto'] = 'Karang mel kepada'; +$labels['contactsfromto'] = 'Kontek $from ke $to dari $count'; +$labels['print'] = 'Cetak'; +$labels['export'] = 'Eksport'; + +$labels['previouspage'] = 'Papar set sebelumnya'; +$labels['firstpage'] = 'Papar set pertama'; +$labels['nextpage'] = 'Papar set seterusnya'; +$labels['lastpage'] = 'Papar set akhir'; + +$labels['groups'] = 'Kumpulan'; +$labels['personaladrbook'] = 'Alamat-alamat Peribadi'; + + +// settings +$labels['settingsfor'] = 'Tetapan bagi'; + +$labels['preferences'] = 'Pilihan'; +$labels['userpreferences'] = 'Pilihan pengguna'; +$labels['editpreferences'] = 'Ubahsuai pilihan pengguna'; + +$labels['identities'] = 'Identiti'; +$labels['manageidentities'] = 'Urus identiti bagi akaun ini'; +$labels['newidentity'] = 'Identiti baru'; + +$labels['newitem'] = 'Butiran baru'; +$labels['edititem'] = 'Ubahsuai butiran'; + +$labels['setdefault'] = 'Tetap asal'; +$labels['language'] = 'Bahasa'; +$labels['timezone'] = 'Zon Masa'; +$labels['pagesize'] = 'Baris setiap muka'; +$labels['signature'] = 'Tandatangan'; +$labels['dstactive'] = 'Simpanan siang hari'; +$labels['htmleditor'] = 'Karang mesej HTML'; +$labels['htmlsignature'] = 'Tandatangan HTML'; +$labels['previewpane'] = 'Pamer ruang previu'; + +$labels['autosavedraft'] = 'Simpan draf dengan automatik'; +$labels['everynminutes'] = 'setiap $n minit'; +$labels['never'] = 'tidak pernah'; + +$labels['folder'] = 'Kabinet Fail'; +$labels['folders'] = 'Kabinet Fail'; +$labels['foldername'] = 'Nama Kabinet Fail'; +$labels['subscribed'] = 'Dilanggan'; +$labels['create'] = 'Cipta'; +$labels['createfolder'] = 'Cipta kabinet fail baru'; +$labels['rename'] = 'Namakan semula'; +$labels['renamefolder'] = 'Namakan semula kabinet fail'; +$labels['deletefolder'] = 'Hapus kabinet fail'; +$labels['managefolders'] = 'Urus kabinet fail'; + +$labels['sortby'] = 'Susun dengan'; +$labels['sortasc'] = 'Susun menaik'; +$labels['sortdesc'] = 'Susun menurun'; + +?> diff --git a/program/localization/ms_MY/messages.inc b/program/localization/ms_MY/messages.inc new file mode 100644 index 0000000..6cbd92b --- /dev/null +++ b/program/localization/ms_MY/messages.inc @@ -0,0 +1,79 @@ + | + +-----------------------------------------------------------------------+ + + @version $Id: messages.inc 543 2007-04-28 18:07:12Z thomasb $ + +*/ + +$messages = array(); +$messages['loginfailed'] = 'Log masuk gagal'; +$messages['cookiesdisabled'] = 'Pelayar anda tidak menerima cookies'; +$messages['sessionerror'] = 'Sesi anda tidak sah atau telah tamat'; +$messages['imaperror'] = 'Sambungan ke pelayan IMAP gagal'; +$messages['nomessagesfound'] = 'Tiada mesej dijumpai dalam kotak mel ini'; +$messages['loggedout'] = 'Sesi anda telah tamat. Selamat tinggal!'; +$messages['mailboxempty'] = 'Kotak mail kosong'; +$messages['loading'] = 'Memuat...'; +$messages['loadingdata'] = 'Memuat data...'; +$messages['checkingmail'] = 'Menyemak mesej baru...'; +$messages['sendingmessage'] = 'Menghantar mesej...'; +$messages['messagesent'] = 'Mesej berjaya dihantar'; +$messages['savingmessage'] = 'Menyimpan mesej...'; +$messages['messagesaved'] = 'Mesej disimpan dalam Draf'; +$messages['successfullysaved'] = 'Berjaya disimpan'; +$messages['addedsuccessfully'] = 'Kontek berjaya disimpan ke dalam buku alamat'; +$messages['contactexists'] = 'Kontek dengan alamat emel ini sudah wujud'; +$messages['blockedimages'] = 'Untuk melindungi kebesasan peribadi anda, imej jauh dihalang dalam mesej ini.'; +$messages['encryptedmessage'] = 'Ini adalah mesej yang di\'encrypted\' dan tidak boleh dipamerkan. Maaf!'; +$messages['nocontactsfound'] = 'Tiada kontek dijumpai'; +$messages['contactnotfound'] = 'Kontek yang diminta tidak dijumpai'; + +$messages['sendingfailed'] = 'Gagal menghantar mesej'; +$messages['errorsaving'] = 'Terdapat ralat ketika menyimpan'; +$messages['errormoving'] = 'Tidak boleh pindah mesej'; +$messages['errordeleting'] = 'Tidak boleh hapus mesej'; +$messages['deletecontactconfirm'] = 'Adakah anda ingin hapuskan kontek yang dipilih?'; +$messages['deletemessagesconfirm'] = 'Adakah anda ingin hapuskan mesej yang dipilih?'; +$messages['deletefolderconfirm'] = 'Adakah anda ingin hapuskan kabinet fail ini?'; +$messages['purgefolderconfirm'] = 'Adakah anda ingin hapuskan semua mesej dalam kabinet fail ini?'; +$messages['formincomplete'] = 'Borang tidak diisi dengan lengkap'; +$messages['noemailwarning'] = 'Sila masukkan alamat emel yang sah'; +$messages['nonamewarning'] = 'Sila masukkan nama'; +$messages['nopagesizewarning'] = 'Sila masukkan saiz halaman'; +$messages['norecipientwarning'] = 'Sila masukkan sekurang-kurangnya satu penerima'; +$messages['nosubjectwarning'] = 'Ruang "Subjek" kosong. Adakah anda ingin masukkannya sekarang?'; +$messages['nobodywarning'] = 'Hantar mesej ini tanpa teks?'; +$messages['notsentwarning'] = 'Mesej tidak dihantar. Adakah anda ingin menyingkir mesej anda?'; +$messages['noldapserver'] = 'Sila pilih satu pelayan ldap untuk carian'; +$messages['nocontactsreturned'] = 'Tiada kontek dijumpai'; +$messages['nosearchname'] = 'Sila masukkan nama kontek atau alamat emel'; +$messages['searchsuccessful'] = '$nr mesej dijumpai'; +$messages['searchnomatch'] = 'Carian tiada padanan'; +$messages['searching'] = 'Mencari...'; +$messages['checking'] = 'Menyemak...'; +$messages['nospellerrors'] = 'Tiada kesalah ejaan dijumpai'; +$messages['folderdeleted'] = 'Kabinet fail berjaya dihapuskan'; +$messages['deletedsuccessfully'] = "Berjaya dihapuskan"; +$messages['converting'] = 'Singkir format dari mesej...'; +$messages['messageopenerror'] = 'Tidak boleh muat mesej dari server'; +$messages['fileuploaderror'] = 'Muatnaik fail gagal'; +$messages['filesizeerror'] = 'Fail yang dimuatnaik melampaui saiz maksima $size'; + +$messages['copysuccess'] = 'Berjaya salin alamat-alamat $nr'; +$messages['copyerror'] = 'Tidak boleh salin apa-apa alamat'; +$messages['sourceisreadonly'] = 'Sumber alamat ini adalah untuk bacaan sahaja'; +$messages['errorsavingcontact'] = 'Tidak boleh simmpan alamat kontek'; + +?> diff --git a/program/localization/nl_NL/labels.inc b/program/localization/nl_NL/labels.inc index 6345429..d0c4130 100644 --- a/program/localization/nl_NL/labels.inc +++ b/program/localization/nl_NL/labels.inc @@ -13,64 +13,47 @@ | Author: Mark Moses | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 558 2007-05-15 06:53:08Z robin $ + @version $Id: labels.inc 844 2007-10-02 05:33:18Z tomekp $ */ $labels = array(); - -// login page -$labels['welcome'] = 'Welkom bij $product'; -$labels['username'] = 'Gebruikersnaam'; -$labels['password'] = 'Wachtwoord'; -$labels['server'] = 'Server'; -$labels['login'] = 'Login'; - -// taskbar -$labels['logout'] = 'Uitloggen'; -$labels['mail'] = 'E-Mail'; +$labels['welcome'] = 'Welkom bij $product'; +$labels['username'] = 'Gebruikersnaam'; +$labels['password'] = 'Wachtwoord'; +$labels['server'] = 'Server'; +$labels['login'] = 'Login'; +$labels['logout'] = 'Uitloggen'; +$labels['mail'] = 'E-Mail'; $labels['settings'] = 'Persoonlijke Instellingen'; $labels['addressbook'] = 'Adresboek'; - -// mailbox names -$labels['inbox'] = 'Postvak IN'; +$labels['inbox'] = 'Postvak IN'; $labels['drafts'] = 'Concepten'; -$labels['sent'] = 'Verzonden'; -$labels['trash'] = 'Prullenbak'; -$labels['junk'] = 'SPAM'; - -// message listing +$labels['sent'] = 'Verzonden'; +$labels['trash'] = 'Prullenbak'; +$labels['junk'] = 'SPAM'; $labels['subject'] = 'Onderwerp'; -$labels['from'] = 'Afzender'; -$labels['to'] = 'Ontvanger'; -$labels['cc'] = 'kopie'; -$labels['bcc'] = 'Bcc'; +$labels['from'] = 'Afzender'; +$labels['to'] = 'Ontvanger'; +$labels['cc'] = 'kopie'; +$labels['bcc'] = 'Bcc'; $labels['replyto'] = 'Antwoord-aan'; -$labels['date'] = 'Datum'; -$labels['size'] = 'Grootte'; +$labels['date'] = 'Datum'; +$labels['size'] = 'Grootte'; $labels['priority'] = 'Prioriteit'; $labels['organization'] = 'Organisatie'; - -// aliases -$labels['reply-to'] = $labels['replyto']; - +$labels['reply-to'] = 'Antwoord-aan'; $labels['mailboxlist'] = 'Mappen'; $labels['messagesfromto'] = 'Bericht $from t/m $to van $count'; $labels['messagenrof'] = 'Bericht $nr van $count'; - -$labels['moveto'] = 'verplaats naar...'; +$labels['moveto'] = 'verplaats naar...'; $labels['download'] = 'download'; - $labels['filename'] = 'Bestandsnaam'; $labels['filesize'] = 'Bestandsgrootte'; - $labels['preferhtml'] = 'Prefereer HTML'; $labels['htmlmessage'] = 'HTML Bericht'; $labels['prettydate'] = 'Opgemaakte data'; - $labels['addtoaddressbook'] = 'Toevoegen aan adresboek'; - -// weekdays short $labels['sun'] = 'Zo'; $labels['mon'] = 'Ma'; $labels['tue'] = 'Di'; @@ -78,163 +61,124 @@ $labels['wed'] = 'Wo'; $labels['thu'] = 'Do'; $labels['fri'] = 'Vr'; $labels['sat'] = 'Za'; - -// weekdays long -$labels['sunday'] = 'Zondag'; -$labels['monday'] = 'Maandag'; -$labels['tuesday'] = 'Dinsdag'; +$labels['sunday'] = 'Zondag'; +$labels['monday'] = 'Maandag'; +$labels['tuesday'] = 'Dinsdag'; $labels['wednesday'] = 'Woensdag'; -$labels['thursday'] = 'Donderdag'; -$labels['friday'] = 'Vrijdag'; -$labels['saturday'] = 'Zaterdag'; - +$labels['thursday'] = 'Donderdag'; +$labels['friday'] = 'Vrijdag'; +$labels['saturday'] = 'Zaterdag'; $labels['today'] = 'Vandaag'; - -// toolbar buttons -$labels['checkmail'] = 'Controleer op nieuwe berichten'; -$labels['writenewmessage'] = 'Nieuw bericht'; -$labels['replytomessage'] = 'Beantwoord het bericht'; +$labels['checkmail'] = 'Controleer op nieuwe berichten'; +$labels['writenewmessage'] = 'Nieuw bericht'; +$labels['replytomessage'] = 'Beantwoord het bericht'; $labels['replytoallmessage'] = 'Beantwoord alle ontvangers'; -$labels['forwardmessage'] = 'Bericht doorsturen'; -$labels['deletemessage'] = 'Verplaats het bericht naar de prullenbak'; -$labels['printmessage'] = 'Dit bericht afdrukken'; -$labels['previousmessage'] = 'Toon het vorige bericht'; +$labels['forwardmessage'] = 'Bericht doorsturen'; +$labels['deletemessage'] = 'Verwijder het bericht'; +$labels['movemessagetotrash'] = 'Verplaats het bericht naar de prullenbak'; +$labels['printmessage'] = 'Dit bericht afdrukken'; +$labels['previousmessage'] = 'Toon het vorige bericht'; $labels['previousmessages'] = 'Toon vorige lijst met berichten'; -$labels['firstmessage'] = 'Toon het eerste bericht'; -$labels['firstmessages'] = 'Toon eerste lijst met berichten'; -$labels['nextmessage'] = 'Toon het volgende bericht'; -$labels['nextmessages'] = 'Toon volgende lijst met berichten'; -$labels['lastmessage'] = 'Toon het laatste bericht'; -$labels['lastmessages'] = 'Toon laatste lijst met berichten'; -$labels['backtolist'] = 'Terug naar berichtenoverzicht'; -$labels['viewsource'] = 'Toon bron'; - +$labels['firstmessage'] = 'Toon het eerste bericht'; +$labels['firstmessages'] = 'Toon eerste lijst met berichten'; +$labels['nextmessage'] = 'Toon het volgende bericht'; +$labels['nextmessages'] = 'Toon volgende lijst met berichten'; +$labels['lastmessage'] = 'Toon het laatste bericht'; +$labels['lastmessages'] = 'Toon laatste lijst met berichten'; +$labels['backtolist'] = 'Terug naar berichtenoverzicht'; +$labels['viewsource'] = 'Toon bron'; $labels['select'] = 'Selecteer'; $labels['all'] = 'Allemaal'; $labels['none'] = 'Geen'; $labels['unread'] = 'Ongelezen'; - $labels['compact'] = 'Compact'; $labels['empty'] = 'Legen'; $labels['purge'] = 'Purge'; - $labels['quota'] = 'Schijfruimte gebruik'; -$labels['unknown'] = 'onbekend'; -$labels['unlimited'] = 'onbeperkt'; - -$labels['quicksearch'] = 'Snel zoeken'; -$labels['resetsearch'] = 'Reset zoekopdracht'; - -// message compose -$labels['compose'] = 'Maak een bericht'; -$labels['savemessage'] = 'Bewaar als concept'; -$labels['sendmessage'] = 'Verstuur het bericht nu'; -$labels['addattachment'] = 'Voeg een bijlage toe'; -$labels['charset'] = 'karakterset'; -$labels['editortype'] = 'Opmaak'; +$labels['unknown'] = 'onbekend'; +$labels['unlimited'] = 'onbeperkt'; +$labels['quicksearch'] = 'Snel zoeken'; +$labels['resetsearch'] = 'Reset zoekopdracht'; +$labels['compose'] = 'Maak een bericht'; +$labels['savemessage'] = 'Bewaar als concept'; +$labels['sendmessage'] = 'Verstuur het bericht nu'; +$labels['addattachment'] = 'Voeg een bijlage toe'; +$labels['charset'] = 'karakterset'; +$labels['editortype'] = 'Opmaak'; $labels['returnreceipt'] = 'Ontvangstbevestiging'; - -$labels['checkspelling'] = 'Check spelling'; +$labels['checkspelling'] = 'Controleer spelling'; $labels['resumeediting'] = 'Doorgaan met opstellen'; $labels['revertto'] = 'Wijzig terug in'; - $labels['attachments'] = 'Bijlages'; $labels['upload'] = 'Toevoegen'; -$labels['close'] = 'Sluit'; - -$labels['low'] = 'Laag'; -$labels['lowest'] = 'Laagste'; -$labels['normal'] = 'Normaal'; -$labels['high'] = 'Hoog'; +$labels['close'] = 'Sluit'; +$labels['low'] = 'Laag'; +$labels['lowest'] = 'Laagste'; +$labels['normal'] = 'Normaal'; +$labels['high'] = 'Hoog'; $labels['highest'] = 'Hoogste'; - -$labels['nosubject'] = '(geen onderwerp)'; +$labels['nosubject'] = '(geen onderwerp)'; $labels['showimages'] = 'Toon afbeeldingen'; - $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Gewone tekst'; - -// address boook -$labels['name'] = 'Naam'; +$labels['addcc'] = 'Kopie toevoegen'; +$labels['addbcc'] = 'Bcc toevoegen'; +$labels['addreplyto'] = 'Antwoord-aan toevoegen'; +$labels['name'] = 'Naam'; $labels['firstname'] = 'Voornaam'; -$labels['surname'] = 'Achternaam'; -$labels['email'] = 'E-Mail'; - -$labels['addcontact'] = 'Nieuw contactpersoon toevoegen'; +$labels['surname'] = 'Achternaam'; +$labels['email'] = 'E-Mail'; +$labels['addcontact'] = 'Voeg geselecteerde contacten toe aan het adresboek'; $labels['editcontact'] = 'Contactpersoon wijzigen'; - -$labels['edit'] = 'Wijzig'; +$labels['edit'] = 'Wijzig'; $labels['cancel'] = 'Annuleer'; -$labels['save'] = 'Opslaan'; +$labels['save'] = 'Opslaan'; $labels['delete'] = 'Verwijder'; - -$labels['newcontact'] = 'Voeg een nieuwe contactpersoon toe'; -$labels['addcontact'] = 'Voeg geselecteerde contacten toe aan het adresboek'; -$labels['deletecontact'] = 'Verwijder geselecteerde contacten'; -$labels['composeto'] = 'Stuur een bericht naar'; +$labels['newcontact'] = 'Voeg een nieuwe contactpersoon toe'; +$labels['deletecontact'] = 'Verwijder geselecteerde contacten'; +$labels['composeto'] = 'Stuur een bericht naar'; $labels['contactsfromto'] = 'Contacten $from t/m $to van $count'; -$labels['print'] = 'Afdrukken'; -$labels['export'] = 'Exporteren'; - -$labels['previouspage'] = 'Vorige pagina'; -$labels['firstpage'] = 'Eerste pagina'; -$labels['nextpage'] = 'Volgende pagina'; -$labels['lastpage'] = 'Laatste pagina'; - -$labels['groups'] = 'Groepen'; +$labels['print'] = 'Afdrukken'; +$labels['export'] = 'Exporteren'; +$labels['previouspage'] = 'Vorige pagina'; +$labels['firstpage'] = 'Eerste pagina'; +$labels['nextpage'] = 'Volgende pagina'; +$labels['lastpage'] = 'Laatste pagina'; +$labels['groups'] = 'Groepen'; $labels['personaladrbook'] = 'Persoonlijk Adresboek'; - -// LDAP search -$labels['ldapsearch'] = 'LDAP adresboek zoeken'; - -$labels['ldappublicsearchname'] = 'Naam van contactpersoon'; -$labels['ldappublicsearchtype'] = 'Precies matchen?'; -$labels['ldappublicserverselect'] = 'Selecteer servers'; -$labels['ldappublicsearchfield'] = 'Zoek op'; -$labels['ldappublicsearchform'] = 'Zoek een contactpersoon'; -$labels['ldappublicsearch'] = 'Zoek'; - -// settings -$labels['settingsfor'] = 'Instellingen voor'; - -$labels['preferences'] = 'Instellingen'; -$labels['userpreferences'] = 'Gebruikers instellingen'; -$labels['editpreferences'] = 'Wijzig gebruikers instellingen'; - -$labels['identities'] = 'Identititeiten'; -$labels['manageidentities'] = 'Beheer identiteiten voor dit account'; -$labels['newidentity'] = 'Identiteit toevoegen'; - -$labels['newitem'] = 'Nieuw item'; -$labels['edititem'] = 'Wijzig item'; - -$labels['setdefault'] = 'Stel als standaard in'; -$labels['language'] = 'Taal'; -$labels['timezone'] = 'Tijdszone'; -$labels['pagesize'] = 'Rijen per pagina'; +$labels['settingsfor'] = 'Instellingen voor'; +$labels['preferences'] = 'Instellingen'; +$labels['userpreferences'] = 'Gebruikers instellingen'; +$labels['editpreferences'] = 'Wijzig gebruikers instellingen'; +$labels['identities'] = 'Identititeiten'; +$labels['manageidentities'] = 'Beheer identiteiten voor dit account'; +$labels['newidentity'] = 'Identiteit toevoegen'; +$labels['newitem'] = 'Nieuw item'; +$labels['edititem'] = 'Wijzig item'; +$labels['setdefault'] = 'Stel als standaard in'; +$labels['language'] = 'Taal'; +$labels['timezone'] = 'Tijdszone'; +$labels['pagesize'] = 'Rijen per pagina'; $labels['signature'] = 'Onderschrift'; -$labels['dstactive'] = 'Zomertijd'; +$labels['dstactive'] = 'Zomertijd'; $labels['htmleditor'] = 'Maak HTML berichten aan'; $labels['htmlsignature'] = 'HTML onderschrift'; $labels['previewpane'] = 'Toon voorbeeldvenster'; - -$labels['autosavedraft'] = 'Concept automatisch opslaan'; -$labels['everynminutes'] = 'iedere $n minuten'; -$labels['never'] = 'nooit'; - -$labels['folder'] = 'Map'; -$labels['folders'] = 'Mappen'; -$labels['foldername'] = 'Mapnaam'; -$labels['subscribed'] = 'Geabonneerd'; -$labels['create'] = 'Nieuw'; -$labels['createfolder'] = 'Maak nieuwe map'; +$labels['autosavedraft'] = 'Concept automatisch opslaan'; +$labels['everynminutes'] = 'iedere $n minuten'; +$labels['never'] = 'nooit'; +$labels['folder'] = 'Map'; +$labels['folders'] = 'Mappen'; +$labels['foldername'] = 'Mapnaam'; +$labels['subscribed'] = 'Geabonneerd'; +$labels['create'] = 'Nieuw'; +$labels['createfolder'] = 'Maak nieuwe map'; $labels['rename'] = 'Wijzig naam'; $labels['renamefolder'] = 'Wijzig mapnaam'; -$labels['deletefolder'] = 'Verwijder map'; -$labels['managefolders'] = 'Beheer mappen'; - +$labels['deletefolder'] = 'Verwijder map'; +$labels['managefolders'] = 'Beheer mappen'; $labels['sortby'] = 'Sorteer op'; -$labels['sortasc'] = 'Sorteer oplopend'; +$labels['sortasc'] = 'Sorteer oplopend'; $labels['sortdesc'] = 'Sorteer aflopend'; -?> +?> \ No newline at end of file diff --git a/program/localization/nl_NL/messages.inc b/program/localization/nl_NL/messages.inc index 3420c6d..3a961eb 100644 --- a/program/localization/nl_NL/messages.inc +++ b/program/localization/nl_NL/messages.inc @@ -13,13 +13,13 @@ | Author: Mark Moses | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 558 2007-05-15 06:53:08Z robin $ + @version $Id: messages.inc 844 2007-10-02 05:33:18Z tomekp $ */ $messages = array(); -$messages['loginfailed'] = 'Inloggen mislukt'; -$messages['cookiesdisabled'] = 'De browser accepteert geen cookies'; +$messages['loginfailed'] = 'Inloggen mislukt'; +$messages['cookiesdisabled'] = 'Uw browser accepteert geen cookies'; $messages['sessionerror'] = 'De sessie is verlopen of ongeldig'; $messages['imaperror'] = 'Connectie met IMAP server mislukt'; $messages['nomessagesfound'] = 'Geen berichten gevonden in deze e-mailbox'; @@ -43,16 +43,16 @@ $messages['sendingfailed'] = 'Verzenden van bericht is mislukt'; $messages['errorsaving'] = 'Er is een fout opgetreden tijdens het opslaan'; $messages['errormoving'] = 'Kan het bericht niet verplaatsen'; $messages['errordeleting'] = 'Kan het bericht niet verwijderen'; -$messages['deletecontactconfirm'] = 'Weet u zeker dat u de geselecteerde contactperso(o)n/en wilt verwijderen?'; +$messages['deletecontactconfirm'] = 'Weet u zeker dat u de geselecteerde contactperso(o)n/en wilt verwijderen?'; $messages['deletemessagesconfirm'] = 'Weet u zeker dat u de geselecteerde bericht(en) wilt verwijderen?'; -$messages['deletefolderconfirm'] = 'Weet u zeker dat u deze map wilt verwijderen?'; -$messages['purgefolderconfirm'] = 'Weet u zeker dat u alle berichten in deze map wilt verwijderen?'; +$messages['deletefolderconfirm'] = 'Weet u zeker dat u deze map wilt verwijderen?'; +$messages['purgefolderconfirm'] = 'Weet u zeker dat u alle berichten in deze map wilt verwijderen?'; $messages['formincomplete'] = 'Het formulier was niet volledig ingevuld'; $messages['noemailwarning'] = 'Geef een geldig e-mailadres op'; -$messages['nonamewarning'] = 'Vul een naam in'; +$messages['nonamewarning'] = 'Vul een naam in'; $messages['nopagesizewarning'] = 'Geef een paginagrootte op'; -$messages['norecipientwarning'] = 'Geef teminste een ontvanger op'; -$messages['nosubjectwarning'] = 'Het veld: \'onderwerp\' is leeg. Wilt u nu alsnog een onderwerp opgeven?'; +$messages['norecipientwarning'] = 'Geef tenminste één ontvanger op'; +$messages['nosubjectwarning'] = 'Het veld: \'onderwerp\' is leeg. Wilt u nu alsnog een onderwerp opgeven?'; $messages['nobodywarning'] = 'Dit bericht zonder inhoud versturen?'; $messages['notsentwarning'] = 'Bericht is niet verstuurd. Weet u zeker dat u het niet wilt bewaren?'; $messages['noldapserver'] = 'Geef een LDAP adresboek server op om te doorzoeken'; @@ -68,10 +68,11 @@ $messages['deletedsuccessfully'] = 'Successvol verwijderd'; $messages['converting'] = 'Opmaak van bericht verwijderen...'; $messages['messageopenerror'] = 'Kan het bericht niet van de server laden'; $messages['fileuploaderror'] = 'Bestand versturen mislukt'; -$messages['filesizeerror'] = 'Het bestand overschrijdt de maximum grootte van $size'; +$messages['filesizeerror'] = 'Het bestand overschrijdt de maximale grootte van $size'; $messages['copysuccess'] = '$nr adressen succesvol gekopieerd'; -$messages['copyerror'] = 'Kan geen adressen kopieren'; +$messages['copyerror'] = 'Kan geen adressen kopiëren'; $messages['sourceisreadonly'] = 'Het adres kan niet worden opgeslagen'; $messages['errorsavingcontact'] = 'Kan het ontvanger-adres niet opslaan'; +$messages['movingmessage'] = 'Bericht verplaatsen...'; -?> +?> \ No newline at end of file diff --git a/program/localization/pl/labels.inc b/program/localization/pl/labels.inc index cc5ef3f..45093e4 100644 --- a/program/localization/pl/labels.inc +++ b/program/localization/pl/labels.inc @@ -12,22 +12,23 @@ +-----------------------------------------------------------------------+ | Author: Tomasz Pajor | | Sławomir Cichoń | + | Janusz Zamecki | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: labels.inc 819 2007-09-26 08:26:58Z tomekp $ */ $labels = array(); $labels['welcome'] = 'Witamy w $product'; -$labels['username'] = 'Login'; +$labels['username'] = 'Nazwa'; $labels['password'] = 'Hasło'; $labels['server'] = 'Serwer'; $labels['login'] = 'Zaloguj'; $labels['logout'] = 'Wyloguj'; $labels['mail'] = 'Skrzynka odbiorcza'; $labels['settings'] = 'Ustawienia'; -$labels['addressbook'] = 'Książka Adresowa'; +$labels['addressbook'] = 'Książka adresowa'; $labels['inbox'] = 'Odebrane'; $labels['drafts'] = 'Kopie robocze'; $labels['sent'] = 'Wysłane'; @@ -37,22 +38,22 @@ $labels['subject'] = 'Temat'; $labels['from'] = 'Nadawca'; $labels['to'] = 'Odbiorca'; $labels['cc'] = 'Kopia'; -$labels['bcc'] = 'Bcc'; +$labels['bcc'] = 'Ukryta kopia'; $labels['replyto'] = 'Odpowiedz do'; $labels['date'] = 'Data'; -$labels['size'] = 'Rozmiar'; +$labels['size'] = 'Wielkość'; $labels['priority'] = 'Priorytet'; $labels['organization'] = 'Organizacja'; $labels['reply-to'] = 'Odpowiedz do'; $labels['mailboxlist'] = 'Foldery'; -$labels['messagesfromto'] = 'Wiadmość od $from do $to z $count'; -$labels['messagenrof'] = 'Wiadmość $nr z $count'; +$labels['messagesfromto'] = 'Wiadomości od $from do $to z $count'; +$labels['messagenrof'] = 'Wiadomość $nr z $count'; $labels['moveto'] = 'Przenieś do...'; -$labels['download'] = 'pobierz'; +$labels['download'] = 'Pobierz'; $labels['filename'] = 'Nazwa pliku'; -$labels['filesize'] = 'Rozmiar pliku'; +$labels['filesize'] = 'Wielkość pliku'; $labels['preferhtml'] = 'Domyślny HTML'; -$labels['htmlmessage'] = 'Widomość HTML'; +$labels['htmlmessage'] = 'Wiadomość HTML'; $labels['prettydate'] = 'Ładne daty'; $labels['addtoaddressbook'] = 'Dodaj do książki adresowej '; $labels['sun'] = 'Nd'; @@ -71,11 +72,12 @@ $labels['friday'] = 'Piątek'; $labels['saturday'] = 'Sobota'; $labels['today'] = 'Dzisiaj'; $labels['checkmail'] = 'Sprawdź skrzynkę'; -$labels['writenewmessage'] = 'Utwórz nową wiadmomość'; +$labels['writenewmessage'] = 'Utwórz nową wiadomość'; $labels['replytomessage'] = 'Odpowiedz nadawcy'; $labels['replytoallmessage'] = 'Odpowiedz wszystkim'; $labels['forwardmessage'] = 'Prześlij dalej'; $labels['deletemessage'] = 'Usuń'; +$labels['movemessagetotrash'] = 'Przenieś do Kosza'; $labels['printmessage'] = 'Drukuj'; $labels['previousmessage'] = 'Pokaż poprzednią'; $labels['previousmessages'] = 'Pokaż poprzednie'; @@ -85,32 +87,32 @@ $labels['nextmessage'] = 'Pokaż następną'; $labels['nextmessages'] = 'Pokaż następne'; $labels['lastmessage'] = 'Pokaż ostatnią'; $labels['lastmessages'] = 'Pokaż ostatnie'; -$labels['backtolist'] = 'Wróc do listy widomości'; +$labels['backtolist'] = 'Pokaż listę wiadomości'; $labels['viewsource'] = 'Pokaż źródło'; $labels['select'] = 'Wybierz'; $labels['all'] = 'Zaznacz wszystkie'; -$labels['none'] = 'Odznacz'; +$labels['none'] = 'Anuluj zaznaczenie'; $labels['unread'] = 'Zaznacz nieprzeczytane'; $labels['compact'] = 'Kompaktuj'; -$labels['empty'] = 'Pusty'; +$labels['empty'] = 'Opróżnij'; $labels['purge'] = 'Oczyść'; -$labels['quota'] = 'Użyta Przestrzeń'; +$labels['quota'] = 'Użyte miejsce'; $labels['unknown'] = 'nieznane'; $labels['unlimited'] = 'bez limitu'; -$labels['quicksearch'] = 'Szybkie szukanie'; +$labels['quicksearch'] = 'Szybkie wyszukiwanie'; $labels['resetsearch'] = 'Wyczyść filtr'; $labels['compose'] = 'Utwórz wiadomość'; +$labels['savemessage'] = 'Zapisz kopię roboczą'; $labels['sendmessage'] = 'Wyślij teraz'; -$labels['savemessage'] = 'Zapisz kopie roboczą'; $labels['addattachment'] = 'Dołącz plik'; $labels['charset'] = 'Kodowanie znaków'; $labels['editortype'] = 'Typ edytora'; $labels['returnreceipt'] = 'Potwierdzenie odbioru'; -$labels['checkspelling'] = 'Sprawdź pisownie'; -$labels['resumeediting'] = 'Przywróć edytowanie'; +$labels['checkspelling'] = 'Sprawdź pisownię'; +$labels['resumeediting'] = 'Zakończ sprawdzanie pisowni'; $labels['revertto'] = 'Powróć do'; $labels['attachments'] = 'Załączniki'; -$labels['upload'] = 'Wgraj'; +$labels['upload'] = 'Wyślij'; $labels['close'] = 'Zamknij'; $labels['low'] = 'Bardzo niski'; $labels['lowest'] = 'Niski'; @@ -121,11 +123,14 @@ $labels['nosubject'] = '(brak tematu)'; $labels['showimages'] = 'Wyświetl obrazki'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Zwykły tekst'; +$labels['addcc'] = 'Dodaj Cc'; +$labels['addbcc'] = 'Dodaj Bcc'; +$labels['addreplyto'] = 'Dodaj Reply-To'; $labels['name'] = 'Nazwa'; $labels['firstname'] = 'Imię'; $labels['surname'] = 'Nazwisko'; $labels['email'] = 'E-Mail'; -$labels['addcontact'] = 'Dodaj znaznaczony kontakt do książki adresowej'; +$labels['addcontact'] = 'Dodaj nowy kontakt do książki adresowej'; $labels['editcontact'] = 'Edytuj kontakt'; $labels['edit'] = 'Edytuj'; $labels['cancel'] = 'Anuluj'; @@ -133,8 +138,8 @@ $labels['save'] = 'Zapisz'; $labels['delete'] = 'Kasuj'; $labels['newcontact'] = 'Dodaj nowy kontakt'; $labels['deletecontact'] = 'Usuń zaznaczone kontakty'; -$labels['composeto'] = 'Stwórz wiadomość dla'; -$labels['contactsfromto'] = 'Kontakt od $from do $to z $count'; +$labels['composeto'] = 'Utwórz wiadomość dla wybranych kontaktów'; +$labels['contactsfromto'] = 'Kontakty od $from do $to z $count'; $labels['print'] = 'Drukuj'; $labels['export'] = 'Eksportuj'; $labels['previouspage'] = 'poprzednia strona'; @@ -144,20 +149,20 @@ $labels['lastpage'] = 'ostatnia strona'; $labels['groups'] = 'Grupy'; $labels['personaladrbook'] = 'Książka adresowa'; $labels['settingsfor'] = 'Ustawienia dla'; -$labels['preferences'] = 'Ustawienia'; +$labels['preferences'] = 'Preferencje'; $labels['userpreferences'] = 'Preferencje'; -$labels['editpreferences'] = 'Edytuj preferencję'; +$labels['editpreferences'] = 'Edytuj preferencje'; $labels['identities'] = 'Tożsamości'; $labels['manageidentities'] = 'Zarządzaj tożsamościami'; $labels['newidentity'] = 'Nowa tożsamość'; $labels['newitem'] = 'Nowy'; $labels['edititem'] = 'Edytuj'; -$labels['setdefault'] = 'Ustaw domyślne'; +$labels['setdefault'] = 'Domyślna'; $labels['language'] = 'Język'; -$labels['timezone'] = 'Strefy czasu'; -$labels['pagesize'] = 'wierszy na stronie'; +$labels['timezone'] = 'Strefa czasowa'; +$labels['pagesize'] = 'Wierszy na stronie'; $labels['signature'] = 'Podpis'; -$labels['dstactive'] = 'czas letni'; +$labels['dstactive'] = 'Czas letni'; $labels['htmleditor'] = 'Twórz wiadomości HTML'; $labels['htmlsignature'] = 'Podpis w HTML'; $labels['previewpane'] = 'Pokaż podgląd'; @@ -167,14 +172,14 @@ $labels['never'] = 'nigdy'; $labels['folder'] = 'Folder'; $labels['folders'] = 'Foldery'; $labels['foldername'] = 'Nazwa folderu'; -$labels['subscribed'] = 'Zapisany'; +$labels['subscribed'] = 'Zasubskrybowany'; $labels['create'] = 'Utwórz'; $labels['createfolder'] = 'Utwórz nowy folder'; $labels['rename'] = 'Zmień nazwę'; $labels['renamefolder'] = 'Zmień nazwę folderu'; $labels['deletefolder'] = 'Usuń folder'; $labels['managefolders'] = 'Zarządzaj folderami'; -$labels['sortby'] = 'Sortuj wg.'; +$labels['sortby'] = 'Sortuj wg'; $labels['sortasc'] = 'Rosnąco'; $labels['sortdesc'] = 'Malejąco'; diff --git a/program/localization/pl/messages.inc b/program/localization/pl/messages.inc index 23c327b..eeb487c 100644 --- a/program/localization/pl/messages.inc +++ b/program/localization/pl/messages.inc @@ -12,32 +12,33 @@ +-----------------------------------------------------------------------+ | Author: Tomasz Pajor | | Author: Sławomir Cichoń | + | Janusz Zamecki | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 619 2007-06-13 07:09:09Z thomasb $ + @version $Id: messages.inc 815 2007-09-26 08:03:07Z tomekp $ */ $messages = array(); $messages['loginfailed'] = 'Błąd logowania!'; $messages['cookiesdisabled'] = 'Twoja przeglądarka nie obsługuje ciasteczek!'; -$messages['sessionerror'] = 'Błąd sesji, bądź sesja wygasła!'; +$messages['sessionerror'] = 'Błąd sesji bądź sesja wygasła!'; $messages['imaperror'] = 'Błąd połączenia z serwerem!'; $messages['nomessagesfound'] = 'Brak wiadomości w skrzynce.'; $messages['loggedout'] = 'Użytkownik wylogował się poprawnie.'; $messages['mailboxempty'] = 'Skrzynka jest pusta!'; $messages['loading'] = 'Ładowanie...'; -$messages['loadingdata'] = 'Ładowanie...'; -$messages['checkingmail'] = 'Sprawdzam czy są nowe wiadomości...'; -$messages['sendingmessage'] = 'Wysyłam wiadomość...'; -$messages['messagesent'] = 'Wiadomość wysłana pomyślnie.'; +$messages['loadingdata'] = 'Ładowanie danych...'; +$messages['checkingmail'] = 'Sprawdzanie nowych wiadomości...'; +$messages['sendingmessage'] = 'Wysyłanie wiadomości...'; +$messages['messagesent'] = 'Wiadomość została wysłana.'; $messages['savingmessage'] = 'Zapisywanie wiadomości...'; -$messages['messagesaved'] = 'Wiadomośc została zapisana w kopiach roboczych.'; +$messages['messagesaved'] = 'Wiadomość została zapisana w folderze Kopie robocze.'; $messages['successfullysaved'] = 'Zapisano.'; $messages['addedsuccessfully'] = 'Kontakt został dodany.'; -$messages['contactexists'] = 'Kontakt o podanym adresie e-mail istnieje!'; +$messages['contactexists'] = 'Kontakt o podanym adresie e-mail już istnieje!'; $messages['blockedimages'] = 'Ze względów bezpieczeństwa zewnętrzne obrazki zostały zablokowane.'; -$messages['encryptedmessage'] = 'Przepraszamy, nie można wyświeltlić zaszyfrowanej wiadomości!'; +$messages['encryptedmessage'] = 'Przepraszamy, nie można wyświetlić zaszyfrowanej wiadomości!'; $messages['nocontactsfound'] = 'Nie znaleziono kontaktu!'; $messages['contactnotfound'] = 'Szukany kontakt nie został odnaleziony'; $messages['sendingfailed'] = 'Nie udało się wysłać wiadomości!'; @@ -48,31 +49,32 @@ $messages['deletecontactconfirm'] = 'Czy na pewno chcesz usunąć wybrane kontak $messages['deletemessagesconfirm'] = 'Czy na pewno chcesz usunąć wybrane wiadomości?'; $messages['deletefolderconfirm'] = 'Czy na pewno chcesz usunąć wybrany folder?'; $messages['purgefolderconfirm'] = 'Czy na pewno chcesz usunąć wszystkie wiadomości w tym folderze?'; -$messages['formincomplete'] = 'Proszę uzupełnić formularz!'; +$messages['formincomplete'] = 'Uzupełnij formularz!'; $messages['noemailwarning'] = 'Wpisz poprawny adres e-mail!'; $messages['nonamewarning'] = 'Podaj imię!'; $messages['nopagesizewarning'] = 'Podaj poprawną wartość!'; -$messages['norecipientwarning'] = 'Podaj conajmniej jednego odbiorcę!'; -$messages['nosubjectwarning'] = 'Nie podałeś tematu wiadomości. Czy chcesz go teraz uzupełnić?'; -$messages['nobodywarning'] = 'Ta wiadomość jest pusta, czy mimo to chesz ją wysłać?'; -$messages['notsentwarning'] = 'Wiadomość nie została wysłana. czy chesz usunąć tą wiadomość?'; -$messages['noldapserver'] = 'Proszę wybrać serwer LDAP!'; +$messages['norecipientwarning'] = 'Podaj co najmniej jednego odbiorcę!'; +$messages['nosubjectwarning'] = 'Nie podano tematu wiadomości. Czy chcesz go teraz uzupełnić?'; +$messages['nobodywarning'] = 'Ta wiadomość jest pusta, czy mimo to chcesz ją wysłać?'; +$messages['notsentwarning'] = 'Wiadomość nie została wysłana. Czy chcesz usunąć tę wiadomość?'; +$messages['noldapserver'] = 'Wybierz serwer LDAP!'; $messages['nocontactsreturned'] = 'Nie znaleziono kontaktów!'; -$messages['nosearchname'] = 'Proszę podać nazwę kontaktu lub jego adres email.'; -$messages['searchsuccessful'] = 'Znaleziono $nr wiadomości'; +$messages['nosearchname'] = 'Podaj nazwę kontaktu lub jego adres e-mail.'; +$messages['searchsuccessful'] = 'Liczba znalezionych wiadomości: $nr'; $messages['searchnomatch'] = 'Nic nie znaleziono.'; -$messages['searching'] = 'Szukam...'; +$messages['searching'] = 'Wyszukiwanie...'; $messages['checking'] = 'Sprawdzanie...'; $messages['nospellerrors'] = 'Nie znaleziono błędów w pisowni.'; $messages['folderdeleted'] = 'Folder został pomyślnie usunięty.'; $messages['deletedsuccessfully'] = 'Usunięto'; -$messages['converting'] = 'Konwertuję wiadomość'; +$messages['converting'] = 'Konwertowanie wiadomości...'; $messages['messageopenerror'] = 'Nie można załadować wiadomości z serwera'; $messages['fileuploaderror'] = 'Załączanie pliku nie powiodło się'; $messages['filesizeerror'] = 'Plik przekracza maksymalną wielkość $size'; -$messages['copysuccess'] = 'Pomyślnie skopiowano $nr adres(ów)'; +$messages['copysuccess'] = 'Pomyślnie skopiowano następującą liczbę adresów: $nr'; $messages['copyerror'] = 'Nie można skopiować żadnego adresu'; -$messages['sourceisreadonly'] = 'Żródło adresu jest tylko do odczytu'; +$messages['sourceisreadonly'] = 'Źródło adresu jest tylko do odczytu'; $messages['errorsavingcontact'] = 'Nie można było zapisać adresu kontaktu'; +$messages['movingmessage'] = 'Przenoszenie wiadomości...'; ?> \ No newline at end of file diff --git a/program/localization/pt_BR/labels.inc b/program/localization/pt_BR/labels.inc index c8fe960..1c3e433 100644 --- a/program/localization/pt_BR/labels.inc +++ b/program/localization/pt_BR/labels.inc @@ -1,11 +1,12 @@ | +-----------------------------------------------------------------------+ - $Id: labels.inc 559 2007-05-17 14:33:01Z thomasb $ + $Id: labels.inc 870 2007-10-16 06:50:49Z thomasb $ */ $labels = array(); -$labels['welcome'] = 'Bem Vindo ao $product'; -$labels['username'] = 'Usuário'; -$labels['password'] = 'Senha'; -$labels['server'] = 'Servidor'; -$labels['login'] = 'Entrar'; -$labels['logout'] = 'Sair'; -$labels['mail'] = 'E-mail'; + +// login page +$labels['welcome'] = 'Bem Vindo ao $product'; +$labels['username'] = 'Usuário'; +$labels['password'] = 'Senha'; +$labels['server'] = 'Servidor'; +$labels['login'] = 'Entrar'; + +// taskbar +$labels['logout'] = 'Sair'; +$labels['mail'] = 'E-mail'; $labels['settings'] = 'Configurações pessoais'; $labels['addressbook'] = 'Catálogo de endereços'; -$labels['inbox'] = 'Caixa de entrada'; + +// mailbox names +$labels['inbox'] = 'Entrada'; $labels['drafts'] = 'Rascunhos'; -$labels['sent'] = 'Enviados'; -$labels['trash'] = 'Lixeira'; -$labels['junk'] = 'Junk'; +$labels['sent'] = 'Enviados'; +$labels['trash'] = 'Lixeira'; +$labels['junk'] = 'Junk'; + +// message listing $labels['subject'] = 'Assunto'; -$labels['from'] = 'Remetente'; -$labels['to'] = 'Para'; -$labels['cc'] = 'Cópia'; -$labels['bcc'] = 'Bcc'; +$labels['from'] = 'Remetente'; +$labels['to'] = 'Para'; +$labels['cc'] = 'Cópia'; +$labels['bcc'] = 'Cópia Oculta'; $labels['replyto'] = 'Responder para'; -$labels['date'] = 'Data'; -$labels['size'] = 'Tamanho'; +$labels['date'] = 'Data'; +$labels['size'] = 'Tamanho'; $labels['priority'] = 'Prioridade'; $labels['organization'] = 'Organização'; -$labels['reply-to'] = 'Responder para'; + +// aliases +$labels['reply-to'] = $labels['replyto']; + $labels['mailboxlist'] = 'Pastas'; $labels['messagesfromto'] = 'Mensagens $from - $to de $count'; $labels['messagenrof'] = 'Mensagem $nr de $count'; -$labels['moveto'] = 'mover para...'; + +$labels['moveto'] = 'mover para...'; $labels['download'] = 'download'; + $labels['filename'] = 'Arquivo'; $labels['filesize'] = 'Tamanho'; + $labels['preferhtml'] = 'Preferir HTML'; $labels['htmlmessage'] = 'Mensagem HTML'; $labels['prettydate'] = 'Formatar datas'; + $labels['addtoaddressbook'] = 'Incluir no catálogo de endereços'; + +// weekdays short $labels['sun'] = 'Dom'; $labels['mon'] = 'Seg'; $labels['tue'] = 'Ter'; @@ -62,120 +80,160 @@ $labels['wed'] = 'Qua'; $labels['thu'] = 'Qui'; $labels['fri'] = 'Sex'; $labels['sat'] = 'Sáb'; -$labels['sunday'] = 'Domingo'; -$labels['monday'] = 'Segunda-feira'; -$labels['tuesday'] = 'Terça-feira'; + +// weekdays long +$labels['sunday'] = 'Domingo'; +$labels['monday'] = 'Segunda-feira'; +$labels['tuesday'] = 'Terça-feira'; $labels['wednesday'] = 'Quarta-feira'; -$labels['thursday'] = 'Quinta-feira'; -$labels['friday'] = 'Sexta-feira'; -$labels['saturday'] = 'Sábado'; +$labels['thursday'] = 'Quinta-feira'; +$labels['friday'] = 'Sexta-feira'; +$labels['saturday'] = 'Sábado'; + $labels['today'] = 'Hoje'; -$labels['checkmail'] = 'Verificar se há novas mensagens'; -$labels['writenewmessage'] = 'Criar nova mensagem'; -$labels['replytomessage'] = 'Responder'; + +// toolbar buttons +$labels['checkmail'] = 'Verificar se há novas mensagens.'; +$labels['writenewmessage'] = 'Criar nova mensagem'; +$labels['replytomessage'] = 'Responder'; $labels['replytoallmessage'] = 'Responder para todos'; -$labels['forwardmessage'] = 'Encaminhar'; -$labels['deletemessage'] = 'Mover para lixeira'; -$labels['printmessage'] = 'Imprimir'; -$labels['previousmessage'] = 'Mensagem Anterior'; +$labels['forwardmessage'] = 'Encaminhar'; +$labels['deletemessage'] = 'Excluir'; +$labels['movemessagetotrash'] = 'Mover para Lixeira'; +$labels['printmessage'] = 'Imprimir'; +$labels['previousmessage'] = 'Mensagem Anterior'; $labels['previousmessages'] = 'Página Anterior'; -$labels['firstmessage'] = 'Primeira Mensagem'; -$labels['firstmessages'] = 'Primeira Página'; -$labels['nextmessage'] = 'Próxima Mensagem'; -$labels['nextmessages'] = 'Próxima Página'; -$labels['lastmessage'] = 'Ultima Mensagem'; -$labels['lastmessages'] = 'Ultima Página'; -$labels['backtolist'] = 'Voltar'; -$labels['viewsource'] = 'Exibir código fonte'; +$labels['firstmessage'] = 'Primeira Mensagem'; +$labels['firstmessages'] = 'Primeira Página'; +$labels['nextmessage'] = 'Próxima Mensagem'; +$labels['nextmessages'] = 'Próxima Página'; +$labels['lastmessage'] = 'Ultima Mensagem'; +$labels['lastmessages'] = 'Ultima Página'; +$labels['backtolist'] = 'Voltar'; +$labels['viewsource'] = 'Exibir código fonte'; + $labels['select'] = 'Selecionar'; $labels['all'] = 'Todas'; $labels['none'] = 'Nenhuma'; $labels['unread'] = 'Não lidas'; + $labels['compact'] = 'Compactar'; -$labels['empty'] = 'Vazio'; +$labels['empty'] = 'Esvaziar'; $labels['purge'] = 'Apagar'; + $labels['quota'] = 'Utilização'; -$labels['unknown'] = 'desconhecido'; -$labels['unlimited'] = 'sem limitação'; +$labels['unknown'] = 'desconhecido'; +$labels['unlimited'] = 'Sem limitação'; + $labels['quicksearch'] = 'Pesquisa Rápida'; $labels['resetsearch'] = 'Limpar'; -$labels['compose'] = 'Escrever mensagem'; -$labels['sendmessage'] = 'Enviar'; -$labels['savemessage'] = 'Salvar Rascunho'; -$labels['addattachment'] = 'Anexar'; -$labels['charset'] = 'Codificação'; -$labels['editortype'] = 'Tipo'; -$labels['returnreceipt'] = 'Receber Confirmação'; + + +// message compose +$labels['compose'] = 'Escrever mensagem'; +$labels['sendmessage'] = 'Enviar'; +$labels['savemessage'] = 'Salvar Rascunho'; +$labels['addattachment'] = 'Anexar'; +$labels['charset'] = 'Codificação'; +$labels['editortype'] = 'Tipo'; +$labels['returnreceipt'] = 'Receber Confirmação'; + $labels['checkspelling'] = 'Verificar Ortografia'; $labels['resumeediting'] = 'Continuar'; -$labels['revertto'] = 'Reverter para'; +$labels['revertto'] = 'Reverter para'; + $labels['attachments'] = 'Anexos'; $labels['upload'] = 'Enviar'; -$labels['close'] = 'Fechar'; -$labels['low'] = 'Mais baixo'; -$labels['lowest'] = 'Baixo'; -$labels['normal'] = 'Normal'; -$labels['high'] = 'Alta'; +$labels['close'] = 'Fechar'; + +$labels['low'] = 'Mais baixa'; +$labels['lowest'] = 'Baixa'; +$labels['normal'] = 'Normal'; +$labels['high'] = 'Alta'; $labels['highest'] = 'Mais alta'; -$labels['nosubject'] = '(sem assunto)'; + +$labels['nosubject'] = '(Sem assunto)'; $labels['showimages'] = 'Exibir imagens'; + $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Texto Puro'; -$labels['name'] = 'Nome completo'; + +$labels['addcc'] = 'Cópia'; +$labels['addbcc'] = 'Cópia Oculta'; +$labels['addreplyto'] = 'Responder para'; + + +// address boook +$labels['name'] = 'Nome completo'; $labels['firstname'] = 'Primeiro nome'; -$labels['surname'] = 'Sobrenome'; -$labels['email'] = 'E-Mail'; +$labels['surname'] = 'Sobrenome'; +$labels['email'] = 'E-Mail'; + $labels['addcontact'] = 'Incluir novo contato'; $labels['editcontact'] = 'Editar contato'; -$labels['edit'] = 'Editar'; + +$labels['edit'] = 'Editar'; $labels['cancel'] = 'Cancelar'; -$labels['save'] = 'Salvar'; +$labels['save'] = 'Salvar'; $labels['delete'] = 'Apagar'; -$labels['newcontact'] = 'Criar novo contato'; -$labels['deletecontact'] = 'Apagar contatos selecionados'; -$labels['composeto'] = 'Escrever mensagem para'; + +$labels['newcontact'] = 'Criar novo contato'; +$labels['deletecontact'] = 'Apagar contatos selecionados'; +$labels['composeto'] = 'Escrever mensagem para'; $labels['contactsfromto'] = 'Contatos de $from à $to de $count'; -$labels['print'] = 'Imprimir'; -$labels['export'] = 'Exportar'; -$labels['previouspage'] = 'Página Anterior'; -$labels['firstpage'] = 'Primeira Página '; -$labels['nextpage'] = 'Próxima Página'; -$labels['lastpage'] = 'Última Página'; +$labels['print'] = 'Imprimir'; +$labels['export'] = 'Exportar'; + +$labels['previouspage'] = 'Página Anterior'; +$labels['firstpage'] = 'Primeira Página '; +$labels['nextpage'] = 'Próxima Página'; +$labels['lastpage'] = 'Última Página'; + $labels['groups'] = 'Grupos'; $labels['personaladrbook'] = 'Endereços Pessoais'; -$labels['settingsfor'] = 'Configurações para'; -$labels['preferences'] = 'Preferências'; -$labels['userpreferences'] = 'Preferências do usuário'; -$labels['editpreferences'] = 'Editar preferências do usuário'; -$labels['identities'] = 'Identidades'; -$labels['manageidentities'] = 'Gerenciar identidades para esta conta'; -$labels['newidentity'] = 'Nova identidade'; -$labels['newitem'] = 'Novo item'; -$labels['edititem'] = 'Editar item'; -$labels['setdefault'] = 'Padrão'; -$labels['language'] = 'Idioma'; -$labels['timezone'] = 'Fuso Horário'; -$labels['pagesize'] = 'Linhas por página'; + + +// settings +$labels['settingsfor'] = 'Configurações para'; + +$labels['preferences'] = 'Preferências'; +$labels['userpreferences'] = 'Preferências do usuário'; +$labels['editpreferences'] = 'Editar preferências do usuário'; + +$labels['identities'] = 'Identidades'; +$labels['manageidentities'] = 'Gerenciar identidades para esta conta'; +$labels['newidentity'] = 'Nova identidade'; + +$labels['newitem'] = 'Novo item'; +$labels['edititem'] = 'Editar item'; + +$labels['setdefault'] = 'Padrão'; +$labels['language'] = 'Idioma'; +$labels['timezone'] = 'Fuso Horário'; +$labels['pagesize'] = 'Linhas por página'; $labels['signature'] = 'Assinatura'; -$labels['dstactive'] = 'Horário de Verão'; +$labels['dstactive'] = 'Horário de Verão'; $labels['htmleditor'] = 'Criar mensagens em HTML'; $labels['htmlsignature'] = 'Assinatura em HTML'; -$labels['previewpane'] = 'Exibir Pré-Vizualização'; -$labels['autosavedraft'] = 'Salvar Rascunho automaticamente'; -$labels['everynminutes'] = 'a cada $n minutos'; -$labels['never'] = 'nunca'; -$labels['folder'] = 'Pasta'; -$labels['folders'] = 'Pastas'; -$labels['foldername'] = 'Nome da pasta'; -$labels['subscribed'] = 'Assinado'; -$labels['create'] = 'Criar'; -$labels['createfolder'] = 'Criar nova pasta'; +$labels['previewpane'] = 'Exibir Pré-Visualização'; + +$labels['autosavedraft'] = 'Salvar Rascunho automaticamente'; +$labels['everynminutes'] = 'a cada $n minutos'; +$labels['never'] = 'nunca'; + +$labels['folder'] = 'Pasta'; +$labels['folders'] = 'Pastas'; +$labels['foldername'] = 'Nome da pasta'; +$labels['subscribed'] = 'Assinado'; +$labels['create'] = 'Criar'; +$labels['createfolder'] = 'Criar nova pasta'; $labels['rename'] = 'Renomear'; $labels['renamefolder'] = 'Renomear Pasta'; -$labels['deletefolder'] = 'Apagar pasta'; -$labels['managefolders'] = 'Gerenciar pastas'; +$labels['deletefolder'] = 'Apagar pasta'; +$labels['managefolders'] = 'Gerenciar pastas'; + $labels['sortby'] = 'Ordenado por'; -$labels['sortasc'] = 'Ascendente'; +$labels['sortasc'] = 'Ascendente'; $labels['sortdesc'] = 'Descendente'; ?> \ No newline at end of file diff --git a/program/localization/pt_BR/messages.inc b/program/localization/pt_BR/messages.inc index 68b0d57..9898118 100644 --- a/program/localization/pt_BR/messages.inc +++ b/program/localization/pt_BR/messages.inc @@ -1,6 +1,7 @@ | +-----------------------------------------------------------------------+ - $Id: messages.inc 559 2007-05-17 14:33:01Z thomasb $ + $Id: messages.inc 830 2007-09-27 04:33:46Z tomekp $ */ $messages = array(); -$messages['loginfailed'] = 'Falha no login'; -$messages['cookiesdisabled'] = 'Seu navegador não suporta cookies'; -$messages['sessionerror'] = 'A sessão do seu navegador é inválida ou expirou'; -$messages['imaperror'] = 'A conexão com o servidor IMAP falhou'; -$messages['nomessagesfound'] = 'Nenhuma mensagem foi encontrada na caixa postal'; +$messages['loginfailed'] = 'Falha no login.'; +$messages['cookiesdisabled'] = 'Seu navegador não suporta cookies.'; +$messages['sessionerror'] = 'A sessão do seu navegador é inválida ou expirou.'; +$messages['imaperror'] = 'A conexão com o servidor IMAP falhou.'; +$messages['nomessagesfound'] = 'Não foi encontrada nenhuma mensagem.'; $messages['loggedout'] = 'Sua sessão foi finalizada com sucesso. Até breve!'; -$messages['mailboxempty'] = 'A caixa postal está vazia'; +$messages['mailboxempty'] = 'A caixa de mensagens está vazia.'; $messages['loading'] = 'Carregando...'; $messages['loadingdata'] = 'Carregando informações...'; $messages['checkingmail'] = 'Verificando se há novas mensagens...'; @@ -33,46 +34,49 @@ $messages['sendingmessage'] = 'Enviando...'; $messages['messagesent'] = 'Mensagem enviada'; $messages['savingmessage'] = 'Salvando Mensagem...'; $messages['messagesaved'] = 'Rascunho Salvo'; -$messages['successfullysaved'] = 'Salvo com sucesso'; -$messages['addedsuccessfully'] = 'Contato incluído com sucesso'; +$messages['successfullysaved'] = 'Operação realizada com sucesso.'; +$messages['addedsuccessfully'] = 'Contato incluído com sucesso.'; $messages['contactexists'] = 'Um contato com esse e-mail já existe'; $messages['blockedimages'] = 'Para proteger sua privacidade, as imagens desta mensagem foram bloqueadas'; $messages['encryptedmessage'] = 'Esta mensagem está criptografada e não pode ser exibida. Desculpe.'; -$messages['nocontactsfound'] = 'Nenhum contato encontrado'; +$messages['nocontactsfound'] = 'Nenhum contato foi encontrado'; $messages['contactnotfound'] = 'O contato solicitado não foi encontrado'; + $messages['sendingfailed'] = 'Falha no envio da mensagem'; -$messages['errorsaving'] = 'Um erro ocorreu durante o salvamento'; +$messages['errorsaving'] = 'Ocorreu um erro ao Salvar'; $messages['errormoving'] = 'Não foi possível mover a mensagem'; $messages['errordeleting'] = 'Não foi possível apagar a mensagem'; -$messages['deletecontactconfirm'] = 'Deseja realmente excluir os contatos selecionados?'; -$messages['deletemessagesconfirm'] = 'Deseja realmente excluir a(s) mensagem(s) selecionadas?'; +$messages['deletecontactconfirm'] = 'Deseja realmente excluir o(s) contato(s) selecionado(s)?'; +$messages['deletemessagesconfirm'] = 'Deseja realmente excluir a(s) mensagem(s) selecionada(s)?'; $messages['deletefolderconfirm'] = 'Deseja realmente excluir esta pasta?'; -$messages['purgefolderconfirm'] = 'Deseja realmente excluir todas mensagens desta pasta'; -$messages['formincomplete'] = 'Os campos não foram completamente preenchidos'; -$messages['noemailwarning'] = 'Por favor, informe um endereço de e-mail válido'; -$messages['nonamewarning'] = 'Por favor, informe o nome'; -$messages['nopagesizewarning'] = 'Por favor, informe o tamanho da página'; -$messages['norecipientwarning'] = 'Por favor, informe pelo menos um destinatário'; -$messages['nosubjectwarning'] = 'O campo assunto não foi informado. Deseja incluí-lo agora?'; +$messages['purgefolderconfirm'] = 'Deseja realmente excluir todas mensagens desta pasta?'; +$messages['formincomplete'] = 'Os campos não foram completamente preenchidos.'; +$messages['noemailwarning'] = 'Por favor, informe um endereço de e-mail válido.'; +$messages['nonamewarning'] = 'Por favor, informe o nome.'; +$messages['nopagesizewarning'] = 'Por favor, informe o tamanho da página.'; +$messages['norecipientwarning'] = 'Por favor, informe pelo menos um destinatário.'; +$messages['nosubjectwarning'] = 'O campo assunto não foi informado. Deseja incluí-lo agora?'; $messages['nobodywarning'] = 'Enviar a mensagem sem texto?'; $messages['notsentwarning'] = 'A mensegem não foi enviada, deseja excluí-la?'; $messages['noldapserver'] = 'Por favor, selecione um servidor LDAP para a pesquisa'; -$messages['nocontactsreturned'] = 'Nenhum contato foi encontrado'; +$messages['nocontactsreturned'] = 'Nenhum contato foi encontrado.'; $messages['nosearchname'] = 'Por favor, informe o nome do contado ou seu endereço de e-mail'; $messages['searchsuccessful'] = '$nr mensagens encontradas'; $messages['searchnomatch'] = 'A pesquisa não encontrou resultados'; $messages['searching'] = 'Pesquisando...'; $messages['checking'] = 'Verificando...'; -$messages['nospellerrors'] = 'Nenhum erro ortográfico encontrado'; +$messages['nospellerrors'] = 'Nenhum erro ortográfico encontrado.'; $messages['folderdeleted'] = 'Pasta excluída com sucesso'; $messages['deletedsuccessfully'] = 'Excluído com sucesso'; $messages['converting'] = 'Removendo formatação da Mensagem...'; $messages['messageopenerror'] = 'Não foi possível carregar a mensagem do servidor'; $messages['fileuploaderror'] = 'Falha ao enviar o arquivo'; $messages['filesizeerror'] = 'O Arquivo enviado excede o tamanho máximo de $size'; + $messages['copysuccess'] = '$nr endereços copiados com sucesso'; $messages['copyerror'] = 'Não foi possível copiar quaisquer endereços'; $messages['sourceisreadonly'] = 'Esta fonte de endereços é somente leitura'; -$messages['errorsavingcontact'] = 'Não foi possível salvar o endereço de contato'; +$messages['errorsavingcontact'] = 'Não foi possível salvar o endereço de contato.'; +$messages['movingmessage'] = 'Movendo mensagem...'; ?> \ No newline at end of file diff --git a/program/localization/pt_PT/labels.inc b/program/localization/pt_PT/labels.inc index f0978e4..b346ee6 100644 --- a/program/localization/pt_PT/labels.inc +++ b/program/localization/pt_PT/labels.inc @@ -15,7 +15,7 @@ | Fernando Silva | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 562 2007-05-17 15:22:33Z thomasb $ + @version $Id: labels.inc 873 2007-10-16 19:06:34Z yllar $ */ @@ -75,8 +75,9 @@ $labels['checkmail'] = 'Verificar novas mensagens'; $labels['writenewmessage'] = 'Criar nova mensagem'; $labels['replytomessage'] = 'Responder'; $labels['replytoallmessage'] = 'Responder a todos'; -$labels['forwardmessage'] = 'Encaminhar'; -$labels['deletemessage'] = 'Mover para lixeira'; +$labels['forwardmessage'] = 'Reencaminhar'; +$labels['deletemessage'] = 'Apagar'; +$labels['movemessagetotrash'] = 'Mover para lixeira'; $labels['printmessage'] = 'Imprimir'; $labels['previousmessage'] = 'Mensagem anterior'; $labels['previousmessages'] = 'Página anterior'; @@ -101,8 +102,8 @@ $labels['unlimited'] = 'ilimitado'; $labels['quicksearch'] = 'Pesquisa rápida'; $labels['resetsearch'] = 'Limpar pesquisa'; $labels['compose'] = 'Escrever mensagem'; -$labels['sendmessage'] = 'Enviar'; $labels['savemessage'] = 'Salvar rascunho'; +$labels['sendmessage'] = 'Enviar'; $labels['addattachment'] = 'Anexar'; $labels['charset'] = 'Charset'; $labels['editortype'] = 'Tipo de editor'; @@ -122,6 +123,9 @@ $labels['nosubject'] = '(sem assunto)'; $labels['showimages'] = 'Exibir imagens'; $labels['htmltoggle'] = 'HTML'; $labels['plaintoggle'] = 'Texto simples'; +$labels['addcc'] = 'Adicionar Cc'; +$labels['addbcc'] = 'Adicionar Bcc'; +$labels['addreplyto'] = 'Adicionar "Responder para"'; $labels['name'] = 'Nome completo'; $labels['firstname'] = 'Primeiro nome'; $labels['surname'] = 'Apelido'; diff --git a/program/localization/pt_PT/messages.inc b/program/localization/pt_PT/messages.inc index de14f36..ccb4fa1 100644 --- a/program/localization/pt_PT/messages.inc +++ b/program/localization/pt_PT/messages.inc @@ -14,7 +14,7 @@ | João Vale | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 562 2007-05-17 15:22:33Z thomasb $ + @version $Id: messages.inc 873 2007-10-16 19:06:34Z yllar $ */ @@ -74,5 +74,6 @@ $messages['copysuccess'] = 'Foram copiados $nr endereços com sucesso'; $messages['copyerror'] = 'Não foi possível copiar os endereços'; $messages['sourceisreadonly'] = 'Esta fonte de endereços é só de leitura'; $messages['errorsavingcontact'] = 'Não foi possível guardar o endereço de contacto'; +$messages['movingmessage'] = 'Movendo mensagem...'; ?> diff --git a/program/localization/ru/labels.inc b/program/localization/ru/labels.inc old mode 100755 new mode 100644 index 3c36be9..6c13682 --- a/program/localization/ru/labels.inc +++ b/program/localization/ru/labels.inc @@ -14,7 +14,7 @@ | Vladimir Kulev | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 560 2007-05-17 15:01:26Z thomasb $ + @version $Id: labels.inc 584 2007-05-24 03:49:19Z estadtherr $ */ diff --git a/program/localization/ru/messages.inc b/program/localization/ru/messages.inc old mode 100755 new mode 100644 index 4e7e73c..2e57616 --- a/program/localization/ru/messages.inc +++ b/program/localization/ru/messages.inc @@ -14,7 +14,7 @@ | Vladimir Kulev | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 560 2007-05-17 15:01:26Z thomasb $ + @version $Id: messages.inc 584 2007-05-24 03:49:19Z estadtherr $ */ diff --git a/program/localization/se/labels.inc b/program/localization/se/labels.inc index 4014c02..c1e19f5 100644 --- a/program/localization/se/labels.inc +++ b/program/localization/se/labels.inc @@ -14,7 +14,7 @@ | Andreas Henriksson | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 557 2007-05-15 06:41:32Z yllar $ + @version $Id: labels.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -160,7 +160,7 @@ $labels['signature'] = 'Signatur'; $labels['dstactive'] = 'Sommartid'; $labels['htmleditor'] = 'Skriv HTML-meddelanden'; $labels['htmlsignature'] = 'HTML-signatur'; -$labels['previewpane'] = 'Visa föregående panel'; +$labels['previewpane'] = 'Visa delad vy i inbox'; $labels['autosavedraft'] = 'Spara utkast automatiskt'; $labels['everynminutes'] = 'var $n minut'; $labels['never'] = 'aldrig'; @@ -178,4 +178,4 @@ $labels['sortby'] = 'Sortera på'; $labels['sortasc'] = 'Sortera stigande'; $labels['sortdesc'] = 'Sortera fallande'; -?> +?> \ No newline at end of file diff --git a/program/localization/se/messages.inc b/program/localization/se/messages.inc index 945c7f8..a51cc5c 100644 --- a/program/localization/se/messages.inc +++ b/program/localization/se/messages.inc @@ -14,7 +14,7 @@ | Andreas Henriksson | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 557 2007-05-15 06:41:32Z yllar $ + @version $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -75,4 +75,4 @@ $messages['copyerror'] = 'Kunde inte kopiera några adresser'; $messages['sourceisreadonly'] = 'Denna adresskälla är skrivskyddad'; $messages['errorsavingcontact'] = 'Kunde inte spara kontakt-adressen'; -?> +?> \ No newline at end of file diff --git a/program/localization/si/messages.inc b/program/localization/si/messages.inc index 0523926..3d5d922 100644 --- a/program/localization/si/messages.inc +++ b/program/localization/si/messages.inc @@ -1,4 +1,4 @@ - | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 569 2007-05-17 19:42:17Z thomasb $ + @version $Id: labels.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -178,4 +178,4 @@ $labels['sortby'] = 'Triediť podľa'; $labels['sortasc'] = 'Triediť vzostupne'; $labels['sortdesc'] = 'Triediť zostupne'; -?> +?> \ No newline at end of file diff --git a/program/localization/sk/messages.inc b/program/localization/sk/messages.inc index d9c5875..efad6ba 100644 --- a/program/localization/sk/messages.inc +++ b/program/localization/sk/messages.inc @@ -14,7 +14,7 @@ | Marek Kutnar marek19@zmail.sk> | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 569 2007-05-17 19:42:17Z thomasb $ + @version $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -75,4 +75,4 @@ $messages['copyerror'] = 'Nemôžem skopírovať žiadnu adresu'; $messages['sourceisreadonly'] = 'Tento zdroj adries je len na čítanie'; $messages['errorsavingcontact'] = 'Nemôžem uložit adresu kontaktu'; -?> +?> \ No newline at end of file diff --git a/program/localization/sl/labels.inc b/program/localization/sl/labels.inc old mode 100755 new mode 100644 index a7350b6..3239628 --- a/program/localization/sl/labels.inc +++ b/program/localization/sl/labels.inc @@ -14,7 +14,7 @@ | Andrej Mocilnik | +--------------------------------------------------------------------------------------+ - @version $Id: labels.inc 557 2007-05-15 06:41:32Z yllar $ + @version $Id: labels.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -177,4 +177,5 @@ $labels['managefolders'] = 'Urejaj mape'; $labels['sortby'] = 'Uredi po'; $labels['sortasc'] = 'Uredi naraščajoče'; $labels['sortdesc'] = 'Uredi padajoče'; -?> + +?> \ No newline at end of file diff --git a/program/localization/sl/messages.inc b/program/localization/sl/messages.inc old mode 100755 new mode 100644 index d8aded0..f19a403 --- a/program/localization/sl/messages.inc +++ b/program/localization/sl/messages.inc @@ -14,7 +14,7 @@ | Andrej Mocilnik | +--------------------------------------------------------------------------------------+ - @version $Id: messages.inc 557 2007-05-15 06:41:32Z yllar $ + @version $Id: messages.inc 842 2007-10-01 13:55:02Z tomekp $ */ @@ -74,4 +74,5 @@ $messages['copysuccess'] = 'Število prepisanih naslovov: $nr'; $messages['copyerror'] = 'Ne morem prepisati nobenega naslova'; $messages['sourceisreadonly'] = 'Izvirnik naslova je samo berljiv'; $messages['errorsavingcontact'] = 'Ne morem shraniti vizitke'; -?> + +?> \ No newline at end of file diff --git a/program/localization/tr/labels.inc b/program/localization/tr/labels.inc index 088a62a..b1fe655 100644 --- a/program/localization/tr/labels.inc +++ b/program/localization/tr/labels.inc @@ -13,7 +13,7 @@ | Author: Hasan Cansız | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 466 2007-02-06 09:17:01Z tomekp $ + @version $Id: labels.inc 837 2007-09-27 13:31:57Z thomasb $ */ @@ -46,7 +46,7 @@ $labels['reply-to'] = 'Yanıtların Gönderileceği Adres'; $labels['mailboxlist'] = 'Klasörler'; $labels['messagesfromto'] = '$count Mesajın $from - $to Arasındaki Mesajlar'; $labels['messagenrof'] = '$count Mesajın $nr .'; -$labels['moveto'] = 'Şuraya taşı...'; +$labels['moveto'] = 'şuraya taşı...'; $labels['download'] = 'İndir'; $labels['filename'] = 'Dosya Adı'; $labels['filesize'] = 'Dosya Boyutu'; @@ -54,13 +54,13 @@ $labels['preferhtml'] = 'HTML görüntülemeyi destekle'; $labels['htmlmessage'] = 'HTML Mesaj'; $labels['prettydate'] = 'Tarihi kısaltarak göster'; $labels['addtoaddressbook'] = 'Rehbere Ekle'; -$labels['sun'] = 'Pzr.'; -$labels['mon'] = 'Pts.'; -$labels['tue'] = 'Salı'; -$labels['wed'] = 'Çarş.'; -$labels['thu'] = 'Perş.'; -$labels['fri'] = 'Cuma'; -$labels['sat'] = 'C.tesi'; +$labels['sun'] = 'Pzr'; +$labels['mon'] = 'Pts'; +$labels['tue'] = 'Sal'; +$labels['wed'] = 'Çar'; +$labels['thu'] = 'Per'; +$labels['fri'] = 'Cum'; +$labels['sat'] = 'Cts'; $labels['sunday'] = 'Pazar'; $labels['monday'] = 'Pazartesi'; $labels['tuesday'] = 'Salı'; @@ -76,8 +76,14 @@ $labels['replytoallmessage'] = 'Bu postanın gönderildiği herkesi yanıtla'; $labels['forwardmessage'] = 'Postayı ilet'; $labels['deletemessage'] = 'Çöp Kutusuna At'; $labels['printmessage'] = 'Yazdır'; +$labels['previousmessage'] = 'Önceki mesajı göster'; $labels['previousmessages'] = 'Önceki postaları göster'; +$labels['firstmessage'] = 'İlk mesajı göster'; +$labels['firstmessages'] = 'İlk mesajları göster'; +$labels['nextmessage'] = 'Sonraki mesajı göster'; $labels['nextmessages'] = 'Sonraki postaları göster'; +$labels['lastmessage'] = 'Son mesajı göster'; +$labels['lastmessages'] = 'Son mesajları göster'; $labels['backtolist'] = 'Posta kutusuna dön'; $labels['viewsource'] = 'Kaynağı göster'; $labels['select'] = 'Seç'; @@ -93,10 +99,11 @@ $labels['unlimited'] = 'sınırsız'; $labels['quicksearch'] = 'Hızlı arama'; $labels['resetsearch'] = 'Aramayı sıfırla'; $labels['compose'] = 'Yeni posta oluştur'; -$labels['savemessage'] = 'Taslak olarak kaydet'; $labels['sendmessage'] = 'Postayı gönder'; +$labels['savemessage'] = 'Taslak olarak kaydet'; $labels['addattachment'] = 'Dosya ekle'; $labels['charset'] = 'Karakter seti'; +$labels['editortype'] = 'Düzenleyici tipi'; $labels['returnreceipt'] = 'Return receipt'; $labels['checkspelling'] = 'Dilbilgisi kontrolu yap'; $labels['resumeediting'] = 'Düzenlemeye devam et'; @@ -111,6 +118,8 @@ $labels['high'] = 'Yüksek'; $labels['highest'] = 'Çok yüksek'; $labels['nosubject'] = '(Konu Belirtilmemiş)'; $labels['showimages'] = 'Grafikleri görüntüle'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'Düz metin'; $labels['name'] = 'İsmi görüntüle'; $labels['firstname'] = 'İsim'; $labels['surname'] = 'Soy isim'; @@ -128,14 +137,11 @@ $labels['contactsfromto'] = '$count Kişinin $from - $to arası '; $labels['print'] = 'Yazdır'; $labels['export'] = 'Export'; $labels['previouspage'] = 'Önceki seti göster'; +$labels['firstpage'] = 'İlk sayfa'; $labels['nextpage'] = 'Sonraki seti göster'; -$labels['ldapsearch'] = 'LDAP directory araması'; -$labels['ldappublicsearchname'] = 'Kişi adı'; -$labels['ldappublicsearchtype'] = 'Tam olarak uysun?'; -$labels['ldappublicserverselect'] = 'Serverleri seç'; -$labels['ldappublicsearchfield'] = 'Arama açık'; -$labels['ldappublicsearchform'] = 'Kişi ara'; -$labels['ldappublicsearch'] = 'Ara'; +$labels['lastpage'] = 'Son sayfa'; +$labels['groups'] = 'Gruplar'; +$labels['personaladrbook'] = 'Adresler'; $labels['settingsfor'] = 'Ayarlar'; $labels['preferences'] = 'Tercihler'; $labels['userpreferences'] = 'Kullanıcı tercihleri'; @@ -151,6 +157,12 @@ $labels['timezone'] = 'Saat dilimi'; $labels['pagesize'] = 'Bir sayfada kaç posta gösterilsin'; $labels['signature'] = 'İmza'; $labels['dstactive'] = 'Yaz saati uygulaması'; +$labels['htmleditor'] = 'HTML türünde mesaj düzenle'; +$labels['htmlsignature'] = 'HTML türü imza'; +$labels['previewpane'] = 'İlk paneli göster'; +$labels['autosavedraft'] = 'Taslağı otomatik kaydet'; +$labels['everynminutes'] = 'her $n dakikada bir'; +$labels['never'] = 'hiçbir zaman'; $labels['folder'] = 'Klasör'; $labels['folders'] = 'Klasörler'; $labels['foldername'] = 'Klasör ismi'; diff --git a/program/localization/tr/messages.inc b/program/localization/tr/messages.inc index 32c4ae7..151bff6 100644 --- a/program/localization/tr/messages.inc +++ b/program/localization/tr/messages.inc @@ -13,7 +13,7 @@ | Author: Hasan Cansız | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 466 2007-02-06 09:17:01Z tomekp $ + @version $Id: messages.inc 837 2007-09-27 13:31:57Z thomasb $ */ @@ -38,11 +38,13 @@ $messages['contactexists'] = 'Rehberde bu posta adresine sahip biri zaten var'; $messages['blockedimages'] = 'Gizliliğinizi korumak amacıyla postadaki grafikler bloke edildi.'; $messages['encryptedmessage'] = 'Bu şifrelenmiş bir posta ve bu nedenle gösterilemiyor. Özür dilerim!'; $messages['nocontactsfound'] = 'Kişi bulunamadı'; +$messages['contactnotfound'] = 'İstenen bağlantı bulunamadı'; $messages['sendingfailed'] = 'Posta gönderilemedi'; $messages['errorsaving'] = 'Kaydederken bir problem oluştu'; $messages['errormoving'] = 'Posta taşınamadı'; $messages['errordeleting'] = 'Posta silinemedi'; $messages['deletecontactconfirm'] = 'Seçili posta(lar)ı silmeyi gerçekten istiyor musunuz?'; +$messages['deletemessagesconfirm'] = 'Seçilen mesajları silmek istiyor musunuz?'; $messages['deletefolderconfirm'] = 'Bu klasörü silmeyi gerçekten istiyor musunuz?'; $messages['purgefolderconfirm'] = 'Bu klasördeki tüm postaları silmeyi gerçekten istiyor musnuz?'; $messages['formincomplete'] = 'Form tam olarak doldurulmadı'; @@ -50,7 +52,7 @@ $messages['noemailwarning'] = 'Lütfen geçerli bir posta adresi girin'; $messages['nonamewarning'] = 'Lütfen bir isim girin'; $messages['nopagesizewarning'] = 'Lütfen bir sayfa boyutu girin'; $messages['norecipientwarning'] = 'Lütfen en az bir alıcı belirtin'; -$messages['nosubjectwarning'] = '"Konu" kutusu boş bırakılmış. Şimdi bir konu belirtmek ister misiniz?'; +$messages['nosubjectwarning'] = '"Konu" kutusu boş bırakılmış. Þimdi bir konu belirtmek ister misiniz?'; $messages['nobodywarning'] = 'Postayı boş olarak gönder?'; $messages['notsentwarning'] = 'Posta gönderilmedi. Postanızı iptal etmek istiyor musunuz?'; $messages['noldapserver'] = 'Lütfen arama için bir Ldap sunucu seçin'; @@ -62,5 +64,14 @@ $messages['searching'] = 'Aranıyor...'; $messages['checking'] = 'Kontrol ediliyor...'; $messages['nospellerrors'] = 'Yazım hatası bulunmadı'; $messages['folderdeleted'] = 'Klasör başarılı bir şekilde silindi'; +$messages['deletedsuccessfully'] = 'Silindi'; +$messages['converting'] = 'Mesajın biçimlendirmesi kaldırılıyor..'; +$messages['messageopenerror'] = 'Mesaj sunucudan yüklenemedi'; +$messages['fileuploaderror'] = 'Dosya yükleme başarısız'; +$messages['filesizeerror'] = 'Yüklenen dosya en büyük dosya boyu $size \'ı aşıyor'; +$messages['copysuccess'] = '$nr adres kopyalandı'; +$messages['copyerror'] = 'Hiçbir adres kopyalanamadı'; +$messages['sourceisreadonly'] = 'Adres kaynağı salt okunur durumda'; +$messages['errorsavingcontact'] = 'Bağlantı adresi kaydedilemedi'; ?> \ No newline at end of file diff --git a/program/localization/uk/labels.inc b/program/localization/uk/labels.inc new file mode 100644 index 0000000..2c5f192 --- /dev/null +++ b/program/localization/uk/labels.inc @@ -0,0 +1,201 @@ + | + +-----------------------------------------------------------------------+ + +*/ + +$labels = array(); + +// login page +$labels['welcome'] = 'Ласкаво просимо в $product!'; +$labels['username'] = 'Ім`я користувача'; +$labels['password'] = 'Пароль'; +$labels['server'] = 'Сервер'; +$labels['login'] = 'Увійти'; + +// taskbar +$labels['logout'] = 'Вийти'; +$labels['mail'] = 'Пошта'; +$labels['settings'] = 'Налаштування'; +$labels['addressbook'] = 'Контакти'; + +// mailbox names +$labels['inbox'] = 'Вхідні'; +$labels['drafts'] = 'Чернетки'; +$labels['sent'] = 'Відправлені'; +$labels['trash'] = 'Смітник'; +$labels['spam'] = 'Спам'; + +// message listing +$labels['subject'] = 'Тема'; +$labels['from'] = 'Від'; +$labels['to'] = 'Кому'; +$labels['cc'] = 'Копія'; +$labels['bcc'] = 'Прихована'; +$labels['replyto'] = 'Зворотня адреса'; +$labels['date'] = 'Дата'; +$labels['size'] = 'Розмір'; +$labels['priority'] = 'Пріоритет'; +$labels['organization'] = 'Організація'; + +// aliases +$labels['reply-to'] = 'Зворотня адреса'; +$labels['mailboxlist'] = 'Теки'; +$labels['messagesfromto'] = 'Повідомлення з $from по $to із $count'; +$labels['messagenrof'] = 'Повідомлення $nr із $count'; +$labels['moveto'] = 'Перемістити у...'; +$labels['download'] = 'Завантажити'; +$labels['filename'] = 'Ім`я файлу'; +$labels['filesize'] = 'Розмір файлу'; +$labels['preferhtml'] = 'Переважно HTML'; +$labels['htmlmessage'] = 'Повідомлення HTML'; +$labels['prettydate'] = 'Красиві дати'; +$labels['addtoaddressbook'] = 'Додати до контактів'; + +// weekdays short +$labels['sun'] = 'Нд'; +$labels['mon'] = 'Пн'; +$labels['tue'] = 'Вт'; +$labels['wed'] = 'Ср'; +$labels['thu'] = 'Чт'; +$labels['fri'] = 'Пт'; +$labels['sat'] = 'Сб'; + +// weekdays long +$labels['sunday'] = 'Неділя'; +$labels['monday'] = 'Понеділок'; +$labels['tuesday'] = 'Вівторок'; +$labels['wednesday'] = 'Середа'; +$labels['thursday'] = 'Четвер'; +$labels['friday'] = 'П`ятниця'; +$labels['saturday'] = 'Субота'; + +$labels['today'] = 'Сьогодні'; + +// toolbar buttons +$labels['checkmail'] = 'Перевірити пошту'; +$labels['writenewmessage'] = 'Нове повідомлення'; +$labels['replytomessage'] = 'Відповісти'; +$labels['replytoallmessage'] = 'Відповісти усім'; +$labels['forwardmessage'] = 'Переслати'; +$labels['deletemessage'] = 'У смітник'; +$labels['printmessage'] = 'Друкувати'; +$labels['previousmessage'] = 'Показати попереднє повідомлення'; +$labels['previousmessages'] = 'Попередня сторінка повідомлень'; +$labels['firstmessage'] = 'Показати перше повідомлення'; +$labels['firstmessages'] = 'Перша сторінка повідомлень'; +$labels['nextmessage'] = 'Показати наступне повідомлення'; +$labels['nextmessages'] = 'Наступна сторінка повідомлень'; +$labels['lastmessage'] = 'Показати останнє повідомлення'; +$labels['lastmessages'] = 'Остання сторінка повідомлень'; +$labels['backtolist'] = 'До переліку повідомлень'; +$labels['viewsource'] = 'Вихідний текст'; +$labels['select'] = 'Вибрати'; +$labels['all'] = 'Все'; +$labels['none'] = 'Нічого'; +$labels['unread'] = 'Непрочитані'; +$labels['compact'] = 'Стиснути'; +$labels['empty'] = 'Спустошити'; +$labels['purge'] = 'Очистити'; +$labels['quota'] = 'Квота'; +$labels['unknown'] = 'невідомо'; +$labels['unlimited'] = 'без обмеження'; +$labels['quicksearch'] = 'Швидкий пошук'; +$labels['resetsearch'] = 'Очистити пошук'; + +// message compose +$labels['compose'] = 'Написати повідомлення'; +$labels['sendmessage'] = 'Відіслати зараз'; +$labels['savemessage'] = 'Зберегти чернетку'; +$labels['addattachment'] = 'Додати вкладення'; +$labels['charset'] = 'Набір символів'; +$labels['editortype'] = 'Редактор'; +$labels['returnreceipt'] = 'Запит відповіді'; +$labels['checkspelling'] = 'Перевірити орфографію'; +$labels['resumeediting'] = 'Продовжити редагування'; +$labels['revertto'] = 'Відмінити правки'; +$labels['attachments'] = 'Вкладення'; +$labels['upload'] = 'Завантажити'; +$labels['close'] = 'Закрити'; +$labels['low'] = 'Низький'; +$labels['lowest'] = 'Найнижчий'; +$labels['normal'] = 'Нормальний'; +$labels['high'] = 'Високий'; +$labels['highest'] = 'Найвищий'; +$labels['nosubject'] = '(без теми)'; +$labels['showimages'] = 'Показати зображення'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = 'Звичайний текст'; + +// address boook +$labels['name'] = 'Відображуване ім`я'; +$labels['firstname'] = 'Ім`я'; +$labels['surname'] = 'Прізвище'; +$labels['email'] = 'E-Mail'; +$labels['addcontact'] = 'Додати вибрані контакти до списку контактів'; +$labels['editcontact'] = 'Редагувати контакт'; +$labels['edit'] = 'Правка'; +$labels['cancel'] = 'Відміна'; +$labels['save'] = 'Зберегти'; +$labels['delete'] = 'Видалити'; +$labels['newcontact'] = 'Створити новий контакт'; +$labels['deletecontact'] = 'Видалити вибрані контакти'; +$labels['composeto'] = 'Створити повідомлення для вибранних контактів'; +$labels['contactsfromto'] = 'Контакти з $from по $to з $count'; +$labels['print'] = 'Друкувати'; +$labels['export'] = 'Експортувати'; +$labels['previouspage'] = 'Показати попередній'; +$labels['firstpage'] = 'Показати перший'; +$labels['nextpage'] = 'Показати наступний'; +$labels['lastpage'] = 'Показати останній'; +$labels['groups'] = 'Групи'; +$labels['personaladrbook'] = 'Персональні адреси'; + +// settings +$labels['settingsfor'] = 'Налаштування для'; +$labels['preferences'] = 'Уподобання'; +$labels['userpreferences'] = 'Уподобання користувача'; +$labels['editpreferences'] = 'Редагувати уподобання користувача'; +$labels['identities'] = 'Профілі'; +$labels['manageidentities'] = 'Керування профілями'; +$labels['newidentity'] = 'Новий профіль'; +$labels['newitem'] = 'Новий'; +$labels['edititem'] = 'Правка'; +$labels['setdefault'] = 'Використовувати типово'; +$labels['language'] = 'Мова'; +$labels['timezone'] = 'Часовий пояс'; +$labels['pagesize'] = 'Рядків на сторінці'; +$labels['signature'] = 'Підпис'; +$labels['dstactive'] = 'Літній/зимовий час'; +$labels['htmleditor'] = 'Створювати повідомлення в HTML'; +$labels['htmlsignature'] = 'Підпис в HTML'; +$labels['previewpane'] = 'Показати панель перегляду'; +$labels['autosavedraft'] = 'Автозбереження чернетки'; +$labels['everynminutes'] = 'кожні $n хвилин'; +$labels['never'] = 'ніколи'; +$labels['folder'] = 'Тека'; +$labels['folders'] = 'Теки'; +$labels['foldername'] = 'Назва теки'; +$labels['subscribed'] = 'Підписані'; +$labels['create'] = 'Створити'; +$labels['createfolder'] = 'Створити нову теку'; +$labels['rename'] = 'Перейменувати'; +$labels['renamefolder'] = 'Перейменувати теку'; +$labels['deletefolder'] = 'Видалити теку'; +$labels['managefolders'] = 'Керування теками'; +$labels['sortby'] = 'Відсортувати за'; +$labels['sortasc'] = 'Сортувати за зростанням'; +$labels['sortdesc'] = 'Сортувати за спаданням'; + +?> \ No newline at end of file diff --git a/program/localization/uk/messages.inc b/program/localization/uk/messages.inc new file mode 100644 index 0000000..c1783f4 --- /dev/null +++ b/program/localization/uk/messages.inc @@ -0,0 +1,75 @@ + | + +-----------------------------------------------------------------------+ + +*/ + +$messages = array(); +$messages['loginfailed'] = 'Невдала спроба входу'; +$messages['cookiesdisabled'] = 'Ваш переглядач не приймає cookie'; +$messages['sessionerror'] = 'Ваша сесія застаріла'; +$messages['imaperror'] = 'Невдале з`єднання з IMAP сервером'; +$messages['nomessagesfound'] = 'Повідомлень не знайдено'; +$messages['loggedout'] = 'Ваша сесія завершена. Всього найкращого!'; +$messages['mailboxempty'] = 'Поштова скринька порожня'; +$messages['loading'] = 'Завантаження...'; +$messages['loadingdata'] = 'Завантаження даних...'; +$messages['checkingmail'] = 'Перевірка нових повідомлень...'; +$messages['sendingmessage'] = 'Відправка повідомлень...'; +$messages['messagesent'] = 'Повідомлення відправлено'; +$messages['savingmessage'] = 'Збереження повідомлення...'; +$messages['messagesaved'] = 'Збережено в Чернетках'; +$messages['successfullysaved'] = 'Збережено'; +$messages['addedsuccessfully'] = 'Контакт успішно доданий до списку контактів'; +$messages['contactexists'] = 'Контакт з цією адресою e-mail вже існує'; +$messages['blockedimages'] = 'З метою безпеки завантаження зображень заблоковано'; +$messages['encryptedmessage'] = 'Повідомлення зашифровано і не може бути показано. Зверніться до адміністратора серверу.'; +$messages['nocontactsfound'] = 'Контакти не знайдені'; +$messages['contactnotfound'] = 'Запитаний контакт не знайдений'; +$messages['sendingfailed'] = 'Не вдалося відправити повідомлення'; +$messages['errorsaving'] = 'У процесі збереження трапилася помилка'; +$messages['errormoving'] = 'Не вдалося перемістити повідомлення'; +$messages['errordeleting'] = 'Не вдалося видалити повідомлення'; +$messages['deletecontactconfirm'] = 'Ви дійстно бажаєте видалити вибрані контакти?'; +$messages['deletemessagesconfirm'] = 'Ви дійстно бажаєте видалити вибрані повідомлення?'; +$messages['deletefolderconfirm'] = 'Ви дійстно бажаєте видалити цю теку?'; +$messages['purgefolderconfirm'] = 'Ви дійстно бажаєте видалити всі повідомлення у цій теці?'; +$messages['formincomplete'] = 'Заповнені не усі поля'; +$messages['noemailwarning'] = 'Будь ласка, введіть коректну адресу електронної пошти'; +$messages['nonamewarning'] = 'Будь ласка, введіть ім`я'; +$messages['nopagesizewarning'] = 'Будь ласка, введіть розмір сторінки'; +$messages['norecipientwarning'] = 'Будь ласка, введіть ім`я отримувача'; +$messages['nosubjectwarning'] = 'Поле "Тема" не заповнено. Бажаєте заповнити його зараз?'; +$messages['nobodywarning'] = 'Відправити повідомлення без тексту?'; +$messages['notsentwarning'] = 'Повідомлення не було відправлено. Ви бажаєте відмовитись від відправки?'; +$messages['noldapserver'] = 'Будь ласка, виберіть LDAP сервер для пошука'; +$messages['nocontactsreturned'] = 'Контакти не знайдені'; +$messages['nosearchname'] = 'Будь ласка, введіть ім`я чи адресу E-Mail'; +$messages['searchsuccessful'] = 'Зайдено $nr повідомлень'; +$messages['searchnomatch'] = 'Повідомлень не знайдено'; +$messages['searching'] = 'Пошук...'; +$messages['checking'] = 'Перевірка...'; +$messages['nospellerrors'] = 'Орфографічних помилок не знайдено'; +$messages['folderdeleted'] = 'Тека видалена'; +$messages['deletedsuccessfully'] = 'Видалено успішно'; +$messages['converting'] = 'Видалення форматованого повідомлення...'; +$messages['messageopenerror'] = 'Неможливо завантажити повідомлення з серверу'; +$messages['fileuploaderror'] = 'Неможливо завантажити файл'; +$messages['filesizeerror'] = 'Завантажений файл більший за максимальний розмір у $size'; +$messages['copysuccess'] = 'Скопійовано $nr адрес'; +$messages['copyerror'] = 'Неможливо скопіювати адресу'; +$messages['sourceisreadonly'] = 'Дане джерело адрес лише для читання'; +$messages['errorsavingcontact'] = 'Неможливо зберегти адресу контакта'; + +?> \ No newline at end of file diff --git a/program/localization/zh_CN/labels.inc b/program/localization/zh_CN/labels.inc new file mode 100644 index 0000000..aa88a11 --- /dev/null +++ b/program/localization/zh_CN/labels.inc @@ -0,0 +1,181 @@ + | + | Xue zhong sheng | + +-----------------------------------------------------------------------+ + + @version $Id: labels.inc 672 2007-08-10 14:46:53Z thomasb $ + +*/ + +$labels = array(); +$labels['welcome'] = '欢迎使用 $product'; +$labels['username'] = '用户名'; +$labels['password'] = '密码'; +$labels['server'] = '服务器'; +$labels['login'] = '登录'; +$labels['logout'] = '注销'; +$labels['mail'] = '电子邮件'; +$labels['settings'] = '系统设定'; +$labels['addressbook'] = '通讯录'; +$labels['inbox'] = '收件箱'; +$labels['drafts'] = '草稿箱'; +$labels['sent'] = '已发送邮件'; +$labels['trash'] = '垃圾邮件'; +$labels['junk'] = '回收箱'; +$labels['subject'] = '主题'; +$labels['from'] = '发件人'; +$labels['to'] = '收件人'; +$labels['cc'] = '抄送'; +$labels['bcc'] = '暗送'; +$labels['replyto'] = '回复至'; +$labels['date'] = '日期'; +$labels['size'] = '大小'; +$labels['priority'] = '优先级'; +$labels['organization'] = '组织'; +$labels['reply-to'] = '回复至'; +$labels['mailboxlist'] = '邮件夹'; +$labels['messagesfromto'] = '从 $from 到 $to,共有 $count 封邮件'; +$labels['messagenrof'] = '第 $nr 封邮件,共有 $count 封'; +$labels['moveto'] = '转移至...'; +$labels['download'] = '下载'; +$labels['filename'] = '文件名'; +$labels['filesize'] = '文件大小'; +$labels['preferhtml'] = '使用HTML显示'; +$labels['htmlmessage'] = 'HTML邮件'; +$labels['prettydate'] = '短日期格式'; +$labels['addtoaddressbook'] = '添加到通讯录'; +$labels['sun'] = '日'; +$labels['mon'] = '一'; +$labels['tue'] = '二'; +$labels['wed'] = '三'; +$labels['thu'] = '四'; +$labels['fri'] = '五'; +$labels['sat'] = '六'; +$labels['sunday'] = '星期日'; +$labels['monday'] = '星期一'; +$labels['tuesday'] = '星期二'; +$labels['wednesday'] = '星期三'; +$labels['thursday'] = '星期四'; +$labels['friday'] = '星期五'; +$labels['saturday'] = '星期六'; +$labels['today'] = '今日'; +$labels['checkmail'] = '检查邮件'; +$labels['writenewmessage'] = '写新邮件'; +$labels['replytomessage'] = '回复'; +$labels['replytoallmessage'] = '全部回复'; +$labels['forwardmessage'] = '转发'; +$labels['deletemessage'] = '删除'; +$labels['printmessage'] = '打印'; +$labels['previousmessage'] = '上一封'; +$labels['previousmessages'] = '上一页'; +$labels['firstmessage'] = '第一封'; +$labels['firstmessages'] = '第一页'; +$labels['nextmessage'] = '下一封'; +$labels['nextmessages'] = '下一页'; +$labels['lastmessage'] = '最后一封'; +$labels['lastmessages'] = '最后一页'; +$labels['backtolist'] = '返回邮件列表'; +$labels['viewsource'] = '显示邮件原文'; +$labels['select'] = '选择'; +$labels['all'] = '全部'; +$labels['none'] = '无'; +$labels['unread'] = '未读'; +$labels['compact'] = '压缩'; +$labels['empty'] = '清空'; +$labels['purge'] = '清除'; +$labels['quota'] = '空间使用'; +$labels['unknown'] = '未知'; +$labels['unlimited'] = '无限制'; +$labels['quicksearch'] = '快速查找'; +$labels['resetsearch'] = '重新查找'; +$labels['compose'] = '写新邮件'; +$labels['sendmessage'] = '立即发送'; +$labels['savemessage'] = '暂存至草稿箱'; +$labels['addattachment'] = '添加附件'; +$labels['charset'] = '字符集'; +$labels['editortype'] = '编辑器类型'; +$labels['returnreceipt'] = '邮件回执'; +$labels['checkspelling'] = '拼写检查'; +$labels['resumeediting'] = '继续编辑'; +$labels['revertto'] = '恢复至'; +$labels['attachments'] = '附件'; +$labels['upload'] = '上传'; +$labels['close'] = '关闭'; +$labels['low'] = '低'; +$labels['lowest'] = '最低'; +$labels['normal'] = '普通'; +$labels['high'] = '高'; +$labels['highest'] = '最高'; +$labels['nosubject'] = '(无主题)'; +$labels['showimages'] = '显示图片'; +$labels['htmltoggle'] = 'HTML'; +$labels['plaintoggle'] = '纯文本'; +$labels['name'] = '显示名称'; +$labels['firstname'] = '名称'; +$labels['surname'] = '姓氏'; +$labels['email'] = '电子邮件地址'; +$labels['addcontact'] = '添加联系人'; +$labels['editcontact'] = '修改联系人'; +$labels['edit'] = '编辑'; +$labels['cancel'] = '取消'; +$labels['save'] = '储存'; +$labels['delete'] = '删除'; +$labels['newcontact'] = '建立联系人卡片'; +$labels['deletecontact'] = '删除选中的联系人'; +$labels['composeto'] = '写信给'; +$labels['contactsfromto'] = '从 $from 到 $to,共有 $count 个联系人'; +$labels['print'] = '打印'; +$labels['export'] = '导出'; +$labels['previouspage'] = '上页'; +$labels['firstpage'] = '首页'; +$labels['nextpage'] = '下页'; +$labels['lastpage'] = '末页'; +$labels['groups'] = '分组'; +$labels['personaladrbook'] = '个人住址'; +$labels['settingsfor'] = '设置'; +$labels['preferences'] = '偏好'; +$labels['userpreferences'] = '个人偏好'; +$labels['editpreferences'] = '修改个人偏好'; +$labels['identities'] = '身份'; +$labels['manageidentities'] = '管理此账号的身份'; +$labels['newidentity'] = '添加身份'; +$labels['newitem'] = '添加条目'; +$labels['edititem'] = '修改条目'; +$labels['setdefault'] = '默认值'; +$labels['language'] = '语言'; +$labels['timezone'] = '时区'; +$labels['pagesize'] = '第页邮件数量'; +$labels['signature'] = '签名'; +$labels['dstactive'] = '夏令时'; +$labels['htmleditor'] = '使用HTML编辑器'; +$labels['htmlsignature'] = '使用HTML签名'; +$labels['previewpane'] = '显示预览窗口'; +$labels['autosavedraft'] = '自动保存到草稿箱'; +$labels['everynminutes'] = '第 $n 分钟'; +$labels['never'] = '从不'; +$labels['folder'] = '邮件夹'; +$labels['folders'] = '邮件夹'; +$labels['foldername'] = '邮件夹名称'; +$labels['subscribed'] = '已订阅'; +$labels['create'] = '建立'; +$labels['createfolder'] = '建立新邮件夹'; +$labels['rename'] = '重命名'; +$labels['renamefolder'] = '重命名邮件夹'; +$labels['deletefolder'] = '删除邮件夹'; +$labels['managefolders'] = '管理邮件夹'; +$labels['sortby'] = '排序'; +$labels['sortasc'] = '递增排序'; +$labels['sortdesc'] = '递减排序'; + +?> \ No newline at end of file diff --git a/program/localization/zh_CN/messages.inc b/program/localization/zh_CN/messages.inc new file mode 100644 index 0000000..65c46e9 --- /dev/null +++ b/program/localization/zh_CN/messages.inc @@ -0,0 +1,78 @@ + | + | Xue zhong sheng | + +-----------------------------------------------------------------------+ + + @version $Id: messages.inc 672 2007-08-10 14:46:53Z thomasb $ + +*/ + +$messages = array(); +$messages['loginfailed'] = '登录失败'; +$messages['cookiesdisabled'] = '你的浏览器不接受 cookies'; +$messages['sessionerror'] = '会话已过期'; +$messages['imaperror'] = '连接到邮件服务器失败'; +$messages['nomessagesfound'] = '此邮件夹内无邮件'; +$messages['loggedout'] = '你已成功注销'; +$messages['mailboxempty'] = '邮件夹为空'; +$messages['loading'] = '加载中...'; +$messages['loadingdata'] = '数据加载中...'; +$messages['checkingmail'] = '检查新邮件...'; +$messages['sendingmessage'] = '正在发送邮件...'; +$messages['messagesent'] = '邮件发送成功'; +$messages['savingmessage'] = '正在储存邮件...'; +$messages['messagesaved'] = '邮件已暂存到草稿箱'; +$messages['successfullysaved'] = '保存成功'; +$messages['addedsuccessfully'] = '成功添加联系人'; +$messages['contactexists'] = '当前联系人的电子邮件地址已存在'; +$messages['blockedimages'] = '为保护隐私,此邮件中的远程图片未显示'; +$messages['encryptedmessage'] = '因此邮件已加密,无法正常显示'; +$messages['nocontactsfound'] = '未找到联系人'; +$messages['contactnotfound'] = '未找到指定的联系人'; +$messages['sendingfailed'] = '发送失败'; +$messages['errorsaving'] = '保存过程中发生错误'; +$messages['errormoving'] = '无法移动邮件'; +$messages['errordeleting'] = '无法删除邮件'; +$messages['deletecontactconfirm'] = '你是否确认要删除已选中的联系人?'; +$messages['deletemessagesconfirm'] = '你是否确认要删除已选中的邮件?'; +$messages['deletefolderconfirm'] = '你是否确认要删除已选中的邮件夹?'; +$messages['purgefolderconfirm'] = '你是否确认要删除当前邮件夹中的所有邮件?'; +$messages['formincomplete'] = '当前表单未填写完整,请完整填写'; +$messages['noemailwarning'] = '请输入一个有效的邮件地址'; +$messages['nonamewarning'] = '请输入名字'; +$messages['nopagesizewarning'] = '请输入每页显示的邮件数量'; +$messages['norecipientwarning'] = '至少需要一个收件人'; +$messages['nosubjectwarning'] = '主题为空。你要输入一个主题吗?'; +$messages['nobodywarning'] = '要发送无正文的邮件吗?'; +$messages['notsentwarning'] = '邮件未发送。你确定要离开并废弃当前邮件?'; +$messages['noldapserver'] = '请选择一个LDAP服务器进行查找'; +$messages['nocontactsreturned'] = '未找到联系人'; +$messages['nosearchname'] = '请输入一个联系人姓名或电子邮件地址'; +$messages['searchsuccessful'] = '共找到 $n 封邮件'; +$messages['searchnomatch'] = '未找到任何符合条件的邮件'; +$messages['searching'] = '查找中...'; +$messages['checking'] = '检查中...'; +$messages['nospellerrors'] = '未发现拼写错误'; +$messages['folderdeleted'] = '邮件夹已被成功删除'; +$messages['deletedsuccessfully'] = '删除成功'; +$messages['converting'] = '格式转换中...'; +$messages['messageopenerror'] = '无法从服务器上加载邮件内容'; +$messages['fileuploaderror'] = '文件上传失败'; +$messages['filesizeerror'] = '上传的文件超过了 $size 的大小限制'; +$messages['copysuccess'] = '成功复制 $nr 个地址'; +$messages['copyerror'] = '无法复制地址'; +$messages['sourceisreadonly'] = '源地址为只读'; +$messages['errorsavingcontact'] = '无法保存联系人的地址'; + +?> \ No newline at end of file diff --git a/program/localization/zh_TW/labels.inc b/program/localization/zh_TW/labels.inc old mode 100755 new mode 100644 index 62ecf82..9331789 --- a/program/localization/zh_TW/labels.inc +++ b/program/localization/zh_TW/labels.inc @@ -14,7 +14,7 @@ | Ting-Hung Chiu | +-----------------------------------------------------------------------+ - @version $Id: labels.inc 560 2007-05-17 15:01:26Z thomasb $ + @version $Id: labels.inc 584 2007-05-24 03:49:19Z estadtherr $ */ diff --git a/program/localization/zh_TW/messages.inc b/program/localization/zh_TW/messages.inc old mode 100755 new mode 100644 index d8bfbe5..6de331b --- a/program/localization/zh_TW/messages.inc +++ b/program/localization/zh_TW/messages.inc @@ -14,7 +14,7 @@ | Ting-Hung Chiu | +-----------------------------------------------------------------------+ - @version $Id: messages.inc 560 2007-05-17 15:01:26Z thomasb $ + @version $Id: messages.inc 584 2007-05-24 03:49:19Z estadtherr $ */ diff --git a/program/steps/addressbook/copy.inc b/program/steps/addressbook/copy.inc index e6d917e..af8b87c 100644 --- a/program/steps/addressbook/copy.inc +++ b/program/steps/addressbook/copy.inc @@ -36,8 +36,11 @@ if ($cid && preg_match('/^[a-z0-9\-_=]+(,[a-z0-9\-_=]+)*$/i', $cid) && strlen($t $OUTPUT->show_message('copyerror', 'error'); else $OUTPUT->show_message('copysuccess', 'notice', array('nr' => count($success))); + + // close connection to second address directory + $TARGET->close(); } - + // send response $OUTPUT->send(); diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc index 46c600f..56a9d63 100644 --- a/program/steps/addressbook/func.inc +++ b/program/steps/addressbook/func.inc @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: func.inc 578 2007-05-18 13:06:01Z thomasb $ + $Id: func.inc 582 2007-05-18 14:38:11Z thomasb $ */ diff --git a/program/steps/addressbook/mailto.inc b/program/steps/addressbook/mailto.inc index 27217e5..101b7c0 100644 --- a/program/steps/addressbook/mailto.inc +++ b/program/steps/addressbook/mailto.inc @@ -25,6 +25,8 @@ $mailto = array(); if ($cid && preg_match('/^[a-z0-9\-_=]+(,[a-z0-9\-_=]+)*$/i', $cid) && $CONTACTS->ready) { + $CONTACTS->set_page(1); + $CONTACTS->set_pagesize(100); $recipients = $CONTACTS->search($CONTACTS->primary_key, $cid); while (is_object($recipients) && ($rec = $recipients->iterate())) diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index 5a65d86..f80f6ce 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: save.inc 543 2007-04-28 18:07:12Z thomasb $ + $Id: save.inc 638 2007-07-03 17:25:05Z thomasb $ */ @@ -83,7 +83,7 @@ if (!empty($cid)) else { // check for existing contacts - $existing = $CONTACTS->search('email', $a_record['email'], false); + $existing = $CONTACTS->search('email', $a_record['email'], true, false); // show warning message if ($existing->count) diff --git a/program/steps/error.inc b/program/steps/error.inc index 54e1d39..a3060b4 100644 --- a/program/steps/error.inc +++ b/program/steps/error.inc @@ -5,7 +5,7 @@ | program/steps/error.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: error.inc 543 2007-04-28 18:07:12Z thomasb $ + $Id: error.inc 850 2007-10-03 00:13:32Z ihug $ */ @@ -124,4 +124,4 @@ $__page_content EOF; -?> \ No newline at end of file +?> diff --git a/program/steps/mail/addcontact.inc b/program/steps/mail/addcontact.inc index e59dcbe..775a36b 100644 --- a/program/steps/mail/addcontact.inc +++ b/program/steps/mail/addcontact.inc @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: addcontact.inc 543 2007-04-28 18:07:12Z thomasb $ + $Id: addcontact.inc 638 2007-07-03 17:25:05Z thomasb $ */ @@ -40,7 +40,7 @@ if (!empty($_POST['_address'])) $contact['name'] = ucfirst(preg_replace('/[\.\-]/', ' ', substr($contact['email'], 0, strpos($contact['email'], '@')))); // check for existing contacts - $existing = $CONTACTS->search('email', $contact['email'], false); + $existing = $CONTACTS->search('email', $contact['email'], true, false); if ($done = $existing->count) $OUTPUT->show_message('contactexists', 'warning'); else if ($done = $CONTACTS->insert($contact)) diff --git a/program/steps/mail/check_recent.inc b/program/steps/mail/check_recent.inc index 119d481..a2100f1 100644 --- a/program/steps/mail/check_recent.inc +++ b/program/steps/mail/check_recent.inc @@ -31,7 +31,7 @@ foreach ($a_mailboxes as $mbox_name) $unread_count = $IMAP->messagecount(NULL, 'UNSEEN', TRUE); $OUTPUT->set_env('messagecount', $count); - $OUTPUT->command('set_unread_count', $mbox_name, $unread_count); + $OUTPUT->command('set_unread_count', $mbox_name, $unread_count, true); $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text()); $OUTPUT->command('set_quota', $IMAP->get_quota()); diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 3464d55..be3ef20 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -5,7 +5,7 @@ | program/steps/mail/compose.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: compose.inc 579 2007-05-18 13:11:22Z thomasb $ + $Id: compose.inc 892 2007-10-20 21:47:11Z thomasb $ */ @@ -42,8 +42,6 @@ if ($_action=='remove-attachment' && preg_match('/^rcmfile([0-9]+)$/', $_POST['_ } } -// this version does not support HTML mails -$CONFIG['htmleditor'] = false; $MESSAGE_FORM = NULL; $MESSAGE = NULL; @@ -65,6 +63,9 @@ rcube_add_label('nosubject', 'norecipientwarning', 'nosubjectwarning', 'nobodywa // add config parameter to client script $OUTPUT->set_env('draft_autosave', !empty($CONFIG['drafts_mbox']) ? $CONFIG['draft_autosave'] : 0); +// no html editor if globally disabled +if (!$CONFIG['enable_htmleditor']) + $CONFIG['htmleditor'] = false; // get reference message and set compose mode if ($msg_uid = get_input_value('_reply_uid', RCUBE_INPUT_GET)) @@ -147,7 +148,7 @@ function rcmail_compose_headers($attrib) $header = 'bcc'; } - $allow_attrib = array('id', 'class', 'style', 'cols', 'rows', 'wrap', 'tabindex'); + $allow_attrib = array('id', 'class', 'style', 'cols', 'rows', 'tabindex'); $field_type = 'textarea'; break; @@ -409,6 +410,13 @@ function rcmail_compose_body($attrib) $body = rcmail_create_draft_body($body, $isHtml); } + if ($CONFIG['enable_htmleditor']) + { + $OUTPUT->include_script('tiny_mce/tiny_mce.js'); + $OUTPUT->include_script("editor.js"); + $OUTPUT->add_script('rcmail_editor_init("$__skin_path");'); + } + $out = $form_start ? "$form_start\n" : ''; $saveid = new hiddenfield(array('name' => '_draft_saveid', 'value' => $compose_mode==RCUBE_COMPOSE_DRAFT ? str_replace(array('<','>'), "", $MESSAGE['headers']->messageID) : '')); @@ -779,6 +787,9 @@ function rcmail_receipt_checkbox($attrib) function rcmail_editor_selector($attrib) { global $CONFIG, $MESSAGE, $compose_mode; + + if (!$CONFIG['enable_htmleditor']) + return ''; $choices = array( 'html' => 'htmltoggle', @@ -860,6 +871,7 @@ $OUTPUT->add_handlers(array( 'composeattachmentform' => 'rcmail_compose_attachment_form', 'composeattachment' => 'rcmail_compose_attachment_field', 'priorityselector' => 'rcmail_priority_selector', + 'editorselector' => 'rcmail_editor_selector', 'receiptcheckbox' => 'rcmail_receipt_checkbox', )); diff --git a/program/steps/mail/folders.inc b/program/steps/mail/folders.inc index c7d9ebe..13184e7 100644 --- a/program/steps/mail/folders.inc +++ b/program/steps/mail/folders.inc @@ -5,7 +5,7 @@ | program/steps/mail/folders.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: folders.inc 573 2007-05-18 11:29:25Z thomasb $ + $Id: folders.inc 850 2007-10-03 00:13:32Z ihug $ */ $mbox_name = $IMAP->get_mailbox_name(); @@ -54,4 +54,4 @@ else if ($_action=='purge' && ($mbox = get_input_value('_mbox', RCUBE_INPUT_POST } $OUTPUT->send($commands); -?> \ No newline at end of file +?> diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index c86da77..6d7c751 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -15,7 +15,7 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: func.inc 587 2007-05-28 19:21:36Z thomasb $ + $Id: func.inc 875 2007-10-17 06:50:28Z thomasb $ */ @@ -73,223 +73,12 @@ if ($CONFIG['junk_mbox']) $OUTPUT->set_env('junk_mailbox', $CONFIG['junk_mbox']); if (!$OUTPUT->ajax_call) - rcube_add_label('checkingmail'); + rcube_add_label('checkingmail', 'deletemessage', 'movemessagetotrash'); +// set page title +if (empty($_action) || $_action == 'list') + $OUTPUT->set_pagetitle(rcube_charset_convert($IMAP->get_mailbox_name(), 'UTF-7')); -// return the mailboxlist in HTML -function rcmail_mailbox_list($attrib) - { - global $IMAP, $CONFIG, $OUTPUT, $COMM_PATH; - static $s_added_script = FALSE; - static $a_mailboxes; - - // add some labels to client - rcube_add_label('purgefolderconfirm'); - rcube_add_label('deletemessagesconfirm'); - -// $mboxlist_start = rcube_timer(); - - $type = $attrib['type'] ? $attrib['type'] : 'ul'; - $add_attrib = $type=='select' ? array('style', 'class', 'id', 'name', 'onchange') : - array('style', 'class', 'id'); - - if ($type=='ul' && !$attrib['id']) - $attrib['id'] = 'rcmboxlist'; - - // allow the following attributes to be added to the
    tag - $attrib_str = create_attrib_string($attrib, $add_attrib); - - $out = '<' . $type . $attrib_str . ">\n"; - - // add no-selection option - if ($type=='select' && $attrib['noselection']) - $out .= sprintf(''."\n", - rcube_label($attrib['noselection'])); - - // get mailbox list - $mbox_name = $IMAP->get_mailbox_name(); - - // for these mailboxes we have localized labels - $special_mailboxes = array('inbox', 'sent', 'drafts', 'trash', 'junk'); - - - // build the folders tree - if (empty($a_mailboxes)) - { - // get mailbox list - $a_folders = $IMAP->list_mailboxes(); - $delimiter = $IMAP->get_hierarchy_delimiter(); - $a_mailboxes = array(); - -// rcube_print_time($mboxlist_start, 'list_mailboxes()'); - - foreach ($a_folders as $folder) - rcmail_build_folder_tree($a_mailboxes, $folder, $delimiter); - } - -// var_dump($a_mailboxes); - - if ($type=='select') - $out .= rcmail_render_folder_tree_select($a_mailboxes, $special_mailboxes, $mbox_name, $attrib['maxlength']); - else - $out .= rcmail_render_folder_tree_html($a_mailboxes, $special_mailboxes, $mbox_name, $attrib['maxlength']); - -// rcube_print_time($mboxlist_start, 'render_folder_tree()'); - - - if ($type=='ul') - $OUTPUT->add_gui_object('mailboxlist', $attrib['id']); - - return $out . ""; - } - - - - -// create a hierarchical array of the mailbox list -function rcmail_build_folder_tree(&$arrFolders, $folder, $delm='/', $path='') - { - $pos = strpos($folder, $delm); - if ($pos !== false) - { - $subFolders = substr($folder, $pos+1); - $currentFolder = substr($folder, 0, $pos); - } - else - { - $subFolders = false; - $currentFolder = $folder; - } - - $path .= $currentFolder; - - if (!isset($arrFolders[$currentFolder])) - { - $arrFolders[$currentFolder] = array('id' => $path, - 'name' => rcube_charset_convert($currentFolder, 'UTF-7'), - 'folders' => array()); - } - - if (!empty($subFolders)) - rcmail_build_folder_tree($arrFolders[$currentFolder]['folders'], $subFolders, $delm, $path.$delm); - } - - -// return html for a structured list
      for the mailbox tree -function rcmail_render_folder_tree_html(&$arrFolders, &$special, &$mbox_name, $maxlength, $nestLevel=0) - { - global $COMM_PATH, $IMAP, $CONFIG, $OUTPUT; - - $idx = 0; - $out = ''; - foreach ($arrFolders as $key => $folder) - { - $zebra_class = ($nestLevel*$idx)%2 ? 'even' : 'odd'; - $title = ''; - - $folder_lc = strtolower($folder['id']); - if (in_array($folder_lc, $special)) - $foldername = rcube_label($folder_lc); - else - { - $foldername = $folder['name']; - - // shorten the folder name to a given length - if ($maxlength && $maxlength>1) - { - $fname = abbrevate_string($foldername, $maxlength); - if ($fname != $foldername) - $title = ' title="'.Q($foldername).'"'; - $foldername = $fname; - } - } - - // add unread message count display - if ($unread_count = $IMAP->messagecount($folder['id'], 'RECENT', ($folder['id']==$mbox_name))) - $foldername .= sprintf(' (%d)', $unread_count); - - // make folder name safe for ids and class names - $folder_id = preg_replace('/[^A-Za-z0-9\-_]/', '', $folder['id']); - $class_name = preg_replace('/[^a-z0-9\-_]/', '', $folder_lc); - - // set special class for Sent, Drafts, Trash and Junk - if ($folder['id']==$CONFIG['sent_mbox']) - $class_name = 'sent'; - else if ($folder['id']==$CONFIG['drafts_mbox']) - $class_name = 'drafts'; - else if ($folder['id']==$CONFIG['trash_mbox']) - $class_name = 'trash'; - else if ($folder['id']==$CONFIG['junk_mbox']) - $class_name = 'junk'; - - $js_name = htmlspecialchars(JQ($folder['id'])); - $out .= sprintf('
    • %s', - $folder_id, - $class_name, - $zebra_class, - $unread_count ? ' unread' : '', - $folder['id']==$mbox_name ? ' selected' : '', - Q(rcmail_url('', array('_mbox' => $folder['id']))), - JS_OBJECT_NAME, - $js_name, - JS_OBJECT_NAME, - $js_name, - JS_OBJECT_NAME, - $js_name, - JS_OBJECT_NAME, - $js_name, - $title, - Q($foldername)); - - if (!empty($folder['folders'])) - $out .= "\n
        \n" . rcmail_render_folder_tree_html($folder['folders'], $special, $mbox_name, $maxlength, $nestLevel+1) . "
      \n"; - - $out .= "
    • \n"; - $idx++; - } - - return $out; - } - - -// return html for a flat list