Allow to define RTL languages so the content can be mirrored

stable
Daniel García 2018-05-30 16:03:08 +02:00
parent f821d83310
commit 93a7c9f91e
6 changed files with 18 additions and 8 deletions

View File

@ -753,7 +753,7 @@ i18nInit = (lang, $translate) ->
init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls, appMetaService,
loaderService, navigationBarService, errorHandlingService, lightboxService) ->
loaderService, navigationBarService, errorHandlingService, lightboxService, $tgConfig) ->
$log.debug("Initialize application")
$rootscope.$on '$translatePartialLoaderStructureChanged', () ->
@ -782,6 +782,9 @@ init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $na
$rootscope.$on "$translateChangeEnd", (e, ctx) ->
lang = ctx.language
i18nInit(lang, $translate)
# RTL
rtlLanguages = $tgConfig.get("rtlLanguages", [])
$rootscope.isRTL = rtlLanguages.indexOf(lang) > -1
# bluebird
Promise.setScheduler (cb) ->
@ -930,5 +933,6 @@ module.run([
"tgNavigationBarService",
"tgErrorHandlingService",
"lightboxService",
"$tgConfig",
init
])

View File

@ -29,9 +29,13 @@ module = angular.module("taigaCommon", [])
#############################################################################
## Default datepicker config
#############################################################################
DataPickerConfig = ($translate) ->
DataPickerConfig = ($translate, $config, $auth) ->
return {
get: () ->
user = $auth.getUser()
lang = user.lang || $translate.preferredLanguage()
rtlLanguages = $config.get("rtlLanguages", [])
isRTL = rtlLanguages.indexOf(lang) > -1
return {
i18n: {
previousMonth: $translate.instant("COMMON.PICKERDATE.PREV_MONTH"),
@ -69,13 +73,13 @@ DataPickerConfig = ($translate) ->
$translate.instant("COMMON.PICKERDATE.WEEK_DAYS_SHORT.SAT")
]
},
isRTL: $translate.instant("COMMON.PICKERDATE.IS_RTL") == "true",
isRTL: isRTL,
firstDay: parseInt($translate.instant("COMMON.PICKERDATE.FIRST_DAY_OF_WEEK"), 10),
format: $translate.instant("COMMON.PICKERDATE.FORMAT")
}
}
module.factory("tgDatePickerConfigService", ["$translate", DataPickerConfig])
module.factory("tgDatePickerConfigService", ["$translate", "$tgConfig", "$tgAuth", DataPickerConfig])
#############################################################################
## Get the selected text

View File

@ -1,5 +1,5 @@
doctype html
html(lang="en")
html(lang="en", ng-attr-dir="{{ isRTL ? 'rtl' : 'ltr' }}")
head
meta(charset="utf-8")
meta(http-equiv="content-type", content="text/html; charset=utf-8")
@ -18,7 +18,7 @@ html(lang="en")
script(type='text/javascript').
window.prerenderReady = false;
body(tg-main)
body(tg-main, ng-class="{'rtl': isRTL}")
div(tg-navigation-bar, ng-if="!errorHandling.showingError")
div(ng-if="!errorHandling.showingError")
div.master(ng-view)

View File

@ -79,7 +79,6 @@
},
"PICKERDATE": {
"FORMAT": "DD MMM YYYY",
"IS_RTL": "false",
"FIRST_DAY_OF_WEEK": "1",
"PREV_MONTH": "Previous Month",
"NEXT_MONTH": "Next Month",

View File

@ -51,6 +51,8 @@ svg {
//Datepicker
.pika-single {
// scss-lint:disable ImportantRule
min-width: 240px;
width: auto;
z-index: 999999;
.pika-title {
color: $grayer;

View File

@ -19,5 +19,6 @@
"contribPlugins": [],
"tribeHost": null,
"importers": [],
"gravatar": true
"gravatar": true,
"rtlLanguages": ["fa"]
}