define(["app/config", "app/i18n/de", "app/i18n/en", "app/i18n/fr", "app/i18n/ru"], function(config, de, en, fr, ru) {

    "use strict";

    // pluralization functions for each language you support
    var plurals = {
        "en": function(msgs, n) {
            return msgs[n === 1 ? 0 : 1];
        },
        "ru": function(msg, n) {
            if (n % 10 === 1 && n % 100 !== 11) {
                return msg[0];
            } else if (n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20)) {
                return msg[1];
            } else {
                return msg[2] !== undefined ? msg[2] : msg[1];
            }
        }
    };

    plurals["de"] = plurals["en"];
    plurals["fr"] = plurals["en"];

    // useragent's prefered language (or manually overridden)
    var lang = config.lang;

    // fall back to English
    if (!plurals[lang]) {
        lang = "en";
    }

    return {
        plurals: plurals,
        lang: lang,
        de: de,
        en: en,
        fr: fr,
        ru: ru
    };
});

@@ -299,16 +299,100 @@
      %7D,%0A
+        %22fr%22: function(msgs, n) %7B%0A            return msgs%5Bn %3E 1 ? 0 : 1%5D%0A        %7D,%0A
         
@@ -770,43 +770,8 @@
 n%22%5D;
-%0A    plurals%5B%22fr%22%5D = plurals%5B%22en%22%5D;
 %0A%0A  

fix french pluralization