/**
 * Arabic translation
 * @author tawfek daghistani <tawfekov@gmail.com>
 * @version 2010-09-21
 */
(function($) {
elRTE.prototype.i18Messages.ar = {
	'_translator'    : 'Tawfek Daghistani &lt;tawfekov@gmail.com&gt;',
	'_translation'   : 'Arabic translation',
	'Editor' : 'التصميم',
	'Source' : 'المصدر',
	// Panel Name
	'Copy/Pase'      : 'نسخ/لصق',
	'Undo/Redo'      : 'تراجع/تكرار',
	'Text styles'    : 'تنسيق النص',
	'Colors'         : 'الألوان',
	'Alignment'      : 'المحاذاة',
	'Indent/Outdent' : 'مسافة بادئة / مسافة خاتمة',
	'Text format'    : 'التنسيق',
	'Lists'          : 'قوائم',
	'Misc elements'  : 'عناصر متنوعة',
	'Links'          : 'رابط تشعبي',
	'Images'         : 'صورة',
	'Media'          : 'عنصر صوت أو فيديو',
	'Tables'         : 'جدول',
	'File manager (elFinder)' : 'مستعرض الملفات',
	// button names
	'Save'                    : 'حفظ',
	'Copy'                    : 'نسخ',
	'Cut'                     : 'قص',
	'Paste'                   : 'لصق',
	'Paste only text'         : 'لصق النصوص فقط',
	'Paste formatted text'    : 'لصق النصوص المنسقة',
	'Clean format'            : 'إزالة التنسيقات', 
	'Undo last action'        : 'التراجع عن أخر فعل',
	'Redo previous action'    : 'تكرار أخر فعل ',
	'Bold'                    : 'عريض',
	'Italic'                  : 'مائل',
	'Underline'               : 'تحته خط',
	'Strikethrough'           : 'يتوسطه خط',
	'Superscript'             : 'يعلوه خط',
	'Subscript'               : 'تحته خط',
	'Align left'              : 'محاذاة إلى اليسار',
	'Ailgn right'             : 'محاذاة إلى اليمين ',
	'Align center'            : 'محاذاة إلى المنتصف',
	'Align full'              : 'محاذاة بعرض الصفحة',
	'Font color'              : 'لون الخط',
	'Background color'        : 'لون الخلفية',
	'Indent'                  : 'مسافة بادئة', 
	'Outdent'                 : 'مسافة خاتمة', 
	'Format'                  : 'النتسيق',
	'Font size'               : 'قياس الخط',
	'Font'                    : 'الخط',
	'Ordered list'            : 'تعداد رقمي',
	'Unordered list'          : 'تعداد',
	'Horizontal rule'         : 'خط افقي',
	'Blockquote'              : 'اقتباس',
	'Block element (DIV)'     : 'اقتباس (DIV)',
	'Link'                    : 'رابط',
	'Delete link'             : 'حذف الرابط',
	'Bookmark'                : 'حفظ كعلامة',
	'Image'                   : 'صورة',
	'Table'                   : 'جدول',
	'Delete table'            : 'حذف الجدول',
	'Insert row before'       : 'إدراج الصف قبل ',
	'Insert row after'        : 'إدراج الصف بعده',
	'Delete row'              : 'حذف الصف',
	'Insert column before'    : 'إدراج عمود قبل ',
	'Insert column after'     : 'إدراج عمود بعد ',
	'Delete column'           : 'حذف العمود',
	'Merge table cells'       : 'دمج الخلايا',
	'Split table cell'        : 'تقسيم الخلية',
	'Toggle display document structure' : 'إخفاء/ إظهار ',
	'Table cell properties'   : 'خصائص الخلايا',
	'Table properties'        : 'خصائص الجدول',
	'Toggle full screen mode' : 'عرض بكامل الشاشة',
	'Open file manager'       : 'افتح مستعرض الملفات',
	'Non breakable space'     : '',
	'Stop element floating'   : '',
	// dialogs
	'Warning' : 'تنبيه',
	'Properies' : 'خصائص',
	'Popup' : 'نافذة منبثقة',
	'Advanced' : 'متقدم',
	'Events' : 'الأحداث',
	'Width' : 'العرض',
	'Height' : 'الارتفاع',
	'Left'   : 'اليسار',
	'Center' : 'المنتصف',
	'Right'  : 'اليمين',
	'Border' : 'حدود',
	'Background' : 'الخلفية',
	'Css class' : 'Css نمط',
	'Css style' : 'Css تنسيق',
	'No' : 'لا',
	'Title' : 'العنوان',
	'Script direction' : 'اتجاه النص',
	'Language' : 'اللغة',
	'Charset' : 'الترميز',
	'Not set' : 'غير محدد',
	'Left to right' : 'من اليسار إلى اليمين',
	'Right to left' : 'من اليمين إلى اليسار',
	'In this window' : '(_self)',
	'In new window (_blank)' : '(_blank)',
	'In new parent window (_parent)' : '(_parent)',
	'In top frame (_top)' : '(_top)',
	'URL' : '',
	'Open in' : '',
	// copy
	'This operation is disabled in your browser on security reason. Use shortcut instead.' : 'هذه العملية معطلة لأسباب أمنية , استخدم الاختصار بدلاً عنها',
	// format 
	'Heading 1' : 'عنوان رئيسي 1',
	'Heading 2' : 'عنوان رئيسي 2',
	'Heading 3' : 'عنوان رئيسي 3',
	'Heading 4' : 'عنوان رئيسي 4',
	'Heading 5' : 'عنوان رئيسي 5',
	'Heading 6' : 'عنوان رئيسي 6',	
	'Paragraph' : 'مقطع نصي ',
	'Address' : 'العنوان',
	'Preformatted' : '',
	// font size
	'Small (8pt)'   : '',
	'Small (10px)'  : '',
	'Small (12pt)'  : '',
	'Normal (14pt)' : '',
	'Large (18pt)'  : '',
	'Large (24pt)'  : '',
	'Large (36pt)'  : '',				
	// bookmark
	'Bookmark name' : 'اسم العلامة',
	// link
	'Link URL' : 'عنوان الارتباط التشعبي',
	'Target' : 'الهدف',
	'Open link in popup window' : 'افتح في نافذة صغيرة',
	'URL' : 'ارتباط',
	'Window name' : 'اسم النافذة',
	'Window size' : 'حجم النافذة',
	'Window position' : 'الموضع',
	'Location bar' : 'العنوان',
	'Menu bar' : 'شريط القوائم',
	'Toolbar' : 'قائمة الأدوات',
	'Scrollbars' : 'شريط التمرير',
	'Status bar' : 'شريط المعلومات',
	'Resizable' : 'متغير الحجم',
	'Depedent' : '',
	'Add return false' : 'إضافة (return false)',
	'Target MIME type' : 'MIME type',
	'Relationship page to target (rel)' : '',
	'Relationship target to page (rev)' : '',
	'Tab index' : '',
	'Access key' : 'زر اختصار',
	// image
	'Size' : 'الحجم',
	'Preview' : 'معاينة',
	'Margins' : '',
	'Alt text' : 'نص بديل',
	'Image URL' : 'رابط صورة',
	// table
	'Spacing'       : 'مسافات (spacing)',
	'Padding'       : 'الهامش (padding)',
	'Rows'          : 'الصفوف',
	'Columns'       : 'الأعمدة',
	'Groups'        : 'المجموعات',
	'Cells'         : 'خلايا',
	'Caption'       : 'العنوان',
	'Inner borders' : 'حدود داخلية'
}
})(jQuery);
