Improve js and add native language support for datepicker and calendar

This commit is contained in:
Frederic Guillot
2015-02-08 15:07:47 -05:00
parent 813b7c4c00
commit acf3941b4a
77 changed files with 182 additions and 678 deletions

View File

@@ -599,56 +599,24 @@ class Helper
}
/**
* Get calendar translations
* Get javascript language code
*
* @access public
* @return string
*/
public function getCalendarTranslations()
public function jsLang()
{
return json_encode(array(
'Today' => t('Today'),
'Jan' => t('Jan'),
'Feb' => t('Feb'),
'Mar' => t('Mar'),
'Apr' => t('Apr'),
'May' => t('May'),
'Jun' => t('Jun'),
'Jul' => t('Jul'),
'Aug' => t('Aug'),
'Sep' => t('Sep'),
'Oct' => t('Oct'),
'Nov' => t('Nov'),
'Dec' => t('Dec'),
'January' => t('January'),
'February' => t('February'),
'March' => t('March'),
'April' => t('April'),
'May' => t('May'),
'June' => t('June'),
'July' => t('July'),
'August' => t('August'),
'September' => t('September'),
'October' => t('October'),
'November' => t('November'),
'December' => t('December'),
'Sunday' => t('Sunday'),
'Monday' => t('Monday'),
'Tuesday' => t('Tuesday'),
'Wednesday' => t('Wednesday'),
'Thursday' => t('Thursday'),
'Friday' => t('Friday'),
'Saturday' => t('Saturday'),
'Sun' => t('Sun'),
'Mon' => t('Mon'),
'Tue' => t('Tue'),
'Wed' => t('Wed'),
'Thu' => t('Thu'),
'Fri' => t('Fri'),
'Sat' => t('Sat'),
));
return $this->config->getJsLanguageCode();
}
/**
* Get the link to toggle subtask status
*
* @access public
* @param array $subtask
* @param string $redirect
* @return string
*/
public function toggleSubtaskStatus(array $subtask, $redirect)
{
if ($subtask['status'] == 0 && isset($this->session['has_subtask_inprogress']) && $this->session['has_subtask_inprogress'] === true) {

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
// 'Next' => '',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -650,44 +650,6 @@ return array(
'Filter by column' => 'Spalte filtern',
'Filter by status' => 'Status filtern',
'Calendar' => 'Kalender',
'Today' => 'Heute',
'Jan ' => 'Jan',
'Feb' => 'Feb',
'Mar' => 'Mar',
'Apr' => 'Apr',
'May' => 'Mai',
'Jun' => 'Jun',
'Jul' => 'Jul',
'Aug' => 'Aug',
'Sep' => 'Sep',
'Oct' => 'Okt',
'Nov' => 'Nov',
'Dec' => 'Dez',
'January' => 'Januar',
'February' => 'Februar',
'March' => 'März',
'April' => 'April',
'June' => 'Juni',
'July' => 'Juli',
'August' => 'August',
'September' => 'September',
'October' => 'Oktober',
'November' => 'November',
'December' => 'Dezember',
'Sunday' => 'Sonntag',
'Monday' => 'Montag',
'Tuesday' => 'Dienstag',
'Wednesday' => 'Mittwoch',
'Thursday' => 'Donnerstag',
'Friday' => 'Freitag',
'Saturday' => 'Samstag',
'Sun' => 'So',
'Mon' => 'Mo',
'Tue' => 'Di',
'Wed' => 'Mi',
'Thu' => 'Do',
'Fri' => 'Fr',
'Sat' => 'Sa',
'Next' => 'Nächste',
// '#%d' => '',
'Filter by color' => 'Farbe filtern',

View File

@@ -650,44 +650,6 @@ return array(
'Filter by column' => 'Filtrar por columna',
'Filter by status' => 'Filtrar por estado',
'Calendar' => 'Calendario',
'Today' => 'Hoy',
'Jan ' => 'Ene',
'Feb' => 'Feb',
'Mar' => 'Mar',
'Apr' => 'Abr',
'May' => 'May',
'Jun' => 'Jun',
'Jul' => 'Jul',
'Aug' => 'Ago',
'Sep' => 'Sep',
'Oct' => 'Oct',
'Nov' => 'Nov',
'Dec' => 'Dic',
'January' => 'Enero',
'February' => 'Febrero',
'March' => 'Marzo',
'April' => 'Abril',
'June' => 'Junio',
'July' => 'Julio',
'August' => 'Agosto',
'September' => 'Septiembre',
'October' => 'Octubre',
'November' => 'Noviembre',
'December' => 'Diciembre',
'Sunday' => 'Domingo',
'Monday' => 'Lunes',
'Tuesday' => 'Martes',
'Wednesday' => 'Miércoles',
'Thursday' => 'Jueves',
'Friday' => 'Viernes',
'Saturday' => 'Sabado',
'Sun' => 'Dom',
'Mon' => 'Lun',
'Tue' => 'Mar',
'Wed' => 'Mie',
'Thu' => 'Jue',
'Fri' => 'Vie',
'Sat' => 'Sab',
'Next' => 'Siguiente',
'#%d' => '',
'Filter by color' => 'Filtrar por color',

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
// 'Next' => '',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -652,44 +652,6 @@ return array(
'Filter by column' => 'Filtrer par colonne',
'Filter by status' => 'Filtrer par status',
'Calendar' => 'Agenda',
'Today' => 'Aujourd\'hui',
'Jan ' => 'Janv',
'Feb' => 'Fév',
'Mar' => 'Mars',
'Apr' => 'Avr',
'May' => 'Mai',
'Jun' => 'Juin',
'Jul' => 'Juil',
'Aug' => 'Août',
'Sep' => 'Sept',
'Oct' => 'Oct',
'Nov' => 'Nov',
'Dec' => 'Déc',
'January' => 'Janvier',
'February' => 'Février',
'March' => 'Mars',
'April' => 'Avril',
'June' => 'Juin',
'July' => 'Juillet',
'August' => 'Août',
'September' => 'Septembre',
'October' => 'Octobre',
'November' => 'Novembre',
'December' => 'Décembre',
'Sunday' => 'Dimanche',
'Monday' => 'Lundi',
'Tuesday' => 'Mardi',
'Wednesday' => 'Mercredi',
'Thursday' => 'Jeudi',
'Friday' => 'Vendredi',
'Saturday' => 'Samedi',
'Sun' => 'Dim',
'Mon' => 'Lun',
'Tue' => 'Mar',
'Wed' => 'Mer',
'Thu' => 'Jeu',
'Fri' => 'Ven',
'Sat' => 'Sam',
'Next' => 'Suivant',
'#%d' => 'n˚%d',
'Filter by color' => 'Filtrer par couleur',

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
// 'Next' => '',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
// 'Next' => '',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
// 'Next' => '',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -650,44 +650,6 @@ return array(
'Filter by column' => 'Filtrj według kolumn',
'Filter by status' => 'Filtruj według statusu',
'Calendar' => 'Kalendarz',
'Today' => 'Dzisiaj',
'Jan ' => 'Sty',
'Feb' => 'Lut',
'Mar' => 'Mar',
'Apr' => 'Kwi',
'May' => 'Maj',
'Jun' => 'Cze',
'Jul' => 'Lip',
'Aug' => 'Sie',
'Sep' => 'Wrz',
'Oct' => 'Paź',
'Nov' => 'Lis',
'Dec' => 'Gru',
'January' => 'Styczeń',
'February' => 'Luty',
'March' => 'Marzec',
'April' => 'Kwiecień',
'June' => 'Czerwiec',
'July' => 'Lipiec',
'August' => 'Sierpień',
'September' => 'Wrzesień',
'October' => 'Październik',
'November' => 'Listopad',
'December' => 'Grudzień',
'Sunday' => 'Niedziela',
'Monday' => 'Poniedziałek',
'Tuesday' => 'Wtorek',
'Wednesday' => 'Środa',
'Thursday' => 'Czwartek',
'Friday' => 'Piątek',
'Saturday' => 'Sobota',
'Sun' => 'Nie',
'Mon' => 'Pon',
'Tue' => 'Wto',
'Wed' => 'Śro',
'Thu' => 'Czw',
'Fri' => 'Pią',
'Sat' => 'Sob',
'Next' => 'Następny',
// '#%d' => '',
'Filter by color' => 'Filtruj według koloru',

View File

@@ -650,44 +650,6 @@ return array(
'Filter by column' => 'Filtrar por coluna',
'Filter by status' => 'Filtrar por status',
'Calendar' => 'Calendário',
'Today' => 'Hoje',
'Jan ' => 'Jan',
'Feb' => 'Fev',
'Mar' => 'Mar',
'Apr' => 'Abr',
'May' => 'Maio',
'Jun' => 'Jun',
'Jul' => 'Jul',
'Aug' => 'Ago',
'Sep' => 'Set',
'Oct' => 'Out',
'Nov' => 'Nov',
'Dec' => 'Dez',
'January' => 'Janeiro',
'February' => 'Fevereiro',
'March' => 'Março',
'April' => 'Abril',
'June' => 'Junho',
'July' => 'Julho',
'August' => 'Agosto',
'September' => 'Setembro',
'October' => 'Outubro',
'November' => 'Novembro',
'December' => 'Dezembro',
'Sunday' => 'Domingo',
'Monday' => 'Segunda',
'Tuesday' => 'Terça',
'Wednesday' => 'Quarta',
'Thursday' => 'Quinta',
'Friday' => 'Sexta',
'Saturday' => 'Sábado',
'Sun' => 'Dom',
'Mon' => 'Seg',
'Tue' => 'Ter',
'Wed' => 'Qua',
'Thu' => 'Qui',
'Fri' => 'Sex',
'Sat' => 'Sáb',
'Next' => 'Próximo',
// '#%d' => '',
'Filter by color' => 'Filtrar por cor',

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
// 'Next' => '',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
'Next' => 'Nästa',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
// 'Next' => '',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -650,44 +650,6 @@ return array(
// 'Filter by column' => '',
// 'Filter by status' => '',
// 'Calendar' => '',
// 'Today' => '',
// 'Jan ' => '',
// 'Feb' => '',
// 'Mar' => '',
// 'Apr' => '',
// 'May' => '',
// 'Jun' => '',
// 'Jul' => '',
// 'Aug' => '',
// 'Sep' => '',
// 'Oct' => '',
// 'Nov' => '',
// 'Dec' => '',
// 'January' => '',
// 'February' => '',
// 'March' => '',
// 'April' => '',
// 'June' => '',
// 'July' => '',
// 'August' => '',
// 'September' => '',
// 'October' => '',
// 'November' => '',
// 'December' => '',
// 'Sunday' => '',
// 'Monday' => '',
// 'Tuesday' => '',
// 'Wednesday' => '',
// 'Thursday' => '',
// 'Friday' => '',
// 'Saturday' => '',
// 'Sun' => '',
// 'Mon' => '',
// 'Tue' => '',
// 'Wed' => '',
// 'Thu' => '',
// 'Fri' => '',
// 'Sat' => '',
// 'Next' => '',
// '#%d' => '',
// 'Filter by color' => '',

View File

@@ -75,6 +75,52 @@ class Config extends Base
return $languages;
}
/**
* Get javascript language code
*
* @access public
* @return string
*/
public function getJsLanguageCode()
{
$languages = array(
'da_DK' => 'da',
'de_DE' => 'de',
'en_US' => 'en',
'es_ES' => 'es',
'fr_FR' => 'fr',
'it_IT' => 'it',
'hu_HU' => 'hu',
'pl_PL' => 'pl',
'pt_BR' => 'pt-br',
'ru_RU' => 'ru',
'fi_FI' => 'fi',
'sv_SE' => 'sv',
'zh_CN' => 'zh-cn',
'ja_JP' => 'ja',
'th_TH' => 'th',
);
$lang = $this->getCurrentLanguage();
return isset($languages[$lang]) ? $languages[$lang] : 'en';
}
/**
* Get current language
*
* @access public
* @return string
*/
public function getCurrentLanguage()
{
if ($this->userSession->isLogged() && ! empty($this->session['user']['language'])) {
return $this->session['user']['language'];
}
return $this->get('application_language', 'en_US');
}
/**
* Get a config variable from the session or the database
*
@@ -152,12 +198,7 @@ class Config extends Base
*/
public function setupTranslations()
{
if ($this->userSession->isLogged() && ! empty($this->session['user']['language'])) {
Translator::load($this->session['user']['language']);
}
else {
Translator::load($this->get('application_language', 'en_US'));
}
Translator::load($this->getCurrentLanguage());
}
/**

View File

@@ -37,9 +37,8 @@
data-save-url="<?= $this->u('calendar', 'save', array('project_id' => $project['id'])) ?>"
data-check-url="<?= $this->u('calendar', 'events', array('project_id' => $project['id'])) ?>"
data-check-interval="<?= $check_interval ?>"
data-translations='<?= $this->getCalendarTranslations() ?>'
>
</div>
</div>
</section>
</section>
</section>

View File

@@ -25,7 +25,7 @@
<title><?= isset($title) ? $this->e($title) : 'Kanboard' ?></title>
</head>
<body data-status-url="<?= $this->u('app', 'status') ?>" data-login-url="<?= $this->u('user', 'login') ?>">
<body data-status-url="<?= $this->u('app', 'status') ?>" data-login-url="<?= $this->u('user', 'login') ?>" data-js-lang="<?= $this->jsLang() ?>">
<?php if (isset($no_layout) && $no_layout): ?>
<?= $content_for_layout ?>
<?php else: ?>