You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.5 KiB
58 lines
1.5 KiB
// Copyright (c) Jupyter Development Team.
|
|
// Distributed under the terms of the Modified BSD License.
|
|
|
|
define(['bidi/numericshaping'], function(numericshaping) {
|
|
'use strict';
|
|
|
|
var shaperType = '';
|
|
var textDir = '';
|
|
|
|
var _uiLang = function() {
|
|
return navigator.language.toLowerCase();
|
|
};
|
|
|
|
var _loadLocale = function() {
|
|
if (_isMirroringEnabled()) {
|
|
$('body').attr('dir', 'rtl');
|
|
}
|
|
var uiLang = _uiLang();
|
|
|
|
if (uiLang !== 'en' && uiLang !== 'en-us') {
|
|
// moment does not ship with a separate file for locale/en or locale/en-us
|
|
// so we must skip dynamically requiring it
|
|
requirejs(['components/moment/locale/' + _uiLang()], function(err) {
|
|
console.warn('Error loading the required locale');
|
|
console.warn(err);
|
|
});
|
|
}
|
|
|
|
shaperType = _uiLang() == 'ar' ? 'national' : 'defaultNumeral';
|
|
};
|
|
|
|
var _isMirroringEnabled = function() {
|
|
return new RegExp('^(ar|he)').test(_uiLang());
|
|
};
|
|
|
|
/**
|
|
* NS : for digit Shaping.
|
|
* BTD : for future work in case of Base Text Direction Addition.
|
|
*/
|
|
|
|
/**
|
|
* @param value : the string to apply the bidi-support on it.
|
|
* @param flag :indicates the type of bidi-support (Numeric-shaping ,Base-text-dir ).
|
|
*/
|
|
var _applyBidi = function(value /*, flag*/) {
|
|
value = numericshaping.shapeNumerals(value, shaperType);
|
|
return value;
|
|
};
|
|
|
|
var bidi = {
|
|
applyBidi: _applyBidi,
|
|
isMirroringEnabled: _isMirroringEnabled,
|
|
loadLocale: _loadLocale,
|
|
};
|
|
|
|
return bidi;
|
|
});
|