From c176cbc49f45104a5a7bdf81b5604fca9f4c1af6 Mon Sep 17 00:00:00 2001 From: Javad Evazzadeh Kakroudi Date: Fri, 29 May 2015 22:38:11 +0430 Subject: [PATCH 1/2] add persian language support add persian language translation file --- src/lang/fa_IR.lang.php | 299 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 src/lang/fa_IR.lang.php diff --git a/src/lang/fa_IR.lang.php b/src/lang/fa_IR.lang.php new file mode 100644 index 00000000..5ceede2e --- /dev/null +++ b/src/lang/fa_IR.lang.php @@ -0,0 +1,299 @@ +. + * + * @package phpservermon + * @author Pepijn Over + * @copyright Copyright (c) 2008-2014 Pepijn Over + * @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3 + * @version Release: v3.1.1 + * @link http://www.phpservermonitor.org/ + **/ + +$sm_lang = array( + 'name' => 'فارسی - Persian', + 'locale' => array('fa_IR.UTF-8', 'fa_IR', 'far', 'per', 'fa', 'lang'=>'fa_IR', 'dir'=>'rtl'), + 'system' => array( + 'title' => 'مانیتورینگ سرور', + 'install' => 'نصب', + 'action' => 'عملیات', + 'save' => 'ذخیره', + 'edit' => 'ویرایش', + 'delete' => 'حذف', + 'date' => 'تاریخ', + 'message' => 'پیغام', + 'yes' => 'بله', + 'no' => 'خیر', + 'insert' => 'افزودن', + 'add_new' => 'افزودن', + 'update_available' => 'نسخه جدیدتر ({version}) در http://www.phpservermonitor.org موجود است.', + 'back_to_top' => 'برو به بالا', + 'go_back' => 'برگرد', + 'ok' => 'تایید', + 'cancel' => 'انصراف', + // date/time format according the strftime php function format parameter http://php.net/manual/function.strftime.php + 'short_day_format' => '%B %e', + 'long_day_format' => '%B %e, %Y', + 'yesterday_format' => 'دیروز در %k:%M', + 'other_day_format' => '%A در %k:%M', + 'never' => 'هرگز', + 'hours_ago' => '%d ساعت پیش', + 'an_hour_ago' => 'حدود یک ساعت پیش', + 'minutes_ago' => '%d دقیقه پیش', + 'a_minute_ago' => 'حدود یک دقیقه پیش', + 'seconds_ago' => '%d ثانیه پیش', + 'a_second_ago' => 'یک ثانیه پیش', + ), + 'menu' => array( + 'config' => 'تنظیم', + 'server' => 'سرور', + 'server_log' => 'لاگ', + 'server_status' => 'وضعیت', + 'server_update' => 'بروزرسانی', + 'user' => 'کاربران', + 'help' => 'پشتیبانی', + ), + 'users' => array( + 'user' => 'کاربر', + 'name' => 'نام', + 'user_name' => 'نام کاربری', + 'password' => 'کلمه عبور', + 'password_repeat' => 'تکرار کلمه عبور', + 'password_leave_blank' => 'برای عدم تغییر خالی بگذارید', + 'level' => 'سطح', + 'level_10' => 'مدیر', + 'level_20' => 'کاربر', + 'level_description' => 'مدیر دسترسی کامل: این گروه ها توانایی مدیریت سرورها، کاربران و ویرایش تنظیمات عمومی را داردند.
کاربران تنها توانایی دیدن و بروزرسانی سرورهای اختصاص داده شده به خودشان را داردند.', + 'mobile' => 'موبایل', + 'email' => 'ایمیل', + 'pushover' => 'Pushover', + 'pushover_description' => 'Pushover سرویسی است که دریافت اطلاعیه های بلادرنگ را ساده می کند. برای اطلاعات بیشتر سایت آن ها را ببینید.', + 'pushover_key' => 'کلید Pushover', + 'pushover_device' => 'دستگاه Pushover', + 'pushover_device_description' => 'نام دستگاه برای ارسال پیام. برای ارسال به همه دستگاه ها آن را خالی بگذارید', + 'delete_title' => 'حذف کاربر', + 'delete_message' => 'آیا برای حذف کاربر \'%1\' مطئن هستیند؟', + 'deleted' => 'کاربر حذف شد.', + 'updated' => 'کاربر بروزرسانی شد.', + 'inserted' => 'کاربر اضافه شد.', + 'profile' => 'پروفایل', + 'profile_updated' => 'پروفایل شما بروزرسانی شد.', + 'error_user_name_bad_length' => 'نام های کاربری باید بین 2 و 64 کاراکتر باشد.', + 'error_user_name_invalid' => 'نام کاربری باید فقط شامل حروف (a-z, A-Z)، اعداد (0-9) و علامت (_) باشد.', + 'error_user_name_exists' => 'نام کاربری وارد شده در حال حاضر در پایگاه داده موجود است.', + 'error_user_email_bad_length' => 'آدرس های ایمیل باید بین 5 و 255 کاراکتر باشد.', + 'error_user_email_invalid' => 'آدرس ایمیل نامعتبر است.', + 'error_user_level_invalid' => 'سطح کاربرد داده شده نامعتبر است.', + 'error_user_no_match' => 'کاربر داده شده در پایگاه داده موجود نیست.', + 'error_user_password_invalid' => 'کلمه عبور وارد شده نامعتبر است.', + 'error_user_password_no_match' => 'کلمه های عبور وارد شده یکسان نیستند.', + ), + 'log' => array( + 'title' => 'ورودی های لاگ', + 'type' => 'نوع', + 'status' => 'وضعیت', + 'email' => 'ایمیل', + 'sms' => 'پیامک', + 'pushover' => 'Pushover', + 'no_logs' => 'لاگی وجود ندارد.', + ), + 'servers' => array( + 'server' => 'سرور', + 'status' => 'وضعیت', + 'label' => 'برچسب', + 'domain' => 'دامنه/آی پی', + 'timeout' => 'تایم اوت', + 'timeout_description' => 'زمان مورد نیاز برای سرور جهت پاسخ دهی به ثانیه', + 'port' => 'پورت', + 'type' => 'نوع', + 'type_website' => 'وب سایت', + 'type_service' => 'سرویس', + 'pattern' => 'جستجوری رشته/الگو', + 'pattern_description' => 'اگر این الگو در سایت یافته نشد، سرور آفلاین نمایش داده خواهد شد. عبارات منظم مجاز هستند.', + 'last_check' => 'آخرین بررسی', + 'last_online' => 'آخرین زمان آنلاین بودن', + 'monitoring' => 'مانیتورینگ', + 'no_monitoring' => 'بدون مانیتورینگ', + 'email' => 'ایمیل', + 'send_email' => 'ارسال ایمیل', + 'sms' => 'پیامک', + 'send_sms' => 'ارسال پیامک', + 'pushover' => 'Pushover', + 'users' => 'کاربران', + 'delete_title' => 'حذف سرور', + 'delete_message' => 'مطمئنید که میخواهید سرور را پاک کنید \'%1\'؟', + 'deleted' => 'سرور پاک شد.', + 'updated' => 'سرور به روز رسانی شد.', + 'inserted' => 'سرور اضافه شد.', + 'latency' => 'زمان بررسی', + 'latency_max' => 'زمان بررسی (حداکثر)', + 'latency_min' => 'زمان بررسی (حداقل)', + 'latency_avg' => 'زمان بررسی (میانگین)', + 'uptime' => 'آپ تایم', + 'year' => 'سال', + 'month' => 'ماه', + 'week' => 'هفته', + 'day' => 'روز', + 'hour' => 'ساعت', + 'warning_threshold' => 'آستانه هشدار', + 'warning_threshold_description' => 'تعداد چک های شکست خورده قبل از اینکه به عنوان آفلاین نشانه گذاری شود.', + 'chart_last_week' => 'هفته گذشته', + 'chart_history' => 'تاریخچه', + // Charts date format according jqPlot date format http://www.jqplot.com/docs/files/plugins/jqplot-dateAxisRenderer-js.html + 'chart_day_format' => '%Y-%m-%d', + 'chart_long_date_format' => '%Y-%m-%d %H:%M:%S', + 'chart_short_date_format' => '%m/%d %H:%M', + 'chart_short_time_format' => '%H:%M', + 'warning_notifications_disabled_sms' => 'اطلاعیه های پیامک غیرفعال هستند.', + 'warning_notifications_disabled_email' => 'اطلاعیه های ایمیل غیرفعال هستند.', + 'warning_notifications_disabled_pushover' => 'اطلاعیه های پوش آور غیرفعال هستند.', + 'error_server_no_match' => 'سرور پیدا نشد.', + 'error_server_label_bad_length' => 'برچسب باید بین 1 و 255 کاراکتر باشد.', + 'error_server_ip_bad_length' => 'دامنمه / آی پی باید بین 1 و 255 کاراکتر باشد.', + 'error_server_ip_bad_service' => 'آدرس آی پی معتبر نیست.', + 'error_server_ip_bad_website' => 'آدرس وب سایت معتبر نیست.', + 'error_server_type_invalid' => 'نوع سرور انتخاب شده نامعتبر است.', + 'error_server_warning_threshold_invalid' => 'آستانه هشدار باید یک عدد صحیح بزرگتر از 0 باشد.', + ), + 'config' => array( + 'general' => 'عمومی', + 'language' => 'زبان', + 'show_update' => 'به روز رسانی بررسی شود؟', + 'email_status' => 'اجازه ارسال ایمیل', + 'email_from_email' => 'ایمیل ارسال کننده', + 'email_from_name' => 'نام ارسال کننده', + 'email_smtp' => 'فعالسازی SMTP', + 'email_smtp_host' => 'هاست SMTP', + 'email_smtp_port' => 'پورت SMTP', + 'email_smtp_security' => 'امنیت SMTP', + 'email_smtp_security_none' => 'هیچ کدام', + 'email_smtp_username' => 'نام کاربری SMTP', + 'email_smtp_password' => 'کلمه عبور SMTP', + 'email_smtp_noauth' => 'برای عدم احراز هویت اینجا را خالی بگذارید.', + 'sms_status' => 'اجازه ارسال پیام های متنی', + 'sms_gateway' => 'گیت وی برای ارسال پیام ها', + 'sms_gateway_mosms' => 'Mosms', + 'sms_gateway_mollie' => 'Mollie', + 'sms_gateway_spryng' => 'Spryng', + 'sms_gateway_inetworx' => 'Inetworx', + 'sms_gateway_clickatell' => 'Clickatell', + 'sms_gateway_textmarketer' => 'Textmarketer', + 'sms_gateway_smsglobal' => 'SMSGlobal', + 'sms_gateway_smsit' => 'Smsit', + 'sms_gateway_username' => 'نام کاربری Gateway', + 'sms_gateway_password' => 'کلمه عبور Gateway', + 'sms_from' => 'شماره تلفن ارسال کننده', + 'pushover_status' => 'اجازه ارسال پیام های Pushover', + 'pushover_description' => 'Pushover سرویسی است که دریافت اطلاعیه های بلادرنگ را ساده می کند. برای اطلاعات بیشتر سایت آن ها را ببینید.', + 'pushover_clone_app' => 'برای ایجاد برنامه پوش آور خود اینجا را کلیک کنید.', + 'pushover_api_token' => 'رمز API برنامه پوش آور', + 'pushover_api_token_description' => 'قبل از استفاده از پوش آور، شما باید در سایت آن ها یک برنامه ثبت نام کنید و رمز API برنامه پوش آور را اینجا وارد کنید.', + 'alert_type' => 'زمان دلخواه خورد برای دریافت اطلاعیه ها را انتخاب کنید.', + 'alert_type_description' => 'تغییر وضعیت: '. + 'زمانی که وضعیت سرور تغییر کرد شما یک اطلاعیته دریافت خواهید کرد. از آنلاین -> آفلاین یا آفلاین -> آنلاین.
'. + '
آفلاین: '. + 'زمانی که یک سرور *فقط برای اولین بار* آفلاین شد شما یک اطلاعیه دریافت خواهید کرد. به عنوان مثال،'. + 'cronjob شما هر 15 دقیقه است و سرور شما در ساعت 1 صبح دان می شود و تا ساعت 6 صبح دان می ماند.'. + 'شما 1 اطلاعیه در ساعت 1 صبح دریافت خواهید کرد. همین و بس!'. + '
همیشه: '. + 'هر بار که اسکریپت اجرا شود و یک سایت دان شود شما یک اطلاعیه دریافت خواهید کرد، حتی اگر سایت چند ساعت آفلاین باشد.', + 'alert_type_status' => 'تغییر وضعیت', + 'alert_type_offline' => 'آفلاین', + 'alert_type_always' => 'همیشه', + 'log_status' => 'وضعیت لاگ', + 'log_status_description' => 'اگر لاگ در وضعیت درست باشد مانیتور هر وقت که تنظیمات اطلاعیه ها وارد شود رویدادها را لاگ می کند.', + 'log_email' => 'لاگ کردن ایمیل هایی که ارسال شده توسط اسکریپت', + 'log_sms' => 'لاگ کردن پیامک های ارسال شده توسط اسکریپت', + 'log_pushover' => 'لاگ پیام های پوش آور ارسال شده توسط سرور', + 'updated' => 'پیکربندی به روز رسانی شد.', + 'tab_email' => 'ایمیل', + 'tab_sms' => 'پیامک', + 'tab_pushover' => 'پوش آور', + 'settings_email' => 'تنظیمات ایمیل', + 'settings_sms' => 'تنظیمات پیامک', + 'settings_pushover' => 'تنظیمات پوش آور', + 'settings_notification' => 'تنظیمات اطلاعیه ها', + 'settings_log' => 'تنظیمات لاگ', + 'auto_refresh' => 'رفرش خودکار', + 'auto_refresh_servers' => + 'رفرش خودکار صفحه سرورها.
'. + ''. + 'زمان به ثنیه, اگر 0 باشد صفحه رفرش نخواهد شد.'. + '', + 'seconds' => 'ثانیه', + 'test' => 'تست', + 'test_email' => 'یک ایمیل به آدرس تعیین شده در پروفایل شما ارسال خواهد شد.', + 'test_sms' => 'یک پیامک به شماره تلفن تعیین شده در پروفایل شما ارسال خواهد شد.', + 'test_pushover' => 'یک پیام پوش آور به کلید کاربر/دستگاه تعیین شده در پروفایل شما ارسال خواهد شد.', + 'send' => 'ارسال', + 'test_subject' => 'تست', + 'test_message' => 'پیام تستی', + 'email_sent' => 'ایمیل ارسال شد', + 'email_error' => 'خطا در ارسال ایمیل', + 'sms_sent' => 'پیامک ارسال شد', + 'sms_error' => 'خطا در ارسال پیامک', + 'sms_error_nomobile' => 'قادر به ارسال پیامک تستی نیستیم: شماره تلفن معتبر در پروفایل شما یافته نشد.', + 'pushover_sent' => 'اطلاعیه پوش آور ارسال شد.', + 'pushover_error' => 'یک خطا در هنگام ارسال اطلاعیه پوش آور رخ داده است: %s', + 'pushover_error_noapp' => 'قادر به ارسال اطلاعیه تستی نیستیم: رمز API برنامه پوش آور در پیکربندی عمومی یافته نشد.', + 'pushover_error_nokey' => 'قادر به ارسال اطلاعیه تستی نیستیم: کلید پوش آور در پروفایل شما یافته نشد.', + 'log_retention_period' => 'مدت زمان ذخیره سازی لاگ ها', + 'log_retention_period_description' => 'تعداد روزها برای نگهداری لاگ اطلاعیه ها و آرشیو های آپ تایم های سرور. برای غیرفعال کردن پاکسازی لاگ 0 وارد کنید.', + 'log_retention_days' => 'روزها', + ), + // for newlines in the email messages use
+ 'notifications' => array( + 'off_sms' => 'Server \'%LABEL%\' دان است: آی پی=%IP%, پورت=%PORT%. خطا=%ERROR%', + 'off_email_subject' => 'مهم: سرور \'%LABEL%\' دان است', + 'off_email_body' => "اتصال به سرور زیر با شکست مواجه شد:

سرور: %LABEL%
آی پی: %IP%
پورت: %PORT%
خطا: %ERROR%
تاریخ: %DATE%", + 'off_pushover_title' => 'سرور \'%LABEL%\' دان است', + 'off_pushover_message' => "اتصال به سرور زیر با شکست مواجه شد:

سرور: %LABEL%
آی پی: %IP%
پورت: %PORT%
خطا: %ERROR%
تاریخ: %DATE%", + 'on_sms' => 'سرور \'%LABEL%\' در حال اجراست: آی پی=%IP%, پورت=%PORT%', + 'on_email_subject' => 'مهم: سرور \'%LABEL%\' در حال اجراست', + 'on_email_body' => "سرور '%LABEL%' دوباره در حال اجراست:

سرور: %LABEL%
آی پی: %IP%
پورت: %PORT%
تاریخ: %DATE%", + 'on_pushover_title' => 'سرور \'%LABEL%\' در حال اجراست', + 'on_pushover_message' => 'سرور \'%LABEL%\' دوباره در حال اجراست:

سرور: %LABEL%
آی پی: %IP%
پورت: %PORT%
تاریخ: %DATE%', + ), + 'login' => array( + 'welcome_usermenu' => 'خوش آمدید, %user_name%', + 'title_sign_in' => 'لطفا وارد شوید', + 'title_forgot' => 'کلمه عبور خود را فراموش کرده اید؟', + 'title_reset' => 'کلمه عبور خود را بازنشانی کنید', + 'submit' => 'ثبت کردن', + 'remember_me' => 'من را به خاطر بسپار', + 'login' => 'ورود', + 'logout' => 'خروج', + 'username' => 'نام کاربری', + 'password' => 'کلمه عبور', + 'password_repeat' => 'تکرار کلمه عبور', + 'password_forgot' => 'کلمه عبور خود را فراموش کرده اید؟', + 'password_reset' => 'بازنشانی کلمه عبور', + 'password_reset_email_subject' => 'کلمه عبور خود را برای مانیتور سرور PHP بازنشانی کنید', + 'password_reset_email_body' => 'لطفا برای بازنشانی کلمه عبور خود از این لینک استفاده کنید. لطفا توجه کنید تنها 1 ساعت وقت دارید.

%link%', + 'error_user_incorrect' => 'نام کاربری ارائه شده یافته نشد.', + 'error_login_incorrect' => 'اطلاعات نادرست است.', + 'error_login_passwords_nomatch' => 'کلمه های عبور یکسان نیستند.', + 'error_reset_invalid_link' => 'لینک بازنشانی شما نامعتبر است.', + 'success_password_forgot' => 'یک ایمیل حاوی اطلاعات مورد نیاز برای بازنشانی کلمه عبور برای شما ارسال شد.', + 'success_password_reset' => 'کلمه عبور شما با موفقیت بازنشانی شد. لطفا وارد شوید.', + ), + 'error' => array( + '401_unauthorized' => 'غیر مجاز', + '401_unauthorized_description' => 'شما اجازه مشاهده این صفحه را ندارید.', + ), +); From 52803e2d707b9efba8683d08d5548e97f100a8ae Mon Sep 17 00:00:00 2001 From: Pepijn Over Date: Sun, 31 Jan 2016 17:48:59 +0100 Subject: [PATCH 2/2] adding language subtags to template and support for right-to-left locales --- CHANGELOG.rst | 1 + docs/credits.rst | 4 ++++ docs/developers.rst | 4 ++++ src/lang/bg_BG.lang.php | 2 ++ src/lang/cs_CZ.lang.php | 2 ++ src/lang/da_DK.lang.php | 2 ++ src/lang/de_DE.lang.php | 2 ++ src/lang/en_US.lang.php | 2 ++ src/lang/es_ES.lang.php | 2 ++ src/lang/fa_IR.lang.php | 10 ++++++---- src/lang/fi_FI.lang.php | 2 ++ src/lang/fr_FR.lang.php | 2 ++ src/lang/it_IT.lang.php | 2 ++ src/lang/ko_KR.lang.php | 2 ++ src/lang/nl_NL.lang.php | 2 ++ src/lang/pl_PL.lang.php | 2 ++ src/lang/pt_BR.lang.php | 2 ++ src/lang/ru_RU.lang.php | 2 ++ src/lang/sv_SE.lang.php | 4 +++- src/lang/tr_TR.lang.php | 2 ++ src/lang/zh_CN.lang.php | 2 ++ src/psm/Router.php | 5 ++++- src/templates/default/main/body.tpl.html | 2 +- 23 files changed, 55 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b8afdd71..87d49ee6 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,7 @@ not yet released * #161: Added Swedish translation. * #210: Added Finnish translation. +* #201: Added Persian translation. * #195: Updated Spanish translation. * #169: Increased server ip char limit to 500. * #164: Added support for FreeVoipDeal SMS gateway . diff --git a/docs/credits.rst b/docs/credits.rst index b4237595..2de91531 100644 --- a/docs/credits.rst +++ b/docs/credits.rst @@ -111,6 +111,10 @@ The following people have contributed to the translation of PHP Server Monitor: * Ik-Jun +* Persian + + * Javad Evazzadeh Kakroudi - https://github.com/evazzadeh + * Polish * Arkadiusz Klenczar - https://github.com/aklenczar diff --git a/docs/developers.rst b/docs/developers.rst index 5a942d77..96796dc8 100644 --- a/docs/developers.rst +++ b/docs/developers.rst @@ -25,6 +25,10 @@ Each language file should contain a 'locale' key which can be used for formattin For more information, see http://www.php.net/manual/en/function.setlocale.php +For display purposes, the language file should also provide the text direction (ltr / rtl) and language subtag. +Unfortunately they do not match 1:1 with the locales used for the server. +Valid language subtags can be found on http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry. + Adding a new language --------------------- diff --git a/src/lang/bg_BG.lang.php b/src/lang/bg_BG.lang.php index e847efb9..fc3d0c29 100644 --- a/src/lang/bg_BG.lang.php +++ b/src/lang/bg_BG.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Български - Bulgarian', 'locale' => array('bg_BG.UTF-8', 'bg_BG', 'bulgarian'), + 'locale_tag' => 'bg', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Мониторинг', 'install' => 'Инсталация', diff --git a/src/lang/cs_CZ.lang.php b/src/lang/cs_CZ.lang.php index 96ff7434..24d3bcde 100644 --- a/src/lang/cs_CZ.lang.php +++ b/src/lang/cs_CZ.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Česky - Czech', 'locale' => array('cs_CZ.UTF-8', 'cs_CZ', 'czech', 'czech'), + 'locale_tag' => 'cs', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Instalace', diff --git a/src/lang/da_DK.lang.php b/src/lang/da_DK.lang.php index 941397f5..ace8999b 100644 --- a/src/lang/da_DK.lang.php +++ b/src/lang/da_DK.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Dansk - Danish', 'locale' => array('da_DK.UTF-8', 'da_DK', 'danish', 'danish-dk'), + 'locale_tag' => 'da', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Installere', diff --git a/src/lang/de_DE.lang.php b/src/lang/de_DE.lang.php index dabf5216..240e4d98 100644 --- a/src/lang/de_DE.lang.php +++ b/src/lang/de_DE.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Deutsch - German', 'locale' => array('de_DE.UTF-8', 'de_DE', 'german'), + 'locale_tag' => 'de', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Installation', diff --git a/src/lang/en_US.lang.php b/src/lang/en_US.lang.php index 2c244966..ab050657 100644 --- a/src/lang/en_US.lang.php +++ b/src/lang/en_US.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'English', 'locale' => array('en_US.UTF-8', 'en_US', 'american', 'english-us'), + 'locale_tag' => 'en', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Install', diff --git a/src/lang/es_ES.lang.php b/src/lang/es_ES.lang.php index fbd9bba3..fe12feb9 100644 --- a/src/lang/es_ES.lang.php +++ b/src/lang/es_ES.lang.php @@ -30,6 +30,8 @@ $sm_lang = array( 'name' => 'Español - Spanish', 'locale' => array('es_ES.UTF-8', 'es_ES', 'spanish', 'esp'), + 'locale_tag' => 'es', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Instalar', diff --git a/src/lang/fa_IR.lang.php b/src/lang/fa_IR.lang.php index 5ceede2e..858db6a9 100644 --- a/src/lang/fa_IR.lang.php +++ b/src/lang/fa_IR.lang.php @@ -18,16 +18,18 @@ * along with PHP Server Monitor. If not, see . * * @package phpservermon - * @author Pepijn Over - * @copyright Copyright (c) 2008-2014 Pepijn Over + * @author Javad Evazzadeh Kakroudi + * @copyright Copyright (c) 2008-2015 Pepijn Over * @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3 - * @version Release: v3.1.1 + * @version Release: @package_version@ * @link http://www.phpservermonitor.org/ **/ $sm_lang = array( 'name' => 'فارسی - Persian', - 'locale' => array('fa_IR.UTF-8', 'fa_IR', 'far', 'per', 'fa', 'lang'=>'fa_IR', 'dir'=>'rtl'), + 'locale' => array('fa_IR.UTF-8', 'fa_IR', 'far', 'per', 'fa'), + 'locale_tag' => 'fa', + 'locale_dir' => 'rtl', 'system' => array( 'title' => 'مانیتورینگ سرور', 'install' => 'نصب', diff --git a/src/lang/fi_FI.lang.php b/src/lang/fi_FI.lang.php index d0665d0d..aa3e73c9 100644 --- a/src/lang/fi_FI.lang.php +++ b/src/lang/fi_FI.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Suomi - Finnish', 'locale' => array('fi_FI.UTF-8', 'fi_FI', 'finnish', 'finnish-fi'), + 'locale_tag' => 'fi', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Asenna', diff --git a/src/lang/fr_FR.lang.php b/src/lang/fr_FR.lang.php index 604b2f23..cf67b7a5 100644 --- a/src/lang/fr_FR.lang.php +++ b/src/lang/fr_FR.lang.php @@ -29,6 +29,8 @@ $sm_lang = array( 'name' => 'Français - French', 'locale' => array('fr_FR.UTF-8', 'fr_FR', 'french'), + 'locale_tag' => 'fr', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Installer', diff --git a/src/lang/it_IT.lang.php b/src/lang/it_IT.lang.php index 3e08505a..a926ba61 100644 --- a/src/lang/it_IT.lang.php +++ b/src/lang/it_IT.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Italiano - Italian', 'locale' => array('it_IT.UTF-8', 'it_IT', 'italian', 'ita'), + 'locale_tag' => 'it', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Install', diff --git a/src/lang/ko_KR.lang.php b/src/lang/ko_KR.lang.php index 74a373b2..ec8f5d4a 100644 --- a/src/lang/ko_KR.lang.php +++ b/src/lang/ko_KR.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => '한국 - Korean', 'locale' => array('ko_KR.UTF-8', 'ko_KR', 'korean'), + 'locale_tag' => 'ko', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Install', diff --git a/src/lang/nl_NL.lang.php b/src/lang/nl_NL.lang.php index a9dfde58..8c9bbf09 100644 --- a/src/lang/nl_NL.lang.php +++ b/src/lang/nl_NL.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Nederlands - Dutch', 'locale' => array('nl_NL.UTF-8', 'nl_NL', 'dutch'), + 'locale_tag' => 'nl', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Installeren', diff --git a/src/lang/pl_PL.lang.php b/src/lang/pl_PL.lang.php index 7109b3e2..3d08eae9 100644 --- a/src/lang/pl_PL.lang.php +++ b/src/lang/pl_PL.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Polski - Polish', 'locale' => array('pl_PL.UTF-8', 'pl_PL', 'polski', 'polski'), + 'locale_tag' => 'pl', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Instalacja', diff --git a/src/lang/pt_BR.lang.php b/src/lang/pt_BR.lang.php index 3989ac78..495e7e16 100644 --- a/src/lang/pt_BR.lang.php +++ b/src/lang/pt_BR.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Português - Brazilian Portuguese', 'locale' => array('pt_BR.UTF-8', 'pt_BR', 'portuguese-brazilian'), + 'locale_tag' => 'BR', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Instalar', diff --git a/src/lang/ru_RU.lang.php b/src/lang/ru_RU.lang.php index e2bf256c..1a5f86d7 100644 --- a/src/lang/ru_RU.lang.php +++ b/src/lang/ru_RU.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Russian - Русский', 'locale' => array('ru_RU.UTF-8', 'ru_RU', 'russian', 'russian'), + 'locale_tag' => 'ru', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Сервер Мониторинг', 'install' => 'Установка', diff --git a/src/lang/sv_SE.lang.php b/src/lang/sv_SE.lang.php index de2f3d0a..6b190956 100644 --- a/src/lang/sv_SE.lang.php +++ b/src/lang/sv_SE.lang.php @@ -21,13 +21,15 @@ * @author andlil * @copyright Copyright (c) 2008-2015 Pepijn Over * @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3 - * @version Release: v3.1.1 + * @version Release: @package_version@ * @link http://www.phpservermonitor.org/ **/ $sm_lang = array( 'name' => 'Svenska - Swedish', 'locale' => array('sv_SE.UTF-8', 'sv_SE', 'svenska', 'svenska-SE'), + 'locale_tag' => 'sv', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Installera', diff --git a/src/lang/tr_TR.lang.php b/src/lang/tr_TR.lang.php index c8bee7ce..4df35c13 100644 --- a/src/lang/tr_TR.lang.php +++ b/src/lang/tr_TR.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => 'Türkçe - Turkish', 'locale' => array('tr_TR.UTF-8', 'tr_TR', 'turkish', 'turkish-tr'), + 'locale_tag' => 'tr', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => 'Yükle', diff --git a/src/lang/zh_CN.lang.php b/src/lang/zh_CN.lang.php index 6099046c..5083abb6 100644 --- a/src/lang/zh_CN.lang.php +++ b/src/lang/zh_CN.lang.php @@ -28,6 +28,8 @@ $sm_lang = array( 'name' => '中文 - Chinese', 'locale' => array('zh_CN.UTF-8', 'zh_CN', 'chinese', 'chinese-cn'), + 'locale_tag' => 'zh', + 'locale_dir' => 'ltr', 'system' => array( 'title' => 'Server Monitor', 'install' => '安装', diff --git a/src/psm/Router.php b/src/psm/Router.php index e0983f23..13e76c05 100644 --- a/src/psm/Router.php +++ b/src/psm/Router.php @@ -52,7 +52,6 @@ class Router { public function __construct() { $this->container = $this->buildServiceContainer(); - $this->buildTwigEnvironment(); $mods = $this->container->getParameter('modules'); @@ -79,6 +78,7 @@ class Router { } else { $controller = $mod; } + $this->buildTwigEnvironment(); $controller = $this->getController($mod, $controller); $action = null; @@ -228,6 +228,9 @@ class Router { } ) ); + $twig->addGlobal('direction_current', psm_get_lang('locale_dir')); + $twig->addGlobal('language_current', psm_get_lang('locale_tag')); + return $twig; } } \ No newline at end of file diff --git a/src/templates/default/main/body.tpl.html b/src/templates/default/main/body.tpl.html index 84a40d2d..00402818 100644 --- a/src/templates/default/main/body.tpl.html +++ b/src/templates/default/main/body.tpl.html @@ -1,6 +1,6 @@ {% block header %} - + {{ title }}