diff --git a/Dockerfile b/Dockerfile index 3bc52d4..b7d195c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,32 +4,17 @@ FROM php:8.0.5-fpm-alpine # Set working directory to /var/www/html WORKDIR /var/www/html -# Update packages -RUN apk upgrade --no-cache - -# Install SQLite3 and its dependencies -RUN apk add --no-cache sqlite-dev \ - && docker-php-ext-install pdo pdo_sqlite \ - && docker-php-ext-enable pdo pdo_sqlite - -# Install additional PHP extensions and dependencies -RUN apk add --no-cache libpng libpng-dev libjpeg-turbo libjpeg-turbo-dev freetype freetype-dev curl autoconf libgomp icu-dev \ - && docker-php-ext-configure gd --with-freetype --with-jpeg \ - && docker-php-ext-install -j$(nproc) gd \ - && docker-php-ext-install intl - -# Install Imagick extension -RUN apk add --no-cache imagemagick imagemagick-dev \ - && apk add --no-cache --virtual .build-deps $PHPIZE_DEPS \ - && pecl install imagick \ - && docker-php-ext-enable imagick \ - && apk del .build-deps - -# Install Nginx and Cron -RUN apk add --no-cache nginx \ - && apk add --no-cache dcron - -RUN apk add --no-cache tzdata +# Update packages and install dependencies +RUN apk upgrade --no-cache && \ + apk add --no-cache sqlite-dev libpng libpng-dev libjpeg-turbo libjpeg-turbo-dev freetype freetype-dev curl autoconf libgomp icu-dev nginx dcron tzdata imagemagick imagemagick-dev && \ + docker-php-ext-install pdo pdo_sqlite && \ + docker-php-ext-enable pdo pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ + docker-php-ext-install -j$(nproc) gd intl && \ + apk add --no-cache --virtual .build-deps $PHPIZE_DEPS && \ + pecl install imagick && \ + docker-php-ext-enable imagick && \ + apk del .build-deps # Copy your PHP application files into the container COPY . . @@ -41,29 +26,20 @@ COPY nginx.default.conf /etc/nginx/http.d/default.conf # Copy the custom crontab file COPY cronjobs /etc/cron.d/cronjobs -# Convert the line endings -RUN dos2unix /etc/cron.d/cronjobs - -# Allow read access to the cron file -RUN chmod 0644 /etc/cron.d/cronjobs -RUN /usr/bin/crontab /etc/cron.d/cronjobs - -# Create cron log folder -RUN mkdir /var/log/cron - -# Change ownership and permissions for SQLite database -RUN chown -R www-data:www-data /var/www/html - -RUN chmod +x /var/www/html/startup.sh - -# SETUP PHP-FPM CONFIG SETTINGS (max_children / max_requests) -RUN echo 'pm.max_children = 15' >> /usr/local/etc/php-fpm.d/zz-docker.conf && \ +# Convert the line endings, allow read access to the cron file, and create cron log folder +RUN dos2unix /etc/cron.d/cronjobs && \ + chmod 0644 /etc/cron.d/cronjobs && \ + /usr/bin/crontab /etc/cron.d/cronjobs && \ + mkdir /var/log/cron && \ + chown -R www-data:www-data /var/www/html && \ + chmod +x /var/www/html/startup.sh && \ + echo 'pm.max_children = 15' >> /usr/local/etc/php-fpm.d/zz-docker.conf && \ echo 'pm.max_requests = 500' >> /usr/local/etc/php-fpm.d/zz-docker.conf # Expose port 80 for Nginx EXPOSE 80 -ARG SOFTWARE_VERSION=1.0.0 +ARG SOFTWARE_VERSION=1.0.1 # Start both PHP-FPM, Nginx -CMD ["sh", "-c", "/var/www/html/startup.sh"] \ No newline at end of file +CMD ["sh", "-c", "/var/www/html/startup.sh"] diff --git a/includes/i18n/languages.php b/includes/i18n/languages.php index a2d1659..3718577 100644 --- a/includes/i18n/languages.php +++ b/includes/i18n/languages.php @@ -13,6 +13,8 @@ "pl" => "Polski", "pt" => "Português", "pt_br" => "Português Brasileiro", + "sr" => "Српски", + "sr_lat" => "Srpski", "tr" => "Türkçe", "zh_cn" => "简体中文", "zh_tw" => "繁體中文", diff --git a/includes/i18n/sr.php b/includes/i18n/sr.php new file mode 100644 index 0000000..875f41d --- /dev/null +++ b/includes/i18n/sr.php @@ -0,0 +1,228 @@ + "Морате креирати налог пре него што можете пријавити", + 'username' => "Корисничко име", + 'password' => "Лозинка", + "email" => "И-пошта", + "confirm_password" => "Потврди лозинку", + "main_currency" => "Главна валута", + "language" => "Језик", + "passwords_dont_match" => "Лозинке се не поклапају", + "registration_failed" => "Регистрација није успела, покушајте поново.", + "register" => "Региструј се", + // Страница за пријаву + 'please_login' => "Молимо вас да се пријавите", + 'stay_logged_in' => "Остани пријављен (30 дана)", + 'login' => "Пријави се", + 'login_failed' => "Подаци за пријаву нису исправни", + // Header + 'subscriptions' => "Претплате", + 'stats' => "Статистике", + 'settings' => "Подешавања", + 'about' => "О апликацији", + 'logout' => "Одјава", + // Страница са претплатама + "subscription" => "Претплата", + "no_subscriptions_yet" => "Још увек немате ниједну претплату", + "add_first_subscription" => "Додајте прву претплату", + 'new_subscription' => "Нова претплата", + 'search' => "Претрага", + 'sort' => "Сортирај", + 'name' => "Назив", + 'last_added' => "Последње додато", + 'price' => "Цена", + 'next_payment' => "Следећа уплата", + 'inactive' => "Онемогући претплату", + 'member' => "Члан", + 'category' => "Категорија", + 'payment_method' => "Начин плаћања", + "Daily" => "Дневно", + "Weekly" => "Недељно", + "Monthly" => "Месечно", + "Yearly" => "Годишње", + "daily" => "дана", + "weekly" => "недеља", + "monthly" => "месеци", + "yearly" => "година", + "days" => "дана", + "weeks" => "недеља", + "months" => "месеци", + "years" => "године", + "external_url" => "Посети спољни URL", + "empty_page" => "Празна страница", + "clear_filters" => "Очисти филтере", + "no_matching_subscriptions" => "Нема подударајућих претплата", + // Форма за претплату + "add_subscription" => "Додај претплату", + "edit_subscription" => "Уреди претплату", + "subscription_name" => "Назив претплате", + "logo_preview" => "Преглед логотипа", + "search_logo" => "Претражи логотип на интернету", + "web_search" => "Интернет претрага", + "currency" => "Валута", + "payment_every" => "Плаћање сваког", + "frequency" => "Фреквенција", + "cycle" => "Циклус", + "next_payment" => "Следећа уплата", + "payment_method" => "Начин плаћања", + "no_category" => "Без категорије", + "paid_by" => "Плаћено од", + "url" => "URL", + "notes" => "Напомене", + "enable_notifications" => "Омогући обавештења за ову претплату", + "delete" => "Обриши", + "cancel" => "Откажи", + "upload_logo" => "Постави логотип", + // Страница са статистикама + 'general_statistics' => "Опште статистике", + 'active_subscriptions' => "Активне претплате", + 'inactive_subscriptions' => "Неактивне претплате", + 'monthly_cost' => "Месечни трошак", + 'yearly_cost' => "Годишњи трошак", + 'average_monthly' => "Просечни месечни трошак претплате", + 'most_expensive' => "Најскупља претплата", + 'amount_due' => "Износ за уплату овог месеца", + 'monthly_savings' => "Месечне уштеде (на неактивним претплатама)", + 'split_views' => "Подељени прикази", + 'category_split' => "Подела по категоријама", + 'household_split' => "Подела по домаћинству", + 'payment_method_split' => "Подела по начинима плаћања", + // Страница о апликацији + 'about_and_credits' => "О апликацији и заслугама", + 'license' => "Лиценца", + 'issues_and_requests' => "Проблеми и захтеви", + 'the_author' => "Аутор", + 'icons' => "Иконе", + 'payment_icons' => "Иконе плаћања", + // Страница са подешавањима + 'upload_avatar' => "Постави аватар", + 'file_type_error' => "Датотека није у подржаном формату.", + 'user_details' => "Кориснички детаљи", + "household" => "Домаћинство", + "save_member" => "Сачувај члана", + "delete_member" => "Обриши члана", + "cant_delete_member" => "Главни члан не може бити обрисан", + "cant_delete_member_in_use" => "Члана који се користи у претплати не може бити обрисан", + 'household_info' => "Поље за е-пошту омогућава члановима домаћинства да буду обавештени о претплатама које ће ускоро истећи.", + "notifications" => "Обавештења", + "enable_email_notifications" => "Омогући обавештења е-поштом", + "notify_me" => "Обавести ме", + "day_before" => "дан пре", + "days_before" => "дана пре", + "smtp_address" => "SMTP адреса", + "port" => "Порт", + "tls" => "TLS", + "ssl" => "SSL", + "smtp_username" => "SMTP корисничко име", + "smtp_password" => "SMTP лозинка", + "from_email" => "Од е-поште (Опционо)", + "smtp_info" => "SMTP лозинка се преноси и чува у обичном тексту. Из сигурносних разлога, молимо вас да направите налог само за ово.", + "categories" => "Категорије", + "save_category" => "Сачувај категорију", + "delete_category" => "Избриши категорију", + "cant_delete_category_in_use" => "Категорија која се користи у претплати не може бити избрисана", + "currencies" => "Валуте", + "save_currency" => "Сачувај валуту", + "delete_currency" => "Избриши валуту", + "cant_delete_main_currency" => "Главна валута не може бити избрисана", + "cant_delete_currency_in_use" => "Валута која се користи у претплати не може бити избрисана", + "exchange_update" => "Курсне стопе последњи пут ажуриране", + "currency_info" => "Пронађите подржане валуте и исправне кодове валута на", + "currency_performance" => "За побољшану перформансу, задржите само валуте које користите.", + "fixer_api_key" => "Fixer API кључ", + "api_key" => "API кључ", + "provider" => "Провајдер", + "fixer_info" => "Ако користите више валута и желите тачне статистике и сортирање претплата, неопходан је БЕСПЛАТНИ API кључ од Fixer.", + "get_key" => "Добијте свој кључ на", + "get_free_fixer_api_key" => "Добијте бесплатни Fixer API кључ", + "get_key_alternative" => "Алтернативно, можете добити бесплатни Fixer API кључ са", + "display_settings" => "Подешавања приказа", + "switch_theme" => "Промени светлу / тамну тему", + "calculate_monthly_price" => "Израчунајте и прикажите месечну цену за све претплате", + "convert_prices" => "Увек конвертујте и прикажите цене на мојој главној валути (спорије)", + "experimental_settings" => "Експериментална подешавања", + "remove_background" => "Покушајте уклонити позадину логотипа са слика претраге (експериментално)", + "experimental_info" => "Експериментална подешавања вероватно неће радити савршено.", + "payment_methods" => "Начини плаћања", + "payment_methods_info" => "Кликните на начин плаћања да бисте га онемогућили / омогућили.", + "rename_payment_methods_info" => "Кликните на име начина плаћања да бисте га преименовали.", + "cant_delete_payment_method_in_use" => "Не може се онемогућити коришћени начин плаћања", + "add_custom_payment" => "Додајте прилагођени начин плаћања", + "payment_method_name" => "Име начина плаћања", + "payment_method_added_successfuly" => "Начин плаћања успешно додат", + "payment_method_removed" => "Начин плаћања уклоњен", + "disable" => "Онемогући", + "enable" => "Омогући", + "rename_payment_method" => "Преименуј начин плаћања", + "payment_renamed" => "Начин плаћања преименован", + "payment_not_renamed" => "Начин плаћања није преименован", + "test" => "Тест", + "add" => "Додај", + "save" => "Сачувај", + "export_subscriptions" => "Извоз претплата", + "export_to_json" => "Извоз у JSON формат", + // Мени са филтерима + "filter" => "Филтер", + "clear" => "Очисти", + // Тост + "success" => "Успех", + // Одговори са сервера + "session_expired" => "Ваша сесија је истекла. Молимо вас да се поново пријавите", + "fields_missing" => "Неки подаци недостају", + "fill_all_fields" => "Молимо вас да попуните сва поља", + "fill_mandatory_fields" => "Молимо вас да попуните сва обавезна поља", + "error" => "Грешка", + // Категорија + "failed_add_category" => "Додавање категорије није успело", + "failed_edit_category" => "Измена категорије није успела", + "category_in_use" => "Категорија се користи у претплатама и не може бити уклоњена", + "failed_remove_category" => "Уклањање категорије није успело", + "category_saved" => "Категорија сачувана", + "category_removed" => "Категорија уклоњена", + "sort_order_saved" => "Редослед сортирања сачуван", + // Валута + "currency_saved" => "је сачувана.", + "error_adding_currency" => "Грешка при додавању валутне ставке.", + "failed_to_store_currency" => "Није успело смештање валуте у базу података.", + "currency_in_use" => "Валута се користи у претплатама и не може бити избрисана.", + "currency_is_main" => "Валута је постављена као главна и не може бити избрисана.", + "failed_to_remove_currency" => "Није успело уклањање валуте из базе података.", + "failed_to_store_api_key" => "Није успело смештање API кључа у базу података.", + "invalid_api_key" => "Неисправан API кључ.", + "api_key_saved" => "API кључ успешно сачуван", + "currency_removed" => "Валута уклоњена", + // Домаћинство + "failed_add_household" => "Додавање члана домаћинства није успело", + "failed_edit_household" => "Измена члана домаћинства није успела", + "failed_remove_household" => "Уклањање члана домаћинства није успело", + "household_in_use" => "Члан домаћинства се користи у претплатама и не може бити уклоњен", + "member_saved" => "Члан сачуван", + "member_removed" => "Члан уклоњен", + // Обавештења + "error_saving_notifications" => "Грешка при чувању података за обавештења.", + "wallos_notification" => "Валос обавештење", + "test_notification" => "Ово је тест обавештење. Ако га видите, конфигурација је исправна.", + "email_error" => "Грешка при слању е-поште", + "notification_sent_successfuly" => "Обавештење успешно послато", + "notifications_settings_saved" => "Подешавања обавештења успешно сачувана.", + // Плаћања + "payment_in_use" => "Не може се онемогућити коришћени начин плаћања", + "failed_update_payment" => "Ажурирање начина плаћања у бази података није успело", + "enabled" => "омогућен", + "disabled" => "онемогућен", + // Претплата + "error_fetching_image" => "Грешка при преузимању слике", + "subscription_updated_successfuly" => "Претплата успешно ажурирана", + "subscription_added_successfuly" => "Претплата успешно додата", + "error_deleting_subscription" => "Грешка при брисању претплате.", + "invalid_request_method" => "Неисправан метод захтева.", + // Корисник + "error_updating_user_data" => "Грешка при ажурирању корисничких података.", + "user_details_saved" => "Кориснички подаци сачувани", + +]; + + +?> diff --git a/includes/i18n/sr_lat.php b/includes/i18n/sr_lat.php new file mode 100644 index 0000000..88306ec --- /dev/null +++ b/includes/i18n/sr_lat.php @@ -0,0 +1,228 @@ + "Morate kreirati nalog pre nego što se možete prijaviti", + 'username' => "Korisničko ime", + 'password' => "Lozinka", + "email" => "E-pošta", + "confirm_password" => "Potvrdi lozinku", + "main_currency" => "Glavna valuta", + "language" => "Jezik", + "passwords_dont_match" => "Lozinke se ne poklapaju", + "registration_failed" => "Registracija nije uspela, pokušajte ponovo.", + "register" => "Registruj se", + // Stranica za prijavu + 'please_login' => "Molimo vas da se prijavite", + 'stay_logged_in' => "Ostani prijavljen (30 dana)", + 'login' => "Prijavi se", + 'login_failed' => "Podaci za prijavu nisu ispravni", + // Header + 'subscriptions' => "Pretplate", + 'stats' => "Statistike", + 'settings' => "Podešavanja", + 'about' => "O aplikaciji", + 'logout' => "Odjava", + // Stranica sa pretplatama + "subscription" => "Pretplata", + "no_subscriptions_yet" => "Još uvek nemate nijednu pretplatu", + "add_first_subscription" => "Dodajte prvu pretplatu", + 'new_subscription' => "Nova pretplata", + 'search' => "Pretraga", + 'sort' => "Sortiraj", + 'name' => "Naziv", + 'last_added' => "Poslednje dodato", + 'price' => "Cena", + 'next_payment' => "Sledeća uplata", + 'inactive' => "Onemogući pretplatu", + 'member' => "Član", + 'category' => "Kategorija", + 'payment_method' => "Način plaćanja", + "Daily" => "Dnevno", + "Weekly" => "Nedeljno", + "Monthly" => "Mesečno", + "Yearly" => "Godišnje", + "daily" => "dana", + "weekly" => "nedelja", + "monthly" => "meseci", + "yearly" => "godina", + "days" => "dana", + "weeks" => "nedelja", + "months" => "meseci", + "years" => "godina", + "external_url" => "Poseti spoljni URL", + "empty_page" => "Prazna stranica", + "clear_filters" => "Očisti filtere", + "no_matching_subscriptions" => "Nema podudarajućih pretplata", + // Forma za pretplatu + "add_subscription" => "Dodaj pretplatu", + "edit_subscription" => "Uredi pretplatu", + "subscription_name" => "Naziv pretplate", + "logo_preview" => "Pregled logotipa", + "search_logo" => "Pretraži logo na internetu", + "web_search" => "Internet pretraga", + "currency" => "Valuta", + "payment_every" => "Plaćanje svakog", + "frequency" => "Frekvencija", + "cycle" => "Ciklus", + "next_payment" => "Sledeća uplata", + "payment_method" => "Način plaćanja", + "no_category" => "Bez kategorije", + "paid_by" => "Plaćeno od strane", + "url" => "URL", + "notes" => "Beleške", + "enable_notifications" => "Omogući obaveštenja za ovu pretplatu", + "delete" => "Izbriši", + "cancel" => "Otkaži", + "upload_logo" => "Učitaj logo", + // Stranica sa statistikama + 'general_statistics' => "Opšte statistike", + 'active_subscriptions' => "Aktivne pretplate", + 'inactive_subscriptions' => "Neaktivne pretplate", + 'monthly_cost' => "Mesečni trošak", + 'yearly_cost' => "Godišnji trošak", + 'average_monthly' => "Prosečni mesečni trošak pretplate", + 'most_expensive' => "Najskuplja pretplata", + 'amount_due' => "Iznos za plaćanje ovog meseca", + 'monthly_savings' => "Mesečne uštede (na neaktivnim pretplatama)", + 'split_views' => "Podeljene statistike", + 'category_split' => "Podela po kategorijama", + 'household_split' => "Podela po domaćinstvima", + 'payment_method_split' => "Podela po načinu plaćanja", + // Stranica O aplikaciji + 'about_and_credits' => "O aplikaciji i zasluge", + 'license' => "Licenca", + 'issues_and_requests' => "Problemi i zahtevi", + 'the_author' => "Autor", + 'icons' => "Ikone", + 'payment_icons' => "Ikone za plaćanje", + // Stranica sa podešavanjima + 'upload_avatar' => "Učitaj avatar", + 'file_type_error' => "Tip datoteke koji ste priložili nije podržan.", + 'user_details' => "Detalji korisnika", + "household" => "Domaćinstvo", + "save_member" => "Sačuvaj člana", + "delete_member" => "Izbriši člana", + "cant_delete_member" => "Nemoguće brisanje glavnog člana", + "cant_delete_member_in_use" => "Nemoguće brisanje člana koji je u upotrebi u pretplati", + 'household_info' => "Polje za e-poštu omogućava članovima domaćinstva da budu obavešteni o pretplatama koje će uskoro isteći.", + "notifications" => "Obaveštenja", + "enable_email_notifications" => "Omogući obaveštenja e-poštom", + "notify_me" => "Obavesti me", + "day_before" => "dan pre", + "days_before" => "dana pre", + "smtp_address" => "SMTP adresa", + "port" => "Port", + "tls" => "TLS", + "ssl" => "SSL", + "smtp_username" => "SMTP korisničko ime", + "smtp_password" => "SMTP lozinka", + "from_email" => "Od e-pošte (Opciono)", + "smtp_info" => "SMTP lozinka se prenosi i čuva u običnom tekstu. Iz sigurnosnih razloga, molimo vas da napravite nalog samo za ovo.", + "categories" => "Kategorije", + "save_category" => "Sačuvaj kategoriju", + "delete_category" => "Izbriši kategoriju", + "cant_delete_category_in_use" => "Nemoguće brisanje kategorije koja je u upotrebi u pretplati", + "currencies" => "Valute", + "save_currency" => "Sačuvaj valutu", + "delete_currency" => "Izbriši valutu", + "cant_delete_main_currency" => "Nemoguće brisanje glavne valute", + "cant_delete_currency_in_use" => "Nemoguće brisanje valute koja je u upotrebi u pretplati", + "exchange_update" => "Kursne stope poslednji put ažurirane", + "currency_info" => "Pronađite podržane valute i ispravne kodove valuta na", + "currency_performance" => "Za poboljšanu performansu, zadržite samo valute koje koristite.", + "fixer_api_key" => "Fixer API ključ", + "api_key" => "API ključ", + "provider" => "Provajder", + "fixer_info" => "Ako koristite više valuta i želite tačne statistike i sortiranje pretplata, neophodan je BESPLATNI API ključ sa Fixer-a.", + "get_key" => "Pronađite svoj ključ na", + "get_free_fixer_api_key" => "Pronađite besplatni Fixer API ključ", + "get_key_alternative" => "Alternativno, možete dobiti besplatni Fixer API ključ na", + "display_settings" => "Podešavanja prikaza", + "switch_theme" => "Promeni svetli / tamni temu", + "calculate_monthly_price" => "Izračunaj i prikaži mesečnu cenu za sve pretplate", + "convert_prices" => "Uvek konvertuj i prikaži cene u mojoj glavnoj valuti (sporije)", + "experimental_settings" => "Eksperimentalna podešavanja", + "remove_background" => "Pokušajte ukloniti pozadinu logotipa sa pretrage slika (eksperimentalno)", + "experimental_info" => "Eksperimentalna podešavanja verovatno neće savršeno funkcionisati.", + "payment_methods" => "Načini plaćanja", + "payment_methods_info" => "Kliknite na način plaćanja da biste ga onemogućili / omogućili.", + "rename_payment_methods_info" => "Kliknite na ime načina plaćanja da biste ga preimenovali.", + "cant_delete_payment_method_in_use" => "Nemoguće onemogućiti korišćeni način plaćanja", + "add_custom_payment" => "Dodaj prilagođeni način plaćanja", + "payment_method_name" => "Ime načina plaćanja", + "payment_method_added_successfuly" => "Način plaćanja uspešno dodat", + "payment_method_removed" => "Način plaćanja uklonjen", + "disable" => "Onemogući", + "enable" => "Omogući", + "rename_payment_method" => "Preimenuj način plaćanja", + "payment_renamed" => "Način plaćanja preimenovan", + "payment_not_renamed" => "Način plaćanja nije preimenovan", + "test" => "Test", + "add" => "Dodaj", + "save" => "Sačuvaj", + "export_subscriptions" => "Izvezi pretplate", + "export_to_json" => "Izvezi u JSON format", + // Meni sa filterima + "filter" => "Filter", + "clear" => "Očisti", + // Toast + "success" => "Uspeh", + // Odgovori sa servera + "session_expired" => "Vaša sesija je istekla. Molimo vas da se ponovo prijavite", + "fields_missing" => "Neki podaci nedostaju", + "fill_all_fields" => "Molimo vas da popunite sva polja", + "fill_mandatory_fields" => "Molimo vas da popunite sva obavezna polja", + "error" => "Greška", + // Kategorija + "failed_add_category" => "Dodavanje kategorije nije uspelo", + "failed_edit_category" => "Izmena kategorije nije uspela", + "category_in_use" => "Kategorija se koristi u pretplatama i ne može biti uklonjena", + "failed_remove_category" => "Uklanjanje kategorije nije uspelo", + "category_saved" => "Kategorija sačuvana", + "category_removed" => "Kategorija uklonjena", + "sort_order_saved" => "Redosled sortiranja sačuvan", + // Valuta + "currency_saved" => "je sačuvan.", + "error_adding_currency" => "Greška pri dodavanju valutne stavke.", + "failed_to_store_currency" => "Nije uspelo skladištenje valute u bazi podataka.", + "currency_in_use" => "Valuta se koristi u pretplatama i ne može biti izbrisana.", + "currency_is_main" => "Valuta je postavljena kao glavna i ne može biti izbrisana.", + "failed_to_remove_currency" => "Nije uspelo uklanjanje valute iz baze podataka.", + "failed_to_store_api_key" => "Nije uspelo skladištenje API ključa u bazi podataka.", + "invalid_api_key" => "Nevažeći API ključ.", + "api_key_saved" => "API ključ je uspešno sačuvan", + "currency_removed" => "Valuta uklonjena", + // Domaćinstvo + "failed_add_household" => "Dodavanje člana domaćinstva nije uspelo", + "failed_edit_household" => "Izmena člana domaćinstva nije uspela", + "failed_remove_household" => "Uklanjanje člana domaćinstva nije uspelo", + "household_in_use" => "Član domaćinstva se koristi u pretplatama i ne može biti uklonjen", + "member_saved" => "Član sačuvan", + "member_removed" => "Član uklonjen", + // Obaveštenja + "error_saving_notifications" => "Greška pri čuvanju podataka za obaveštenja.", + "wallos_notification" => "Obaveštenje od Wallos-a", + "test_notification" => "Ovo je testno obaveštenje. Ako ga vidite, konfiguracija je ispravna.", + "email_error" => "Greška pri slanju e-pošte", + "notification_sent_successfuly" => "Obaveštenje uspešno poslato", + "notifications_settings_saved" => "Podešavanja obaveštenja uspešno sačuvana.", + // Plaćanja + "payment_in_use" => "Nije moguće onemogućiti korišćeni način plaćanja", + "failed_update_payment" => "Nije uspelo ažuriranje načina plaćanja u bazi podataka", + "enabled" => "omogućen", + "disabled" => "onemogućen", + // Pretplata + "error_fetching_image" => "Greška pri preuzimanju slike", + "subscription_updated_successfuly" => "Pretplata uspešno ažurirana", + "subscription_added_successfuly" => "Pretplata uspešno dodata", + "error_deleting_subscription" => "Greška pri brisanju pretplate.", + "invalid_request_method" => "Nevažeći metod zahteva.", + // Korisnik + "error_updating_user_data" => "Greška pri ažuriranju korisničkih podataka.", + "user_details_saved" => "Korisnički podaci sačuvani", + +]; + + +?> diff --git a/includes/version.php b/includes/version.php index 7543fd4..d20b61e 100644 --- a/includes/version.php +++ b/includes/version.php @@ -1,3 +1,3 @@ diff --git a/scripts/i18n/sr.js b/scripts/i18n/sr.js new file mode 100644 index 0000000..7faa5f4 --- /dev/null +++ b/scripts/i18n/sr.js @@ -0,0 +1,36 @@ +let i18n = { + // Dashboard + error_reloading_subscription: "Грешка при освежавању претплате:", + error_fetching_image_results: "Грешка при преузимању резултата слика:", + subscription_deleted: "Претплата је избрисана", + error_deleting_subscription: "Грешка при брисању претплате", + failed_to_load_subscription: "Неуспешно учитавање претплате", + edit_subscription: "Уреди претплату", + add_subscription: "Додај претплату", + confirm_delete_subscription: "Да ли сте сигурни да желите да избришете ову претплату?", + // Settings + network_response_error: "Мрежни одговор није био у реду", + failed_add_member: "Неуспешно додавање члана", + member: "Члан", + email: "Е-пошта", + save_member: "Сачувај члана", + delete_member: "Избриши члана", + failed_remove_member: "Неуспешно уклањање члана", + failed_save_member: "Неуспешно чување члана", + failed_add_category: "Неуспешно додавање категорије", + category: "Категорија", + save_category: "Сачувај категорију", + delete_category: "Избриши категорију", + failed_remove_category: "Неуспешно уклањање категорије", + currency: "Валута", + currency_code: "Кôд валуте", + save_currency: "Сачувај валуту", + delete_currency: "Избриши валуту", + failed_remove_currency: "Неуспешно уклањање валуте", + failed_save_currency: "Неуспешно чување валуте", + cant_disable_payment_in_use: "Није могуће онемогућити плаћање у употреби", + failed_save_payment_method: "Неуспешно чување начина плаћања", + unknown_error: "Непозната грешка, молимо покушајте поново.", + error_saving_notification_data: "Грешка при чувању података о обавештењима", + error_sending_notification: "Грешка при слању обавештења", +} diff --git a/scripts/i18n/sr_lat.js b/scripts/i18n/sr_lat.js new file mode 100644 index 0000000..8e41062 --- /dev/null +++ b/scripts/i18n/sr_lat.js @@ -0,0 +1,36 @@ +let i18n = { + // Dashboard + error_reloading_subscription: "Greška pri osvežavanju pretplate:", + error_fetching_image_results: "Greška pri preuzimanju rezultata slika:", + subscription_deleted: "Pretplata je izbrisana", + error_deleting_subscription: "Greška pri brisanju pretplate", + failed_to_load_subscription: "Neuspešno učitavanje pretplate", + edit_subscription: "Uredi pretplatu", + add_subscription: "Dodaj pretplatu", + confirm_delete_subscription: "Da li ste sigurni da želite da izbrišete ovu pretplatu?", + // Settings + network_response_error: "Mrežni odgovor nije bio u redu", + failed_add_member: "Neuspešno dodavanje člana", + member: "Član", + email: "E-pošta", + save_member: "Sačuvaj člana", + delete_member: "Izbriši člana", + failed_remove_member: "Neuspešno uklanjanje člana", + failed_save_member: "Neuspešno čuvanje člana", + failed_add_category: "Neuspešno dodavanje kategorije", + category: "Kategorija", + save_category: "Sačuvaj kategoriju", + delete_category: "Izbriši kategoriju", + failed_remove_category: "Neuspešno uklanjanje kategorije", + currency: "Valuta", + currency_code: "Kôd valute", + save_currency: "Sačuvaj valutu", + delete_currency: "Izbriši valutu", + failed_remove_currency: "Neuspešno uklanjanje valute", + failed_save_currency: "Neuspešno čuvanje valute", + cant_disable_payment_in_use: "Nije moguće onemogućiti plaćanje u upotrebi", + failed_save_payment_method: "Neuspešno čuvanje načina plaćanja", + unknown_error: "Nepoznata greška, molimo pokušajte ponovo.", + error_saving_notification_data: "Greška pri čuvanju podataka o obaveštenjima", + error_sending_notification: "Greška pri slanju obaveštenja", +}