const lang = {
    en: {
        _code: 'en',
        playground: 'ProNature Playground',
        workshop: 'ProNature Workshop',
        createGameObject: 'Add game object',
        editGameObject: 'Edit game object',
        createGame: 'Add game',
        editGame: 'Edit game',
        name: 'Name',
        id: 'Identifier',
        description: 'Description',
        tags: 'Tags',
        search: 'Search',
        fieldRequired: 'Field is required',
        objectType: 'Object type',
        objectFile: 'File',
        panorama2d: 'Panorama picture',
        environment3d: 'Terrain/environment',
        object3d: '3D object',
        object2d: '2D object (picture)',
        audio: 'Audio',
        video: 'Video',
        player3d: 'Player',
        save: 'Save',
        saveAndPreview: 'Save and preview',
        preview: 'Preview',
        captureThumbnail: 'Save thumbnail',
        publish: 'Publish',
        close: 'Close',
        group: 'Group',
        order: 'Order',
        gameObjects: 'Objects',
        gameObjectType: 'Game object type',
        activationConditions: 'Activation conditions',
        activatoinType: 'Activation type',
        activationTypes:{
            unlock: 'Unlock',
            appear: 'Appear',
        },
        switchToScene: 'Switch to scene',
        switchType:'Switch type',
        switchTypes:{
            award: 'Award',
            sphere: 'Sphere',
            sensor: 'Sensor',
        },
        end: 'The End',
        completionPoints: 'Completion points',
        completionElements: 'Following elements should be completed',
        minActivationScore: 'Minimum level score for activation',
        viewInHUD: 'Observe in head-up display',
        disableInteractions: 'Disable interactions',
        collisionType: 'Collision type',
        collisionTypes: {
            no: 'No collisions',
            basic: 'Basic (sphere around object)',
            objectDefinied: 'Defined in object',
            advanced: 'Complex (not implemented)'
        },
        dimensions: 'Dimensions',
        elementsCount: 'Number of elements',
        particleWidth: 'Particle width',
        particleHeight: 'Particle height',
        areaWidth: 'Area width',
        areaLength: 'Area length',
        chooseImage: 'Choose image',
        chooseGameObject: 'Choose game object',
        chooseVideoObject: 'Choose video object',
        selectCharacter: 'Select character',
        selectEnvironment: 'Select environment',
        selectScene: 'Select terrain/scene',
        selectIntroduction: 'Select introduction video',
        selectAmbientSound: 'Select ambient music',
        width: 'Width',
        maxWidth: 'Max width',
        height: 'Height',
        text: 'Text',
        question: 'Question',
        addQuestion: 'Add question',
        manageQuestions: 'Manage questions',
        shuffleQuestions: 'Shuffle questions',
        correctAnswer: 'Correct answer',
        correctAnswerPoints: 'Points for correct answer',
        wrongAnswer: 'Wrong answer',
        wrongAnswerPenalty: 'Penalty for wrong answer (-points)',
        wrongAnswerHint: 'Wrong answer hint',
        visualStyle: 'Visual style',
        gameScenarios: 'Scenarios',
        gameRules: 'Rules',
        gameDesigner: 'Studio',
        gameDirector: 'Directing',
        games: 'Games',
        play: 'Play',
        darkMode: 'Dark mode',
        confirmDeletionOf: 'Confirm deletion of',
        yes: 'Yes',
        no: 'No',
        scenario: 'Scenario',
        createScenario: 'Create scenario',
        editScenario: 'Edit scenario',
        editScenes: 'Edit scenes',
        addScene: 'Add scene',
        addTask: 'Add task',
        date: 'Date modified',
        update: 'Update',
        signin: 'Sign in',
        signup: 'Sign up',
        signupSuccess: 'Successful sign-up',
        profile: 'Profile',
        'reset-password': 'Reset password',
        'change-password': 'Change password',
        signout: 'Sign out',
        faq: 'Help',
        email:'E-mail',
        passwordChange: 'Change password',
        password:'Password',
        passwordRetype: 'Password (confirm)',
        passwordCurrent: 'Your current password',
        passwordForgotten: 'Forgotten password',
        recoveryMailSent: 'Password reset mail was sent. Please check your e-mail.',
        confirmCaptcha: 'Enter the text you see',
        'validate-email': 'E-mail validation',
        emailValidated: 'Your e-mail address was successfully validated.',
        validationMailContent: v1 => `Activation link: <a href="${v1}">${v1}</a>`,
        validationMailSent: 'Activation link was sent.',
        forgottenPassMailContent: v1 => `Recover your account by following this link: <a href="${v1}">${v1}</a>`,
        emailNotValidated: 'This email is not validated',
        resendValidationMail: 'Resend verification e-mail',
        displayName:'Display Name',
        firstName:'First Name',
        lastName:'Last Name',
        fullScreen: 'Full screen',
        interactiveObjects:{
            GenericObject: 'Generic object',
            CharacterObject: 'Character',
            PuzzleGame1: 'Puzzle Game 1',
            PuzzleGame2: 'Puzzle Game 2',
            MazeQuizGame: 'Maze Quiz Game',
            ClassicPuzzle: 'Classic Puzzle Game',
            PairMatchingGame: 'Pair Matching Game',
            SingleQuestion: 'Single Question',
            VideoPlayer: 'Video Player',
            TextObject: 'Text',
            ImageObject: 'Image',
            Particles: 'Particles',
            SceneSwitcher: 'Scene Switcher',
            Teleporter: 'Teleporter',
        },
        errors:{
            unauthorized: 'Unauthorized',
            notFound: 'Object not found',
            noReadPermissions: 'You don\'t have access to this content',
            noEditPermissions:'Missing edit permissions',
            noCreatePermissions:'Missing create permissions',
            noDeletePermissions:'Missing delete permissions',
            noPermissions: 'No permissions',
            ftsUnavailable: 'Full text search service is not available',
            systemReadOnly: 'Request rejected. The system is in read-only mode.',
            invalidEmail: 'Invalid email',
            emailExists: 'This email is already registered',
            invalidPassword: 'Invalid password',
            invalidUsername: 'Invalid username',
            passwordMismatch: 'Password mismatch',
            invalidCaptcha: 'Invalid captcha',
            invalidValidationLink: 'Invalid/inactive validation link',
            activationLinkExpired: 'Activation link has expired',
            invalidActivationLink: 'Invalid activation link',
            objectUpdateCollision: 'Save failed. Object was altered by another user. Please refresh the page.'
        },
    },
    bg: {
        _code: 'bg',
        playground: 'ProNature игрище',
        workshop: 'ProNature работилница',
        createGameObject: 'Добавяне на игрови обект',
        editGameObject: 'Редактиране на игрови обект',
        createGame: 'Добавяне на игра',
        editGame: 'Редактиране на игра',
        name: 'Име',
        id: 'Идентификатор',
        description: 'Описание',
        tags: 'Етикети',
        search: 'Търсене',
        fieldRequired: 'Полето е задължително',
        objectType: 'Тип обект',
        objectFile: 'Файл',
        panorama2d: 'Панорамна снимка',
        environment3d: 'Терен / Околна среда',
        object3d: 'Триизмерен обект',
        object2d: 'Двумерен обект (изображение)',
        audio: 'Аудио',
        video: 'Видео',
        player3d: 'Играч',
        save: 'Запис',
        saveAndPreview: 'Запис и преглед',
        preview: 'Преглед',
        captureThumbnail: 'Save thumbnail',
        publish: 'Публикуване',
        close: 'Затвори',
        group: 'Група',
        order: 'Поредност',
        gameObjects: 'Игрови обекти',
        gameObjectType: 'Тип игрови обект',
        activationConditions: 'Условия за активиране',
        activatoinType: 'Начин на активиране',
        activationTypes:{
            unlock: 'Отключване',
            appear: 'Появяване',
        },
        switchToScene: 'Преминаване към сцена',
        switchType:'Тип преминаване',
        switchTypes:{
            award: 'Награда',
            sphere: 'Сфера',
            sensor: 'Преминаване',
        },
        end: 'Край',
        completionPoints: 'Брой точки',
        completionElements: 'Изпълнени елементи преди активиране',
        minActivationScore: 'Минимален брой точки за активиране',
        viewInHUD: 'Показване в HUD (head-up display)',
        disableInteractions: 'Без взаимодействия',
        collisionType: 'Тип колизии',
        collisionTypes: {
            no: 'Без',
            basic: 'Базови (сфера около обекта)',
            objectDefinied: 'От дефиницията на обекта',
            advanced: 'С голяма точност (not implemented)'
        },
        dimensions: 'Размери',
        elementsCount: 'Брой елементи',
        particleWidth: 'Ширина на частиците',
        particleHeight: 'Височина на частиците',
        areaWidth: 'Ширина на площта',
        areaLength: 'Дължина на площта',
        chooseImage: 'Избери изображение',
        chooseGameObject: 'Избери игрови обект',
        chooseVideoObject: 'Избери видео обект',
        selectCharacter: 'Избери герой',
        selectEnvironment: 'Избери околна среда',
        selectScene: 'Избери терен/сцена',
        selectIntroduction: 'Избери въвеждащо видео',
        selectAmbientSound: 'Избери фонова музика',
        width: 'Ширина',
        maxWidth: 'Максимална ширина',
        height: 'Височина',
        text: 'Текст',
        question: 'Въпрос',
        addQuestion: 'Добавяне на въпрос',
        manageQuestions: 'Въвеждане на въпросите',
        shuffleQuestions: 'Разбъркване на въпросите',
        correctAnswer: 'Правилен отговор',
        correctAnswerPoints: 'Точки за правилен отговор',
        wrongAnswer: 'Грешен отговор',
        wrongAnswerPenalty: 'Наказание за грешен отговор (-точки)',
        wrongAnswerHint: 'Подсказка при грешен отговор',
        visualStyle: 'Визия',
        gameScenarios: 'Сценарии',
        gameRules: 'Правила',
        gameDesigner: 'Студио',
        gameDirector: 'Режисура',
        games: 'Игри',
        play: 'Играй',
        darkMode: 'Тъмен режим',
        confirmDeletionOf: 'Потвърдете изтриването на',
        yes: 'Да',
        no: 'Не',
        scenario: 'Сценарий',
        createScenario: 'Създаване на сценарий',
        editScenario: 'Редактиране на сценарий',
        editScenes: 'Редактиране на сцени',
        addScene: 'Добавяне на сцена',
        addTask: 'Добавяне на задача',
        date: 'Промяна',
        update: 'Обнови',
        signin: 'Вход',
        signup: 'Регистрация',
        signupSuccess: 'Успешна регистрация',
        profile: 'Профил',
        'reset-password': 'Възстановяване на парола',
        'change-password': 'Промяна на парола',
        signout: 'Изход',
        faq: 'Помощ',
        email:'Имейл',
        passwordChange: 'Смяна на парола',
        password:'Парола',
        passwordRetype:'Парола (отново)',
        passwordCurrent: 'Текуща парола',
        passwordForgotten: 'Забравена парола',
        recoveryMailSent: 'На посочения от Вас адрес е изпратен мейл за възстановяване на парола',
        confirmCaptcha: 'Въведете текста от картинката',
        'validate-email': 'Валидиране на имейл',
        emailValidated: 'Вашият имейл е валидиран.',
        validationMailContent: v1 => `Линк за активиране: <a href="${v1}">${v1}</a>`,
        validationMailSent: 'На посочената поща е изпратен линк за активиране',
        forgottenPassMailContent: v1 => `Линк за възстановяване на парола: <a href="${v1}">${v1}</a>`,
        emailNotValidated: 'Този имейл не е валидиран',
        resendValidationMail: 'Повторно изпращане на имейл за верификация',
        displayName:'Псевдоним',
        firstName:'Име',
        lastName:'Фамилия',
        fullScreen: 'Цял екран',
        interactiveObjects:{
            GenericObject: 'Стандартен 3D обект',
            CharacterObject: 'Герой',
            PuzzleGame1: 'Пъзел игра 1',
            PuzzleGame2: 'Пъзел игра 2',
            MazeQuizGame: 'Лабиринт от въпроси',
            ClassicPuzzle: 'Класически пъзел',
            PairMatchingGame: 'Игра за съпоставяне на двойки',
            SingleQuestion: 'Единичен въпрос',
            VideoPlayer: 'Видео обект',
            TextObject: 'Текст',
            ImageObject: 'Изображение',
            Particles: 'Частици',
            SceneSwitcher: 'Превключвател на сцени',
            Teleporter: 'Телепортатор'
        },
        errors:{
            unauthorized: 'Отказан достъп',
            notFound: 'Обектът не е намерен',
            noReadPermissions: 'Нямате достъп до това съдържание',
            noEditPermissions:'Нямате права за редакция на този обект',
            noCreatePermissions:'Нямате права за създаване на обект',
            noDeletePermissions:'Нямате права за изтриване на този обект',
            noPermissions: 'Нямате права',
            ftsUnavailable: 'Услугата за пълнотекстово търсене не е налична',
            systemReadOnly: 'Записът е отказан. Системата работи в read-only режим.',
            invalidEmail: 'Невалиден имейл',
            emailExists: 'Този имейл вече е регистриран',
            invalidPassword: 'Грешна парола',
            invalidUsername: 'Грешно потребителско име',
            passwordMismatch: 'Паролите не съвпадат',
            invalidCaptcha: 'Невалиден текст от картинката',
            invalidValidationLink: 'Невалиден линк за валидация',
            activationLinkExpired: 'Изтекъл линк за активация',
            invalidActivationLink: 'Невалиден линк за активация',
            objectUpdateCollision: 'Неуспешен запис. Обектът е бил редактиран от друг потребител. Моля опресенете страницата.'
        },
    },
}

import { ref } from 'vue';

export default {
    install: (app, options) => {
        // inject a globally available $translate() method
        app.config.globalProperties.$lang = ref('bg');
        // app.config.globalProperties.$l = computed(()=>lang[app.config.globalProperties.$lang]);
        app.mixin({
            data(){
                return {
                    
                }
            },
            created(){

            },
            computed:{
                lang:{
                    get(){
                        return app.config.globalProperties.$lang.value
                    },
                    set(v){
                        app.config.globalProperties.$lang.value = v
                    }
                },
                l(){
                    return lang[this.lang];
                }
            }
        })
    },
}