MediaWiki:FundraisingBanners/LocalizeData-2017.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* jshint maxerr: 600 */
frb.amounts = frb.amounts || {};

// Hard minimum amounts that can be given
// From https://github.com/wikimedia/wikimedia-fundraising-SmashPig/blob/master/PaymentData/ReferenceData/CurrencyRates.php
// Updated 2023-12-12
frb.amounts.minimums = {
    'USD' : 1,
    'CAD' : 1.36,
    'AUD' : 1.52,
    'NZD' : 1.63,
    'GBP' : 0.80,
    'EUR' : 0.93,
    'DKK' : 6.91,
    'HUF' : 355,
    'ILS' : 3.71,
    'INR' : 10, // T309818
    'JPY' : 146,
    'MYR' : 4.68,
    'NOK' : 11,
    'PLN' : 4.02,
    'CZK' : 23,
    'RON' : 4.61,
    'SEK' : 10,
    'UAH' : 37,
    'ZAR' : 19,
    // Latin America
    'BRL' : 4.95,
    'ARS' : 366,
    'CLP' : 880,
    'COP' : 3970,
    'MXN' : 17,
    'PEN' : 3.74,
    'UYU' : 39,
    'CHF' : 0.88
};

frb.amounts.options7 = {
    // Big English
    'USD' : [2.75, 10, 15, 25, 50, 75, 100],
    'CAD' : [2.75, 10, 15, 25, 50, 75, 100],
    'AUD' : [2.75, 10, 15, 25, 50, 75, 100],
    'NZD' : [2.75, 10, 15, 25, 50, 75, 100],
    'GBP' : [2, 10, 15, 25, 50, 75, 100],
    'EUR' : {
        'default' : [2, 10, 15, 25, 50, 75, 100]
    },
    // Others
    'DKK' : [20, 75, 100, 200, 300, 500, 700],
    'HUF' : [500, 1000, 2000, 4000, 5000, 7000, 10000],
    'ILS' : [10, 35, 50, 100, 200, 300, 400],
    'INR' : [25, 300, 500, 1000, 1500, 3000, 5000],
    'JPY' : [300, 1000, 1500, 2000, 3000, 5000, 10000],
    'MYR' : [10, 30, 50, 100, 200, 300, 500],
    'NOK' : [30, 100, 150, 200, 500, 750, 1000],
    'PLN' : [10, 20, 50, 100, 200, 300, 500],
    'CZK' : [50, 100, 250, 500, 1000, 1500, 2500],
    'RON' : [10, 50, 75, 100, 200, 300, 500],
    'SEK' : [30, 100, 150, 200, 500, 750, 1000],
    'UAH' : [50, 75, 150, 300, 500, 750, 1000],
    'ZAR' : [30, 50, 100, 200, 300, 500, 1000],
    // Latin America
    'BRL' : [10, 20, 30, 50, 100, 200, 300],
    'ARS' : [200, 250, 500, 750, 1000, 1500, 2000],
    'CLP' : [2000, 3000, 5000, 10000, 20000, 30000, 50000],
    'COP' : [10000, 15000, 25000, 50000, 100000, 150000, 200000],
    'MXN' : [40, 70, 150, 250, 500, 700, 1000],
    'PEN' : [10, 15, 25, 50, 100, 150, 200],
    'UYU' : [100, 200, 300, 500, 1000, 1500, 2000],
    'CHF' : [3, 5, 10, 25, 50, 100, 200]
};

// 5 amount options. Since 2020 6C, no longer used
frb.amounts.options5 = {
    // Big English
    'USD' : [2.75, 15, 20, 50, 100],
    'CAD' : [2.75, 15, 20, 50, 100],
    'AUD' : [2.75, 15, 20, 50, 100],
    'NZD' : [2.75, 15, 20, 50, 100],
    'GBP' : [2, 10, 20, 50, 100],
    'EUR' : [2, 10, 20, 50, 100],
    // Others
    'DKK' : [20, 100, 200, 500, 1000],
    'HUF' : [500, 2500, 4000, 7000, 10000],
    'ILS' : [10, 50, 200, 600, 1000],
    'INR' : [150, 500, 1000, 3000, 5000],
    'JPY' : [300, 1500, 2000, 5000, 10000],
    'MYR' : [10, 50, 100, 300, 500],
    'NOK' : [20, 100, 200, 500, 1000],
    'PLN' : [10, 50, 100, 300, 500],
    'RON' : [10, 50, 100, 200, 1000],
    'SEK' : [30, 100, 200, 500, 1000],
    'UAH' : [50, 150, 300, 750, 1000],
    'ZAR' : [30, 100, 200, 500, 1000],
    // Latin America
    'BRL' : [10, 30, 50, 100, 250],
    'ARS' : [60, 200, 400, 1000, 2000],
    'CLP' : [1500, 5000, 10000, 25000, 50000],
    'COP' : [7000, 20000, 50000, 150000, 200000],
    'MXN' : [35, 100, 200, 750, 1000],
    'PEN' : [10, 50, 150, 300, 700],
    'UYU' : [70, 200, 400, 1500, 2000],
    'CHF' : [3, 10, 25, 50, 100]
};

// "Average" donation
frb.amounts.averages = {
    'USD' : 13,
    'CAD' : 12,
    'AUD' : 11,
    'NZD' : 12,
    'GBP' : 6,
    'EUR' : 8,
    // Others
    'DKK' : 60,
    'HUF' : 2500,
    'ILS' : 50,
    'INR' : 229,
    'JPY' : 800,
    'MYR' : 30,
    'NOK' : 75,
    'PLN' : 50,
    'CZK' : 150,
    'RON' : 50,
    'SEK' : 85,
    'UAH' : 150,
    'ZAR' : 65,
    // Latin America
    'BRL' : 25,
    'ARS' : 780,
    'CLP' : 10200,
    'COP' : 35000,
    'MXN' : 140,
    'PEN' : 30,
    'UYU' : 525,
    'CHF' : 25
};

// 'If everyone gave X'. Mostly the same as first asks option.
frb.amounts.ifEveryone = {
    // Big English
    'USD' : 2.75,
    'CAD' : 2.75,
    'AUD' : 2.75,
    'NZD' : 2.75,
    'GBP' : 2,
    'EUR' : {
        'default' : 2
    },
    // Others
    'DKK' : 20,
    'HUF' : 500,
    'ILS' : 10,
    'INR' : 25,
    'JPY' : 300,
    'MYR' : 10,
    'NOK' : 30,
    'PLN' : 10,
    'CZK' : 50,
    'RON' : 10,
    'SEK' : 30,
    'UAH' : 50,
    'ZAR' : 30,
    // Latin America
    'BRL' : 10,
    'ARS' : 175,
    'CLP' : 1500,
    'COP' : 7000,
    'MXN' : 40,
    'PEN' : 10,
    'UYU' : 100,
    'CHF' : 5
};

// Minimum fee/PTF amounts. Default is 0.35.
// Updated 2018-07-05 based on Ppena's feedback
// Updated 2019-05-21 to approx 0.35 USD equivalent
frb.amounts.feeMinimums = {
    'DKK' : 2,
    'HUF' : 100,
    'ILS' : 1.2,
    'INR' : 4,
    'JPY' : 35,
    'MYR' : 1,
    'NOK' : 3,
    'PLN' : 1.35,
    'CZK' : 7.5,
    'RON' : 1.5,
    'SEK' : 3,
    'UAH' : 10,
    'ZAR' : 5,
    // Latin America // Updated 2023-01-17 to approx 0.35 USD equivalent
    'BRL' : 1.75,
    'ARS' : 32,
    'CLP' : 322,
    'COP' : 1385,
    'MXN' : 6,
    'PEN' : 1.3,
    'UYU' : 13.7
};

// If one-time amount <= left amount, suggest right amount for monthly
// If changing these, please update spreadsheet
// https://docs.google.com/spreadsheets/d/1z36zi8EegPLAvR5FYAgwz8ywKZ50QNB82SpwpTdk-xQ/edit#gid=1258723967
frb.amounts.monthlySuggest = {
    'EUR' : [ // also GBP
        [ 1.99, 0 ],
        [ 2.35, 1.40 ],
        [ 9, 1.75 ],
        [ 12, 2 ],
        [ 15, 2.5 ],
        [ 18, 3 ],
        [ 21, 3.5 ],
        [ 24, 4 ],
        [ 27, 4.5 ],
        [ 30, 5 ],
        [ 33, 5.5 ],
        [ 36, 6 ],
        [ 39, 6.5 ],
        [ 42, 7 ],
        [ 45, 7.5 ],
        [ 48, 8 ],
        [ 51, 8.5 ],
        [ 54, 9 ],
        [ 57, 9.5 ],
        [ 60, 10 ],
        [ 63, 10.5 ],
        [ 66, 11 ],
        [ 69, 11.5 ],
        [ 72, 12 ],
        [ 75, 12.5 ],
        [ 102, 17 ],
        [ 250, 25 ],
        [ 499, 50 ],
        [ Infinity, 0 ]
    ],
    'USD' : [ // also CAD, AUD, NZD
        [ 2.74, 0 ],
        [ 9, 1.75 ],
        [ 12, 2 ],
        [ 15, 2.5 ],
        [ 18, 3 ],
        [ 21, 3.5 ],
        [ 24, 4 ],
        [ 27, 4.5 ],
        [ 30, 5 ],
        [ 33, 5.5 ],
        [ 36, 6 ],
        [ 39, 6.5 ],
        [ 42, 7 ],
        [ 45, 7.5 ],
        [ 48, 8 ],
        [ 51, 8.5 ],
        [ 54, 9 ],
        [ 57, 9.5 ],
        [ 60, 10 ],
        [ 63, 10.5 ],
        [ 66, 11 ],
        [ 69, 11.5 ],
        [ 72, 12 ],
        [ 75, 12.5 ],
        [ 102, 17 ],
        [ 250, 25 ],
        [ 499, 50 ],
        [ Infinity, 0 ]
    ],
    'JPY' : [
        [ 299, 0 ],
        [ 900, 150 ],
        [ 1200, 200 ],
        [ 1500, 250 ],
        [ 1800, 300 ],
        [ 2100, 350 ],
        [ 2400, 400 ],
        [ 2700, 450 ],
        [ 3000, 500 ],
        [ 3300, 550 ],
        [ 3600, 600 ],
        [ 3900, 650 ],
        [ 4200, 700 ],
        [ 4500, 750 ],
        [ 4800, 800 ],
        [ 5100, 850 ],
        [ 5400, 900 ],
        [ 5700, 950 ],
        [ 6000, 1000 ],
        [ 6300, 1050 ],
        [ 6600, 1100 ],
        [ 6900, 1150 ],
        [ 7200, 1200 ],
        [ 7500, 1250 ],
        [ 10800, 1800 ],
        [ 18000, 3000 ],
        [ 50000, 6000 ],
        [ Infinity, 0 ]
    ],
    'SEK' : [ // Also NOK
        [ 29, 0 ],
        [ 35, 20 ],
        [ 55, 25 ],
        [ 105, 30 ],
        [ 160, 40 ],
        [ 210, 50 ],
        [ 360, 60 ],
        [ 450, 75 ],
        [ 600, 100 ],
        [ 800, 125 ],
        [ 900, 150 ],
        [ 1200, 200 ],
        [ 1500, 250 ],
        [ 1800, 300 ],
        [ 2100, 350 ],
        [ Infinity, 0 ]
    ],
    'HUF' : [
        [ 499, 0 ],
        [ 3000, 500 ],
        [ 6000, 1000 ],
        [ 9000, 1500 ],
        [ 12000, 2000 ],
        [ 18000, 3000 ],
        [ 24000, 4000 ],
        [ 30000, 5000 ],
        [ 36000, 6000 ],
        [ 42000, 7000 ],
        [ 48000, 8000 ],
        [ 54000, 9000 ],
        [ 60000, 10000 ],
        [ Infinity, 0 ]
    ],
    'ILS' : [
        [ 9, 0 ],
        [ 10, 5 ],
        [ 60, 10 ],
        [ 90, 15 ],
        [ 120, 20 ],
        [ 180, 30 ],
        [ 240, 40 ],
        [ 300, 50 ],
        [ 360, 60 ],
        [ 420, 70 ],
        [ 480, 80 ],
        [ 540, 90 ],
        [ 600, 100 ],
        [ Infinity, 0 ]
    ],
    'ZAR' : [
        [ 29, 0 ],
        [ 30, 20 ],
        [ 50, 30 ],
        [ 100, 40 ],
        [ 300, 50 ],
        [ 450, 75 ],
        [ 600, 100 ],
        [ 900, 150 ],
        [ 1200, 200 ],
        [ 1500, 250 ],
        [ 1800, 300 ],
        [ 2400, 400 ],
        [ 3000, 500 ],
        [ 3600, 600 ],
        [ Infinity, 0 ]
    ],
    'MYR' : [ // Also RON, PLN
        [ 9, 0 ],
        [ 30, 5 ],
        [ 50, 10 ],
        [ 120, 20 ],
        [ 180, 30 ],
        [ 240, 40 ],
        [ 300, 50 ],
        [ 360, 60 ],
        [ 420, 70 ],
        [ 480, 80 ],
        [ 540, 90 ],
        [ 600, 100 ],
        [ 900, 150 ],
        [ Infinity, 0 ]
    ],
    'DKK' : [
        [ 19, 0 ],
        [ 25, 10 ],
        [ 120, 20 ],
        [ 250, 40 ],
        [ 350, 50 ],
        [ 450, 75 ],
        [ 600, 100 ],
        [ 750, 125 ],
        [ 900, 150 ],
        [ 1200, 200 ],
        [ 1500, 250 ],
        [ 1800, 300 ],
        [ 2100, 350 ],
        [ Infinity, 0 ]
    ],
    'CZK' : [
        [ 49, 0 ],
        [ 180, 30 ],
        [ 300, 50 ],
        [ 600, 100 ],
        [ 900, 150 ],
        [ 1200, 200 ],
        [ 1500, 250 ],
        [ 1800, 300 ],
        [ 2100, 350 ],
        [ 2400, 400 ],
        [ 3000, 500 ],
        [ 3600, 600 ],
        [ 4200, 700 ],
        [ 4800, 800 ],
        [ Infinity, 0 ]
    ],
    'CLP' : [
        [ 1999, 0 ],
        [ 2300, 1000 ],
        [ 2700, 1100 ],
        [ 3300, 1200 ],
        [ 4200, 1300 ],
        [ 5500, 1400 ],
        [ 9000, 1500 ],
        [ 10500, 1700 ],
        [ 16000, 2600 ],
        [ 20800, 3400 ],
        [ 26000, 4200 ],
        [ 31200, 5000 ],
        [ 38400, 6400 ],
        [ 55000, 8500 ],
        [ Infinity, 0 ]
    ],
    'UYU' : [
        [ 99, 0 ],
        [ 120, 50 ],
        [ 170, 65 ],
        [ 220, 70 ],
        [ 320, 75 ],
        [ 480, 85 ],
        [ 520, 90 ],
        [ 750, 125 ],
        [ 1050, 170 ],
        [ 1350, 225 ],
        [ 1600, 250 ],
        [ 1800, 300 ],
        [ 2100, 320 ],
        [ Infinity, 0 ]
    ],
    'PEN' : [
        [ 9, 0 ],
        [ 12, 5 ],
        [ 17, 6 ],
        [ 26, 7 ],
        [ 48, 8 ],
        [ 55, 9 ],
        [ 78, 13 ],
        [ 105, 17 ],
        [ 130, 21 ],
        [ 160, 26 ],
        [ 180, 30 ],
        [ 210, 32 ],
        [ Infinity, 0 ]
    ],
    'COP' : [
        [ 9999, 0 ],
        [ 11300, 5000 ],
        [ 17000, 5200 ],
        [ 22000, 5500 ],
        [ 27000, 5800 ],
        [ 45000, 7500 ],
        [ 55000, 9000 ],
        [ 75000, 12500 ],
        [ 105000, 17000 ],
        [ 120000, 20000 ],
        [ 160000, 25000 ],
        [ 180000, 30000 ],
        [ 250000, 34000 ],
        [ Infinity, 0 ]
    ],
    'BRL' : [
        [ 9, 0 ],
        [ 12, 6 ],
        [ 22, 7 ],
        [ 35, 8 ],
        [ 45, 9 ],
        [ 55, 10 ],
        [ 80, 12 ],
        [ 105, 16 ],
        [ 160, 25 ],
        [ 210, 35 ],
        [ 270, 45 ],
        [ 320, 50 ],
        [ Infinity, 0 ]
    ],
    'MXN' : [
        [ 39, 0 ],
        [ 48, 25 ],
        [ 60, 28 ],
        [ 110, 30 ],
        [ 160, 35 ],
        [ 260, 45 ],
        [ 270, 50 ],
        [ 350, 60 ],
        [ 550, 85 ],
        [ 650, 90 ],
        [ 750, 120 ],
        [ 1500, 160 ],
        [ Infinity, 0 ]
    ]
    
};
frb.amounts.monthlySuggest.GBP = frb.amounts.monthlySuggest.EUR;
frb.amounts.monthlySuggest.CAD = frb.amounts.monthlySuggest.USD;
frb.amounts.monthlySuggest.AUD = frb.amounts.monthlySuggest.USD;
frb.amounts.monthlySuggest.NZD = frb.amounts.monthlySuggest.USD;

frb.amounts.monthlySuggest.RON = frb.amounts.monthlySuggest.MYR;
frb.amounts.monthlySuggest.PLN = frb.amounts.monthlySuggest.MYR;
frb.amounts.monthlySuggest.NOK = frb.amounts.monthlySuggest.SEK;

frb.amounts.test = function() {

    /**
     * Check if amounts are less than minimum acceptable
     * 
     * @param {string}   desc - description for error message e.g. 'amount option' 
     * @param {Object}   dataObject - data to check e.g. frb.amounts.options7
     * @param {Function} extractFunction - function to get test value e.g. d => d[0] for 1st amount
     */
    var testMinimums = function( desc, dataObject, extractFunction = d => d ) {
        const errorMessage = 'Error %s %s %s is less than minimum %s';
        for ( const currency in dataObject ) {
            let data = dataObject[currency].default || dataObject[currency], // need default for some EUR
                value = extractFunction(data),
                minimum = frb.amounts.minimums[currency];
            console.assert( value >= minimum, errorMessage, currency, desc, value, minimum );
        }
    };

    testMinimums( 'if everyone', frb.amounts.ifEveryone, d => d );
    testMinimums( 'average', frb.amounts.averages, d => d );
    testMinimums( 'amount option', frb.amounts.options7, d => d[0] );
    testMinimums( 'monthly suggestion', frb.amounts.monthlySuggest, d => d[1][1] );

};

frb.currencyFormats = {
    'USD' : '$\t',
    'CAD' : {
        'fr' : '$\t',
        'default' : '$\t'
    },
    'AUD' : '$\t',
    'NZD' : '$\t',
    'GBP' : '£\t',
    'EUR' : {
        'en' : '€\t',
        'cy' : '€\t',
        'ga' : '€\t',
        'mt' : '€\t',
        'nl' : '€ \t',
        'lv' : '€ \t',
        'tr' : '€ \t',
        'default' : '\t €'
    },
    // Others
    'CZK' : '\t Kč',
    'DKK' : '\t kr.',
    'HUF' : '\t Ft',
    'ILS' : {
        'he' : '\t ₪',
        'yi' : '\t ₪',
        'ar' : '\t ₪',
        'default' : '₪ \t'
    },
    'INR' : '₹ \t',
    'JPY' : '¥\t',
    'MYR' : 'RM\t',
    'NOK' : '\t kr',
    'PLN' : '\t zł',
    'RON' : '\t lei',
    'SEK' : '\t kr',
    'UAH' : '₴\t',
    'ZAR' : 'R \t',
    // Latin America
    'BRL' : {
        'en' : 'R$\t',
        'default' : 'R$ \t'
    },
    'ARS' : '$\t',
    'CLP' : '$\t',
    'COP' : '$\t',
    'MXN' : '$\t',
    'PEN' : 'S/. \t',
    'UYU' : '$U \t',
    'CHF' : '\t CHF'
};

// Check in user language first, then fall back to English
frb.countryNames = {
    'af' : {
        'ZA' : 'Suid-Afrika'
    },
    'en' : {
        'US' : 'the United States',
        'CA' : 'Canada',
        'GB' : 'the UK',
        'IE' : 'Ireland',
        'AU' : 'Australia',
        'NZ' : 'New Zealand',
        'AR' : 'Argentina',
        'AT' : 'Austria',
        'BE' : 'Belgium',
        'BR' : 'Brazil',
        'CH' : 'Switzerland',
        'CL' : 'Chile',
        'CO' : 'Colombia',
        'CZ' : 'the Czech Republic',
        'DK' : 'Denmark',
        'ES' : 'Spain',
        'FR' : 'France',
        'GR' : 'Greece',
        'HK' : 'Hong Kong',
        'HU' : 'Hungary',
        'IL' : 'Israel',
        'IN' : 'India',
        'IT' : 'Italy',
        'JP' : 'Japan',
        'LU' : 'Luxembourg',
        'LV' : 'Latvia',
        'MX' : 'Mexico',
        'MY' : 'Malaysia',
        'NL' : 'the Netherlands',
        'NO' : 'Norway',
        'PE' : 'Peru',
        'PL' : 'Poland',
        'PT' : 'Portugal',
        'RO' : 'Romania',
        'SE' : 'Sweden',
        'SK' : 'Slovakia',
        'UA' : 'Ukraine',
        'UY' : 'Uruguay',
        'ZA' : 'South Africa'
    },
    'ca' : {
        'AT' : 'd’Àustria',
        'BE' : 'de Bèlgica',
        'DK' : 'de Dinamarca',
        'ES' : 'a Espanya',
        'HU' : 'd’Hongria',
        'IL' : 'd’Israel',
        'LV' : 'de Letònia',
        'LU' : 'de Luxemburg',
        'MY' : 'de Malàisia',
        'NO' : 'de Noruega',
        'PL' : 'de Polònia',
        'PT' : 'de Portugal',
        'RO' : 'de Romania',
        'SK' : 'd’Eslovàquia',
        'ZA' : 'de Sud-àfrica',
        'UA' : 'd’Ucraïna'
    },
    'cs' : {
        'CZ' : 'v České republice',
        'AT' : 'v Rakousku',
        'BE' : 'v Belgii',
        'DK' : 'v Dánsku',
        'GR' : 'v Řecku',
        'IL' : 'v Izraeli',
        'LU' : 'v Lucembursku',
        'MY' : 'v Malajsii',
        'NO' : 'v Norsku',
        'PT' : 'v Portugalsku',
        'SE' : 've Švédsku',
        'ZA' : 'v Jihoafrické republice'
    },
    'es' : {
        'AR' : 'en Argentina',
        'AT' : 'en Austria',
        'BE' : 'en Bélgica',
        'BR' : 'en Brasil',
        'CL' : 'en Chile',
        'CO' : 'en Colombia',
        'DK' : 'en Dinamarca',
        'ES' : 'en España',
        'HU' : 'en Hungría',
        'IL' : 'en Israel',
        'LU' : 'en Luxemburgo',
        'LV' : 'en Letonia',
        'MX' : 'en México',
        'MY' : 'en Malasia ',
        'NO' : 'en Noruega',
        'PE' : 'en Perú',
        'PL' : 'en Polonia',
        'PT' : 'en Portugal',
        'RO' : 'en Rumania',
        'SK' : 'en Eslovaquia',
        'UA' : 'en Ucrania',
        'US' : 'en los Estados Unidos',
        'UY' : 'en Uruguay',
        'ZA' : 'en Sudafrica'
    },
    'da' : {
        'AT' : 'i Østrig',
        'BE' : 'i Belgien',
        'CZ' : 'i Tjekkiet',
        'DK' : 'i Danmark',
        'ES' : 'i Spanien',
        'GR' : 'i Grækenland',
        'HU' : 'i Ungarn',
        'IL' : 'i Israel',
        'LV' : 'i Letland',
        'LU' : 'i Luxembourg',
        'MY' : 'i Malaysia',
        'NO' : 'i Norge',
        'PL' : 'i Polen',
        'PT' : 'i Portugal',
        'RO' : 'i Rumænien',
        'SE' : 'i Sverige',
        'SK' : 'i Slovakiet',
        'ZA' : 'i Sydafrika',
        'UA' : 'i Ukraine'
    },
    'nl' : {
        'NL' : 'in Nederland',
        'AT' : 'in Oostenrijk',
        'BE' : 'in België',
        'DK' : 'in Denemarken',
        'CZ' : 'in Tsjechië',
        'ES' : 'in Spanje',
        'GR' : 'in Griekenland',
        'HU' : 'in Hongarije',
        'IL' : 'in Israël',
        'LV' : 'in Letland',
        'LU' : 'in Luxemburg',
        'MY' : 'in Maleisië',
        'NO' : 'in Noorwegen',
        'PL' : 'in Polen',
        'PT' : 'in Portugal',
        'RO' : 'in Roemenië',
        'SE' : 'in Zweden',
        'SK' : 'in Slowakije',
        'ZA' : 'in Zuid-Afrika',
        'UA' : 'in Oekraïne'
    },
    'fr' : {
        'AT' : 'en Autriche',
        'BE' : 'en Belgique',
        'CH' : 'en Suisse',
        'CA' : 'au Canada',
        'CZ' : 'en République tchèque',
        'DK' : 'au Danemark',
        'ES' : 'en Espagne',
        'FR' : 'en France',
        'GR' : 'en Grèce',
        'HU' : 'en Hongrie',
        'IL' : 'en Israël',
        'LV' : 'en Lettonie',
        'LU' : 'au Luxembourg',
        'MY' : 'en Malaisie',
        'NO' : 'en Norvège',
        'PL' : 'en Pologne',
        'PT' : 'au Portugal',
        'RO' : 'en Roumanie',
        'SE' : 'en Suède',
        'SK' : 'en Slovaquie',
        'ZA' : 'en Afrique du Sud',
        'UA' : 'en Ukraine'
    },
    'de' : {
        'AT' : 'in Österreich',
        'BE' : 'in Belgien',
        'CH' : 'in der Schweiz',
        'CZ' : 'in Tschechien',
        'DK' : 'in Dänemark',
        'ES' : 'in Spanien',
        'GR' : 'in Griechenland',
        'HU' : 'in Ungarn',
        'IL' : 'in Israel',
        'LV' : 'in Lettland',
        'LU' : 'in Luxemburg',
        'MY' : 'in Malaysia',
        'NO' : 'in Norwegen',
        'PL' : 'in Polen',
        'PT' : 'in Portugal',
        'RO' : 'in Rumänien',
        'SE' : 'in Schweden',
        'SK' : 'in der Slowakei',
        'ZA' : 'in Südafrika',
        'UA' : 'in der Ukraine'
    },
    'el' : {
        'AT' : 'στην Αυστρία',
        'BE' : 'στο Βέλγιο',
        'CZ' : 'στην Τσεχία',
        'DK' : 'στη Δανία',
        'ES' : 'στην Ισπανία',
        'GR' : 'στην Ελλάδα',
        'HU' : 'στην Ουγγαρία',
        'IL' : 'στο Ισραήλ',
        'LV' : 'στη Λετονία',
        'LU' : 'στο Λουξεμβούργο',
        'MY' : 'στη Μαλαισία',
        'NO' : 'στη Νορβηγία',
        'PL' : 'στην Πολωνία',
        'PT' : 'στην Πορτογαλία',
        'RO' : 'στη Ρουμανία',
        'SE' : 'στη Σουηδία',
        'SK' : 'στη Σλοβακία',
        'ZA' : 'στη Νότια Αφρική',
        'UA' : 'στην Ουκρανία'
    },
    'he' : {
        'AT' : 'אוסטרליה',
        'BE' : 'בלגיה',
        'CZ' : "בצ'כיה",
        'DK' : 'דנמרק',
        'ES' : 'ספרד',
        'GR' : 'ביוון',
        'HU' : 'הונגריה',
        'IL' : 'ישראל',
        'LV' : 'לטביה',
        'LU' : 'לוקסמבורג',
        'MY' : 'מלזיה',
        'NO' : 'נורווגיה',
        'PL' : 'פולין',
        'PT' : 'פורטוגל',
        'RO' : 'רומניה',
        'SE' : 'בשוודיה',
        'SK' : 'סלובקיה',
        'ZA' : 'דרום אפריקה',
        'UA' : 'אוקראינה'
    },
    'hu' : {
        'AT' : 'ausztriai',
        'BE' : 'belgiumi',
        'DK' : 'dániai',
        'ES' : 'spanyolországi',
        'HU' : 'magyarországi',
        'IL' : 'izraeli',
        'LV' : 'lettországi',
        'LU' : 'luxemburgi',
        'MY' : 'malajziai',
        'NO' : 'norvégiai',
        'PL' : 'lengyelországi',
        'PT' : 'portugáliai',
        'RO' : 'romániai',
        'SK' : 'szlovákiai',
        'ZA' : 'dél-afrikai',
        'UA' : 'ukrajnai'
    },
    'it' : {
        'IT' : 'Italia',
        'CH' : 'Svizzera'
    },
    'lv' : {
        'AT' : 'valstī Austrijā',
        'BE' : 'valstī Beļģijā',
        'DK' : 'valstī Dānijā',
        'ES' : 'valstī Spānijā',
        'HU' : 'valstī Ungārijā',
        'IL' : 'Izraēlas valstī',
        'LV' : 'valstī Latvijā',
        'LU' : 'valstī Luksemburgā',
        'MY' : 'valstī Malaizijā',
        'NO' : 'valstī Norvēģijā',
        'PL' : 'valstī Polijā',
        'PT' : 'valstī Portugālē',
        'RO' : 'valstī Rumānijā',
        'SK' : 'valstī Slovākijā',
        'ZA' : 'Dienvidāfrikas valstī',
        'UA' : 'valstī Ukrainā'
    },
    'nb' : {
        'AT' : 'i Østerrike',
        'BE' : 'i Belgia',
        'CZ' : 'i Tsjekkia',
        'DK' : 'i Danmark',
        'ES' : 'i Spania',
        'GR' : 'i Hellas',
        'HU' : 'i Ungarn',
        'IL' : 'i Israel',
        'LV' : 'i Latvia',
        'LU' : 'i Luxembourg',
        'MY' : 'i Malaysia',
        'NO' : 'i Norge',
        'PL' : 'i Polen',
        'PT' : 'i Portugal',
        'RO' : 'i Romania',
        'SE' : 'i Sverige',
        'SK' : 'i Slovakia',
        'ZA' : 'i Sør-Afrika',
        'UA' : 'i Ukraina'
    },
    'pl' : {
        'AT' : 'w Austrii',
        'BE' : 'w Belgii',
        'DK' : 'w Danii',
        'ES' : 'w Hiszpanii',
        'HU' : 'na Węgrzech',
        'IL' : 'w Izraelu',
        'LV' : 'na Łotwie',
        'LU' : 'w Luksemburgu',
        'MY' : 'w Malezji',
        'NO' : 'w Norwegii',
        'PL' : 'w Polsce',
        'PT' : 'w Portugalii',
        'RO' : 'w Rumunii',
        'SK' : 'na Słowacji',
        'ZA' : 'w Republice Południowej Afryki',
        'UA' : 'na Ukrainie'
    },
    'pt' : {
        'AT' : 'na Áustria',
        'BE' : 'na Bélgica',
        'BR' : 'no Brasil',
        'CZ' : 'na República Checa',
        'DK' : 'na Dinamarca',
        'ES' : 'na Espanha',
        'GR' : 'na Grécia',
        'HU' : 'na Hungria',
        'IL' : 'em Israel',
        'LV' : 'na Letónia',
        'LU' : 'no Luxemburgo',
        'MY' : 'na Malásia',
        'NO' : 'na Noruega',
        'PL' : 'na Polónia',
        'PT' : 'em Portugal',
        'RO' : 'na Roménia',
        'SE' : 'na Suécia',
        'SK' : 'na Eslováquia',
        'ZA' : 'na África do Sul',
        'UA' : 'na Ucrânia'
    },
    'ro' : {
        'AT' : 'din Austria',
        'BE' : 'din Belgia',
        'DK' : 'din Danemarca',
        'ES' : 'în Spania',
        'HU' : 'din Ungaria',
        'IL' : 'din Israel',
        'LV' : 'din Latvia',
        'LU' : 'din Luxemburg',
        'MY' : 'din Malaezia',
        'NO' : 'din Norvegia',
        'PL' : 'din Polonia',
        'PT' : 'din Portugalia',
        'RO' : 'din România',
        'SK' : 'din Slovacia',
        'ZA' : 'din Africa de Sud',
        'UA' : 'din Ucraina'
    },
    'ru' : {
        'AT' : 'в Австрии',
        'BE' : 'в Бельгии',
        'DK' : 'в Дании',
        'ES' : 'в Испании',
        'HU' : 'в Венгрии',
        'IL' : 'в Израиле',
        'LV' : 'в Латвии',
        'LU' : 'в Люксембурге',
        'MY' : 'в Малайзии',
        'NO' : 'в Норвегии',
        'PL' : 'в Польше',
        'PT' : 'в Португалии',
        'RO' : 'в Румынии',
        'SK' : 'в Словакии',
        'ZA' : 'в Южной Африке',
        'UA' : 'в Украине'
    },
    'sk' : {
        'AT' : 'v Rakúsku',
        'BE' : 'v Belgicku',
        'DK' : 'v Dánsku',
        'ES' : 'v Španielsku',
        'HU' : 'v Maďarsku',
        'IL' : 'v Izraeli',
        'LV' : 'v Lotyšsku',
        'LU' : 'v Luxembursku',
        'MY' : 'v Malajzii',
        'NO' : 'v Nórsku',
        'PL' : 'v Poľsku',
        'PT' : 'v Portugalsku',
        'RO' : 'v Rumunsku',
        'SK' : 'na Slovensku',
        'ZA' : 'v Juhoafrickej republike',
        'UA' : 'na Ukrajine'
    },
    'sv' : {
        'SE' : 'i Sverige',
        'AT' : 'i Österrike',
        'BE' : 'i Belgien',
        'CZ' : 'i Tjeckien',
        'DK' : 'i Danmark',
        'ES' : 'i Spanien',
        'GR' : 'i Grekland',
        'HU' : 'i Ungern',
        'IL' : 'i Israel',
        'LV' : 'i Lettland',
        'LU' : 'i Luxemburg',
        'MY' : 'i Malaysia',
        'NO' : 'i Norge',
        'PL' : 'i Polen',
        'PT' : 'i Portugal',
        'RO' : 'i Rumänien',
        'SK' : 'i Slovakien',
        'ZA' : 'i Sydafrika',
        'UA' : 'i Ukraina'
    },
    'uk' : {
        'AT' : 'у Австрії',
        'BE' : 'у Бельгії',
        'DK' : 'у Данії',
        'ES' : 'в Іспанії',
        'HU' : 'в Угорщині',
        'IL' : 'в Ізраїлі',
        'LV' : 'у Латвії',
        'LU' : 'у Люксембургу',
        'MY' : 'у Малайзії',
        'NO' : 'у Норвегії',
        'PL' : 'у Польщі',
        'PT' : 'у Португалії',
        'RO' : 'у Румунії',
        'SK' : 'у Словаччині',
        'ZA' : 'у ПАР',
        'UA' : 'в Україні'
    }
};

/* 
Most of the translations are actually using "in COUNTRY" or similar to account for grammar differences.
So this makes English do the same, and allows us to use a clearer %in-country% variable, while avoiding
breaking old content using %country%.
*/
frb.inCountryNames = JSON.parse( JSON.stringify( frb.countryNames ) ); // deep copy
frb.inCountryNames.en = {
    'US' : 'in the United States',
    'CA' : 'in Canada',
    'GB' : 'in the UK',
    'IE' : 'in Ireland',
    'AU' : 'in Australia',
    'NZ' : 'in New Zealand',
    'AR' : 'in Argentina',
    'AT' : 'in Austria',
    'BE' : 'in Belgium',
    'BR' : 'in Brazil',
    'CH' : 'in Switzerland',
    'CL' : 'in Chile',
    'CO' : 'in Colombia',
    'CZ' : 'in the Czech Republic',
    'DK' : 'in Denmark',
    'ES' : 'in Spain',
    'FR' : 'in France',
    'GR' : 'in Greece',
    'HK' : 'in Hong Kong',
    'HU' : 'in Hungary',
    'IL' : 'in Israel',
    'IN' : 'in India',
    'IT' : 'in Italy',
    'JP' : 'in Japan',
    'LU' : 'in Luxembourg',
    'LV' : 'in Latvia',
    'MX' : 'in Mexico',
    'MY' : 'in Malaysia',
    'NL' : 'in the Netherlands',
    'NO' : 'in Norway',
    'PE' : 'in Peru',
    'PL' : 'in Poland',
    'PT' : 'in Portugal',
    'RO' : 'in Romania',
    'SE' : 'in Sweden',
    'SK' : 'in Slovakia',
    'UA' : 'in Ukraine',
    'UY' : 'in Uruguay',
    'ZA' : 'in South Africa'
};

frb.dayNames = {
    'en' : [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],
    'ca' : [ 'diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte' ],
    'ja' : [ '日', '月', '火', '水', '木', '金', '土' ],
    'es' : [ 'domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado' ],
    'sv' : [ 'söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag' ],
    'da' : [ 'søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag' ],
    'nb' : [ 'søndagen', 'mandagen', 'tirsdagen', 'onsdagen', 'torsdagen', 'fredagen', 'lørdagen' ],
    'it' : [ 'domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato' ],
    'nl' : [ 'zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag' ],
    'fr' : [ 'dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi' ],
    'de' : [ 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag' ],
    'he' : [ 'ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת' ],
    'lv' : [ 'svētdienā', 'pirmdienā', 'otrdienā', 'trešdienā', 'ceturtdienā', 'piektdienā', 'sestdienā' ],
    'pl' : [ 'niedzielę', 'poniedziałek', 'wtorek', 'środę', 'czwartek', 'piątek', 'sobotę' ],
    'pt' : [ 'neste domingo', 'nesta segunda-feira', 'nesta terça-feira', 'nesta quarta-feira', 'nesta  quinta-feira', 'nesta sexta-feira', 'neste sábado' ],
    'ru' : [ 'воскресенье', 'понедельник', 'вторник', 'среду', 'четверг', 'пятницу', 'субботу' ],
    'uk' : [ 'неділі', 'понеділка', 'вівторка', 'середи', 'четверга', 'п’ятниц', 'суботи' ],
    'hu' : [ 'vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat' ],
    'ro' : [ 'duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă' ],
    'af' : [ 'Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag' ],
    'aa' : [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ]
};

// "This fooday" translations. Needed for some languages where gender varies and "this" must agree
frb.dayNamesThis = {
    'en' : [ 'this Sunday', 'this Monday', 'this Tuesday', 'this Wednesday', 'this Thursday', 'this Friday', 'this Saturday' ],
    'el' : [ 'Αυτήν την	Κυριακή', 'Αυτή τη Δευτέρα', 'Αυτήν την	Τρίτη', 'Αυτήν την Τετάρτη', 'Αυτήν την	Πέμπτη', 'Αυτήν την Παρασκευή', 'Αυτό το Σάββατο' ],
    'jp' : [ 'この日曜日', 'この月曜日', 'この火曜日', 'この水曜日', 'この木曜日', 'この金曜日', 'この土曜日' ],
    'it' : [ 'questa domenica', 'questo lunedì', 'questo martedì', 'questo mercoledì', 'questo giovedì', 'questo venerdì', 'questo sabato'],
    'pl' : [ 'w tę niedzielę', 'w ten poniedziałek', 'w ten wtorek', 'w tę środę', 'w ten czwartek', 'w ten piątek', 'w tę sobotę' ],
    'ru' : [ 'в это воскресенье', 'в этот понедельник', 'в этот вторник', 'в эту среду', 'в этот четверг', 'в эту пятницу', 'в эту субботу' ],
    'uk' : [ 'цієї неділі', 'цього понеділка', 'цього вівторка', 'цієї середи', 'цього четверга', 'цієї п’ятниці', 'цієї суботи' ],
    'pt' : [ 'este domingo', 'esta segunda-feira', 'esta terça-feira', 'esta quarta-feira', 'esta quinta-feira', 'esta sexta-feira', 'este sábado'],
    'sk' : [ 'túto nedeľu', 'tento pondelok', 'tento utorok', 'túto stredu', 'tento štvrtok', 'tento piatok', 'túto sobotu'],
    'cs' : [ 'tuto neděli', 'toto pondělí', 'toto úterý', 'tuto středu', 'tento čtvrtek', 'tento pátek', 'tuto sobotu']
};

frb.iPadTranslations = {
    'en' : 'iPad'
};