mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 16:22:43 +01:00
Make Datepicker translatable
Summary: This adds the Ablillity to translate the Content of the Date Picker. It is possible to display more than one Letter for the Day Captions. Test Plan: - Change the Language in the User Preferences, make sure it translates 'S|M|T|W|T|F|S' and Months or add the following to the translation.override config to get German Translation: ``` { 'S|M|T|W|T|F|S': 'So|Mo|Di|Mi|Do|Fr|Sa', 'January': 'Januar', 'February': 'Februar', 'March': 'März', 'May': 'Mai', 'June': 'Juni', 'July': 'Juli', 'October': 'Oktober', 'December': 'Dezember' } ``` - Open Datepicker on a Datefield (Edit Event or Edit for Custom Field of Type date) - The Day Headers and the Months should now be translated Reviewers: O1 Blessed Committers, speck Reviewed By: O1 Blessed Committers, speck Subscribers: CSharp, 0, speck, tobiaswiese Tags: #calendar Differential Revision: https://we.phorge.it/D25016
This commit is contained in:
parent
fd1922c763
commit
b293e6ffed
3 changed files with 40 additions and 23 deletions
|
@ -481,7 +481,7 @@ return array(
|
|||
'rsrc/js/core/behavior-detect-timezone.js' => '78bc5d94',
|
||||
'rsrc/js/core/behavior-device.js' => 'ac2b1e01',
|
||||
'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '7ad020a5',
|
||||
'rsrc/js/core/behavior-fancy-datepicker.js' => '956f3eeb',
|
||||
'rsrc/js/core/behavior-fancy-datepicker.js' => 'e77fcc9d',
|
||||
'rsrc/js/core/behavior-form.js' => '55d7b788',
|
||||
'rsrc/js/core/behavior-gesture.js' => 'b58d1a2a',
|
||||
'rsrc/js/core/behavior-global-drag-and-drop.js' => '1cab0e9a',
|
||||
|
@ -635,7 +635,7 @@ return array(
|
|||
'javelin-behavior-editengine-reorder-configs' => '4842f137',
|
||||
'javelin-behavior-editengine-reorder-fields' => '0ad8d31f',
|
||||
'javelin-behavior-event-all-day' => '0b1bc990',
|
||||
'javelin-behavior-fancy-datepicker' => '956f3eeb',
|
||||
'javelin-behavior-fancy-datepicker' => 'e77fcc9d',
|
||||
'javelin-behavior-global-drag-and-drop' => '1cab0e9a',
|
||||
'javelin-behavior-harbormaster-log' => 'b347a301',
|
||||
'javelin-behavior-herald-rule-editor' => '0922e81d',
|
||||
|
@ -1781,13 +1781,6 @@ return array(
|
|||
'javelin-vector',
|
||||
'javelin-stratcom',
|
||||
),
|
||||
'956f3eeb' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-util',
|
||||
'javelin-dom',
|
||||
'javelin-stratcom',
|
||||
'javelin-vector',
|
||||
),
|
||||
'9623adc1' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-stratcom',
|
||||
|
@ -2174,6 +2167,13 @@ return array(
|
|||
'javelin-dom',
|
||||
'phabricator-draggable-list',
|
||||
),
|
||||
'e77fcc9d' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-util',
|
||||
'javelin-dom',
|
||||
'javelin-stratcom',
|
||||
'javelin-vector',
|
||||
),
|
||||
'e8240b50' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-stratcom',
|
||||
|
|
|
@ -267,9 +267,25 @@ final class AphrontFormDateControl extends AphrontFormControl {
|
|||
$week_key = PhabricatorWeekStartDaySetting::SETTINGKEY;
|
||||
$week_start = $viewer->getUserSetting($week_key);
|
||||
|
||||
$date_pht = array(
|
||||
'S|M|T|W|T|F|S' => pht('S|M|T|W|T|F|S'),
|
||||
'January' => pht('January'),
|
||||
'February' => pht('February'),
|
||||
'March' => pht('March'),
|
||||
'April' => pht('April'),
|
||||
'May' => pht('May'),
|
||||
'June' => pht('June'),
|
||||
'July' => pht('July'),
|
||||
'August' => pht('August'),
|
||||
'September' => pht('September'),
|
||||
'October' => pht('October'),
|
||||
'November' => pht('November'),
|
||||
'December' => pht('December'),
|
||||
);
|
||||
Javelin::initBehavior('fancy-datepicker', array(
|
||||
'format' => $this->getDateFormat(),
|
||||
'weekStart' => $week_start,
|
||||
'pht' => $date_pht,
|
||||
));
|
||||
|
||||
$classes = array();
|
||||
|
|
|
@ -13,6 +13,7 @@ JX.behavior('fancy-datepicker', function(config, statics) {
|
|||
}
|
||||
statics.initialized = true;
|
||||
|
||||
var pht = JX.phtize(config.pht);
|
||||
var picker;
|
||||
var anchor_node;
|
||||
var root;
|
||||
|
@ -262,18 +263,18 @@ JX.behavior('fancy-datepicker', function(config, statics) {
|
|||
var year = valid_date.getYear() + 1900;
|
||||
|
||||
var months = [
|
||||
'January',
|
||||
'February',
|
||||
'March',
|
||||
'April',
|
||||
'May',
|
||||
'June',
|
||||
'July',
|
||||
'August',
|
||||
'September',
|
||||
'October',
|
||||
'November',
|
||||
'December'];
|
||||
pht('January'),
|
||||
pht('February'),
|
||||
pht('March'),
|
||||
pht('April'),
|
||||
pht('May'),
|
||||
pht('June'),
|
||||
pht('July'),
|
||||
pht('August'),
|
||||
pht('September'),
|
||||
pht('October'),
|
||||
pht('November'),
|
||||
pht('December')];
|
||||
|
||||
var buttons = [
|
||||
cell('\u25C0', 'm:-1', false, 'lrbutton'),
|
||||
|
@ -330,14 +331,14 @@ JX.behavior('fancy-datepicker', function(config, statics) {
|
|||
var weeks = [];
|
||||
|
||||
// First, render the weekday names.
|
||||
var weekdays = 'SMTWTFS';
|
||||
var weekdays = pht('S|M|T|W|T|F|S').split('|');
|
||||
var weekday_names = [];
|
||||
var week_start = parseInt(get_week_start(), 10);
|
||||
var week_end = weekdays.length + week_start;
|
||||
|
||||
for (var ii = week_start; ii < week_end; ii++) {
|
||||
var index = ii%7;
|
||||
weekday_names.push(cell(weekdays.charAt(index), null, false, 'day-name'));
|
||||
weekday_names.push(cell(weekdays[index], null, false, 'day-name'));
|
||||
}
|
||||
weeks.push(JX.$N('tr', {}, weekday_names));
|
||||
|
||||
|
|
Loading…
Reference in a new issue