• Jump To … +
    app.js ifCondHelper.js localizationHelper.js menuHelper.js sortByHelper.js titleHelper.js utils.js main.js defaultModel.js examsModel.js giaModel.js populationModel.js souModel.js examsModule.js mainPack.js populationModule.js souModule.js chartView.js defaultView.js tableView.js
  • localizationHelper.js

  • ¶
    /*global require, define */
    /*jslint nomen: true, debug: true, bitwise: true, todo: true */
    
    /**
     * @module localizationHelper
     */
    
    define([
        "handlebars",
        "framework",
        "l10n",
        "text!localization/localization.json"
    ],
        /**
         * @description Handlebars localization helper
         * @name module:localizationHelper
         * @requires handlebars {Function} Handlebars
         * @requires framework {Function} jQuery or Zepro
         * @requires l10n {Function} Localization lib
         * @requires text!localization/localization {JSON} Localization JSON file
         * @example <div>{{l10n myVar}}</div>
         *
         * @function
         * @returns {function} localizationFn
         */
            function (Handlebars, $, l10n, dictionary) {
            "use strict";
  • ¶

    TODO Lang sets should be separated

            String.toLocaleString($.parseJSON(dictionary));
            /**
             * @name module:localizationHelper#localizationFn
             * @description Provides localization for HBS templates
             * @memberof module:localizationHelper
             * @param str {String} string to be localized
             * @param [options] {Object} HBS context
             * @function
             * @inner
             */
            var localizationFn = function (str, options) {
                str = (str+"").toLocaleString();
                return options && options.fn ?
                        options.fn(str) :
                        str;
            };
    
            Handlebars.registerHelper('l10n', localizationFn);
            return localizationFn;
        });