diff --git a/adminer/include/lang.inc.php b/adminer/include/lang.inc.php
index 052abb6c..492d4424 100644
--- a/adminer/include/lang.inc.php
+++ b/adminer/include/lang.inc.php
@@ -11,7 +11,7 @@ $langs = array(
'de' => 'Deutsch', // Klemens Häckel - http://clickdimension.wordpress.com
'es' => 'Español', // Klemens Häckel - http://clickdimension.wordpress.com
'et' => 'Eesti', // Priit Kallas
- 'fa' => 'فارسی', // mojtaba barghbani - Iran - mbarghbani@gmail.com
+ 'fa' => 'فارسی', // mojtaba barghbani - Iran - mbarghbani@gmail.com, Nima Amini - http://nimlog.com
'fr' => 'Français', // Francis Gagné, Aurélien Royer
'hu' => 'Magyar', // Borsos Szilárd (Borsosfi) - http://www.borsosfi.hu, info@borsosfi.hu
'id' => 'Bahasa Indonesia', // Ivan Lanin - http://ivan.lanin.org
diff --git a/adminer/lang/fa.inc.php b/adminer/lang/fa.inc.php
index 0f889fb1..7a05a599 100644
--- a/adminer/lang/fa.inc.php
+++ b/adminer/lang/fa.inc.php
@@ -1,91 +1,95 @@
'سيستم',
+ 'System' => 'سیستم',
'Server' => 'سرور',
- 'Username' => 'نام كاربري',
- 'Password' => 'كلمه عبور',
- 'Permanent login' => '',
+ 'Username' => 'نام کاربری',
+ 'Password' => 'کلمه عبور',
+ 'Permanent login' => 'ورود دائم',
'Login' => 'ورود',
'Logout' => 'خروج',
'Logged as: %s' => 'ورود به عنوان: %s',
- 'Logout successful.' => 'با موفقيت خارج شديد',
- 'Invalid credentials.' => 'اعتبار سنجي نامعتبر',
+ 'Logout successful.' => 'با موفقیت خارج شدید.',
+ 'Invalid credentials.' => 'اعتبار سنجی نامعتبر.',
+ 'Too many unsuccessful logins, try again in %d minute(s).' => array('ورودهای ناموفق بیش از حد، %d دقیقه دیگر تلاش نمایید.', 'ورودهای ناموفق بیش از حد، %d دقیقه دیگر تلاش نمایید.'),
+ 'Master password expired. Implement %s method to make it permanent.' => 'رمز اصلی باطل شده است. روش %s را پیاده سازی کرده تا آن را دائمی سازید.',
'Language' => 'زبان',
- 'Invalid CSRF token. Send the form again.' => 'نامعتبر است. دوباره سعی کنید Token CSRF',
+ 'Invalid CSRF token. Send the form again.' => 'CSRF token نامعتبر است. دوباره سعی کنید.',
'No extension' => 'پسوند نامعتبر',
- 'None of the supported PHP extensions (%s) are available.' => ' پسوند پی اچ پی در دسترس نیست (%s) تعداد',
- 'Session support must be enabled.' => 'پشتيباني از نشست بايستي فعال گردد',
- 'Session expired, please login again.' => 'نشست پايان يافته، لطفا دوباره وارد شويد',
+ 'None of the supported PHP extensions (%s) are available.' => 'هیچ کدام از افزونه های PHP پشتیبانی شده (%s) موجود نمی باشند.',
+ 'Session support must be enabled.' => 'پشتیبانی از نشست بایستی فعال گردد.',
+ 'Session expired, please login again.' => 'نشست پایان یافته، لطفا دوباره وارد شوید.',
'%s version: %s through PHP extension %s' => 'نسخه %s : %s توسعه پی اچ پی %s',
- 'Refresh' => 'بازيابي',
+ 'Refresh' => 'بازیابی',
// text direction - 'ltr' or 'rtl'
'ltr' => 'rtl',
- 'Privileges' => 'امتيازات',
- 'Create user' => 'ایجاد كاربر',
- 'User has been dropped.' => 'كاربر حذف شد',
- 'User has been altered.' => 'كاربر ويرايش گرديد',
- 'User has been created.' => 'كاربر ايجاد شد',
- 'Hashed' => 'به هم ريخته',
+ 'Privileges' => 'امتیازات',
+ 'Create user' => 'ایجاد کاربر',
+ 'User has been dropped.' => 'کاربر حذف شد.',
+ 'User has been altered.' => 'کاربر ویرایش گردید.',
+ 'User has been created.' => 'کاربر ایجاد شد.',
+ 'Hashed' => 'به هم ریخته',
'Column' => 'ستون',
- 'Routine' => 'روتين',
+ 'Routine' => 'روتین',
'Grant' => 'اعطا',
- 'Revoke' => 'لغو كردن',
+ 'Revoke' => 'لغو کردن',
- 'Process list' => 'ليست فرآيند',
- '%d process(es) have been killed.' => '%d فرآيند متوقف شد',
- 'Kill' => 'حذف فرآيند',
+ 'Process list' => 'لیست فرآیند',
+ '%d process(es) have been killed.' => '%d فرآیند متوقف شد.',
+ 'Kill' => 'حذف فرآیند',
- 'Variables' => 'متغيرها',
- 'Status' => 'وضعيت',
+ 'Variables' => 'متغیرها',
+ 'Status' => 'وضعیت',
- 'SQL command' => 'دستور اس كيو ال',
- '%d query(s) executed OK.' => '%d كوئري اجرا شد',
- 'Query executed OK, %d row(s) affected.' => 'كوئري اجرا شد. %d سطر تغيير كرد.',
- 'No commands to execute.' => 'دستوري براي اجرا وجود ندارد',
- 'Error in query' => 'خطا در كوئري',
+ 'SQL command' => 'دستور SQL',
+ '%d query(s) executed OK.' => '%d کوئری اجرا شد.',
+ 'Query executed OK, %d row(s) affected.' => 'کوئری اجرا شد. %d سطر تغیر کرد.',
+ 'No commands to execute.' => 'دستوری برای اجرا وجود ندارد.',
+ 'Error in query' => 'خطا در کوئری',
'Execute' => 'اجرا',
- 'Stop on error' => 'توقف در خطا',
- 'Show only errors' => 'فقط نمايش خطاها',
+ 'Stop on error' => 'توقف بر روی خطا',
+ 'Show only errors' => 'فقط نمایش خطاها',
// sprintf() format for time of the command
'%.3f s' => '%.3f s',
- 'History' => 'تاريخ',
- 'Clear' => 'پاك كردن',
- 'Edit all' => 'ويرايش همه',
+ 'History' => 'تاریخ',
+ 'Clear' => 'پاک کردن',
+ 'Edit all' => 'ویرایش همه',
- 'File upload' => 'بارگذاري فايل',
+ 'File upload' => 'بارگذاری فایل',
'From server' => 'از سرور',
- 'Webserver file %s' => '%s فايل وب سرور',
- 'Run file' => 'نمايش فايل',
- 'File does not exist.' => 'فايل وجود ندارد',
- 'File uploads are disabled.' => 'بارگذاري غير فعال است',
- 'Unable to upload a file.' => 'قادر به بارگذاري فايل نيستيد',
- 'Maximum allowed file size is %sB.' => ' %sB حداكثر اندازه فايل',
- 'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'حجم داده ارسالي برزگ است. حجم داده كاهش دهيد و يا مقدار %s را در پيكربندي افزايش دهيد.',
-
+ 'Webserver file %s' => '%s فایل وب سرور',
+ 'Run file' => 'اجرای فایل',
+ 'File does not exist.' => 'فایل وجود ندارد.',
+ 'File uploads are disabled.' => 'بارگذاری غیر فعال است.',
+ 'Unable to upload a file.' => 'قادر به بارگذاری فایل نیستید.',
+ 'Maximum allowed file size is %sB.' => ' %sB حداکثر اندازه فایل.',
+ 'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'حجم داده ارسالی برزگ است. حجم داده کاهش دهید و یا مقدار %s را در پیکربندی افزایش دهید.',
+ 'You can upload a big SQL file via FTP and import it from server.' => 'شما می توانید فایل SQL حجیم را از طریق FTP بارگزاری و از روی سرور وارد نمایید.',
+ 'You are offline.' => 'شما آفلاین می باشید.',
+
'Export' => 'استخراج',
- 'Output' => 'خروجي',
- 'open' => 'بازكردن',
- 'save' => 'ذخيره',
+ 'Output' => 'خروجی',
+ 'open' => 'بازکردن',
+ 'save' => 'ذخیره',
'Format' => 'حذف',
'Data' => 'داده',
- 'Database' => 'پايگاه داده',
- 'database' => 'پايگاه داده',
+ 'Database' => 'پایگاه داده',
+ 'database' => 'پایگاه داده',
'Use' => 'استفاده',
- 'Select database' => 'انتخاب پايگاه داده',
- 'Invalid database.' => 'پايگاه داده نامعتبر',
- 'Create new database' => 'ایجاد پايگاه داده جديد',
- 'Database has been dropped.' => 'پايگاه داده حذف شد',
- 'Databases have been dropped.' => 'پايگاه دادها حذف شدند',
- 'Database has been created.' => 'پايگاه داده ايجاد شد',
- 'Database has been renamed.' => 'نام پايگاه داده تغيير كرد',
- 'Database has been altered.' => 'پايگاه داده ويرايش شد',
- 'Alter database' => 'ويرايش پايگاه داده',
- 'Create database' => 'ایجاد پايگاه داده',
- 'Database schema' => 'ساختار پايگاه داده',
+ 'Select database' => 'انتخاب پایگاه داده',
+ 'Invalid database.' => 'پایگاه داده نامعتبر.',
+ 'Create new database' => 'ایجاد پایگاه داده جدید',
+ 'Database has been dropped.' => 'پایگاه داده حذف شد.',
+ 'Databases have been dropped.' => 'پایگاه های داده حذف شدند.',
+ 'Database has been created.' => 'پایگاه داده ایجاد شد.',
+ 'Database has been renamed.' => 'نام پایگاه داده تغیر کرد.',
+ 'Database has been altered.' => 'پایگاه داده ویرایش شد.',
+ 'Alter database' => 'ویرایش پایگاه داده',
+ 'Create database' => 'ایجاد پایگاه داده',
+ 'Database schema' => 'ساختار پایگاه داده',
// link to current database schema layout
'Permanent link' => 'ارتباط دائم',
@@ -102,33 +106,34 @@ $translations = array(
'%d in total' => ' به طور کل %d ',
'Analyze' => 'تحلیل',
'Optimize' => 'بهینه سازی',
+ 'Vacuum' => 'پاک سازی',
'Check' => 'بررسی',
'Repair' => 'تعمیر',
'Truncate' => 'کوتاه کردن',
- 'Tables have been truncated.' => 'جدولها بریده شدند',
+ 'Tables have been truncated.' => 'جدولها بریده شدند.',
'Move to other database' => 'انتقال به یک پایگاه داده دیگر',
'Move' => 'انتقال',
- 'Tables have been moved.' => 'جدولها انتقال داده شدند',
+ 'Tables have been moved.' => 'جدولها انتقال داده شدند.',
'Copy' => 'کپی کردن',
- 'Tables have been copied.' => 'جدولها کپی شدند',
+ 'Tables have been copied.' => 'جدولها کپی شدند.',
'Routines' => 'روالها',
- 'Routine has been called, %d row(s) affected.' => array('روال فراخوانی شد %d سطر متاثر شد', 'روال فراخوانی شد %d سطر متاثر شد'),
+ 'Routine has been called, %d row(s) affected.' => array('روال فراخوانی شد %d سطر متاثر شد.', 'روال فراخوانی شد %d سطر متاثر شد.'),
'Call' => 'صدا زدن',
'Parameter name' => 'نام پارامتر',
'Create procedure' => 'ایجاد زیربرنامه',
'Create function' => 'ایجاد تابع',
- 'Routine has been dropped.' => 'روال حذف شد',
- 'Routine has been altered.' => 'روال ویرایش شد',
- 'Routine has been created.' => 'روال ایجاد شد',
+ 'Routine has been dropped.' => 'روال حذف شد.',
+ 'Routine has been altered.' => 'روال ویرایش شد.',
+ 'Routine has been created.' => 'روال ایجاد شد.',
'Alter function' => 'ویرایش تابع',
'Alter procedure' => 'ویرایش زیربرنامه',
'Return type' => 'برگرداندن نوع',
'Events' => 'رویدادها',
- 'Event has been dropped.' => 'رویداد حذف شد',
- 'Event has been altered.' => 'رویداد ویرایش شد',
- 'Event has been created.' => 'رویداد ایجاد شد',
+ 'Event has been dropped.' => 'رویداد حذف شد.',
+ 'Event has been altered.' => 'رویداد ویرایش شد.',
+ 'Event has been created.' => 'رویداد ایجاد شد.',
'Alter event' => 'ویرایش رویداد',
'Create event' => 'ایجاد رویداد',
'At given time' => 'زمان معین',
@@ -144,10 +149,11 @@ $translations = array(
'No tables.' => 'جدولی وجود ندارد',
'Alter table' => 'ویرایش جدول',
'Create table' => 'ایجاد جدول',
- 'Table has been dropped.' => 'جدول حذف شد',
- 'Tables have been dropped.' => 'جدولها حذف شدند',
- 'Table has been altered.' => 'جدول ویرایش شد',
- 'Table has been created.' => 'جدول ایجاد شد',
+ 'Table has been dropped.' => 'جدول حذف شد.',
+ 'Tables have been dropped.' => 'جدولها حذف شدند.',
+ 'Tables have been optimized.' => 'جدولها بهینه شدند.',
+ 'Table has been altered.' => 'جدول ویرایش شد.',
+ 'Table has been created.' => 'جدول ایجاد شد.',
'Table name' => 'نام جدول',
'Show structure' => 'نمایش ساختار',
'engine' => 'موتور',
@@ -158,13 +164,16 @@ $translations = array(
'Auto Increment' => 'افزایش خودکار',
'Options' => 'اختیارات',
'Comment' => 'توضیح',
+ 'Default value' => 'مقدار پیش فرض',
'Default values' => 'مقادیر پیش فرض',
'Drop' => 'حذف',
'Are you sure?' => 'مطمئن هستید؟',
+ 'Size' => 'حجم',
+ 'Compute' => 'محاسبه',
'Move up' => 'انتقال به بالا',
'Move down' => 'انتقال به پایین',
'Remove' => 'حذف',
- 'Maximum number of allowed fields exceeded. Please increase %s.' => 'حداکثر مجاز فیلدهای مجاز اشباع شد. لطفا %s را کاهش دهید',
+ 'Maximum number of allowed fields exceeded. Please increase %s.' => 'حداکثر تعداد فیلدهای مجاز اشباع شد. لطفا %s را افزایش دهید.',
'Partition by' => 'بخشبندی توسط',
'Partitions' => 'بخشبندیها',
@@ -172,14 +181,16 @@ $translations = array(
'Values' => 'مقادیر',
'View' => 'نمایش',
- 'View has been dropped.' => 'نمایش حذف شد',
- 'View has been altered.' => 'نمایش ویرایش شد',
- 'View has been created.' => 'نمایش ایجاد شد',
+ 'Materialized View' => 'نمایه مادی',
+ 'View has been dropped.' => 'نمایش حذف شد.',
+ 'View has been altered.' => 'نمایش ویرایش شد.',
+ 'View has been created.' => 'نمایش ایجاد شد.',
'Alter view' => 'حذف نمایش',
'Create view' => 'ایجاد نمایش',
+ 'Create materialized view' => 'ایجاد نمایه مادی',
'Indexes' => 'ایندکسها',
- 'Indexes have been altered.' => 'ایندکسها ویرایش شد',
+ 'Indexes have been altered.' => 'ایندکسها ویرایش شدند.',
'Alter indexes' => 'ویرایش ایندکسها',
'Add next' => 'افرودن بعدی',
'Index Type' => 'نوع ایندکس',
@@ -187,9 +198,9 @@ $translations = array(
'Foreign keys' => 'کلیدهای خارجی',
'Foreign key' => 'کلید خارجی',
- 'Foreign key has been dropped.' => 'کلید خارجی حذف شد',
- 'Foreign key has been altered.' => 'کلید خارجی ویرایش شد',
- 'Foreign key has been created.' => 'کلید خارجی ایجاد شد',
+ 'Foreign key has been dropped.' => 'کلید خارجی حذف شد.',
+ 'Foreign key has been altered.' => 'کلید خارجی ویرایش شد.',
+ 'Foreign key has been created.' => 'کلید خارجی ایجاد شد.',
'Target table' => 'جدول هدف',
'Change' => 'تغییر',
'Source' => 'منبع',
@@ -199,13 +210,13 @@ $translations = array(
'Add foreign key' => 'افزودن کلید خارجی',
'ON DELETE' => 'ON DELETE',
'ON UPDATE' => 'ON UPDATE',
- 'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'داده مبدا و مقصد ستونها بایستی شبیه هم باشند',
+ 'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'داده مبدا و مقصد ستونها بایستی شبیه هم باشند.',
'Triggers' => 'تریگرها',
'Add trigger' => 'افزودن تریگر',
- 'Trigger has been dropped.' => 'تریگر حذف شد',
- 'Trigger has been altered.' => 'تریگر ویرایش شد',
- 'Trigger has been created.' => 'تریگر ایجاد شد',
+ 'Trigger has been dropped.' => 'تریگر حذف شد.',
+ 'Trigger has been altered.' => 'تریگر ویرایش شد.',
+ 'Trigger has been created.' => 'تریگر ایجاد شد.',
'Alter trigger' => 'ویرایش تریگر',
'Create trigger' => 'ایجاد تریگر',
'Time' => 'زمان',
@@ -223,27 +234,35 @@ $translations = array(
'Sort' => 'مرتب کردن',
'descending' => 'نزولی',
'Limit' => 'محدودیت',
+ 'Limit rows' => 'محدودیت سطرها',
'Text length' => 'طول متن',
'Action' => 'عملیات',
+ 'Full table scan' => 'اسکن کامل جدول',
'Unable to select the table' => 'قادر به انتخاب جدول نیستید',
'No rows.' => 'سطری وجود ندارد',
+ '%d / ' => '%d / ',
'%d row(s)' => array('%d سطر', '%d سطر'),
'Page' => 'صفحه',
'last' => 'آخری',
+ 'Load more data' => 'بارگزاری اطلاعات بیشتر',
+ 'Loading' => 'در حال بارگزاری',
'whole result' => 'همه نتایج',
'%d byte(s)' => array('%d بایت', '%d بایت'),
'Import' => 'وارد کردن',
- '%d row(s) have been imported.' => array('%d سطر وارد شد', '%d سطر وارد شد'),
+ '%d row(s) have been imported.' => array('%d سطر وارد شد.', '%d سطر وارد شد.'),
+ 'File must be in UTF-8 encoding.' => 'فرمت فایل باید UTF-8 باشید.',
// in-place editing in select
- 'Use edit link to modify this value.' => 'از لینک ویرایش برای ویرایش این مقدار استفاده کنید',
+ 'Modify' => 'ویرایش',
+ 'Ctrl+click on a value to modify it.' => 'برای ویرایش بر روی مقدار ctrl+click کنید.',
+ 'Use edit link to modify this value.' => 'از لینک ویرایش برای ویرایش این مقدار استفاده کنید.',
// %s can contain auto-increment value
- 'Item%s has been inserted.' => '%s آیتم درج شد',
- 'Item has been deleted.' => 'آیتم حذف شد',
- 'Item has been updated.' => 'آیتم بروز رسانی شد',
- '%d item(s) have been affected.' => array('%d آیتم متاثر شد', '%d آیتم متاثر شد'),
+ 'Item%s has been inserted.' => '%s آیتم درج شد.',
+ 'Item has been deleted.' => 'آیتم حذف شد.',
+ 'Item has been updated.' => 'آیتم بروز رسانی شد.',
+ '%d item(s) have been affected.' => array('%d آیتم متاثر شد.', '%d آیتم متاثر شد.'),
'New item' => 'آیتم جدید',
'original' => 'اصلی',
// label for value '' in enum data type
@@ -254,15 +273,17 @@ $translations = array(
'Save' => 'ذخیره',
'Save and continue edit' => 'ذخیره و ادامه ویرایش',
'Save and insert next' => 'ذخیره و درج بعدی',
+ 'Selected' => 'انتخاب شده',
'Clone' => 'تکثیر',
'Delete' => 'حذف',
+ 'You have no privileges to update this table.' => 'شما اختیار ویرایش این جدول را ندارید.',
'E-mail' => 'پست الکترونیک',
'From' => 'فرستنده',
'Subject' => 'موضوع',
'Attachments' => 'پیوست ها',
'Send' => 'ارسال',
- '%d e-mail(s) have been sent.' => array('%d ایمیل ارسال شد', '%d ایمیل ارسال شد'),
+ '%d e-mail(s) have been sent.' => array('%d ایمیل ارسال شد.', '%d ایمیل ارسال شد.'),
// data type descriptions
'Numbers' => 'اعداد',
@@ -282,32 +303,34 @@ $translations = array(
// hint for time format - use language equivalents for hour, minute and second shortcuts
'HH:MM:SS' => 'HH:MM:SS',
'now' => 'اکنون',
-
+ 'yes' => 'بله',
+ 'no' => 'خیر',
+
// general SQLite error in create, drop or rename database
- 'File exists.' => 'فایل موجود است',
- 'Please use one of the extensions %s.' => 'لطفا یکی از پسوندهای زیر را انتخاب نمائید %s ',
+ 'File exists.' => 'فایل موجود است.',
+ 'Please use one of the extensions %s.' => 'لطفا یکی از پسوندها را انتخاب نمائید %s.',
// PostgreSQL and MS SQL schema support
'Alter schema' => 'ویرایش ساختار',
'Create schema' => 'ایجاد ساختار',
- 'Schema has been dropped.' => 'ساختار حذف شد',
- 'Schema has been created.' => 'ساختار ایجاد شد',
- 'Schema has been altered.' => 'ساختار ویرایش شد',
+ 'Schema has been dropped.' => 'ساختار حذف شد.',
+ 'Schema has been created.' => 'ساختار ایجاد شد.',
+ 'Schema has been altered.' => 'ساختار ویرایش شد.',
'Schema' => 'ساختار',
- 'Invalid schema.' => 'ساختار نامعتبر',
+ 'Invalid schema.' => 'ساختار نامعتبر.',
// PostgreSQL sequences support
'Sequences' => 'صف ها',
'Create sequence' => 'ایجاد صف',
- 'Sequence has been dropped.' => 'صف حذف شد',
- 'Sequence has been created.' => 'صف ایجاد شد',
- 'Sequence has been altered.' => 'صف ویرایش شد',
+ 'Sequence has been dropped.' => 'صف حذف شد.',
+ 'Sequence has been created.' => 'صف ایجاد شد.',
+ 'Sequence has been altered.' => 'صف ویرایش شد.',
'Alter sequence' => 'ویرایش صف',
// PostgreSQL user types support
'User types' => 'انواع کاربر',
'Create type' => 'ایجاد نوع',
- 'Type has been dropped.' => 'نوع حذف شد',
- 'Type has been created.' => 'نوع ایجاد شد',
+ 'Type has been dropped.' => 'نوع حذف شد.',
+ 'Type has been created.' => 'نوع ایجاد شد.',
'Alter type' => 'ویرایش نوع',
);