From b4ea7fc92469605e24d497745b07a03f1be9c256 Mon Sep 17 00:00:00 2001 From: Max Pozdeev Date: Tue, 15 Dec 2009 17:49:32 +0300 Subject: [PATCH] + localized settings --- langs/ru.php | 36 +++++++++++++++-- src/init.php | 8 ++++ src/lang/class.default.php | 29 ++++++++++++++ src/lang/en.php | 36 +++++++++++++++-- src/settings.php | 80 +++++++++++++++++++++++--------------- 5 files changed, 152 insertions(+), 37 deletions(-) diff --git a/langs/ru.php b/langs/ru.php index 6072539..89b0298 100644 --- a/langs/ru.php +++ b/langs/ru.php @@ -3,10 +3,11 @@ /* myTinyTodo language pack Language: Russian + Language Original: Русский Author: Max Pozdeev - Url: http://www.mytinytodo.net - AppVersion: v1.3.1 - Date: 2009-11-26 + Author Url: http://www.mytinytodo.net + AppVersion: v1.3.2 + Date: 2009-12-15 */ class Lang extends DefaultLang @@ -85,6 +86,35 @@ class Lang extends DefaultLang 'rss_feed' => "RSS-лента", 'feed_title' => "%s", 'feed_description' => "%s - новые задачи", + + /* Settings */ + 'set_header' => "Настройки", + 'set_title' => "Заголовок страницы", + 'set_title_descr' => "(если поле не заполнено, будет использован заголовок по-умолчанию)", + 'set_language' => "Язык (Language)", + 'set_protection' => "Парольная защита", + 'set_enabled' => "Включено", + 'set_disabled' => "Выключено", + 'set_newpass' => "Новый пароль", + 'set_newpass_descr' => "(не заполняйте поле если не хотите менять текущий пароль)", + 'set_smartsyntax' => "Smart syntax", + 'set_smartsyntax_descr' => "(возможность использовать синтаксис: /приоритет/ задача /теги/)", + 'set_autotz' => "Автоопределение часового пояса", + 'set_autotz_descr' => "(определение часового пояса пользователя с помощью javascript)", + 'set_autotag' => "Autotagging", + 'set_autotag_descr' => "(автодобавление текущего тега из фильтра в новую задачу)", + 'set_sessions' => "Хранилище сессий", + 'set_sessions_php' => "PHP", + 'set_sessions_files' => "Файлы", + 'set_firstdayofweek' => "Первый день недели", + 'set_duedate' => "Формат даты для календаря", + 'set_date' => "Формат даты", + 'set_shortdate' => "Формат короткой даты", + 'set_clock' => "Формат часов", + 'set_12hour' => "12-часовой", + 'set_24hour' => "24-часовой", + 'set_submit' => "Сохранить изменения", + 'set_cancel' => "Отмена", ); } diff --git a/src/init.php b/src/init.php index fdc48a8..c60397b 100644 --- a/src/init.php +++ b/src/init.php @@ -55,6 +55,14 @@ function timestampToDatetime($timestamp, $tz) { global $lang; $format = Config::get('dateformat') .' '. (Config::get('clock') == 12 ? 'g:i A' : 'H:i'); + return formatTime($timestamp, $format, $tz); +} + +function formatTime($format, $timestamp=0, $tz=null) +{ + global $lang; + if($timestamp == 0) $timestamp = time(); + if(is_null($tz)) $tz = round(date('Z')/60); $newformat = strtr($format, array('F'=>'%1', 'M'=>'%2')); $adate = explode(',', gmdate('n,'.$newformat, $timestamp + $tz*60), 2); $s = $adate[1]; diff --git a/src/lang/class.default.php b/src/lang/class.default.php index 283b903..390310d 100644 --- a/src/lang/class.default.php +++ b/src/lang/class.default.php @@ -81,6 +81,35 @@ class DefaultLang 'rss_feed' => "RSS Feed", 'feed_title' => "%s", 'feed_description' => "New tasks in %s", + + /* Settings */ + 'set_header' => "Settings", + 'set_title' => "Title", + 'set_title_descr' => "(specify if you want to change default title)", + 'set_language' => "Language", + 'set_protection' => "Password protection", + 'set_enabled' => "Enabled", + 'set_disabled' => "Disabled", + 'set_newpass' => "New password", + 'set_newpass_descr' => "(leave blank if won't change current password)", + 'set_smartsyntax' => "Smart syntax", + 'set_smartsyntax_descr' => "(/priority/ task /tags/)", + 'set_autotz' => "Automatic timezone", + 'set_autotz_descr' => "(determines timezone offset of user environment with javascript)", + 'set_autotag' => "Autotagging", + 'set_autotag_descr' => "(automatically adds tag of current tag filter to newly created task)", + 'set_sessions' => "Session handling mechanism", + 'set_sessions_php' => "PHP", + 'set_sessions_files' => "Files", + 'set_firstdayofweek' => "First day of week", + 'set_duedate' => "Duedate calendar format", + 'set_date' => "Date format", + 'set_shortdate' => "Short Date format", + 'set_clock' => "Clock format", + 'set_12hour' => "12-hour", + 'set_24hour' => "24-hour", + 'set_submit' => "Submit changes", + 'set_cancel' => "Cancel", ); var $js = array(); diff --git a/src/lang/en.php b/src/lang/en.php index fb99648..f0d4118 100644 --- a/src/lang/en.php +++ b/src/lang/en.php @@ -3,10 +3,11 @@ /* myTinyTodo language pack Language: English + Language Original: English Author: Max Pozdeev - Url: http://www.mytinytodo.net - AppVersion: v1.3.1 - Date: 2009-11-22 + Author Url: http://www.mytinytodo.net + AppVersion: v1.3.2 + Date: 2009-12-15 */ class Lang extends DefaultLang @@ -85,6 +86,35 @@ class Lang extends DefaultLang 'rss_feed' => "RSS Feed", 'feed_title' => "%s", 'feed_description' => "New tasks in %s", + + /* Settings */ + 'set_header' => "Settings", + 'set_title' => "Title", + 'set_title_descr' => "(specify if you want to change default title)", + 'set_language' => "Language", + 'set_protection' => "Password protection", + 'set_enabled' => "Enabled", + 'set_disabled' => "Disabled", + 'set_newpass' => "New password", + 'set_newpass_descr' => "(leave blank if won't change current password)", + 'set_smartsyntax' => "Smart syntax", + 'set_smartsyntax_descr' => "(/priority/ task /tags/)", + 'set_autotz' => "Automatic timezone", + 'set_autotz_descr' => "(determines timezone offset of user environment with javascript)", + 'set_autotag' => "Autotagging", + 'set_autotag_descr' => "(automatically adds tag of current tag filter to newly created task)", + 'set_sessions' => "Session handling mechanism", + 'set_sessions_php' => "PHP", + 'set_sessions_files' => "Files", + 'set_firstdayofweek' => "First day of week", + 'set_duedate' => "Duedate calendar format", + 'set_date' => "Date format", + 'set_shortdate' => "Short Date format", + 'set_clock' => "Clock format", + 'set_12hour' => "12-hour", + 'set_24hour' => "24-hour", + 'set_submit' => "Submit changes", + 'set_cancel' => "Cancel", ); } diff --git a/src/settings.php b/src/settings.php index d4ad3a4..1685545 100644 --- a/src/settings.php +++ b/src/settings.php @@ -8,6 +8,10 @@ require_once('./init.php'); +require_once('./lang/class.default.php'); +require_once('./lang/'.Config::get('lang').'.php'); +$lang = new Lang(); + if($needAuth && !is_logged()) { die("Access denied!
Disable password protection or Log in."); @@ -44,6 +48,18 @@ function _c($key) return Config::get($key); } +function _e($s) +{ + global $lang; + echo $lang->get($s); +} + +function __($s) +{ + global $lang; + return $lang->get($s); +} + function getLangs() { if (!$h = opendir('./lang')) return false; @@ -71,7 +87,7 @@ function selectOptions($a, $value, $default=null) ?> -

Settings

+

@@ -80,94 +96,96 @@ function selectOptions($a, $value, $default=null) - + - + - + - + - + - + - + - + - + - + - + - + - +
Title:
(specify if you want to change default title)
:
Language::
Password protection:: -
-
+
+
New password:
(leave blank if won't change current password)
:
>
Smart syntax:
(/priority/ task /tags/)
:
-
- +
+
Automatic timezone:
(determines timezone offset of user environment with javascript)
:
-
- +
+
Autotagging:
(automatically adds tag of current tag filter to newly created task)
:
-
- +
+
Session handling mechanism:: -
- (in <mytinytodo_dir>/tmp/sessions) +
+ (<mytinytodo_dir>/tmp/sessions)
First day of week:: - +
Duedate calendar format::
Date format:: + formatTime('F j, Y'), 'M d, Y'=>formatTime('M d, Y'), 'j M Y'=>formatTime('j M Y'), 'd F Y'=>formatTime('d F Y'), + 'n/j/Y'=>formatTime('n/j/Y'), 'd.m.Y'=>formatTime('d.m.Y'), 'j. F Y'=>formatTime('j. F Y'), 0=>'Custom'), _c('dateformat'), 0); ?> +
Short Date format:: + formatTime('M d'), 'j M'=>formatTime('j M'), 'n/j'=>formatTime('n/j'), 'd.m'=>formatTime('d.m'), 0=>'Custom'), _c('dateformatshort'), 0); ?> +
Clock format:: - +
- - + +