### LemonLDAP::NG Portal jQuery scripts ### # Translation mechanism translationFields = {} # Launched at startup: download language JSON and translate all HTML tags that # contains one of the following attributes using translate() function: # - trspan : set result in tag content # - trmsg : get error number and set result of PE result in tag # content # - trplaceholder: set result in "placeholder" attribute # - localtime : transform time (in ms)ing translate() translatePage = (lang) -> $.getJSON "#{window.staticPrefix}languages/#{lang}.json", (data) -> translationFields = data for k,v of window.datas.trOver.all translationFields[k] = v if window.datas.trOver[lang] for k,v of window.datas.trOver[lang] translationFields[k] = v $("[trspan]").each -> args = $(this).attr('trspan').split(',') txt = translate args.shift() for v in args txt = txt.replace /%[sd]/, v $(this).text txt $("[trmsg]").each -> $(this).text translate "PE#{$(this).attr 'trmsg'}" $("[trplaceholder]").each -> $(this).attr 'placeholder', translate($(this).attr('trplaceholder')) $("[localtime]").each -> d = new Date $(this).attr('localtime') * 1000 $(this).text d.toLocaleString() # Translate a string translate = (str) -> return if translationFields[str] then translationFields[str] else str window.translate = translate # Initialization variables: read all