Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryan Berry <bryan@olenepal.org>2010-03-13 09:35:31 (GMT)
committer Bryan Berry <bryan@olenepal.org>2010-03-13 09:35:31 (GMT)
commitde2519111ecf44a75cfb58c2db3a8027b074282c (patch)
tree32562cc4da36293293886a4ab2145f5f1f033d71
parent83c1eef1730c36e434085534a8422fecef6b047f (diff)
restore older, more stable version of jquery.i18n.js
-rw-r--r--js/jquery.i18n.js109
-rwxr-xr-xjs/ui.kFooter.js23
-rwxr-xr-xjs/ui.kHeader.js14
-rwxr-xr-xlessons/2_English_animalIdentification/index.html2
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>