"use strict";

(function() {
    var babel = {};
    babel.catalog = {
    "": "Project-Id-Version: PROJECT VERSION\nReport-Msgid-Bugs-To: EMAIL@ADDRESS\nPOT-Creation-Date: 2024-02-09 09:12+0200\nPO-Revision-Date: 2023-07-28 16:55+0300\nLast-Translator: FULL NAME <EMAIL@ADDRESS>\nLanguage: uk\nLanguage-Team: uk <LL@li.org>\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\nMIME-Version: 1.0\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit\nGenerated-By: Babel 2.9.1\n"
};

    /**
     * Formats text using Python-style formatting specifiers.
     * This function supports strings, integers and floats.
     * @param {string} text - The text
     * @param {object} variables - An object containing the variables for the
     *                 specifiers.
     * @return {string}
     */
    babel.format = function(text, variables) {
        if (typeof variables !== "object") {
            variables = {};
        }

        return text.replace(
            /%\(([a-zA-Z0-9]\w*)\)(\d+)?([a-z])/g,
            function(match, fname, length, type) {
                if (!(fname in variables) || !variables.hasOwnProperty(fname))
                    throw new Error(
                        "Format variable " + fname + " doesn't exist!"
                    );

                var v = variables[fname];
                var output = "";

                if (type === "d") {
                    v = "" + (v|0);
                } else if (type === "f") {
                    v = "" + (+v);
                } else if (type === "s") {
                    v = "" + v;
                } else {
                    throw new Error("Unknown formatting specifier " + type);
                }

                if (length && v.length < length|0) {
                    if (length.charAt(0) === "0" &&
                        (type === "d" || type === "f")) {
                        output += Array((length|0) - v.length).join("0");
                    } else {
                        output += Array((length|0) - v.length).join(" ");
                    }
                }

                output += v;
                return output;
            }
        );
    };

    /**
     * Get some text translated in the current language.
     * @param {string} text - The text
     * @param {object} variables - An object containing the variables for
     *                 formatting.
     * @return {string}
     */
    babel.gettext = function(text, variables) {
        if ((text in babel.catalog) && babel.catalog.hasOwnProperty(text)) {
            return babel.format(babel.catalog[text], variables);
        } else {
            return babel.format(text, variables);
        }
    };

    /**
     * Get some pluralized text translated in the current language.
     * @param {string} text - The text
     * @param {string} plural_text - The text for plural
     * @param {number} n - The amount of items, determines plurality
     * @param {object} variables - An object containing the variables for
     *                 formatting.
     * @return {string}
     */
    babel.ngettext = function(text, text_plural, n, variables) {
        var p;
        if (babel.plural) {
            p = babel.plural(n);
        } else {
            p = p === 1 ? 0 : 1;
        }

        if ((text in babel.catalog) && babel.catalog.hasOwnProperty(text)) {
            return babel.format(babel.catalog[text][p], variables);
        } else {
            return babel.format([text, text_plural][p], variables);
        }
    };
    babel.plural = function(n) { return ((n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)); }

    window.babel = babel;
    window.gettext = babel.gettext;
    window.ngettext = babel.ngettext;
    window._ = babel.gettext;
})();