diff options
author | Bryan Berry <bryan@olenepal.org> | 2010-03-13 09:35:31 (GMT) |
---|---|---|
committer | Bryan Berry <bryan@olenepal.org> | 2010-03-13 09:35:31 (GMT) |
commit | de2519111ecf44a75cfb58c2db3a8027b074282c (patch) | |
tree | 32562cc4da36293293886a4ab2145f5f1f033d71 | |
parent | 83c1eef1730c36e434085534a8422fecef6b047f (diff) |
restore older, more stable version of jquery.i18n.js
-rw-r--r-- | js/jquery.i18n.js | 109 | ||||
-rwxr-xr-x | js/ui.kFooter.js | 23 | ||||
-rwxr-xr-x | js/ui.kHeader.js | 14 | ||||
-rwxr-xr-x | lessons/2_English_animalIdentification/index.html | 2 |
4 files changed, 74 insertions, 74 deletions
diff --git a/js/jquery.i18n.js b/js/jquery.i18n.js index aad8f27..4eb303f 100644 --- a/js/jquery.i18n.js +++ b/js/jquery.i18n.js @@ -1,36 +1,30 @@ -/* Copyright Bryan W Berry, 2009, +/* Copyright Bryan W Berry, 2009, * under the MIT license http://www.opensource.org/licenses/mit-license.php - * + * * this library is heavily influenced by the GNU LIBC library * http://www.gnu.org/software/libc/manual/html_node/Locales.html */ (function($){ - $.i18n = {}; - - - $.i18n.gettext = function(string) { - var lang = $.i18n.lang; - if (!$.i18n[lang] || !$.i18n[lang].strings) { - return string; - } - return $.i18n[lang].strings[string]||string; - }; - - - - $.i18n.pgettext = function(context, string) { - var lang = $.i18n.lang; - if (!$.i18n[lang] || - !$.i18n[lang].contextualized_strings || - !$.i18n[lang].contextualized_strings[context]) { - return string; - } - return $.i18n[lang].contextualized_strings[context][string]||string; - }; + // PG: Maybe put everything in namespace i18n and rename the following function $.i18n.gettext? + + $.i18n = function(string, locale){ + var lang = locale || $.i18n.lang; + if (!$.i18n[lang] || !$.i18n[lang].strings){ + return string; + } + return this.i18n[lang].strings['default'][string]||string; + }; + + $.i18n.cgettext = function(context, string, locale){ + var lang = locale || $.i18n.lang; + if (!this.i18n[lang] || !this.i18n[lang].strings){ + return string; + } + return this.i18n[lang].strings[context][string]||string; + }; // You can override this in messages.<lang>.json. - // We should maybe extract this from the .mo file. $.i18n.choose_pluralized_msg = function (choices, n) { return n == 1 ? choices[0] : choices[1]; }; @@ -46,54 +40,55 @@ n); }; - $._ = $.i18n.gettext; + $._ = $.i18n; + $._c = $.i18n.cgettext; - $.i18n.setLocale = function (locale){ - $.i18n.lang = locale; - }; + $.i18n.setLocale = function (locale){ + $.i18n.lang = locale; + }; - $.i18n.getLocale = function (){ - return $.i18n.lang; - }; + $.i18n.getLocale = function (){ + return $.i18n.lang; + }; - /** + /** * Converts a number to numerals in the specified locale. Currently only * supports devanagari numerals for Indic languages like Nepali and Hindi * @param {Number} Number to be converted * @param {locale} locale that number should be converted to - * @returns {String} Unicode string for localized numeral + * @returns {String} Unicode string for localized numeral */ - $.i18n._n = function(num, locale){ - - locale = locale || $.i18n.lang; + $.i18n._n = function(num, locale){ - if (!this.i18n[locale] || !this.i18n[locale].numeralBase ){ - return num; - } + locale = locale || $.i18n.lang; + if (!this.i18n[locale] || !this.i18n[locale].numeralBase ){ + return num; + } - //48 is the base for western numerals - var numBase = $.i18n[$.i18n.lang].numeralBase || 48; - var prefix = $.i18n[$.i18n.lang].numeralPrefix || "u00"; - var convertDigit = function(digit){ - return '\\' + prefix + - (numBase + parseInt(digit)).toString(16); - }; - - var charArray = num.toString().split("").map(convertDigit); - return eval('"' + charArray.join('') + '"'); - }; - - $._n = $.i18n._n; - - /* ToDo + //48 is the base for western numerals + var numBase = $.i18n[$.i18n.lang].numeralBase || 48; + var prefix = $.i18n[$.i18n.lang].numeralPrefix || "u00"; + + var convertDigit = function(digit){ + return '\\' + prefix + + (numBase + parseInt(digit)).toString(16); + }; + + var charArray = num.toString().split("").map(convertDigit); + return eval('"' + charArray.join('') + '"'); + }; + + $._n = $.i18n._n; + + /* ToDo * implement sprintf - * conversion functions for monetary and numeric + * conversion functions for monetary and numeric * sorting functions (collation) for different locales */ -})(jQuery); + })(jQuery); diff --git a/js/ui.kFooter.js b/js/ui.kFooter.js index 44eaafa..d5ede51 100755 --- a/js/ui.kFooter.js +++ b/js/ui.kFooter.js @@ -157,6 +157,12 @@ stopTimer : function(){ this._setData('timerRunning', false); }, + _c : function(val){ + if($.i18n){ + return $._c('$.ui.kFooter', val); + } + return val; + }, _n : function(val, loc){ if ($.i18n){ return $._n(val, loc); @@ -189,13 +195,11 @@ if(options.scoreboard === true){ - var $scoreboard = $("<li class='left'>" + - $.i18n.pgettext("$.ui.kFooter", "Score") + + var $scoreboard = $("<li class='left'>" + this._c("Score") + "</li>" + "<li class='left'>" + "<span id='kFooterScore' class='ui-corner-all number'>" + this._n(score) + "</span></li>" + - "<li class='left'>" + - $.i18n.pgettext("$.ui.kFooter", "Total") + "</li>" + + "<li class='left'>" + this._c("Total") + "</li>" + "<li class='left'><span id='kFooterTotal' " + "class='ui-corner-all number'>" + this._n(total) + "</span></li>") @@ -207,8 +211,7 @@ } if(options.timer === true){ - this._$timer = $("<li class='left'>" + - $.i18n.pgettext("$.ui.kFooter", "Timer") + + this._$timer = $("<li class='left'>" + this._c("Timer") + "</li>" + "<li class='left'><span id='kFooterMins'" + "class='ui-corner-all" + @@ -232,7 +235,7 @@ "<span class='ui-icon ui-icon-arrowrefresh-1-w'>" + "</span>" + "<span class='text left'>" + - $.i18n.pgettext("$.ui.kFooter", "Play Again") + + this._c('Play Again') + "</span></button></li>") .click(function(){ self.startTimer(); @@ -246,8 +249,7 @@ "class='ui-corner-all ui-state-default'>" + "<span class='ui-icon ui-icon-pause'>" + "</span>" + - "<span class='text left'>" + - $.i18n.pgettext("$.ui.kFooter", "Pause") + + "<span class='text left'>" + this._c('Pause') + "</span></button></li>") .click(function(){ self.stopTimer(); @@ -261,8 +263,7 @@ "class='ui-corner-all ui-state-default'>" + "<span class='ui-icon ui-icon-play'>" + "</span>" + - "<span class='text left'>" + - $.i18n.pgettext("$.ui.kFooter", "Start") + + "<span class='text left'>" + this._c('Start') + "</span></button></li>") .click(function(){ self.startTimer(); diff --git a/js/ui.kHeader.js b/js/ui.kHeader.js index 83cf545..966c85a 100755 --- a/js/ui.kHeader.js +++ b/js/ui.kHeader.js @@ -18,7 +18,13 @@ $.widget('ui.kHeader', /** @lends $.ui.kHeader.prototype */ - { _n : function(val, loc){ + { _c : function(val){ + if($.i18n){ + return $._c('$.ui.kHeader', val); + } + return val; + }, + _n : function(val, loc){ if ($.i18n){ return $._n(val, loc); } @@ -60,16 +66,14 @@ if (options.lessonPlan){ $("<div>" + "<a href='./kDoc.html?back=index.html&doc=lessonPlan'>" + - $.i18n.pgettext("$.ui.kHeader", "Lesson Plan") + - "</a></div>") + this._c("Lesson Plan") + "</a></div>") .appendTo($dropDownArea); } if (options.teachersNote){ $("<div>" + "<a href='./kDoc.html?back=index.html&doc=teachersNote'>" + - $.i18n.pgettext("$.ui.kHeader", "Teacher's Note") + - "</a></div>") + this._c("Teacher's Note") + "</a></div>") .appendTo($dropDownArea); } diff --git a/lessons/2_English_animalIdentification/index.html b/lessons/2_English_animalIdentification/index.html index 632d247..bf6fd9f 100755 --- a/lessons/2_English_animalIdentification/index.html +++ b/lessons/2_English_animalIdentification/index.html @@ -17,7 +17,7 @@ src="../../js/ui.core-draggable-resizable-dialog.js"></script>
<script type="text/javascript" src="../../js/ui.kHeader.js"></script>
<script type="text/javascript" src="../../js/ui.kFooter.js"></script>
- <script type="text/javascript" src="./js/messages.es.json"></script>
+ <!--<script type="text/javascript" src="./js/messages.es.json"></script>-->
<script type="text/javascript" src="../../js/ui.feedback.js"></script>
<script type="text/javascript" src="../../js/karma.js"></script>
<script type="text/javascript" src="js/lesson.js"></script>
|