feat: add calendar view (#399)

This commit is contained in:
Miguel Ribeiro
2024-06-25 19:44:24 +02:00
committed by GitHub
parent 16f92bd77f
commit 369f1a2bdc
47 changed files with 3262 additions and 2265 deletions

224
calendar.php Normal file
View File

@@ -0,0 +1,224 @@
<?php
require_once 'includes/header.php';
function getCycleDays($cycleId)
{
switch ($cycleId) {
case 1:
return 1; // Daily
case 2:
return 7; // Weekly
case 3:
return 30; // Monthly
case 4:
return 365; // Yearly
default:
return 0;
}
}
$currentMonth = date('m');
$currentYear = date('Y');
$sameAsCurrent = false;
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['month']) && isset($_GET['year'])) {
// Don't allow viewing past months
$selectedMonth = str_pad($_GET['month'], 2, '0', STR_PAD_LEFT);
$selectedYear = $_GET['year'];
$selectedTimestamp = strtotime($selectedYear . '-' . $selectedMonth . '-01');
$currentTimestamp = strtotime($currentYear . '-' . $currentMonth . '-01');
if ($selectedTimestamp < $currentTimestamp) {
$calendarMonth = $currentMonth;
$calendarYear = $currentYear;
} else {
$calendarMonth = $selectedMonth;
$calendarYear = $selectedYear;
}
if ($calendarMonth == $currentMonth && $calendarYear == $currentYear) {
$sameAsCurrent = true;
}
} else {
$calendarMonth = $currentMonth;
$calendarYear = $currentYear;
$sameAsCurrent = true;
}
$query = "SELECT * FROM subscriptions WHERE user_id = :user_id AND inactive = 0";
$stmt = $db->prepare($query);
$stmt->bindValue(':user_id', $userId, SQLITE3_INTEGER);
$result = $stmt->execute();
$subscriptions = [];
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$subscriptions[] = $row;
}
$yearsToLoad = $calendarYear - $currentYear + 1;
?>
<section class="contain">
<div class="split-header">
<h2>Calendar</h2>
<div class="calendar-nav">
<?php
if (!$sameAsCurrent) {
?>
<button class="button secondary-button tiny" onClick="currentMoth()" title="<?= translate('reset', $i18n) ?>"><i
class="fa-solid fa-calendar-day"></i></button>
<button class="button tiny" id="prev" onclick="prevMonth(<?= $calendarMonth ?>, <?= $calendarYear ?>)"><i
class="fa-solid fa-chevron-left"></i></button>
<?php
}
?>
<span id="month"><?= translate('month-' . $calendarMonth, $i18n) ?> <?= $calendarYear ?></span>
<button class="button tiny" id="next" onclick="nextMonth(<?= $calendarMonth ?>, <?= $calendarYear ?>)"><i
class="fa-solid fa-chevron-right"></i></button>
</div>
</div>
<div>
<?php
$daysInMonth = cal_days_in_month(CAL_GREGORIAN, $calendarMonth, $calendarYear);
$firstDay = mktime(0, 0, 0, $calendarMonth, 1, $calendarYear);
$firstDayOfWeek = date('N', $firstDay) - 1; // Adjusted to make Monday (1) the first day
$dayOfWeek = 0;
$day = 1;
$days = 1;
$week = 1;
$today = date('Y-m-d');
$today = explode('-', $today);
$todayYear = $today[0];
$todayMonth = $today[1];
$todayDay = $today[2];
$today = $todayYear . '-' . $todayMonth . '-' . $todayDay;
$today = strtotime($today);
?>
<div class="calendar">
<div class="calendar-header">
<div class="calendar-cell"><?= translate('mon', $i18n) ?></div>
<div class="calendar-cell"><?= translate('tue', $i18n) ?></div>
<div class="calendar-cell"><?= translate('wed', $i18n) ?></div>
<div class="calendar-cell"><?= translate('thu', $i18n) ?></div>
<div class="calendar-cell"><?= translate('fri', $i18n) ?></div>
<div class="calendar-cell"><?= translate('sat', $i18n) ?></div>
<div class="calendar-cell"><?= translate('sun', $i18n) ?></div>
</div>
<div class="calendar-body">
<div class="week calendar-row">
<?php
for ($i = 0; $i < $firstDayOfWeek; $i++) { // Fill empty cells if month doesn't start on Monday
?>
<div class="calendar-cell empty">
<div class="calendar-cell-header">
<span class="day">&nbsp;</span>
</div>
<div class="calendar-cell-content"></div>
</div>
<?php
}
for ($i = $firstDayOfWeek; $i < 7; $i++) {
if ($day <= $daysInMonth) {
$dayClass = ($day == $todayDay && $calendarMonth == $todayMonth && $calendarYear == $todayYear) ? "today" : "";
?>
<div class="calendar-cell <?= $dayClass ?>">
<div class="calendar-cell-header">
<span class="day"><?= $day ?></span>
</div>
<div class="calendar-cell-content">
<?php
foreach ($subscriptions as $subscription) {
$nextPaymentDate = strtotime($subscription['next_payment']);
$cycleDays = getCycleDays($subscription['cycle']);
$frequency = $subscription['frequency'];
// Calculate the end date for displaying this subscription, for simplicity, we'll assume a 2-year range
$endDate = strtotime("+" . $yearsToLoad . " years", $nextPaymentDate);
for ($date = $nextPaymentDate; $date <= $endDate; $date = strtotime("+{$frequency} month", $date)) {
if (date('Y-m', $date) == $calendarYear . '-' . str_pad($calendarMonth, 2, '0', STR_PAD_LEFT)) {
if (date('d', $date) == $day) {
?>
<div class="calendar-subscription-title" onClick="openSubscriptionModal(<?= $subscription['id'] ?>)">
<?= $subscription['name'] ?>
</div>
<?php
}
}
}
}
?>
</div>
</div>
<?php
$day++;
}
}
while ($day <= $daysInMonth) {
if ($dayOfWeek % 7 == 0) {
?>
</div>
<div class="week calendar-row">
<?php
}
$dayClass = ($day == $todayDay && $calendarMonth == $todayMonth && $calendarYear == $todayYear) ? "today" : "";
?>
<div class="calendar-cell <?= $dayClass ?>">
<div class="calendar-cell-header">
<span class="day"><?= $day ?></span>
</div>
<div class="calendar-cell-content">
<?php
foreach ($subscriptions as $subscription) {
$nextPaymentDate = strtotime($subscription['next_payment']);
$cycleDays = getCycleDays($subscription['cycle']); // Function to get the number of days based on the cycle id
$frequency = $subscription['frequency'];
$endDate = strtotime("+" . $yearsToLoad . " years", $nextPaymentDate);
for ($date = $nextPaymentDate; $date <= $endDate; $date = strtotime("+{$frequency} month", $date)) {
if (date('Y-m', $date) == $calendarYear . '-' . str_pad($calendarMonth, 2, '0', STR_PAD_LEFT)) {
if (date('d', $date) == $day) {
?>
<div class="calendar-subscription-title" onClick="openSubscriptionModal(<?= $subscription['id'] ?>)">
<?= $subscription['name'] ?>
</div>
<?php
}
}
}
}
?>
</div>
</div>
<?php
$day++;
$dayOfWeek++;
}
while ($dayOfWeek % 7 != 0) { // Fill the rest of the week with empty cells
?>
<div class="calendar-cell empty">
<div class="calendar-cell-header">
<span class="day">&nbsp;</span>
</div>
<div class="calendar-cell-content"></div>
</div>
<?php
$dayOfWeek++;
}
?>
</div>
</div>
</div>
</section>
<div id="subscriptionModal" class="subscription-modal">
<div class="modal-content">
<div id="subscriptionModalContent"></div>
</div>
</div>
<script src="scripts/calendar.js?<?= $version ?>"></script>
<?php
require_once 'includes/footer.php';
?>

View File

@@ -0,0 +1,50 @@
<?php
require_once '../../includes/connect_endpoint.php';
require_once '../../includes/getdbkeys.php';
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
die(json_encode([
"success" => false,
"message" => translate('session_expired', $i18n)
]));
}
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$postData = file_get_contents("php://input");
$data = json_decode($postData, true);
$id = $data['id'];
$stmt = $db->prepare('SELECT * FROM subscriptions WHERE id = :id AND user_id = :userId');
$stmt->bindParam(':id', $id, SQLITE3_INTEGER);
$stmt->bindParam(':userId', $_SESSION['userId'], SQLITE3_INTEGER); // Assuming $_SESSION['userId'] holds the logged-in user's ID
$result = $stmt->execute();
if ($result === false) {
die(json_encode([
'success' => false,
'message' => "Subscription not found"
]));
}
$subscription = $result->fetchArray(SQLITE3_ASSOC); // Fetch the subscription details as an associative array
if ($subscription) {
// get payer name from household object
$subscription['payer_user'] = $members[$subscription['payer_user_id']]['name'];
$subscription['category'] = $categories[$subscription['category_id']]['name'];
$subscription['payment_method'] = $payment_methods[$subscription['payment_method_id']]['name'];
$subscription['currency'] = $currencies[$subscription['currency_id']]['symbol'];
echo json_encode([
'success' => true,
'data' => $subscription
]);
} else {
echo json_encode([
'success' => false,
'message' => "Subscription not found"
]);
}
}
?>

View File

@@ -95,6 +95,7 @@
</button>
<div class="dropdown-content">
<a href="."><i class="fa-solid fa-list"></i><?= translate('subscriptions', $i18n) ?></a>
<a href="calendar.php"><i class="fa-solid fa-calendar"></i><?= translate('calendar', $i18n) ?></a>
<a href="stats.php"><i class="fa-solid fa-chart-simple"></i><?= translate('stats', $i18n) ?></a>
<a href="settings.php"><i class="fa-solid fa-gear"></i><?= translate('settings', $i18n) ?></a>
<?php if ($isAdmin): ?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Registration page
"create_account" => "Bitte erstelle zunächst einen Account, um dich einloggen zu können",
'username' => "Benutzername",
'password' => "Passwort",
"email" => "E-Mail",
"create_account" => "Bitte erstelle zunächst einen Account, um dich einloggen zu können",
'username' => "Benutzername",
'password' => "Passwort",
"email" => "E-Mail",
"confirm_password" => "Passwort bestätigen",
"main_currency" => "Hauptwährung",
"language" => "Sprache",
"main_currency" => "Hauptwährung",
"language" => "Sprache",
"passwords_dont_match" => "Die Passwörter stimmen nicht überein",
"username_exists" => "Benutzername existiert bereits",
"email_exists" => "E-Mail existiert bereits",
"email_exists" => "E-Mail existiert bereits",
"registration_failed" => "Registrierung fehlgeschlagen, bitte erneut versuchen.",
"register" => "Registrieren",
"register" => "Registrieren",
"restore_database" => "Datenbank wiederherstellen",
// Login Page
'please_login' => "Bitte einloggen",
'stay_logged_in' => "Angemeldet bleiben (30 Tage)",
'login' => "Login",
'login_failed' => "Loginangaben sind nicht korrekt",
'please_login' => "Bitte einloggen",
'stay_logged_in' => "Angemeldet bleiben (30 Tage)",
'login' => "Login",
'login_failed' => "Loginangaben sind nicht korrekt",
'registration_successful' => "Registrierung erfolgreich",
'user_email_waiting_verification' => "Ihre E-Mail muss noch verifiziert werden. Bitte überprüfen Sie Ihre E-Mail.",
// Password Reset Page
'forgot_password' => "Passwort vergessen?",
'reset_password' => "Passwort zurücksetzen",
'reset_password' => "Passwort zurücksetzen",
'reset_sent_check_email' => "Passwort zurücksetzen E-Mail wurde gesendet. Bitte überprüfen Sie Ihr Postfach.",
'password_reset_successful' => "Passwort erfolgreich zurückgesetzt",
// Header
'subscriptions' => "Abonnements",
'stats' => "Statistiken",
'settings' => "Einstellungen",
'admin' => "Admin",
'about' => "Über",
'logout' => "Logout",
'subscriptions' => "Abonnements",
'stats' => "Statistiken",
'settings' => "Einstellungen",
'admin' => "Admin",
'about' => "Über",
'logout' => "Logout",
// Subscriptions page
"subscription" => "Abonnement",
"subscription" => "Abonnement",
"no_subscriptions_yet" => "Keine Abonnements hinzugefügt",
"add_first_subscription" => "Erstes Abonnement hinzufügen",
'new_subscription' => "Neues Abonnement",
'search' => "Suche",
'sort' => "Sortieren",
'name' => "Bezeichnung",
'last_added' => "Zuletzt hinzugefügt",
'price' => "Preis",
'next_payment' => "Nächste Zahlung",
'inactive' => "Abonnement deaktivieren",
'member' => "Mitglied",
'category' => "Kategorie",
'payment_method' => "Zahlungsmethode",
"Daily" => "Täglich",
"Weekly" => "Wöchentlich",
"Monthly" => "Monatlich",
"Yearly" => "Jährlich",
"dayly" => "Tag(e)",
"weekly" => "Woche(n)",
"monthly" => "Monat(e)",
"yearly" => "Jahr(e)",
"days" => "Tage",
"weeks" => "Wochen",
"months" => "Monate",
"years" => "Jahre",
"external_url" => "Externe URL besuchen",
"empty_page" => "Leere Seite",
"clear_filters" => "Filter zurücksetzen",
'search' => "Suche",
'sort' => "Sortieren",
'name' => "Bezeichnung",
'last_added' => "Zuletzt hinzugefügt",
'price' => "Preis",
'next_payment' => "Nächste Zahlung",
'inactive' => "Abonnement deaktivieren",
'member' => "Mitglied",
'category' => "Kategorie",
'payment_method' => "Zahlungsmethode",
"Daily" => "Täglich",
"Weekly" => "Wöchentlich",
"Monthly" => "Monatlich",
"Yearly" => "Jährlich",
"dayly" => "Tag(e)",
"weekly" => "Woche(n)",
"monthly" => "Monat(e)",
"yearly" => "Jahr(e)",
"days" => "Tage",
"weeks" => "Wochen",
"months" => "Monate",
"years" => "Jahre",
"external_url" => "Externe URL besuchen",
"empty_page" => "Leere Seite",
"clear_filters" => "Filter zurücksetzen",
"no_matching_subscriptions" => "Keine passenden Abonnements gefunden",
"clone" => "Klonen",
"clone" => "Klonen",
// Subscription form
"add_subscription" => "Abonnement hinzufügen",
"edit_subscription" => "Abonnement editieren",
"subscription_name" => "Bezeichnung des Abonnements",
"logo_preview" => "Vorschau des Logos",
"search_logo" => "Logo im Web suchen",
"web_search" => "Websuche",
"currency" => "Währung",
"payment_every" => "Zahlung alle",
"frequency" => "Abrechnungsfrequenz",
"cycle" => "Zeitraum",
"next_payment" => "Nächste Zahlung",
"payment_method" => "Zahlungsmethode",
"no_category" => "Keine Kategorie",
"paid_by" => "Gezahlt durch",
"url" => "URL",
"notes" => "Notizen",
"logo_preview" => "Vorschau des Logos",
"search_logo" => "Logo im Web suchen",
"web_search" => "Websuche",
"currency" => "Währung",
"payment_every" => "Zahlung alle",
"frequency" => "Abrechnungsfrequenz",
"cycle" => "Zeitraum",
"next_payment" => "Nächste Zahlung",
"payment_method" => "Zahlungsmethode",
"no_category" => "Keine Kategorie",
"paid_by" => "Gezahlt durch",
"url" => "URL",
"notes" => "Notizen",
"enable_notifications" => "Benachrichtigungen für dieses Abonnement aktivieren",
"default_value_from_settings" => "Standardwert aus den Einstellungen",
"delete" => "Löschen",
"cancel" => "Abbrechen",
"upload_logo" => "Logo hochladen",
"delete" => "Löschen",
"cancel" => "Abbrechen",
"upload_logo" => "Logo hochladen",
// Statistics page
'general_statistics' => "Allgemeine Statistiken",
'active_subscriptions' => "Aktive Abonnements",
'inactive_subscriptions' => "Inaktive Abonnements",
'monthly_cost' => "Monatliche Kosten",
'yearly_cost' => "Jährliche Kosten",
'monthly_cost' => "Monatliche Kosten",
'yearly_cost' => "Jährliche Kosten",
'average_monthly' => "Durchschnittliche monatliche Kosten",
'most_expensive' => "Kosten des teuersten Abonnements",
'amount_due' => "Diesen Monat fällige Summe",
'most_expensive' => "Kosten des teuersten Abonnements",
'amount_due' => "Diesen Monat fällige Summe",
'percentage_budget_used' => "Prozentualer Anteil des Budgets genutzt",
'budget_remaining' => "Verbleibendes Budget",
'amount_over_budget' => "Überzogenes Budget",
'monthly_savings' => "Monatliche Ersparnisse (bei inaktiven Abonnements)",
'yearly_savings' => "Jährliche Ersparnisse (bei inaktiven Abonnements)",
'split_views' => "Aufgeteilte Ansichten",
'category_split' => "Kategorien",
'yearly_savings' => "Jährliche Ersparnisse (bei inaktiven Abonnements)",
'split_views' => "Aufgeteilte Ansichten",
'category_split' => "Kategorien",
'household_split' => "Haushalt",
'payment_method_split' => "Zahlungsmethode",
// About page
'about_and_credits' => "Informationen und Danksagungen",
'license' => "Lizenz",
'license' => "Lizenz",
'issues_and_requests' => "Issues und Anfragen",
'the_author' => "Der Autor",
'icons' => "Icons",
'payment_icons' => "Zahlungsweisen Icons",
'the_author' => "Der Autor",
'icons' => "Icons",
'payment_icons' => "Zahlungsweisen Icons",
// Settings page
'upload_avatar' => "Avatar hochladen",
'upload_avatar' => "Avatar hochladen",
'file_type_error' => "Dateityp nicht unterstützt",
'user_details' => "Benutzerdetails",
"monthly_budget" => "Monatliches Budget",
"budget_info" => "Das monatliche Budget wird für die Berechnung der Statistiken verwendet.",
"household" => "Haushalt",
"save_member" => "Mitglied speichern",
"delete_member" => "Mitglied löschen",
'user_details' => "Benutzerdetails",
"monthly_budget" => "Monatliches Budget",
"budget_info" => "Das monatliche Budget wird für die Berechnung der Statistiken verwendet.",
"household" => "Haushalt",
"save_member" => "Mitglied speichern",
"delete_member" => "Mitglied löschen",
"cant_delete_member" => "Hauptmitglied kann nicht gelöscht werden",
"cant_delete_member_in_use" => "Mitglied mit Abonnement kann nicht gelöscht werden",
'household_info' => "Über das E-Mail-Feld können die Haushaltsmitglieder über auslaufende Abonnements benachrichtigt werden.",
"notifications" => "Benachrichtigungen",
'household_info' => "Über das E-Mail-Feld können die Haushaltsmitglieder über auslaufende Abonnements benachrichtigt werden.",
"notifications" => "Benachrichtigungen",
"enable_email_notifications" => "E-Mail Benachrichtigung aktivieren",
"notify_me" => "Benachrichtige mich",
"day_before" => "Tag bevor",
"days_before" => "Tage bevor",
"smtp_address" => "SMTP Adresse",
"port" => "Port",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "SMTP Benutzername",
"smtp_password" => "SMTP Passwort",
"from_email" => "Absender E-Mail Adresse (optional)",
"smtp_info" => "Das SMTP Passwort wird in Klartext übermittelt und gespeichert. Aus Sicherheitsgründen erstelle bitte einen gesonderten Account nur zu diesem Zweck.",
"telegram" => "Telegram",
"notify_me" => "Benachrichtige mich",
"day_before" => "Tag bevor",
"days_before" => "Tage bevor",
"smtp_address" => "SMTP Adresse",
"port" => "Port",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "SMTP Benutzername",
"smtp_password" => "SMTP Passwort",
"from_email" => "Absender E-Mail Adresse (optional)",
"smtp_info" => "Das SMTP Passwort wird in Klartext übermittelt und gespeichert. Aus Sicherheitsgründen erstelle bitte einen gesonderten Account nur zu diesem Zweck.",
"telegram" => "Telegram",
"telegram_bot_token" => "Telegram Bot Token",
"telegram_chat_id" => "Telegram Chat ID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Request Methode",
"custom_headers" => "Benutzerdefinierte Kopfzeilen",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Request Methode",
"custom_headers" => "Benutzerdefinierte Kopfzeilen",
"webhook_payload" => "Webhook Payload",
"webhook_iterator_key" => "Ersetze {{subscriptions}} durch den Schlüsselnamen",
"variables_available" => "Verfügbare Variablen",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"discord_bot_username" => "Bot Benutzername",
"discord_bot_avatar_url" => "Bot Avatar URL",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Pushover User Key",
'host' => "Host",
'topic' => "Topic",
"categories" => "Kategorien",
"save_category" => "Kategorie speichern",
'host' => "Host",
'topic' => "Topic",
"categories" => "Kategorien",
"save_category" => "Kategorie speichern",
"delete_category" => "Kategorie löschen",
"cant_delete_category_in_use" => "Kategorie mit zugeordnetem Abonnement kann nicht gelöscht werden",
"currencies" => "Währungen",
"save_currency" => "Währung speichern",
"currencies" => "Währungen",
"save_currency" => "Währung speichern",
"delete_currency" => "Währung löschen",
"cant_delete_main_currency" => "Hautwährung kann nicht gelöscht werden",
"cant_delete_currency_in_use" => "Währungen die in Abonnements genutzt werden können nicht gelöscht werden",
"exchange_update" => "Umrechnungskurs zuletzt aktualisiert am",
"currency_info" => "Finde die unterstützten Währungen und korrekten Währungscodes auf",
"currency_info" => "Finde die unterstützten Währungen und korrekten Währungscodes auf",
"currency_performance" => "Aus Gründen der Performance wähle bitte ausschließlich die genutzen Währungen.",
"fixer_api_key" => "Fixer API Key",
"api_key" => "API Key",
"provider" => "Anbieter",
"fixer_info" => "Falls du mehrere Währungen nutzt und genaue Statistiken und die Sortierungsfunktion nutzen möchtest, wird ein kostenfreier API Key von Fixer benötigt.",
"get_key" => "Erhalte deinen key bei",
"fixer_api_key" => "Fixer API Key",
"api_key" => "API Key",
"provider" => "Anbieter",
"fixer_info" => "Falls du mehrere Währungen nutzt und genaue Statistiken und die Sortierungsfunktion nutzen möchtest, wird ein kostenfreier API Key von Fixer benötigt.",
"get_key" => "Erhalte deinen key bei",
"get_free_fixer_api_key" => "Erhalte deinen kostenfreien Fixer API Key",
"get_key_alternative" => "Alternativ können Sie einen kostenlosen Fixer-Api-Schlüssel erhalten von",
"display_settings" => "Display-Einstellungen",
"theme_settings" => "Themen-Einstellungen",
"custom_colors" => "Benutzerdefinierte Farben",
"dark_theme" => "Dark Theme",
"switch_theme" => "Light / Dark Theme umschalten",
"theme_settings" => "Themen-Einstellungen",
"custom_colors" => "Benutzerdefinierte Farben",
"dark_theme" => "Dark Theme",
"switch_theme" => "Light / Dark Theme umschalten",
"calculate_monthly_price" => "Berechne und zeige monatlichen Preis für alle Abonnements an",
"convert_prices" => "Preise immer in meine Hauptwährung umrechnen und darin anzeigen (langsamer)",
"convert_prices" => "Preise immer in meine Hauptwährung umrechnen und darin anzeigen (langsamer)",
"hide_disabled_subscriptions" => "Deaktivierte Abonnements verstecken",
"experimental_settings" => "Experimentelle Einstellungen",
"remove_background" => "Versuchen den Hintergrund von Logos aus der Bildersuche zu entfernen (experimentell)",
@@ -195,69 +195,69 @@ $i18n = [
"payment_method_name" => "Name der Zahlungsmethode",
"payment_method_added_successfuly" => "Zahlungsmethode erfolgreich hinzugefügt",
"payment_method_removed" => "Zahlungsmethode gelöscht",
"disable" => "Deaktivieren",
"enable" => "Aktivieren",
"disable" => "Deaktivieren",
"enable" => "Aktivieren",
"rename_payment_method" => "Zahlungsmethode umbenennen",
"payment_renamed" => "Zahlungsmethode umbenannt",
"payment_not_renamed" => "Zahlungsmethode konnte nicht umbenannt werden",
"test" => "Test",
"add" => "Hinzufügen",
"save" => "Speichern",
"reset" => "Zurücksetzen",
"test" => "Test",
"add" => "Hinzufügen",
"save" => "Speichern",
"reset" => "Zurücksetzen",
"backup_and_restore" => "Backup und Wiederherstellung",
"backup" => "Backup",
"restore" => "Wiederherstellen",
"restore_info" => "Durch die Wiederherstellung der Datenbank werden alle aktuellen Daten überschrieben. Nach der Wiederherstellung werden Sie abgemeldet.",
"backup" => "Backup",
"restore" => "Wiederherstellen",
"restore_info" => "Durch die Wiederherstellung der Datenbank werden alle aktuellen Daten überschrieben. Nach der Wiederherstellung werden Sie abgemeldet.",
// Filters menu
"filter" => "Filter",
"clear" => "Leeren",
"filter" => "Filter",
"clear" => "Leeren",
// Toast
"success" => "Erfolgreich",
"success" => "Erfolgreich",
// Endpoint responses
"session_expired" => "Session abgelaufen. Bitte erneut einloggen",
"fields_missing" => "Einige Felder fehlen",
"fields_missing" => "Einige Felder fehlen",
"fill_all_fields" => "Bitte alle Felder ausfüllen",
"fill_mandatory_fields" => "Bitte alle Pflichtfelder ausfüllen",
"error" => "Fehler",
"error" => "Fehler",
// Category
"failed_add_category" => "Kategorie konnte nicht hinzugefügt werden",
"failed_edit_category" => "Kategorie konnte nicht editiert werden",
"category_in_use" => "Kategorie wird in Abonnements verwendet und kann nicht gelöscht werden",
"failed_remove_category" => "Kategorie konnte nicht gelöscht werden",
"category_saved" => "Kategorie gespeichert",
"category_saved" => "Kategorie gespeichert",
"category_removed" => "Kategorie gelöscht",
"sort_order_saved" => "Sortierung gespeichert",
// Currency
"currency_saved" => "wurde gespeichert.",
"currency_saved" => "wurde gespeichert.",
"error_adding_currency" => "Fehler beim hinzufügen der Währung.",
"failed_to_store_currency" => "Währung konnte nicht zur Datenbank hinzugefügt werden.",
"currency_in_use" => "Währung wird in Abonnements verwendet und kann nicht gelöscht werden.",
"currency_is_main" => "Währung ist als Hauptwährung konfiguriert und kann nicht gelöscht werden.",
"failed_to_remove_currency" => "Währung konnte nicht aus Datenbank gelöscht werden.",
"failed_to_store_api_key" => "API Key konnte nicht in Datenbank gespeichert werden.",
"invalid_api_key" => "Ungültiger API Key.",
"api_key_saved" => "API key erfolgreich gespeichert",
"invalid_api_key" => "Ungültiger API Key.",
"api_key_saved" => "API key erfolgreich gespeichert",
"currency_removed" => "Währung gelöscht",
// Household
"failed_add_household" => "Haushaltsmitglied konnte nicht hinzugefügt werden",
"failed_edit_household" => "Haushaltsmitglied konnte nicht editiert werden",
"failed_remove_household" => "Haushaltsmitglied konnte nicht gelöscht werden",
"household_in_use" => "Haushaltsmitglied wird in Abonnements verwendet und kann nicht gelöscht werden",
"member_saved" => "Mitglied gespeichert",
"member_removed" => "Mitglied gelöscht",
"member_saved" => "Mitglied gespeichert",
"member_removed" => "Mitglied gelöscht",
// Notifications
"error_saving_notifications" => "Benachrichtigungsangaben konnten nicht gespeichert werden.",
"wallos_notification" => "Wallos Benachrichtigung",
"test_notification" => "Dies ist eine Test-Benachrichtigung. Wenn du das hier siehst, sind deine Konfigurationen korrekt.",
"email_error" => "E-Mail konnte nicht gesendet werden",
"email_error" => "E-Mail konnte nicht gesendet werden",
"notification_sent_successfuly" => "Benachrichtigung erfolgreich gesendet",
"notifications_settings_saved" => "Benachrichtigungseinstellungen erfolgreich gespeichert.",
"notification_failed" => "Benachrichtigung fehlgeschlagen",
// Payments
"payment_in_use" => "Genutzte Zahlungsmethoden können nicht deaktiviert werden",
"payment_in_use" => "Genutzte Zahlungsmethoden können nicht deaktiviert werden",
"failed_update_payment" => "Zahlungsmethode in Datenbank konnte nicht aktualisiert werden",
"enabled" => "aktiviert",
"disabled" => "deaktiviert",
"enabled" => "aktiviert",
"disabled" => "deaktiviert",
// Subscription
"error_fetching_image" => "Fehler beim Laden des Bildes",
"subscription_updated_successfuly" => "Abonnement erfolgreich aktualisiert",
@@ -268,28 +268,49 @@ $i18n = [
"error_updating_user_data" => "Benutzerangaben konnten nicht aktualisiert werden.",
"user_details_saved" => "Benutzerangaben gespeichert",
// Admin Page
"registrations" => "Registrierungen",
"registrations" => "Registrierungen",
"enable_user_registrations" => "Benutzerregistrierungen aktivieren",
"maximum_number_users" => "Maximale Anzahl an Benutzern",
"require_email_verification" => "E-Mail Verifizierung erforderlich",
"configure_smtp_settings_to_enable" => "Konfiguriere SMTP Einstellungen um dies zu aktivieren",
"server_url" => "Server URL",
"server_url_info" => "Wird für die E-Mail-Überprüfung und die Passwortwiederherstellung verwendet. Muss eine gültige öffentliche URL sein.",
"server_url" => "Server URL",
"server_url_info" => "Wird für die E-Mail-Überprüfung und die Passwortwiederherstellung verwendet. Muss eine gültige öffentliche URL sein.",
"server_url_password_reset" => "Wenn diese Option gesetzt ist, wird auch die Funktion zum Zurücksetzen des Passworts aktiviert.",
"disable_login" => "Login deaktivieren",
"disable_login" => "Login deaktivieren",
"disable_login_info" => "Anmeldung umgehen. Wenn Sie Ihren Server nur in einem lokalen Netzwerk betreiben, ohne Zugriff von außen, können Sie die Anmeldung deaktivieren. Dadurch wird automatisch der Admin-Benutzer angemeldet.",
"disable_login_info2" => "Sie können diese Einstellung nur aktivieren, wenn die Benutzerregistrierung ausgeschaltet ist und es nicht mehr als ein Admin-Benutzerkonto gibt.",
"max_users_info" => "0 für unbegrenzte Anzahl an Benutzern",
"user_management" => "Benutzerverwaltung",
"delete_user" => "Benutzer löschen",
"max_users_info" => "0 für unbegrenzte Anzahl an Benutzern",
"user_management" => "Benutzerverwaltung",
"delete_user" => "Benutzer löschen",
"delete_user_info" => "Durch das Löschen eines Benutzers werden auch alle seine Abonnements und Einstellungen gelöscht.",
"smtp_settings" => "SMTP Einstellungen",
"smtp_usage_info" => "Wird für die Passwortwiederherstellung und andere System-E-Mails verwendet",
"smtp_settings" => "SMTP Einstellungen",
"smtp_usage_info" => "Wird für die Passwortwiederherstellung und andere System-E-Mails verwendet",
// Email Verification
"email_verified" => "E-Mail verifiziert",
"email_verification_failed" => "E-Mail konnte nicht verifiziert werden",
// Calendar
"calendar" => "Kalender",
"sun" => "So",
"mon" => "Mo",
"tue" => "Di",
"wed" => "Mi",
"thu" => "Do",
"fri" => "Fr",
"sat" => "Sa",
"month-01" => "Januar",
"month-02" => "Februar",
"month-03" => "März",
"month-04" => "April",
"month-05" => "Mai",
"month-06" => "Juni",
"month-07" => "Juli",
"month-08" => "August",
"month-09" => "September",
"month-10" => "Oktober",
"month-11" => "November",
"month-12" => "Dezember",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Registration page
"create_account" => "Πρέπει να δημιουργήσεις έναν λογαριασμό για να μπορέσεις να συνδεθείς.",
'username' => "Όνομα χρήστη",
'password' => "Κωδικός",
"email" => "Email",
"create_account" => "Πρέπει να δημιουργήσεις έναν λογαριασμό για να μπορέσεις να συνδεθείς.",
'username' => "Όνομα χρήστη",
'password' => "Κωδικός",
"email" => "Email",
"confirm_password" => "Επιβεβαίωση κωδικού",
"main_currency" => "Κύριο νόμισμα",
"language" => "Γλώσσα",
"main_currency" => "Κύριο νόμισμα",
"language" => "Γλώσσα",
"passwords_dont_match" => "Οι κωδικοί πρόσβασης δεν ταιριάζουν",
"username_exists" => "Το όνομα χρήστη υπάρχει ήδη",
"email_exists" => "Το email υπάρχει ήδη",
"email_exists" => "Το email υπάρχει ήδη",
"registration_failed" => "Η εγγραφή απέτυχε, παρακαλώ προσπάθησε ξανά.",
"register" => "Εγγραφή",
"register" => "Εγγραφή",
"restore_database" => "Επαναφορά βάσης δεδομένων",
// Login Page
'please_login' => "Παρακαλώ συνδέσου",
'stay_logged_in' => "Μείνε συνδεδεμένος (30 ημέρες)",
'login' => "Σύνδεση",
'login_failed' => "Τα στοιχεία σύνδεσης είναι λανθασμένα",
'please_login' => "Παρακαλώ συνδέσου",
'stay_logged_in' => "Μείνε συνδεδεμένος (30 ημέρες)",
'login' => "Σύνδεση",
'login_failed' => "Τα στοιχεία σύνδεσης είναι λανθασμένα",
'registration_successful' => "Επιτυχής Εγγραφή",
'user_email_waiting_verification' => "Το email σας πρέπει να επαληθευτεί. Παρακαλούμε ελέγξτε το email σας",
// Password Reset Page
'forgot_password' => "Ξέχασες τον κωδικό σου; Κάνε κλικ",
'reset_password' => "Επαναφορά κωδικού πρόσβασης",
'reset_password' => "Επαναφορά κωδικού πρόσβασης",
'reset_sent_check_email' => "Ένα email με οδηγίες για την επαναφορά του κωδικού πρόσβασης σας έχει σταλεί. Παρακαλώ ελέγξτε το email σας.",
'password_reset_successful' => "Επιτυχής επαναφορά κωδικού πρόσβασης",
// Header
'subscriptions' => "Συνδρομές",
'stats' => "Στατιστικές",
'settings' => "Ρυθμίσεις",
'admin' => "Διαχείριση",
'about' => "Για εμάς",
'logout' => "Αποσύνδεση",
'subscriptions' => "Συνδρομές",
'stats' => "Στατιστικές",
'settings' => "Ρυθμίσεις",
'admin' => "Διαχείριση",
'about' => "Για εμάς",
'logout' => "Αποσύνδεση",
// Subscriptions page
"subscription" => "Συνδρομή",
"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" => "Ετήσια",
"dayly" => "Ημέρα(ες)",
"weekly" => "Εβδομάδα",
"monthly" => "Μήνας(ες)",
"yearly" => "Χρόνος(ια)",
"days" => "ημέρες",
"weeks" => "εβδομάδες",
"months" => "μήνες",
"years" => "χρόνια",
"external_url" => "Επίσκεψη εξωτερικού συνδέσμου",
"empty_page" => "Κενή σελίδα",
"clear_filters" => "Καθαρισμός φίλτρων",
'search' => "Αναζήτηση",
'sort' => "Ταξινόμηση",
'name' => "Όνομα",
'last_added' => "Τελευταία προσθήκη",
'price' => "Τιμή",
'next_payment' => "Επόμενη πληρωμή",
'inactive' => "Απενεργοποίηση συνδρομής",
'member' => "Χρήστης",
'category' => "Κατηγορία",
'payment_method' => "Τρόπος πληρωμής",
"Daily" => "Καθημερινή",
"Weekly" => "Εβδομαδιαία",
"Monthly" => "Μηνιαία",
"Yearly" => "Ετήσια",
"dayly" => "Ημέρα(ες)",
"weekly" => "Εβδομάδα",
"monthly" => "Μήνας(ες)",
"yearly" => "Χρόνος(ια)",
"days" => "ημέρες",
"weeks" => "εβδομάδες",
"months" => "μήνες",
"years" => "χρόνια",
"external_url" => "Επίσκεψη εξωτερικού συνδέσμου",
"empty_page" => "Κενή σελίδα",
"clear_filters" => "Καθαρισμός φίλτρων",
"no_matching_subscriptions" => "Δεν υπάρχουν συνδρομές που ταιριάζουν με τα φίλτρα σου",
"clone" => "Κλώνος",
"clone" => "Κλώνος",
// Subscription form
"add_subscription" => "Προσθήκη συνδρομής",
"edit_subscription" => "Επεξεργασία συνδρομής",
"subscription_name" => "Όνομα συνδρομής",
"logo_preview" => "Προεπισκόπηση λογότυπου",
"search_logo" => "Αναζήτηση λογότυπου στο web",
"web_search" => "Αναζήτηση web",
"currency" => "Νόμισμα",
"payment_every" => "Πληρωμή κάθε",
"frequency" => "Συχνότητα",
"cycle" => "Κύκλος",
"next_payment" => "Επόμενη πληρωμή",
"payment_method" => "Τρόπος πληρωμής",
"no_category" => "Καμία κατηγορία",
"paid_by" => "Πληρώνεται από",
"url" => "URL",
"notes" => "Σημειώσεις",
"logo_preview" => "Προεπισκόπηση λογότυπου",
"search_logo" => "Αναζήτηση λογότυπου στο web",
"web_search" => "Αναζήτηση web",
"currency" => "Νόμισμα",
"payment_every" => "Πληρωμή κάθε",
"frequency" => "Συχνότητα",
"cycle" => "Κύκλος",
"next_payment" => "Επόμενη πληρωμή",
"payment_method" => "Τρόπος πληρωμής",
"no_category" => "Καμία κατηγορία",
"paid_by" => "Πληρώνεται από",
"url" => "URL",
"notes" => "Σημειώσεις",
"enable_notifications" => "Ενεργοποίηση ειδοποιήσεων για αυτή τη συνδρομή",
"default_value_from_settings" => "Προεπιλεγμένη τιμή από τις ρυθμίσεις",
"delete" => "Διαγραφή",
"cancel" => "Ακύρωση",
"upload_logo" => "Φόρτωση λογότυπου",
"delete" => "Διαγραφή",
"cancel" => "Ακύρωση",
"upload_logo" => "Φόρτωση λογότυπου",
// Statistics page
'general_statistics' => "Γενικές στατιστικές",
'active_subscriptions' => "Ενεργές συνδρομές",
'inactive_subscriptions' => "Ανενεργές συνδρομές",
'monthly_cost' => "Μηνιαίο κόστος",
'yearly_cost' => "Ετήσιο κόστος",
'monthly_cost' => "Μηνιαίο κόστος",
'yearly_cost' => "Ετήσιο κόστος",
'average_monthly' => "Μέσο μηνιαίο κόστος συνδρομής",
'most_expensive' => "Πιο ακριβό κόστος συνδρομής",
'amount_due' => "Ποσό που οφείλεται αυτόν τον μήνα",
'most_expensive' => "Πιο ακριβό κόστος συνδρομής",
'amount_due' => "Ποσό που οφείλεται αυτόν τον μήνα",
'percentage_budget_used' => "Ποσοστό προϋπολογισμού που χρησιμοποιείται",
'budget_remaining' => "Υπόλοιπο προϋπολογισμού",
'amount_over_budget' => "Ποσό πάνω από τον προϋπολογισμό",
'monthly_savings' => "Μηνιαίες εξοικονομήσεις (σε ανενεργές συνδρομές)",
'yearly_savings' => "Ετήσιες εξοικονομήσεις (σε ανενεργές συνδρομές)",
'split_views' => "Διαχωρισμένες προβολές",
'category_split' => "Διαχωρισμός κατηγορίας",
'yearly_savings' => "Ετήσιες εξοικονομήσεις (σε ανενεργές συνδρομές)",
'split_views' => "Διαχωρισμένες προβολές",
'category_split' => "Διαχωρισμός κατηγορίας",
'household_split' => "Διαχωρισμός νοικοκυριού",
'payment_method_split' => "Διαχωρισμός τρόπου πληρωμής",
// About page
'about_and_credits' => "Σχετικά και Credits",
'license' => "License",
'license' => "License",
'issues_and_requests' => "Προβλήματα και αιτήσεις",
'the_author' => "Προγραμματιστής",
'icons' => "Εικονίδια",
'payment_icons' => "Εικονίδια Payment",
'the_author' => "Προγραμματιστής",
'icons' => "Εικονίδια",
'payment_icons' => "Εικονίδια Payment",
// Settings page
'upload_avatar' => "μεταφόρτωση άβαταρ",
'upload_avatar' => "μεταφόρτωση άβαταρ",
'file_type_error' => "Το αρχείο πρέπει να είναι τύπου jpg, jpeg, png, webp ή gif",
'user_details' => "Λεπτομέρειες χρήστη",
"monthly_budget" => "Μηνιαίος προϋπολογισμός",
"budget_info" => "Ο μηνιαίος προϋπολογισμός χρησιμοποιείται για τον υπολογισμό των στατιστικών",
"household" => "Νοικοκυριό",
"save_member" => "Αποθήκευση μέλους",
"delete_member" => "Διαγραφή μέλους",
'user_details' => "Λεπτομέρειες χρήστη",
"monthly_budget" => "Μηνιαίος προϋπολογισμός",
"budget_info" => "Ο μηνιαίος προϋπολογισμός χρησιμοποιείται για τον υπολογισμό των στατιστικών",
"household" => "Νοικοκυριό",
"save_member" => "Αποθήκευση μέλους",
"delete_member" => "Διαγραφή μέλους",
"cant_delete_member" => "Δεν ειναι δυνατή η διαγραφή του βασικού μέλους",
"cant_delete_member_in_use" => "Δεν ειναι δυνατή η διαγραφή μέλους που χρησιμοποιείται",
'household_info' => "Το πεδίο ηλεκτρονικού ταχυδρομείου επιτρέπει στα μέλη του νοικοκυριού να ειδοποιούνται για συνδρομές που πρόκειται να λήξουν.",
"notifications" => "Ειδοποιήσεις",
'household_info' => "Το πεδίο ηλεκτρονικού ταχυδρομείου επιτρέπει στα μέλη του νοικοκυριού να ειδοποιούνται για συνδρομές που πρόκειται να λήξουν.",
"notifications" => "Ειδοποιήσεις",
"enable_email_notifications" => "Ενεργοποίηση ειδοποιήσεων με email",
"notify_me" => "Ειδοποίησε με",
"day_before" => "ημέρα πριν",
"days_before" => "ημέρες πριν",
"smtp_address" => "SMTP Address",
"port" => "Θύρα",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "SMTP χρήστης",
"smtp_password" => "SMTP κωδικός",
"from_email" => "Από (Προαιρετικό)",
"smtp_info" => "Ο κωδικός πρόσβασης SMTP μεταδίδεται και αποθηκεύεται σε απλό κείμενο. Για λόγους ασφαλείας, παρακαλούμε δημιούργησε έναν λογαριασμό μόνο γι' αυτό το σκοπό.",
"telegram" => "Telegram",
"notify_me" => "Ειδοποίησε με",
"day_before" => "ημέρα πριν",
"days_before" => "ημέρες πριν",
"smtp_address" => "SMTP Address",
"port" => "Θύρα",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "SMTP χρήστης",
"smtp_password" => "SMTP κωδικός",
"from_email" => "Από (Προαιρετικό)",
"smtp_info" => "Ο κωδικός πρόσβασης SMTP μεταδίδεται και αποθηκεύεται σε απλό κείμενο. Για λόγους ασφαλείας, παρακαλούμε δημιούργησε έναν λογαριασμό μόνο γι' αυτό το σκοπό.",
"telegram" => "Telegram",
"telegram_bot_token" => "Τηλεγραφήματα Bot Token",
"telegram_chat_id" => "Τηλεγραφήματα Chat ID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Μέθοδος αίτησης",
"custom_headers" => "Προσαρμοσμένες κεφαλίδες",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Μέθοδος αίτησης",
"custom_headers" => "Προσαρμοσμένες κεφαλίδες",
"webhook_payload" => "Webhook Payload",
"webhook_iterator_key" => "Αντικαταστήστε {{subscriptions}} με το όνομα του κλειδιού",
"variables_available" => "Διαθέσιμες μεταβλητές",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"discord_bot_username" => "Discord Bot Username",
"discord_bot_avatar_url" => "Discord Bot Avatar URL",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Pushover User Key",
'host' => "Host",
'topic' => "Θέμα",
"categories" => "Κατηγορίες",
"save_category" => "Αποθήκευση κατηγορίας",
'host' => "Host",
'topic' => "Θέμα",
"categories" => "Κατηγορίες",
"save_category" => "Αποθήκευση κατηγορίας",
"delete_category" => "Διαγραφή κατηγορίας",
"cant_delete_category_in_use" => "Δεν ειναι δυνατή η διαγραφή κατηγορίας που χρησιμοποιείται",
"currencies" => "Νομίσματα",
"save_currency" => "Αποθήκευση νομίσματος",
"currencies" => "Νομίσματα",
"save_currency" => "Αποθήκευση νομίσματος",
"delete_currency" => "Διαγραφή νομίσματος",
"cant_delete_main_currency" => "Δεν ειναι δυνατή η διαγραφή βασικού νομίσματος",
"cant_delete_currency_in_use" => "Δεν ειναι δυνατή η διαγραφή νομίσματος που χρησιμοποιείται",
"exchange_update" => "Τελευταία ενημέρωση συναλλαγματικών ισοτιμίων",
"currency_info" => "Βρες τα υποστηριζόμενα νομίσματα και τους σωστούς κωδικούς νομίσματος στο",
"currency_info" => "Βρες τα υποστηριζόμενα νομίσματα και τους σωστούς κωδικούς νομίσματος στο",
"currency_performance" => "Για βελτιωμένη απόδοση κράτησε μόνο τα νομίσματα που χρησιμοποιείς.",
"fixer_api_key" => "Fixer API κλειδί",
"api_key" => "API κλειδί",
"provider" => "Πάροχος",
"fixer_info" => "Εάν χρησιμοποιείς πολλαπλά νομίσματα και θέλεις ακριβή στατιστικά στοιχεία και ταξινόμηση των συνδρομών, είναι απαραίτητο ένα ΔΩΡΕΑΝ κλειδί API από το Fixer.",
"get_key" => "Απόκτησε το κλειδί στο",
"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" => "Εναλλακτικά, μπορείτε να λάβετε ένα δωρεάν κλειδί api fixer από το",
"display_settings" => "Ρυθμίσεις εμφάνισης",
"theme_settings" => "Ρυθμίσεις θέματος",
"custom_colors" => "Προσαρμοσμένα χρώματα",
"dark_theme" => "Dark Theme",
"switch_theme" => "Διακόπτης Light / Dark Theme",
"theme_settings" => "Ρυθμίσεις θέματος",
"custom_colors" => "Προσαρμοσμένα χρώματα",
"dark_theme" => "Dark Theme",
"switch_theme" => "Διακόπτης Light / Dark Theme",
"calculate_monthly_price" => "Υπολογισμός και εμφάνιση της μηνιαίας τιμής για όλες τις συνδρομές",
"convert_prices" => "Πάντα να μετατρέπει και να εμφανίζει τις τιμές στο κύριο νόμισμά μου (πιο αργό)",
"convert_prices" => "Πάντα να μετατρέπει και να εμφανίζει τις τιμές στο κύριο νόμισμά μου (πιο αργό)",
"hide_disabled_subscriptions" => "Απόκρυψη απενεργοποιημένων συνδρομών",
"experimental_settings" => "Πειραματικές ρυθμίσεις",
"remove_background" => "Προσπάθεια αφαίρεσης του φόντου των λογότυπων από την αναζήτηση εικόνας (πειραματικά)",
@@ -195,69 +195,69 @@ $i18n = [
"payment_method_name" => "Όνομα μεθόδου πληρωμής",
"payment_method_added_successfuly" => "Η μέθοδος πληρωμής προστέθηκε με επιτυχία",
"payment_method_removed" => "Η μέθοδος πληρωμής αφαιρέθηκε",
"disable" => "Ανενεργό",
"enable" => "Ενεργό",
"disable" => "Ανενεργό",
"enable" => "Ενεργό",
"rename_payment_method" => "Μετονομασία μεθόδου πληρωμής",
"payment_renamed" => "Η μέθοδος πληρωμής μετονομάστηκε",
"payment_not_renamed" => "Η μέθοδος πληρωμής δεν μετονομάστηκε",
"test" => "Δοκιμή",
"add" => "Προσθήκη",
"save" => "Αποθήκευση",
"reset" => "Επαναφορά",
"test" => "Δοκιμή",
"add" => "Προσθήκη",
"save" => "Αποθήκευση",
"reset" => "Επαναφορά",
"backup_and_restore" => "Αντίγραφο ασφαλείας και επαναφορά",
"backup" => "Αντίγραφο ασφαλείας",
"restore" => "Επαναφορά",
"restore_info" => "Η επαναφορά της βάσης δεδομένων θα ακυρώσει όλα τα τρέχοντα δεδομένα. Μετά την επαναφορά θα αποσυνδεθείτε.",
"backup" => "Αντίγραφο ασφαλείας",
"restore" => "Επαναφορά",
"restore_info" => "Η επαναφορά της βάσης δεδομένων θα ακυρώσει όλα τα τρέχοντα δεδομένα. Μετά την επαναφορά θα αποσυνδεθείτε.",
// Filters menu
"filter" => "Φίλτρο",
"clear" => "Καθαρισμός",
"filter" => "Φίλτρο",
"clear" => "Καθαρισμός",
// Toast
"success" => "Επιτυχία",
"success" => "Επιτυχία",
// Endpoint responses
"session_expired" => "Η συνεδρία σου έληξε. Παρακαλώ συνδέσου ξανά",
"fields_missing" => "Some fields are missing",
"fields_missing" => "Some fields are missing",
"fill_all_fields" => "Παρακαλώ συμπλήρωσε όλα τα πεδία",
"fill_mandatory_fields" => "Παρακαλώ συμπλήρωσε όλα τα υποχρεωτικά πεδία",
"error" => "Σφάλμα",
"error" => "Σφάλμα",
// Category
"failed_add_category" => "Απέτυχε η προσθήκη κατηγορίας",
"failed_edit_category" => "Απέτυχε η επεξεργασία κατηγορίας",
"category_in_use" => "Η κατηγορία χρησιμοποιείται στις συνδρομές και δεν μπορεί να αφαιρεθεί",
"failed_remove_category" => "Απέτυχε η διαγραφή κατηγορίας",
"category_saved" => "Αποθήκευση κατηγορίας",
"category_saved" => "Αποθήκευση κατηγορίας",
"category_removed" => "Διαγραφή κατηγορίας",
"sort_order_saved" => "Η ταξινόμηση αποθηκεύτηκε",
// Currency
"currency_saved" => "αποθηκεύτηκε.",
"currency_saved" => "αποθηκεύτηκε.",
"error_adding_currency" => "Error adding currency entry.",
"failed_to_store_currency" => "Failed to store Currency on the Database.",
"currency_in_use" => "Currency is in use in subscriptions and can't be deleted.",
"currency_is_main" => "Currency is set as main currency and can't be deleted.",
"failed_to_remove_currency" => "Failed to remove currency from the Database.",
"failed_to_store_api_key" => "Failed to store API Key on the Database.",
"invalid_api_key" => "Invalid API Key.",
"api_key_saved" => "API key saved successfully",
"invalid_api_key" => "Invalid API Key.",
"api_key_saved" => "API key saved successfully",
"currency_removed" => "Currency removed",
// Household
"failed_add_household" => "Η πρόσθεση μέλους απέτυχε",
"failed_edit_household" => "Η επεξεργασία μέλους απέτυχε",
"failed_remove_household" => "Η διαγραφή μέλους απέτυχε",
"household_in_use" => "Το μέλος χρησιμοποιείται σε συνδρομές και δεν μπορεί να αφαιρεθεί",
"member_saved" => "Αποθήκευση μέλους",
"member_removed" => "Διαγραφή μέλους",
"member_saved" => "Αποθήκευση μέλους",
"member_removed" => "Διαγραφή μέλους",
// Notifications
"error_saving_notifications" => "Σφάλμα αποθήκευσης δεδομένων ειδοποιήσεων.",
"wallos_notification" => "Ειδοποίηση Wallos",
"test_notification" => "Πρόκειται για δοκιμαστική ειδοποίηση. Αν το βλέπεις αυτό, η ρύθμιση είναι σωστή.",
"email_error" => "Σφάλμα αποστολής email",
"email_error" => "Σφάλμα αποστολής email",
"notification_sent_successfuly" => "Η ειδοποίηση εστάλη επιτυχώς",
"notifications_settings_saved" => "Οι ρυθμίσεις ειδοποίησης αποθηκεύτηκαν με επιτυχία.",
"notification_failed" => "Η ειδοποίηση απέτυχε",
// Payments
"payment_in_use" => "Δεν είναι εφικτό να απενεργοποιηθεί η χρησιμοποιούμενη μέθοδο πληρωμής",
"payment_in_use" => "Δεν είναι εφικτό να απενεργοποιηθεί η χρησιμοποιούμενη μέθοδο πληρωμής",
"failed_update_payment" => "Απέτυχε η ενημέρωση της μεθόδου πληρωμής στη βάση δεδομένων",
"enabled" => "ενεργοποιημένο",
"disabled" => "απενεργοποιημένο",
"enabled" => "ενεργοποιημένο",
"disabled" => "απενεργοποιημένο",
// Subscription
"error_fetching_image" => "Σφάλμα λήψης εικόνας",
"subscription_updated_successfuly" => "Η συνδρομή ενημερώθηκε επιτυχώς",
@@ -268,28 +268,49 @@ $i18n = [
"error_updating_user_data" => "Σφάλμα ενημέρωσης δεδομένων χρήστη.",
"user_details_saved" => "Αποθήκευση στοιχείων χρήστη",
// Admin Page
"registrations" => "Εγγραφές",
"registrations" => "Εγγραφές",
"enable_user_registrations" => "Ενεργοποίηση εγγραφών χρηστών",
"maximum_number_users" => "Μέγιστος αριθμός χρηστών",
"require_email_verification" => "Απαιτείται επιβεβαίωση email",
"configure_smtp_settings_to_enable" => "Διαμόρφωσε τις ρυθμίσεις SMTP για να ενεργοποιήσεις αυτή την επιλογή",
"server_url" => "Διεύθυνση URL διακομιστή",
"server_url_info" => "Χρησιμοποιείται για επαλήθευση email και ανάκτηση κωδικού πρόσβασης. Πρέπει να είναι ένα έγκυρο δημόσιο URL.",
"server_url" => "Διεύθυνση URL διακομιστή",
"server_url_info" => "Χρησιμοποιείται για επαλήθευση email και ανάκτηση κωδικού πρόσβασης. Πρέπει να είναι ένα έγκυρο δημόσιο URL.",
"server_url_password_reset" => "Εάν οριστεί, θα ενεργοποιήσει επίσης τη λειτουργία επαναφοράς κωδικού πρόσβασης.",
"disable_login" => "Απενεργοποίηση σύνδεσης",
"disable_login" => "Απενεργοποίηση σύνδεσης",
"disable_login_info" => "Παράκαμψη σύνδεσης. Εάν εκτελείτε το διακομιστή σας μόνο σε τοπικό δίκτυο, χωρίς εξωτερική πρόσβαση, μπορείτε να απενεργοποιήσετε τη σύνδεση. Αυτό θα πραγματοποιήσει αυτόματα την είσοδο του χρήστη διαχειριστή.",
"disable_login_info2" => "Μπορείτε να ενεργοποιήσετε αυτή τη ρύθμιση μόνο εάν η εγγραφή χρηστών είναι απενεργοποιημένη και δεν υπάρχουν περισσότεροι από το λογαριασμό χρήστη διαχειριστή.",
"max_users_info" => "Ο μέγιστος αριθμός χρηστών που μπορούν να εγγραφούν. Αν η τιμή είναι 0, δεν υπάρχει όριο.",
"user_management" => "Διαχείριση χρηστών",
"delete_user" => "Διαγραφή χρήστη",
"max_users_info" => "Ο μέγιστος αριθμός χρηστών που μπορούν να εγγραφούν. Αν η τιμή είναι 0, δεν υπάρχει όριο.",
"user_management" => "Διαχείριση χρηστών",
"delete_user" => "Διαγραφή χρήστη",
"delete_user_info" => "Η διαγραφή ενός χρήστη θα διαγράψει επίσης όλες τις συνδρομές και τις ρυθμίσεις του.",
"smtp_settings" => "SMTP ρυθμίσεις",
"smtp_usage_info" => "Θα χρησιμοποιηθεί για ανάκτηση κωδικού πρόσβασης και άλλα μηνύματα ηλεκτρονικού ταχυδρομείου συστήματος.",
"smtp_settings" => "SMTP ρυθμίσεις",
"smtp_usage_info" => "Θα χρησιμοποιηθεί για ανάκτηση κωδικού πρόσβασης και άλλα μηνύματα ηλεκτρονικού ταχυδρομείου συστήματος.",
// Email Verification
"email_verified" => "Το email επιβεβαιώθηκε",
"email_verification_failed" => "Η επαλήθευση email απέτυχε",
// Calendar
"calendar" => "Ημερολόγιο",
"sun" => "Κυριακή",
"mon" => "Δευτέρα",
"tue" => "Τρίτη",
"wed" => "Τετάρτη",
"thu" => "Πέμπτη",
"fri" => "Παρασκευή",
"sat" => "Σάββατο",
"month-01" => "Ιανουάριος",
"month-02" => "Φεβρουάριος",
"month-03" => "Μάρτιος",
"month-04" => "Απρίλιος",
"month-05" => "Μάιος",
"month-06" => "Ιούνιος",
"month-07" => "Ιούλιος",
"month-08" => "Αύγουστος",
"month-09" => "Σεπτέμβριος",
"month-10" => "Οκτώβριος",
"month-11" => "Νοέμβριος",
"month-12" => "Δεκέμβριος",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Registration page
"create_account" => "You need to create an account before you're able to login",
'username' => "Username",
'password' => "Password",
"email" => "Email",
"create_account" => "You need to create an account before you're able to login",
'username' => "Username",
'password' => "Password",
"email" => "Email",
"confirm_password" => "Confirm Password",
"main_currency" => "Main Currency",
"language" => "Language",
"main_currency" => "Main Currency",
"language" => "Language",
"passwords_dont_match" => "Passwords do not match",
"username_exists" => "Username already exists",
"email_exists" => "Email already exists",
"email_exists" => "Email already exists",
"registration_failed" => "Registration failed, please try again.",
"register" => "Register",
"register" => "Register",
"restore_database" => "Restore Database",
// Login Page
'please_login' => "Please login",
'stay_logged_in' => "Stay logged in (30 days)",
'login' => "Login",
'login_failed' => "Login details are incorrect",
'please_login' => "Please login",
'stay_logged_in' => "Stay logged in (30 days)",
'login' => "Login",
'login_failed' => "Login details are incorrect",
'registration_successful' => "Registration successful",
'user_email_waiting_verification' => "Your email needs to be verified. Please check your email.",
// Password Reset Page
'forgot_password' => "Forgot Password",
'reset_password' => "Reset Password",
'reset_password' => "Reset Password",
'reset_sent_check_email' => "Reset email sent. Please check your email.",
'password_reset_successful' => "Password reset successful",
// Header
'subscriptions' => "Subscriptions",
'stats' => "Statistics",
'settings' => "Settings",
'admin' => "Admin",
'about' => "About",
'logout' => "Logout",
'subscriptions' => "Subscriptions",
'stats' => "Statistics",
'settings' => "Settings",
'admin' => "Admin",
'about' => "About",
'logout' => "Logout",
// Subscriptions page
"subscription" => "Subscription",
"subscription" => "Subscription",
"no_subscriptions_yet" => "You don't have any subscriptions yet",
"add_first_subscription" => "Add first subscription",
'new_subscription' => "New Subscription",
'search' => "Search",
'sort' => "Sort",
'name' => "Name",
'last_added' => "Last Added",
'price' => "Price",
'next_payment' => "Next Payment",
'inactive' => "Disable Subscription",
'member' => "Member",
'category' => "Category",
'payment_method' => "Payment Method",
"Daily" => "Daily",
"Weekly" => "Weekly",
"Monthly" => "Monthly",
"Yearly" => "Yearly",
"daily" => "Day(s)",
"weekly" => "Week(s)",
"monthly" => "Month(s)",
"yearly" => "Year(s)",
"days" => "days",
"weeks" => "weeks",
"months" => "months",
"years" => "years",
"external_url" => "Visit External URL",
"empty_page" => "Empty Page",
"clear_filters" => "Clear Filters",
'search' => "Search",
'sort' => "Sort",
'name' => "Name",
'last_added' => "Last Added",
'price' => "Price",
'next_payment' => "Next Payment",
'inactive' => "Disable Subscription",
'member' => "Member",
'category' => "Category",
'payment_method' => "Payment Method",
"Daily" => "Daily",
"Weekly" => "Weekly",
"Monthly" => "Monthly",
"Yearly" => "Yearly",
"daily" => "Day(s)",
"weekly" => "Week(s)",
"monthly" => "Month(s)",
"yearly" => "Year(s)",
"days" => "days",
"weeks" => "weeks",
"months" => "months",
"years" => "years",
"external_url" => "Visit External URL",
"empty_page" => "Empty Page",
"clear_filters" => "Clear Filters",
"no_matching_subscriptions" => "No matching subscriptions",
"clone" => "Clone",
"clone" => "Clone",
// Subscription form
"add_subscription" => "Add subscription",
"edit_subscription" => "Edit subscription",
"subscription_name" => "Subscription name",
"logo_preview" => "Logo Preview",
"search_logo" => "Search logo on the web",
"web_search" => "Web search",
"currency" => "Currency",
"payment_every" => "Payment every",
"frequency" => "Frequency",
"cycle" => "Cycle",
"next_payment" => "Next Payment",
"payment_method" => "Payment Method",
"no_category" => "No category",
"paid_by" => "Paid by",
"url" => "URL",
"notes" => "Notes",
"logo_preview" => "Logo Preview",
"search_logo" => "Search logo on the web",
"web_search" => "Web search",
"currency" => "Currency",
"payment_every" => "Payment every",
"frequency" => "Frequency",
"cycle" => "Cycle",
"next_payment" => "Next Payment",
"payment_method" => "Payment Method",
"no_category" => "No category",
"paid_by" => "Paid by",
"url" => "URL",
"notes" => "Notes",
"enable_notifications" => "Enable Notifications for this subscription",
"default_value_from_settings" => "Default value from settings",
"delete" => "Delete",
"cancel" => "Cancel",
"upload_logo" => "Upload Logo",
"delete" => "Delete",
"cancel" => "Cancel",
"upload_logo" => "Upload Logo",
// Statistics page
'general_statistics' => "General Statistics",
'active_subscriptions' => "Active Subscriptions",
'inactive_subscriptions' => "Inactive Subscriptions",
'monthly_cost' => "Monthly Cost",
'yearly_cost' => "Yearly Cost",
'monthly_cost' => "Monthly Cost",
'yearly_cost' => "Yearly Cost",
'average_monthly' => "Average Monthly Subscription Cost",
'most_expensive' => "Most Expensive Subscription Cost",
'amount_due' => "Amount due this month",
'most_expensive' => "Most Expensive Subscription Cost",
'amount_due' => "Amount due this month",
'percentage_budget_used' => "Percentage of budget used",
'budget_remaining' => "Budget Remaining",
'amount_over_budget' => "Amount over budget",
'monthly_savings' => "Monthly Savings (on inactive subscriptions)",
'yearly_savings' => "Yearly Savings (on inactive subscriptions)",
'split_views' => "Split Views",
'category_split' => "Category Split",
'yearly_savings' => "Yearly Savings (on inactive subscriptions)",
'split_views' => "Split Views",
'category_split' => "Category Split",
'household_split' => "Household Split",
'payment_method_split' => "Payment Method Split",
// About page
'about_and_credits' => "About and Credits",
'license' => "License",
'license' => "License",
'issues_and_requests' => "Issues and Requests",
'the_author' => "The author",
'icons' => "Icons",
'payment_icons' => "Payment Icons",
'the_author' => "The author",
'icons' => "Icons",
'payment_icons' => "Payment Icons",
// Settings page
'upload_avatar' => "Upload Avatar",
'upload_avatar' => "Upload Avatar",
'file_type_error' => "The file type supplied is not supported.",
'user_details' => "User Details",
"monthly_budget" => "Monthly Budget",
"budget_info" => "Monthly budget is used to calculate statistics",
"household" => "Household",
"save_member" => "Save Member",
"delete_member" => "Delete Member",
'user_details' => "User Details",
"monthly_budget" => "Monthly Budget",
"budget_info" => "Monthly budget is used to calculate statistics",
"household" => "Household",
"save_member" => "Save Member",
"delete_member" => "Delete Member",
"cant_delete_member" => "Can't delete main member",
"cant_delete_member_in_use" => "Can't delete member in use in subscription",
'household_info' => "Email field allows for household members to be notified of subscriptions about to expire.",
"notifications" => "Notifications",
'household_info' => "Email field allows for household members to be notified of subscriptions about to expire.",
"notifications" => "Notifications",
"enable_email_notifications" => "Enable email notifications",
"notify_me" => "Notify me",
"day_before" => "day before",
"days_before" => "days before",
"smtp_address" => "SMTP Address",
"port" => "Port",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "SMTP Username",
"smtp_password" => "SMTP Password",
"from_email" => "From email (Optional)",
"smtp_info" => "SMTP Password is transmitted and stored in plaintext. For security, please create an account just for this.",
"telegram" => "Telegram",
"notify_me" => "Notify me",
"day_before" => "day before",
"days_before" => "days before",
"smtp_address" => "SMTP Address",
"port" => "Port",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "SMTP Username",
"smtp_password" => "SMTP Password",
"from_email" => "From email (Optional)",
"smtp_info" => "SMTP Password is transmitted and stored in plaintext. For security, please create an account just for this.",
"telegram" => "Telegram",
"telegram_bot_token" => "Telegram Bot Token",
"telegram_chat_id" => "Telegram Chat ID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Request Method",
"custom_headers" => "Custom Headers",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Request Method",
"custom_headers" => "Custom Headers",
"webhook_payload" => "Webhook Payload",
"webhook_iterator_key" => "Replace {{subscriptions}} with key name",
"variables_available" => "Variables available",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"discord_bot_username" => "Discord Bot Username",
"discord_bot_avatar_url" => "Discord Bot Avatar URL",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Pushover User Key",
'host' => "Host",
'topic' => "Topic",
"categories" => "Categories",
"save_category" => "Save Category",
'host' => "Host",
'topic' => "Topic",
"categories" => "Categories",
"save_category" => "Save Category",
"delete_category" => "Delete Category",
"cant_delete_category_in_use" => "Can't delete category in use in subscription",
"currencies" => "Currencies",
"save_currency" => "Save currency",
"currencies" => "Currencies",
"save_currency" => "Save currency",
"delete_currency" => "Delete currency",
"cant_delete_main_currency" => "Can't delete main currency",
"cant_delete_currency_in_use" => "Can't delete currency in use in subscription",
"exchange_update" => "Exchange rates last updated on",
"currency_info" => "Find the supported currencies and correct currency codes on",
"currency_info" => "Find the supported currencies and correct currency codes on",
"currency_performance" => "For improved performance keep only the currencies you use.",
"fixer_api_key" => "Fixer API Key",
"api_key" => "API Key",
"provider" => "Provider",
"fixer_info" => "If you use multiple currencies, and want accurate statistics and sorting on the subscriptions, a FREE API Key from Fixer is necessary.",
"get_key" => "Get your key at",
"fixer_api_key" => "Fixer API Key",
"api_key" => "API Key",
"provider" => "Provider",
"fixer_info" => "If you use multiple currencies, and want accurate statistics and sorting on the subscriptions, a FREE API Key from Fixer is necessary.",
"get_key" => "Get your key at",
"get_free_fixer_api_key" => "Get free Fixer API Key",
"get_key_alternative" => "Alternatively, you can get a free fixer api key from",
"display_settings" => "Display Settings",
"theme_settings" => "Theme Settings",
"custom_colors" => "Custom Colors",
"dark_theme" => "Dark Theme",
"switch_theme" => "Switch Light / Dark Theme",
"theme_settings" => "Theme Settings",
"custom_colors" => "Custom Colors",
"dark_theme" => "Dark Theme",
"switch_theme" => "Switch Light / Dark Theme",
"calculate_monthly_price" => "Calculate and show monthly price for all subscriptions",
"convert_prices" => "Always convert and show prices on my main currency (slower)",
"convert_prices" => "Always convert and show prices on my main currency (slower)",
"hide_disabled_subscriptions" => "Hide disabled subscriptions",
"experimental_settings" => "Experimental Settings",
"remove_background" => "Attempt to remove background of logos from image search (experimental)",
@@ -195,69 +195,69 @@ $i18n = [
"payment_method_name" => "Payment Method Name",
"payment_method_added_successfuly" => "Payment method added successfully",
"payment_method_removed" => "Payment method removed",
"disable" => "Disable",
"enable" => "Enable",
"disable" => "Disable",
"enable" => "Enable",
"rename_payment_method" => "Rename Payment Method",
"payment_renamed" => "Payment method renamed",
"payment_not_renamed" => "Payment method not renamed",
"test" => "Test",
"add" => "Add",
"save" => "Save",
"reset" => "Reset",
"test" => "Test",
"add" => "Add",
"save" => "Save",
"reset" => "Reset",
"backup_and_restore" => "Backup and Restore",
"backup" => "Backup",
"restore" => "Restore",
"restore_info" => "Restoring the database will override all current data. You will be signed out after the restore.",
"backup" => "Backup",
"restore" => "Restore",
"restore_info" => "Restoring the database will override all current data. You will be signed out after the restore.",
// Filters menu
"filter" => "Filter",
"clear" => "Clear",
"filter" => "Filter",
"clear" => "Clear",
// Toast
"success" => "Success",
"success" => "Success",
// Endpoint responses
"session_expired" => "Your session expired. Please login again",
"fields_missing" => "Some fields are missing",
"fields_missing" => "Some fields are missing",
"fill_all_fields" => "Please fill all fields",
"fill_mandatory_fields" => "Please fill all mandatory fields",
"error" => "Error",
"error" => "Error",
// Category
"failed_add_category" => "Failed to add category",
"failed_edit_category" => "Failed to edit category",
"category_in_use" => "Category is in use in subscriptions and can't be removed",
"failed_remove_category" => "Failed to remove category",
"category_saved" => "Category saved",
"category_saved" => "Category saved",
"category_removed" => "Category removed",
"sort_order_saved" => "Sort order saved",
// Currency
"currency_saved" => "was saved.",
"currency_saved" => "was saved.",
"error_adding_currency" => "Error adding currency entry.",
"failed_to_store_currency" => "Failed to store Currency on the Database.",
"currency_in_use" => "Currency is in use in subscriptions and can't be deleted.",
"currency_is_main" => "Currency is set as main currency and can't be deleted.",
"failed_to_remove_currency" => "Failed to remove currency from the Database.",
"failed_to_store_api_key" => "Failed to store API Key on the Database.",
"invalid_api_key" => "Invalid API Key.",
"api_key_saved" => "API key saved successfully",
"invalid_api_key" => "Invalid API Key.",
"api_key_saved" => "API key saved successfully",
"currency_removed" => "Currency removed",
// Household
"failed_add_household" => "Failed to add household member",
"failed_edit_household" => "Failed to edit household member",
"failed_remove_household" => "Failed to remove household member",
"household_in_use" => "Household member is in use in subscriptions and can't be removed",
"member_saved" => "Member saved",
"member_removed" => "Member removed",
"member_saved" => "Member saved",
"member_removed" => "Member removed",
// Notifications
"error_saving_notifications" => "Error saving notifications data.",
"wallos_notification" => "Wallos Notification",
"test_notification" => "This is a test notification. If you're seeing this, the configuration is correct.",
"email_error" => "Error sending email",
"email_error" => "Error sending email",
"notification_sent_successfuly" => "Notification sent successfully",
"notifications_settings_saved" => "Notification settings saved successfully.",
"notification_failed" => "Notification failed",
// Payments
"payment_in_use" => "Can't disable used payment method",
"payment_in_use" => "Can't disable used payment method",
"failed_update_payment" => "Failed to update payment method in the database",
"enabled" => "enabled",
"disabled" => "disabled",
"enabled" => "enabled",
"disabled" => "disabled",
// Subscription
"error_fetching_image" => "Error fetching image",
"subscription_updated_successfuly" => "Subscription updated successfully",
@@ -268,29 +268,50 @@ $i18n = [
"error_updating_user_data" => "Error updating user data.",
"user_details_saved" => "User details saved",
// Admin Page
"registrations" => "Registrations",
"registrations" => "Registrations",
"enable_user_registrations" => "Enable user registrations",
"maximum_number_users" => "Maximum number of users",
"require_email_verification" => "Require email verification",
"configure_smtp_settings_to_enable" => "Configure SMTP settings to enable",
"server_url" => "Server URL",
"server_url_info" => "Used for email verification and password recovery. Must be a valid public URL.",
"server_url" => "Server URL",
"server_url_info" => "Used for email verification and password recovery. Must be a valid public URL.",
"server_url_password_reset" => "If set will also enable password reset functionality.",
"disable_login" => "Disable login",
"disable_login" => "Disable login",
"disable_login_info" => "Bypass login. If you run your server on a local network only, without external access you can disable the login. This will automatically login the admin user.",
"disable_login_info2" => "You can only enable this setting if user registration is disabled and there are no more than the admin user account.",
"max_users_info" => "0 means unlimited",
"user_management" => "User Management",
"delete_user" => "Delete User",
"max_users_info" => "0 means unlimited",
"user_management" => "User Management",
"delete_user" => "Delete User",
"delete_user_info" => "Deleting a user will also delete all their subscriptions and settings.",
"smtp_settings" => "SMTP Settings",
"smtp_usage_info" => "Will be used for password recovery and other system emails.",
"smtp_settings" => "SMTP Settings",
"smtp_usage_info" => "Will be used for password recovery and other system emails.",
// Email Verification
"email_verified" => "Email verified successfully",
"email_verification_failed" => "Email verification failed",
// Calendar
"calendar" => "Calendar",
"sun" => "Sun",
"mon" => "Mon",
"tue" => "Tue",
"wed" => "Wed",
"thu" => "Thu",
"fri" => "Fri",
"sat" => "Sat",
"month-01" => "January",
"month-02" => "February",
"month-03" => "March",
"month-04" => "April",
"month-05" => "May",
"month-06" => "June",
"month-07" => "July",
"month-08" => "August",
"month-09" => "September",
"month-10" => "October",
"month-11" => "November",
"month-12" => "December",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Registration page
"create_account" => "Necesitas crear una cuenta antes de poder iniciar sesión",
'username' => "Nombre de Usuario",
'password' => "Contraseña",
"email" => "Correo Electrónico",
"create_account" => "Necesitas crear una cuenta antes de poder iniciar sesión",
'username' => "Nombre de Usuario",
'password' => "Contraseña",
"email" => "Correo Electrónico",
"confirm_password" => "Confirmar Contraseña",
"main_currency" => "Moneda Principal",
"language" => "Idioma",
"main_currency" => "Moneda Principal",
"language" => "Idioma",
"passwords_dont_match" => "Las contraseñas no coinciden",
"username_exists" => "El nombre de usuario ya existe",
"email_exists" => "El correo electrónico ya está registrado",
"email_exists" => "El correo electrónico ya está registrado",
"registration_failed" => "Error en el registro, por favor inténtalo de nuevo.",
"register" => "Registrar",
"register" => "Registrar",
"restore_database" => "Restaurar Base de Datos",
// Login Page
'please_login' => "Por favor, inicia sesión",
'stay_logged_in' => "Mantener sesión iniciada (30 días)",
'login' => "Iniciar Sesión",
'login_failed' => "Los detalles de inicio de sesión son incorrectos",
'please_login' => "Por favor, inicia sesión",
'stay_logged_in' => "Mantener sesión iniciada (30 días)",
'login' => "Iniciar Sesión",
'login_failed' => "Los detalles de inicio de sesión son incorrectos",
'registration_successful' => "Registro efectuado con éxito",
'user_email_waiting_verification' => "Tu correo electrónico necesita ser verificado. Por favor, compruebe su correo electrónico",
// Password Reset Page
'forgot_password' => "¿Olvidaste tu contraseña?",
'reset_password' => "Restablecer Contraseña",
'reset_password' => "Restablecer Contraseña",
'reset_sent_check_email' => "Se ha enviado un correo electrónico con instrucciones para restablecer la contraseña. Por favor, compruebe su correo electrónico.",
'password_reset_successful' => "Contraseña restablecida con éxito",
// Header
'subscriptions' => "Suscripciones",
'stats' => "Estadísticas",
'settings' => "Configuración",
'admin' => "Admin",
'about' => "Acerca de",
'logout' => "Cerrar Sesión",
'subscriptions' => "Suscripciones",
'stats' => "Estadísticas",
'settings' => "Configuración",
'admin' => "Admin",
'about' => "Acerca de",
'logout' => "Cerrar Sesión",
// Subscriptions page
"subscription" => "Suscripción",
"subscription" => "Suscripción",
"no_subscriptions_yet" => "Aún no tienes ninguna suscripción",
"add_first_subscription" => "Añadir primera suscripción",
'new_subscription' => "Nueva Suscripción",
'search' => "Buscar",
'sort' => "Ordenar",
'name' => "Nombre",
'last_added' => "Última Añadida",
'price' => "Precio",
'next_payment' => "Próximo Pago",
'inactive' => "Desactivar Suscripción",
'member' => "Miembro",
'category' => "Categoría",
'payment_method' => "Método de Pago",
"Daily" => "Diario",
"Weekly" => "Semanal",
"Monthly" => "Mensual",
"Yearly" => "Anual",
"daily" => "Día(s)",
"weekly" => "Semana(s)",
"monthly" => "Mes(es)",
"yearly" => "Año(s)",
"days" => "días",
"weeks" => "semanas",
"months" => "meses",
"years" => "años",
"external_url" => "Visitar URL Externa",
"empty_page" => "Página Vacía",
"clear_filters" => "Limpiar Filtros",
'search' => "Buscar",
'sort' => "Ordenar",
'name' => "Nombre",
'last_added' => "Última Añadida",
'price' => "Precio",
'next_payment' => "Próximo Pago",
'inactive' => "Desactivar Suscripción",
'member' => "Miembro",
'category' => "Categoría",
'payment_method' => "Método de Pago",
"Daily" => "Diario",
"Weekly" => "Semanal",
"Monthly" => "Mensual",
"Yearly" => "Anual",
"daily" => "Día(s)",
"weekly" => "Semana(s)",
"monthly" => "Mes(es)",
"yearly" => "Año(s)",
"days" => "días",
"weeks" => "semanas",
"months" => "meses",
"years" => "años",
"external_url" => "Visitar URL Externa",
"empty_page" => "Página Vacía",
"clear_filters" => "Limpiar Filtros",
"no_matching_subscriptions" => "No hay suscripciones que coincidan con los filtros",
"clone" => "Clonar",
"clone" => "Clonar",
// Subscription form
"add_subscription" => "Añadir suscripción",
"edit_subscription" => "Editar suscripción",
"subscription_name" => "Nombre de la Suscripción",
"logo_preview" => "Vista Previa del Logotipo",
"search_logo" => "Buscar logotipo en la web",
"web_search" => "Búsqueda web",
"currency" => "Moneda",
"payment_every" => "Pago cada",
"frequency" => "Frecuencia",
"cycle" => "Ciclo",
"next_payment" => "Próximo Pago",
"payment_method" => "Método de Pago",
"no_category" => "Sin categoría",
"paid_by" => "Pagado por",
"url" => "URL",
"notes" => "Notas",
"logo_preview" => "Vista Previa del Logotipo",
"search_logo" => "Buscar logotipo en la web",
"web_search" => "Búsqueda web",
"currency" => "Moneda",
"payment_every" => "Pago cada",
"frequency" => "Frecuencia",
"cycle" => "Ciclo",
"next_payment" => "Próximo Pago",
"payment_method" => "Método de Pago",
"no_category" => "Sin categoría",
"paid_by" => "Pagado por",
"url" => "URL",
"notes" => "Notas",
"enable_notifications" => "Habilitar notificaciones para esta suscripción",
"default_value_from_settings" => "Valor predeterminado de la configuración",
"delete" => "Eliminar",
"cancel" => "Cancelar",
"upload_logo" => "Cargar Logotipo",
"delete" => "Eliminar",
"cancel" => "Cancelar",
"upload_logo" => "Cargar Logotipo",
// Statistics page
'general_statistics' => "Estadísticas Generales",
'active_subscriptions' => "Suscripciones Activas",
'inactive_subscriptions' => "Suscripciones inactivas",
'monthly_cost' => "Costo Mensual",
'yearly_cost' => "Costo Anual",
'monthly_cost' => "Costo Mensual",
'yearly_cost' => "Costo Anual",
'average_monthly' => "Costo Promedio Mensual de Suscripción",
'most_expensive' => "Costo de Suscripción Más Caro",
'amount_due' => "Monto a pagar este mes",
'most_expensive' => "Costo de Suscripción Más Caro",
'amount_due' => "Monto a pagar este mes",
'percentage_budget_used' => "Porcentaje del presupuesto utilizado",
'budget_remaining' => "Presupuesto Restante",
'amount_over_budget' => "Monto sobre el presupuesto",
'monthly_savings' => "Ahorro Mensual (en suscripciones inactivas)",
'yearly_savings' => "Ahorro Anual (en suscripciones inactivas)",
'split_views' => "Vistas Divididas",
'category_split' => "División por Categoría",
'yearly_savings' => "Ahorro Anual (en suscripciones inactivas)",
'split_views' => "Vistas Divididas",
'category_split' => "División por Categoría",
'household_split' => "División por Hogar",
'payment_method_split' => "División por Método de Pago",
// About page
'about_and_credits' => "Acerca de y Créditos",
'license' => "Licencia",
'license' => "Licencia",
'issues_and_requests' => "Problemas y Solicitudes",
'the_author' => "El autor",
'icons' => "Iconos",
'payment_icons' => "Iconos de Pago",
'the_author' => "El autor",
'icons' => "Iconos",
'payment_icons' => "Iconos de Pago",
// Settings page
'upload_avatar' => "Subir avatar",
'upload_avatar' => "Subir avatar",
'file_type_error' => "El archivo debe ser una imagen en formato PNG, JPG, WEBP o SVG",
'user_details' => "Detalles del Usuario",
"monthly_budget" => "Presupuesto Mensual",
"budget_info" => "El presupuesto mensual se utiliza para calcular las estadísticas. Si no deseas utilizar esta función, déjalo en 0.",
"household" => "Hogar",
"save_member" => "Guardar Miembro",
"delete_member" => "Eliminar Miembro",
'user_details' => "Detalles del Usuario",
"monthly_budget" => "Presupuesto Mensual",
"budget_info" => "El presupuesto mensual se utiliza para calcular las estadísticas. Si no deseas utilizar esta función, déjalo en 0.",
"household" => "Hogar",
"save_member" => "Guardar Miembro",
"delete_member" => "Eliminar Miembro",
"cant_delete_member" => "No se puede eliminar el miembro principal",
"cant_delete_member_in_use" => "No se puede eliminar el miembro en uso en la suscripción",
"household_info" => "El campo de correo electrónico permite notificar a los miembros del hogar las suscripciones que están a punto de caducar.",
"notifications" => "Notificaciones",
"household_info" => "El campo de correo electrónico permite notificar a los miembros del hogar las suscripciones que están a punto de caducar.",
"notifications" => "Notificaciones",
"enable_email_notifications" => "Habilitar notificaciones por correo electrónico",
"notify_me" => "Notificarme",
"day_before" => "día antes",
"days_before" => "días antes",
"smtp_address" => "Dirección SMTP",
"port" => "Puerto",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Nombre de usuario SMTP",
"smtp_password" => "Contraseña SMTP",
"from_email" => "Correo electrónico de origen (Opcional)",
"smtp_info" => "La contraseña SMTP se transmite y almacena en texto plano. Por seguridad, crea una cuenta solo para esto.",
"telegram" => "Telegram",
"notify_me" => "Notificarme",
"day_before" => "día antes",
"days_before" => "días antes",
"smtp_address" => "Dirección SMTP",
"port" => "Puerto",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Nombre de usuario SMTP",
"smtp_password" => "Contraseña SMTP",
"from_email" => "Correo electrónico de origen (Opcional)",
"smtp_info" => "La contraseña SMTP se transmite y almacena en texto plano. Por seguridad, crea una cuenta solo para esto.",
"telegram" => "Telegram",
"telegram_bot_token" => "Token del Bot de Telegram",
"telegram_chat_id" => "ID del Chat de Telegram",
"webhook" => "Webhook",
"webhook_url" => "URL del Webhook",
"request_method" => "Método de Solicitud",
"custom_headers" => "Cabeceras Personalizadas",
"webhook" => "Webhook",
"webhook_url" => "URL del Webhook",
"request_method" => "Método de Solicitud",
"custom_headers" => "Cabeceras Personalizadas",
"webhook_payload" => "Carga del Webhook",
"webhook_iterator_key" => "Sustituye {{subscriptions}} por el nombre de la clave",
"variables_available" => "Variables disponibles",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"discord_bot_username" => "Nombre de usuario del bot",
"discord_bot_avatar_url" => "URL del avatar del bot",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Clave de usuario",
'host' => "Host",
'topic' => "Topico",
"categories" => "Categorías",
"save_category" => "Guardar Categoría",
'host' => "Host",
'topic' => "Topico",
"categories" => "Categorías",
"save_category" => "Guardar Categoría",
"delete_category" => "Eliminar Categoría",
"cant_delete_category_in_use" => "No se puede eliminar la categoría en uso en la suscripción",
"currencies" => "Monedas",
"save_currency" => "Guardar Moneda",
"currencies" => "Monedas",
"save_currency" => "Guardar Moneda",
"delete_currency" => "Eliminar Moneda",
"cant_delete_main_currency" => "No se puede eliminar la moneda principal",
"cant_delete_currency_in_use" => "No se puede eliminar la moneda en uso en la suscripción",
"exchange_update" => "Tasas de cambio actualizadas por última vez en",
"currency_info" => "Encuentra las monedas admitidas y los códigos de moneda correctos en",
"currency_info" => "Encuentra las monedas admitidas y los códigos de moneda correctos en",
"currency_performance" => "Para un rendimiento mejorado, guarda solo las monedas que uses.",
"fixer_api_key" => "API Key de Fixer",
"api_key" => "API Key",
"provider" => "Proveedor",
"fixer_info" => "Si usas varias monedas y deseas estadísticas y orden precisos en las suscripciones, es necesaria una API KEY gratuita de Fixer.",
"get_key" => "Obtén tu clave en",
"fixer_api_key" => "API Key de Fixer",
"api_key" => "API Key",
"provider" => "Proveedor",
"fixer_info" => "Si usas varias monedas y deseas estadísticas y orden precisos en las suscripciones, es necesaria una API KEY gratuita de Fixer.",
"get_key" => "Obtén tu clave en",
"get_free_fixer_api_key" => "Obtén una API Key de Fixer gratuita",
"get_key_alternative" => "También puede obtener una clave api gratuita de Fixer en",
"display_settings" => "Configuración de Pantalla",
"theme_settings" => "Configuración de Tema",
"custom_collors" => "Colores Personalizados",
"dark_theme" => "Tema Oscuro",
"switch_theme" => "Cambiar entre Tema Claro / Oscuro",
"theme_settings" => "Configuración de Tema",
"custom_collors" => "Colores Personalizados",
"dark_theme" => "Tema Oscuro",
"switch_theme" => "Cambiar entre Tema Claro / Oscuro",
"calculate_monthly_price" => "Calcular y mostrar el precio mensual de todas las suscripciones",
"convert_prices" => "Convertir y mostrar siempre los precios en mi moneda principal (más lento)",
"convert_prices" => "Convertir y mostrar siempre los precios en mi moneda principal (más lento)",
"hide_disabled_subscriptions" => "Ocultar suscripciones desactivadas",
"experimental_settings" => "Configuraciones Experimentales",
"remove_background" => "Intentar quitar el fondo de los logotipos de la búsqueda de imágenes (experimental)",
@@ -195,69 +195,69 @@ $i18n = [
"payment_method_name" => "Nombre del método de pago",
"payment_method_added_successfuly" => "Método de pago añadido con éxito",
"payment_method_removed" => "Método de pago eliminado",
"disable" => "Desactivar",
"enable" => "Activar",
"disable" => "Desactivar",
"enable" => "Activar",
"rename_payment_method" => "Renombrar método de pago",
"payment_renamed" => "Método de pago renombrado",
"payment_not_renamed" => "Error al renombrar el método de pago",
"test" => "Probar",
"add" => "Agregar",
"save" => "Guardar",
"reset" => "Restablecer",
"test" => "Probar",
"add" => "Agregar",
"save" => "Guardar",
"reset" => "Restablecer",
"backup_and_restore" => "Copia de Seguridad y Restauración",
"backup" => "Copia de Seguridad",
"restore" => "Restaurar",
"restore_info" => "La restauración de la base de datos anulará todos los datos actuales. Se cerrará la sesión después de la restauración.",
"backup" => "Copia de Seguridad",
"restore" => "Restaurar",
"restore_info" => "La restauración de la base de datos anulará todos los datos actuales. Se cerrará la sesión después de la restauración.",
// Filters menu
"filter" => "Filtrar",
"clear" => "Limpiar",
"filter" => "Filtrar",
"clear" => "Limpiar",
// Toast
"success" => "Éxito",
"success" => "Éxito",
// Endpoint responses
"session_expired" => "Tu sesión ha expirado. Por favor, inicia sesión nuevamente",
"fields_missing" => "Faltan algunos campos",
"fields_missing" => "Faltan algunos campos",
"fill_all_fields" => "Por favor, completa todos los campos",
"fill_mandatory_fields" => "Por favor, completa todos los campos obligatorios",
"error" => "Error",
"error" => "Error",
// Category
"failed_add_category" => "Error al agregar la categoría",
"failed_edit_category" => "Error al editar la categoría",
"category_in_use" => "La categoría está en uso en suscripciones y no se puede eliminar",
"failed_remove_category" => "Error al eliminar la categoría",
"category_saved" => "Categoría guardada",
"category_saved" => "Categoría guardada",
"category_removed" => "Categoría eliminada",
"sort_order_saved" => "Orden de clasificación guardado",
// Currency
"currency_saved" => "fue guardada.",
"currency_saved" => "fue guardada.",
"error_adding_currency" => "Error al añadir la entrada de la moneda.",
"failed_to_store_currency" => "Error al almacenar la moneda en la base de datos.",
"currency_in_use" => "La moneda está en uso en suscripciones y no se puede eliminar.",
"currency_is_main" => "La moneda está establecida como moneda principal y no se puede eliminar.",
"failed_to_remove_currency" => "Error al eliminar la moneda de la base de datos.",
"failed_to_store_api_key" => "Error al almacenar la API KEY en la base de datos.",
"invalid_api_key" => "API KEY no válida.",
"api_key_saved" => "API KEY guardada con éxito",
"invalid_api_key" => "API KEY no válida.",
"api_key_saved" => "API KEY guardada con éxito",
"currency_removed" => "Moneda eliminada",
// Household
"failed_add_household" => "Error al añadir miembro del hogar",
"failed_edit_household" => "Error al editar miembro del hogar",
"failed_remove_household" => "Error al eliminar miembro del hogar",
"household_in_use" => "El miembro del hogar está en uso en suscripciones y no se puede eliminar",
"member_saved" => "Miembro guardado",
"member_removed" => "Miembro eliminado",
"member_saved" => "Miembro guardado",
"member_removed" => "Miembro eliminado",
// Notifications
"error_saving_notifications" => "Error al guardar los datos de notificaciones.",
"wallos_notification" => "Notificación de Wallos",
"test_notification" => "Esta es una notificación de prueba. Si estás viendo esto, la configuración es correcta.",
"email_error" => "Error al enviar correo electrónico",
"email_error" => "Error al enviar correo electrónico",
"notification_sent_successfuly" => "Notificación enviada con éxito",
"notifications_settings_saved" => "Configuración de notificaciones guardada con éxito.",
"notification_failed" => "Error al enviar la notificación",
// Payments
"payment_in_use" => "No se puede desactivar el método de pago utilizado",
"payment_in_use" => "No se puede desactivar el método de pago utilizado",
"failed_update_payment" => "Error al actualizar el método de pago en la base de datos",
"enabled" => "habilitado",
"disabled" => "desactivado",
"enabled" => "habilitado",
"disabled" => "desactivado",
// Subscription
"error_fetching_image" => "Error al obtener la imagen",
"subscription_updated_successfuly" => "Suscripción actualizada con éxito",
@@ -268,28 +268,49 @@ $i18n = [
"error_updating_user_data" => "Error al actualizar los datos del usuario.",
"user_details_saved" => "Detalles del usuario guardados",
// Admin Page
"registrations" => "Registro de Usuarios",
"registrations" => "Registro de Usuarios",
"enable_user_registrations" => "Habilitar registro de usuarios",
"maximum_number_users" => "Número máximo de usuarios",
"require_email_verification" => "Requerir verificación de correo electrónico",
"configure_smtp_settings_to_enable" => "Configura la configuración SMTP para habilitar",
"server_url" => "URL del Servidor",
"server_url_info" => "Se utiliza para verificar el correo electrónico y recuperar la contraseña. Debe ser una URL pública válida.",
"server_url" => "URL del Servidor",
"server_url_info" => "Se utiliza para verificar el correo electrónico y recuperar la contraseña. Debe ser una URL pública válida.",
"server_url_password_reset" => "Si se configura, también se habilitará la función de restablecimiento de contraseña.",
"disable_login" => "Deshabilitar Inicio de Sesión",
"disable_login" => "Deshabilitar Inicio de Sesión",
"disable_login_info" => "Omitir el inicio de sesión. Si ejecuta su servidor sólo en una red local, sin acceso externo, puede desactivar el inicio de sesión. Esto iniciará automáticamente la sesión del usuario administrador.",
"disable_login_info2" => "Sólo puede activar esta configuración si el registro de usuarios está desactivado y no hay más que la cuenta de usuario admin.",
"max_users_info" => "0 para ilimitado",
"user_management" => "Gestión de Usuarios",
"delete_user" => "Eliminar Usuario",
"max_users_info" => "0 para ilimitado",
"user_management" => "Gestión de Usuarios",
"delete_user" => "Eliminar Usuario",
"delete_user_info" => "Al eliminar un usuario, también se eliminarán todas sus suscripciones y configuraciones.",
"smtp_settings" => "Configuración SMTP",
"smtp_usage_info" => "Se utilizará para recuperar contraseñas y otros correos electrónicos del sistema.",
"smtp_settings" => "Configuración SMTP",
"smtp_usage_info" => "Se utilizará para recuperar contraseñas y otros correos electrónicos del sistema.",
// Email Verification
"email_verified" => "Correo electrónico verificado",
"email_verification_failed" => "Error al verificar el correo electrónico",
// Calendar
"calendar" => "Calendario",
"sun" => "Dom",
"mon" => "Lun",
"tue" => "Mar",
"wed" => "Mié",
"thu" => "Jue",
"fri" => "Vie",
"sat" => "Sáb",
"month-01" => "Enero",
"month-02" => "Febrero",
"month-03" => "Marzo",
"month-04" => "Abril",
"month-05" => "Mayo",
"month-06" => "Junio",
"month-07" => "Julio",
"month-08" => "Agosto",
"month-09" => "Septiembre",
"month-10" => "Octubre",
"month-11" => "Noviembre",
"month-12" => "Diciembre",
];
?>
?>

View File

@@ -24,7 +24,7 @@ $i18n = [
'user_email_waiting_verification' => "Votre email doit être vérifié. Veuillez vérifier votre email",
// Password Reset Page
'forgot_password' => "Mot de passe oublié",
'reset_password' => "Réinitialiser le mot de passe",
'reset_password' => "Réinitialiser le mot de passe",
'reset_sent_check_email' => "Un courriel a été envoyé à l'adresse fournie. Vérifiez votre boîte de réception.",
'password_reset_successful' => "Réinitialisation du mot de passe réussie",
// En-tête
@@ -63,7 +63,7 @@ $i18n = [
"years" => "années",
"external_url" => "Visiter l'URL externe",
"empty_page" => "Page vide",
"clear_filters" => "Effacer les filtres",
"clear_filters" => "Effacer les filtres",
"no_matching_subscriptions" => "Aucun abonnement ne correspond à vos critères de recherche",
"clone" => "Cloner",
// Formulaire d'abonnement
@@ -101,7 +101,7 @@ $i18n = [
'budget_remaining' => "Budget restant",
'amount_over_budget' => "Montant dépassant le budget",
'monthly_savings' => "Économies mensuelles (sur les abonnements inactifs)",
'yearly_savings' => "Économies annuelles (sur les abonnements inactifs)",
'yearly_savings' => "Économies annuelles (sur les abonnements inactifs)",
'split_views' => "Vues partagées",
'category_split' => "Répartition par catégorie",
'household_split' => "Répartition du ménage",
@@ -114,7 +114,7 @@ $i18n = [
'icons' => "Icônes",
'payment_icons' => "Icônes de paiement",
// Page de paramètres
'upload_avatar' => "Télécharger un Avatar",
'upload_avatar' => "Télécharger un Avatar",
'file_type_error' => "Le type de fichier n'est pas pris en charge",
'user_details' => "Détails de l'utilisateur",
"monthly_budget" => "Budget mensuel",
@@ -168,7 +168,7 @@ $i18n = [
"cant_delete_currency_in_use" => "Impossible de supprimer la devise utilisée dans l'abonnement",
"exchange_update" => "Les taux de change ont été mis à jour pour la dernière fois le",
"currency_info" => "Trouvez les devises prises en charge et les codes de devise corrects sur",
"currency_performance" => "Pour des performances améliorées, ne conservez que les devises que vous utilisez.",
"currency_performance" => "Pour des performances améliorées, ne conservez que les devises que vous utilisez.",
"fixer_api_key" => "Clé API de Fixer",
"api_key" => "Clé API",
"provider" => "Fournisseur",
@@ -288,8 +288,29 @@ $i18n = [
// Email Verification
"email_verified" => "Votre adresse courriel a été vérifiée avec succès",
"email_verification_failed" => "La vérification de l'adresse courriel a échoué",
// Calendar
"calendar" => "Calendrier",
"sun" => "Dim",
"mon" => "Lun",
"tue" => "Mar",
"wed" => "Mer",
"thu" => "Jeu",
"fri" => "Ven",
"sat" => "Sam",
"month-01" => "Janvier",
"month-02" => "Février",
"month-03" => "Mars",
"month-04" => "Avril",
"month-05" => "Mai",
"month-06" => "Juin",
"month-07" => "Juillet",
"month-08" => "Août",
"month-09" => "Septembre",
"month-10" => "Octobre",
"month-11" => "Novembre",
"month-12" => "Décembre",
];
?>
?>

View File

@@ -23,10 +23,10 @@ $i18n = [
'login_failed' => 'Le credenziali non sono corrette',
'registration_successful' => "L'account è stato creato con successo",
'user_email_waiting_verification' => "L'e-mail deve essere verificata. Controlla la tua email",
// Password Reset Page
'forgot_password' => "Hai dimenticato la password?",
'reset_password' => "Reimposta password",
'reset_password' => "Reimposta password",
'reset_sent_check_email' => "Un'email è stata inviata. Controlla la tua casella di posta",
'password_reset_successful' => "La password è stata reimpostata con successo",
@@ -105,7 +105,7 @@ $i18n = [
'budget_remaining' => 'Budget rimanente',
'amount_over_budget' => 'Importo oltre il budget',
'monthly_savings' => 'Risparmi mensili (su abbonamenti inattivi)',
'yearly_savings' => 'Risparmi annuali (su abbonamenti inattivi)',
'yearly_savings' => 'Risparmi annuali (su abbonamenti inattivi)',
'split_views' => 'Visualizzazioni con grafici',
'category_split' => 'Suddivisione per categoria',
'household_split' => 'Suddivisione per nucleo familiare',
@@ -233,20 +233,20 @@ $i18n = [
'failed_edit_category' => 'Impossibile modificare la categoria',
"category_in_use" => "La categoria è attualmente in uso da almeno un abbonamento",
"failed_remove_category" => "Impossibile rimuovere la categoria",
"category_saved" => "Categoria salvata",
"category_saved" => "Categoria salvata",
"category_removed" => "Categoria rimossa",
"sort_order_saved" => "Ordine di visualizzazione salvato",
// Currency
"currency_saved" => "Valuta salvata con successo",
"currency_saved" => "Valuta salvata con successo",
"error_adding_currency" => "Errore nell'aggiunta della valuta",
"failed_to_store_currency" => "Impossibile salvare la valuta nel Database",
"currency_in_use" => "La valuta è attualmente in uso da almeno un abbonamento",
"currency_is_main" => "Impossibile rimuovere la valuta principale",
"failed_to_remove_currency" => "Impossibile rimuovere la valuta",
"failed_to_store_api_key" => "Impossibile salvare la chiave API",
"invalid_api_key" => "Chiave API non valida",
"api_key_saved" => "Chiave API salvata",
"invalid_api_key" => "Chiave API non valida",
"api_key_saved" => "Chiave API salvata",
"currency_removed" => "Valuta rimossa",
// Household
@@ -254,14 +254,14 @@ $i18n = [
"failed_edit_household" => "Impossibile modificare un membro del nucleo familiare",
"failed_remove_household" => "Impossibile rimuovere un membro del nucleo familiare",
"household_in_use" => "Il membro del nucleo familiare è attualmente in uso da almeno un abbonamento",
"member_saved" => "Membro salvato",
"member_removed" => "Membro rimosso",
"member_saved" => "Membro salvato",
"member_removed" => "Membro rimosso",
// Notifications
"error_saving_notifications" => "Errore nel salvataggio delle notifiche",
"wallos_notification" => "Notifica Wallos",
"test_notification" => "Questa è una notifica di prova",
"email_error" => "Errore nell'invio dell'e-mail",
"email_error" => "Errore nell'invio dell'e-mail",
"notification_sent_successfuly" => "Notifica inviata con successo",
"notifications_settings_saved" => "Impostazioni delle notifiche salvate",
"notification_failed" => "Invio della notifica fallito",
@@ -284,7 +284,7 @@ $i18n = [
"user_details_saved" => "Dettagli utente salvati",
// Admin Page
"registrations" => "Registrazioni",
"registrations" => "Registrazioni",
"enable_user_registrations" => "Abilita le registrazioni utente",
"maximum_number_users" => "Numero massimo di utenti",
"require_email_verification" => "Richiedi la verifica dell'e-mail",
@@ -305,6 +305,28 @@ $i18n = [
// Email Verification
"email_verified" => "L'indirizzo email è stato verificato con successo",
"email_verification_failed" => "La verifica dell'email è fallita",
// Calendar
"calendar" => "Calendario",
"sun" => "Dom",
"mon" => "Lun",
"tue" => "Mar",
"wed" => "Mer",
"thu" => "Gio",
"fri" => "Ven",
"sat" => "Sab",
"month-01" => "Gennaio",
"month-02" => "Febbraio",
"month-03" => "Marzo",
"month-04" => "Aprile",
"month-05" => "Maggio",
"month-06" => "Giugno",
"month-07" => "Luglio",
"month-08" => "Agosto",
"month-09" => "Settembre",
"month-10" => "Ottobre",
"month-11" => "Novembre",
"month-12" => "Dicembre",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Registration page
"create_account" => "ログインする前にアカウントを作成する必要があります",
'username' => "ユーザー名",
'password' => "パスワード",
"email" => "メール",
"create_account" => "ログインする前にアカウントを作成する必要があります",
'username' => "ユーザー名",
'password' => "パスワード",
"email" => "メール",
"confirm_password" => "パスワードの確認",
"main_currency" => "主要通貨",
"language" => "言語",
"main_currency" => "主要通貨",
"language" => "言語",
"passwords_dont_match" => "パスワードが違います",
"username_exists" => "ユーザー名が既に存在します",
"email_exists" => "メールアドレスが既に存在します",
"email_exists" => "メールアドレスが既に存在します",
"registration_failed" => "登録に失敗しました。もう一度お試しください。",
"register" => "登録する",
"register" => "登録する",
"restore_database" => "データベースをリストア",
// Login Page
'please_login' => "ログインしてください",
'stay_logged_in' => "ログインしたままにする (30日)",
'login' => "ログイン",
'login_failed' => "ログイン情報が間違っています",
'please_login' => "ログインしてください",
'stay_logged_in' => "ログインしたままにする (30日)",
'login' => "ログイン",
'login_failed' => "ログイン情報が間違っています",
'registration_successful' => "登録に成功",
'user_email_waiting_verification' => "Eメールの確認が必要です。メールを確認してください。",
// Password Reset Page
'forgot_password' => "パスワードを忘れた場合",
'reset_password' => "パスワードをリセット",
'reset_password' => "パスワードをリセット",
'reset_sent_check_email' => "パスワードリセットリンクが送信されました。メールを確認してください。",
'password_reset_successful' => "パスワードリセットに成功",
// Header
'subscriptions' => "定期購入",
'stats' => "統計",
'settings' => "設定",
'admin' => "管理者",
'about' => "About",
'logout' => "ログアウト",
'subscriptions' => "定期購入",
'stats' => "統計",
'settings' => "設定",
'admin' => "管理者",
'about' => "About",
'logout' => "ログアウト",
// Subscriptions page
"subscription" => "定期購入",
"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" => "フィルタをクリア",
'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" => "一致する定期購入がありません",
"clone" => "複製",
"clone" => "複製",
// Subscription form
"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" => "注釈",
"logo_preview" => "ロゴのプレビュー",
"search_logo" => "ウェブ上でロゴを検索する",
"web_search" => "ウェブ検索",
"currency" => "通貨",
"payment_every" => "支払い頻度",
"frequency" => "頻度",
"cycle" => "サイクル",
"next_payment" => "次回支払い",
"payment_method" => "支払い方法",
"no_category" => "カテゴリなし",
"paid_by" => "支払い元",
"url" => "URL",
"notes" => "注釈",
"enable_notifications" => "この定期購入の通知を有効にする",
"default_value_from_settings" => "設定からデフォルト値を使用",
"delete" => "削除",
"cancel" => "キャンセル",
"upload_logo" => "ロゴのアップロード",
"delete" => "削除",
"cancel" => "キャンセル",
"upload_logo" => "ロゴのアップロード",
// Statistics page
'general_statistics' => "一般統計",
'active_subscriptions' => "アクティブな定期購入",
'inactive_subscriptions' => "非アクティブなサブスクリプション",
'monthly_cost' => "月間費用",
'yearly_cost' => "年間費用",
'monthly_cost' => "月間費用",
'yearly_cost' => "年間費用",
'average_monthly' => "月額平均費用",
'most_expensive' => "最も高額な定期購入費用",
'amount_due' => "今月の支払額",
'most_expensive' => "最も高額な定期購入費用",
'amount_due' => "今月の支払額",
'percentage_budget_used' => "予算使用率",
'budget_remaining' => "予算残高",
'amount_over_budget' => "予算オーバー",
'monthly_savings' => "月間節約 (非アクティブな定期購入)",
'yearly_savings' => "年間節約 (非アクティブな定期購入)",
'split_views' => "分割表示",
'category_split' => "カテゴリ別",
'yearly_savings' => "年間節約 (非アクティブな定期購入)",
'split_views' => "分割表示",
'category_split' => "カテゴリ別",
'household_split' => "世帯別",
'payment_method_split' => "支払い方法別",
// About page
'about_and_credits' => "概要とクレジット",
'license' => "License",
'license' => "License",
'issues_and_requests' => "問題と要望",
'the_author' => "著者",
'icons' => "アイコン",
'payment_icons' => "支払いアイコン",
'the_author' => "著者",
'icons' => "アイコン",
'payment_icons' => "支払いアイコン",
// Settings page
'upload_avatar' => "アバターをアップロードする",
'upload_avatar' => "アバターをアップロードする",
'file_type_error' => "ファイルタイプが許可されていません",
'user_details' => "ユーザー詳細",
"monthly_budget" => "月間予算",
"budget_info" => "予算を設定すると、統計ページで予算と実際の支出を比較できます。",
"household" => "世帯",
"save_member" => "世帯員を保存",
"delete_member" => "世帯員を削除",
'user_details' => "ユーザー詳細",
"monthly_budget" => "月間予算",
"budget_info" => "予算を設定すると、統計ページで予算と実際の支出を比較できます。",
"household" => "世帯",
"save_member" => "世帯員を保存",
"delete_member" => "世帯員を削除",
"cant_delete_member" => "世帯主は削除出ません",
"cant_delete_member_in_use" => "定期購入を使用中の世帯員は削除できません",
"household_info" => "Eメールフィールドでは、世帯のメンバーに購読期限が近づいたことを通知することができます。",
"notifications" => "通知",
"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パスワードは平文で送信および保存されます。セキュリティのため専用のアカウントを作成してください。",
"telegram" => "Telegram",
"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パスワードは平文で送信および保存されます。セキュリティのため専用のアカウントを作成してください。",
"telegram" => "Telegram",
"telegram_bot_token" => "Telegramボットトークン",
"telegram_chat_id" => "TelegramチャットID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "リクエストメソッド",
"custom_headers" => "カスタムヘッダー",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "リクエストメソッド",
"custom_headers" => "カスタムヘッダー",
"webhook_payload" => "Webhookペイロード",
"webhook_iterator_keu" => "{{subscriptions}}をキー名に置き換える」",
"variables_available" => "利用可能な変数",
"gotify" => "Gotify",
"token" => "トークン",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "トークン",
"discord" => "Discord",
"discord_bot_username" => "Discordボットユーザー名",
"discord_bot_avatar_url" => "DiscordボットアバターURL",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Pushoverユーザーキー",
'host' => "ホスト",
'topic' => "トピック",
"categories" => "カテゴリ",
"save_category" => "カテゴリを保存",
'host' => "ホスト",
'topic' => "トピック",
"categories" => "カテゴリ",
"save_category" => "カテゴリを保存",
"delete_category" => "カテゴリを削除",
"cant_delete_category_in_use" => "定期購入で使用中のカテゴリは削除できません",
"currencies" => "通貨",
"save_currency" => "通貨を保存",
"currencies" => "通貨",
"save_currency" => "通貨を保存",
"delete_currency" => "通貨を削除",
"cant_delete_main_currency" => "メイン通貨は削除できません",
"cant_delete_currency_in_use" => "定期購入で使用中の通貨は削除できません",
"exchange_update" => "為替レートの最終更新日",
"currency_info" => "サポートされている通貨と正しい通貨コードを見つける",
"currency_info" => "サポートされている通貨と正しい通貨コードを見つける",
"currency_performance" => "Fパフォーマンスを向上させるには、使用する通貨のみを保持してください。",
"fixer_api_key" => "FixerのAPIキー",
"api_key" => "APIキー",
"provider" => "プロバイダ",
"fixer_info" => "複数の通貨を使用し、定期購入に関する正確な統計と並べ替えが必要な場合は、Fixerからの無料APIキーが必要です。",
"get_key" => "キーを入手する",
"fixer_api_key" => "FixerのAPIキー",
"api_key" => "APIキー",
"provider" => "プロバイダ",
"fixer_info" => "複数の通貨を使用し、定期購入に関する正確な統計と並べ替えが必要な場合は、Fixerからの無料APIキーが必要です。",
"get_key" => "キーを入手する",
"get_free_fixer_api_key" => "無料のFixer APIキーを取得",
"get_key_alternative" => "または、以下のサイトから無料のフィクサーapiキーを入手することもできます。",
"display_settings" => "表示設定",
"theme_settings" => "テーマ設定",
"custom_colors" => "カスタムカラー",
"dark_theme" => "ダークテーマ",
"switch_theme" => "ライト/ダーク テーマの切り替え",
"theme_settings" => "テーマ設定",
"custom_colors" => "カスタムカラー",
"dark_theme" => "ダークテーマ",
"switch_theme" => "ライト/ダーク テーマの切り替え",
"calculate_monthly_price" => "すべての定期購入の月額料金を計算して表示する",
"convert_prices" => "常にメイン通貨で価格を換算して表示する (遅い)",
"convert_prices" => "常にメイン通貨で価格を換算して表示する (遅い)",
"hide_disabled_subscriptions" => "無効な定期購入を非表示にする",
"experimental_settings" => "実験的な設定",
"remove_background" => "画像検索からロゴの背景を削除する (実験)",
@@ -195,69 +195,69 @@ $i18n = [
"payment_method_name" => "支払い方法名",
"payment_method_added_successfuly" => "支払い方法が追加されました",
"payment_method_removed" => "支払い方法が削除されました",
"disable" => "無効",
"enable" => "有効",
"disable" => "無効",
"enable" => "有効",
"rename_payment_method" => "支払い方法の名前を変更",
"payment_renamed" => "支払い方法が変更されました",
"payment_not_renamed" => "支払い方法が変更されませんでした",
"test" => "テスト",
"add" => "追加",
"save" => "保存",
"reset" => "リセット",
"test" => "テスト",
"add" => "追加",
"save" => "保存",
"reset" => "リセット",
"backup_and_restore" => "バックアップとリストア",
"backup" => "バックアップ",
"restore" => "リストア",
"restore_info" => "データベースをリストアすると、現在のデータがすべて上書きされます。リストア後はサインアウトされます。",
"backup" => "バックアップ",
"restore" => "リストア",
"restore_info" => "データベースをリストアすると、現在のデータがすべて上書きされます。リストア後はサインアウトされます。",
// Filters menu
"filter" => "フィルタ",
"clear" => "クリア",
"filter" => "フィルタ",
"clear" => "クリア",
// Toast
"success" => "成功",
"success" => "成功",
// Endpoint responses
"session_expired" => "セッションの有効期限が切れました。再度ログインしてください。",
"fields_missing" => "いくつかの項目が抜けています",
"fields_missing" => "いくつかの項目が抜けています",
"fill_all_fields" => "すべての項目を記入してください",
"fill_mandatory_fields" => "必須項目をすべて記入してください",
"error" => "エラー",
"error" => "エラー",
// Category
"failed_add_category" => "カテゴリの追加に失敗",
"failed_edit_category" => "カテゴリの編集に失敗",
"category_in_use" => "定期購入で使用中のカテゴリは削除できません",
"failed_remove_category" => "カテゴリの削除に失敗",
"category_saved" => "カテゴリの保存",
"category_saved" => "カテゴリの保存",
"category_removed" => "カテゴリの削除",
"sort_order_saved" => "並べ替え順が保存されました",
// Currency
"currency_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キーの保存に成功",
"invalid_api_key" => "無効なAPIキーです",
"api_key_saved" => "APIキーの保存に成功",
"currency_removed" => "通貨を削除",
// Household
"failed_add_household" => "世帯員の追加に失敗",
"failed_edit_household" => "世帯員の編集に失敗",
"failed_remove_household" => "世帯員の削除に失敗",
"household_in_use" => "定期購入を使用中の世帯員は削除できません",
"member_saved" => "世帯員を保存",
"member_removed" => "世帯員を削除",
"member_saved" => "世帯員を保存",
"member_removed" => "世帯員を削除",
// Notifications
"error_saving_notifications" => "通知データの保存エラー",
"wallos_notification" => "Wallosからの通知",
"test_notification" => "これは通知テストです。これが見られるなら成功です。",
"email_error" => "電子メールの送信エラー",
"email_error" => "電子メールの送信エラー",
"notification_sent_successfuly" => "通知の送信に成功しました",
"notifications_settings_saved" => "通知設定の保存に成功",
"notification_failed" => "通知の送信に失敗",
// Payments
"payment_in_use" => "使用中の支払い方法は削除できません",
"payment_in_use" => "使用中の支払い方法は削除できません",
"failed_update_payment" => "データーベースの支払い方法の更新に失敗しました",
"enabled" => "有効",
"disabled" => "無効",
"enabled" => "有効",
"disabled" => "無効",
// Subscription
"error_fetching_image" => "画像の取得エラー",
"subscription_updated_successfuly" => "定期購入の更新成功",
@@ -268,28 +268,49 @@ $i18n = [
"error_updating_user_data" => "ユーザデータの更新エラー",
"user_details_saved" => "ユーザー詳細の保存",
// Admin Page
"registrations" => "登録",
"registrations" => "登録",
"enable_user_registrations" => "ユーザー登録を有効にする",
"maximum_number_users" => "最大ユーザ数",
"require_email_verification" => "メール確認を必要とする",
"configure_smtp_settings_to_enable" => "SMTP設定を構成して有効にする",
"server_url" => "サーバーURL",
"server_url_info" => "電子メール認証とパスワード回復に使用される。有効な公開URLでなければなりません。",
"server_url" => "サーバーURL",
"server_url_info" => "電子メール認証とパスワード回復に使用される。有効な公開URLでなければなりません。",
"server_url_password_reset" => "設定すると、パスワードリセット機能も有効になる。",
"disable_login" => "ログインを無効にする",
"disable_login" => "ログインを無効にする",
"disable_login_info" => "ログインをバイパスします。サーバーをローカルネットワークのみで運用し、外部からのアクセスがない場合、ログインを無効にすることができます。これにより、管理者ユーザが自動的にログインします。",
"disable_login_info2" => "この設定を有効にできるのは、ユーザー登録がオフで、管理者以上のユーザーアカウントが存在しない場合のみです。",
"max_users_info" => "0に設定すると無制限になります",
"user_management" => "ユーザー管理",
"delete_user" => "ユーザーを削除",
"max_users_info" => "0に設定すると無制限になります",
"user_management" => "ユーザー管理",
"delete_user" => "ユーザーを削除",
"delete_user_info" => "ユーザーを削除すると、そのユーザーのサブスクリプションと設定もすべて削除されます。",
"smtp_settings" => "SMTP設定",
"smtp_usage_info" => "パスワードの回復やその他のシステム電子メールに使用されます。",
"smtp_settings" => "SMTP設定",
"smtp_usage_info" => "パスワードの回復やその他のシステム電子メールに使用されます。",
// Email Verification
"email_verified" => "メールアドレスが確認されました",
"email_verification_failed" => "メールアドレスの確認に失敗しました",
// Calendar
"calendar" => "カレンダー",
"sun" => "",
"mon" => "",
"tue" => "",
"wed" => "",
"thu" => "",
"fri" => "",
"sat" => "",
"month-01" => "1月",
"month-02" => "2月",
"month-03" => "3月",
"month-04" => "4月",
"month-05" => "5月",
"month-06" => "6月",
"month-07" => "7月",
"month-08" => "8月",
"month-09" => "9月",
"month-10" => "10月",
"month-11" => "11月",
"month-12" => "12月",
];
?>
?>

View File

@@ -2,187 +2,188 @@
$i18n = [
// Registration page
"create_account" => "로그인 하기 전에 회원가입을 진행해야 합니다.",
'username' => "유저명",
'password' => "비밀번호",
"email" => "이메일",
"create_account" => "로그인 하기 전에 회원가입을 진행해야 합니다.",
'username' => "유저명",
'password' => "비밀번호",
"email" => "이메일",
"confirm_password" => "비밀번호 확인",
"main_currency" => "기본 통화",
"language" => "언어",
"main_currency" => "기본 통화",
"language" => "언어",
"passwords_dont_match" => "비밀번호가 일치하지 않습니다.",
"username_exists" => "이미 존재하는 유저명입니다.",
"email_exists" => "이미 존재하는 이메일입니다.",
"email_exists" => "이미 존재하는 이메일입니다.",
"registration_failed" => "회원가입 실패. 다시 시도해 주세요.",
"register" => "회원가입",
"register" => "회원가입",
"restore_database" => "데이터베이스 복구",
// Login Page
'please_login' => "로그인 해 주세요.",
'stay_logged_in' => "로그인 유지 (30일)",
'login' => "로그인",
'login_failed' => "로그인 정보가 부정확합니다.",
'please_login' => "로그인 해 주세요.",
'stay_logged_in' => "로그인 유지 (30일)",
'login' => "로그인",
'login_failed' => "로그인 정보가 부정확합니다.",
'registration_successful' => "등록 성공",
'user_email_waiting_verification' => "이메일을 인증해야 합니다. 이메일을 확인해 주세요.",
// Password Reset Page
'forgot_password' => "비밀번호를 잊으셨나요?",
'reset_password' => "비밀번호 재설정",
'reset_password' => "비밀번호 재설정",
'reset_sent_check_email' => "비밀번호 재설정 이메일이 전송되었습니다. 이메일을 확인해 주세요.",
'password_reset_successful' => "비밀번호 재설정 성공",
// Header
'subscriptions' => "구독",
'stats' => "통계",
'settings' => "설정",
'admin' => "관리자",
'about' => "정보",
'logout' => "로그아웃",
'subscriptions' => "구독",
'stats' => "통계",
'settings' => "설정",
'admin' => "관리자",
'about' => "정보",
'logout' => "로그아웃",
// Subscriptions page
"subscription" => "구독",
"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" => "필터 제거",
'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" => "해당하는 구독이 없습니다.",
"clone" => "복제",
"clone" => "복제",
// Subscription form
"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" => "메모",
"logo_preview" => "로고 미리보기",
"search_logo" => "웹에서 로고 검색하기",
"web_search" => "웹 검색",
"currency" => "통화",
"payment_every" => "지불 빈도",
"frequency" => "빈도",
"cycle" => "주기",
"next_payment" => "다음 결제",
"payment_method" => "결제 방법",
"no_category" => "카테고리 없음",
"paid_by" => "결제하는 사람",
"url" => "URL",
"notes" => "메모",
"enable_notifications" => "이 구독에 대한 알림을 활성화합니다.",
"default_value_from_settings" => "설정에서 기본값 사용",
"delete" => "삭제",
"cancel" => "취소",
"upload_logo" => "로고 업로드",
"delete" => "삭제",
"cancel" => "취소",
"upload_logo" => "로고 업로드",
// Statistics page
'general_statistics' => "일반 통계",
'active_subscriptions' => "활성 구독",
'inactive_subscriptions' => "비활성 구독",
'monthly_cost' => "월간 지출",
'yearly_cost' => "연간 지출",
'monthly_cost' => "월간 지출",
'yearly_cost' => "연간 지출",
'average_monthly' => "월별 평균 구독 비용",
'most_expensive' => "최고가 구독 비용",
'amount_due' => "이달의 결제 비용",
'most_expensive' => "최고가 구독 비용",
'amount_due' => "이달의 결제 비용",
'percentage_budget_used' => "예산 사용률",
'budget_remaining' => "남은 예산",
'amount_over_budget' => "예산 초과",
'monthly_savings' => "월간 절약 (비활성 구독)",
'yearly_savings' => "연간 절약 (비활성 구독)",
'split_views' => "분할 표시",
'category_split' => "카테고리별",
'yearly_savings' => "연간 절약 (비활성 구독)",
'split_views' => "분할 표시",
'category_split' => "카테고리별",
'household_split' => "가구별",
'payment_method_split' => "지불방법별",
// About page
'about_and_credits' => "개요 및 크레딧",
'license' => "라이선스",
'license' => "라이선스",
'issues_and_requests' => "이슈 및 요청",
'the_author' => "제작자",
'icons' => "아이콘",
'payment_icons' => "지불 방식 아이콘",
'the_author' => "제작자",
'icons' => "아이콘",
'payment_icons' => "지불 방식 아이콘",
// Settings page
'upload_avatar' => "아바타 업로드",
'upload_avatar' => "아바타 업로드",
'file_type_error' => "제공된 파일이 지원하지 않는 타입입니다.",
'user_details' => "유저 상세",
"monthly_budget" => "월간 예산",
"budget_info" => "예산을 설정하면 통계 페이지에서 예산과 실제 지출을 비교할 수 있습니다.",
"household" => "가구",
"save_member" => "구성원 저장",
"delete_member" => "구성원 삭제",
'user_details' => "유저 상세",
"monthly_budget" => "월간 예산",
"budget_info" => "예산을 설정하면 통계 페이지에서 예산과 실제 지출을 비교할 수 있습니다.",
"household" => "가구",
"save_member" => "구성원 저장",
"delete_member" => "구성원 삭제",
"cant_delete_member" => "메인 구성원은 삭제할 수 없습니다",
"cant_delete_member_in_use" => "구독에서 사용 중인 구성원은 삭제할 수 없습니다",
'household_info' => "이메일 항목은 가구 구성원이 구독 만료에 대한 안내를 받기 위해 필요합니다.",
"notifications" => "알림",
'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 비밀번호는 평문으로 저장되고 발송됩니다. 보안을 위해, 이 서비스를 위해서만 사용하는 계정을 생성해 주세요.",
"telegram" => "텔레그램",
"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 비밀번호는 평문으로 저장되고 발송됩니다. 보안을 위해, 이 서비스를 위해서만 사용하는 계정을 생성해 주세요.",
"telegram" => "텔레그램",
"telegram_bot_token" => "텔레그램 봇 토큰",
"telegram_chat_id" => "텔레그램 채팅 ID",
"webhook" => "웹훅",
"webhook_url" => "웹훅 URL",
"request_method" => "요청 메서드",
"custom_headers" => "커스텀 헤더",
"webhook" => "웹훅",
"webhook_url" => "웹훅 URL",
"request_method" => "요청 메서드",
"custom_headers" => "커스텀 헤더",
"webhook_payload" => "웹훅 페이로드",
"webhook_iterator_key" => "{{subscriptions}}을 키 이름으로 바꾸기",
"variables_available" => "사용 가능한 변수",
"gotify" => "Gotify",
"token" => "토큰",
"discord" => "디스코드",
"gotify" => "Gotify",
"token" => "토큰",
"discord" => "디스코드",
"discord_bot_username" => "디스코드 봇 유저명",
"discord_bot_avatar_url" => "디스코드 봇 아바타 URL",
"pushover" => "Pushover",
"pushover_user_key" => "Pushover User Key",~
'host' => "호스트",
'topic' => "토픽",
"categories" => "카테고리",
"save_category" => "카테고리 저장",
"pushover" => "Pushover",
"pushover_user_key" => "Pushover User Key",
~
'host' => "호스트",
'topic' => "토픽",
"categories" => "카테고리",
"save_category" => "카테고리 저장",
"delete_category" => "카테고리 삭제",
"cant_delete_category_in_use" => "구독에서 사용 중인 카테고리는 삭제할 수 없습니다.",
"currencies" => "통화",
"save_currency" => "통화 저장",
"currencies" => "통화",
"save_currency" => "통화 저장",
"delete_currency" => "통화 삭제",
"cant_delete_main_currency" => "기본 통화는 삭제할 수 없습니다.",
"cant_delete_currency_in_use" => "구독에서 사용 중인 통화는 삭제할 수 없습니다.",
"exchange_update" => "환율 최종 갱신일",
"currency_info" => "지원하는 통화와 정확한 통화 코드 찾기",
"currency_info" => "지원하는 통화와 정확한 통화 코드 찾기",
"currency_performance" => "성능을 향상시키기 위해서는 사용할 통화들만 유지하세요.",
"fixer_api_key" => "Fixer API 키",
"api_key" => "API 키",
"provider" => "제공자",
"fixer_info" => "여러 통화를 사용하고, 정확한 통계와 구독별 정렬을 원하시느 경우에는, Fixer에서 발급받은 무료 API 키가 필요합니다.",
"get_key" => "키 얻기",
"fixer_api_key" => "Fixer API 키",
"api_key" => "API 키",
"provider" => "제공자",
"fixer_info" => "여러 통화를 사용하고, 정확한 통계와 구독별 정렬을 원하시느 경우에는, Fixer에서 발급받은 무료 API 키가 필요합니다.",
"get_key" => "키 얻기",
"get_free_fixer_api_key" => "무료 Fixer API 키 얻기",
"get_key_alternative" => "또는 다음 사이트에서 무료 Fixer api 키를 얻을 수 있습니다.",
"display_settings" => "디스플레이 설정",
"theme_settings" => "테마 설정",
"custom_colors" => "커스텀 색상",
"dark_theme" => "다크 테마",
"switch_theme" => "라이트/다크 테마 전환",
"theme_settings" => "테마 설정",
"custom_colors" => "커스텀 색상",
"dark_theme" => "다크 테마",
"switch_theme" => "라이트/다크 테마 전환",
"calculate_monthly_price" => "모든 구독에 대한 월별 요금을 계산하고 표시",
"convert_prices" => "항상 기본 통화로 가격을 환산하고 표시 (느림)",
"convert_prices" => "항상 기본 통화로 가격을 환산하고 표시 (느림)",
"hide_disabled_subscriptions" => "비활성화된 구독 숨기기",
"experimental_settings" => "실험적 설정",
"remove_background" => "로고 이미지 검색에서 배경 삭제 (실험적)",
@@ -195,69 +196,69 @@ $i18n = [
"payment_method_name" => "결제 수단 이름",
"payment_method_added_successfuly" => "결제 수단이 성공적으로 추가되었습니다",
"payment_method_removed" => "결제 수단이 제거되었습니다.",
"disable" => "비활성화",
"enable" => "활성화",
"disable" => "비활성화",
"enable" => "활성화",
"rename_payment_method" => "결제 수단 이름 변경",
"payment_renamed" => "결제 수단 이름이 변경되었습니다.",
"payment_not_renamed" => "결제 수단 이름이 변경되지 않았습니다.",
"test" => "테스트",
"add" => "추가",
"save" => "저장",
"reset" => "리셋",
"test" => "테스트",
"add" => "추가",
"save" => "저장",
"reset" => "리셋",
"backup_and_restore" => "백업 및 복구",
"backup" => "백업",
"restore" => "복구",
"restore_info" => "데이터베이스를 복구하면 현재 데이터를 모두 덮어씁니다. 복구 후 로그아웃됩니다.",
"backup" => "백업",
"restore" => "복구",
"restore_info" => "데이터베이스를 복구하면 현재 데이터를 모두 덮어씁니다. 복구 후 로그아웃됩니다.",
// Filters menu
"filter" => "필터",
"clear" => "초기화",
"filter" => "필터",
"clear" => "초기화",
// Toast
"success" => "성공",
"success" => "성공",
// Endpoint responses
"session_expired" => "세션이 만료되었습니다. 다시 로그인 해 주세요",
"fields_missing" => "일부 항목이 누락되었습니다",
"fields_missing" => "일부 항목이 누락되었습니다",
"fill_all_fields" => "모든 항목을 채워 주세요",
"fill_mandatory_fields" => "모든 필수 항목을 채워 주세요",
"error" => "에러",
"error" => "에러",
// Category
"failed_add_category" => "통화를 추가하는 데 실패했습니다",
"failed_edit_category" => "카테고리를 수정하는데 실패했습니다",
"category_in_use" => "카테고리가 구독에서 사용중이므로 제거할 수 없습니다",
"failed_remove_category" => "카테고리를 제거하는데 실패했습니다",
"category_saved" => "카테고리가 저장되었습니다",
"category_saved" => "카테고리가 저장되었습니다",
"category_removed" => "카테고리가 삭제되었습니다",
"sort_order_saved" => "정렬 순서가 저장되었습니다",
// Currency
"currency_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 성공적으로 저장했습니다",
"invalid_api_key" => "유효하지 않은 API 키.",
"api_key_saved" => "API 성공적으로 저장했습니다",
"currency_removed" => "통화 삭제",
// Household
"failed_add_household" => "가구 구성원을 추가하는데 실패했습니다",
"failed_edit_household" => "가구 구성원을 수정하는데 실패했습니다",
"failed_remove_household" => "가구 구성원을 삭제하는데 실패했습니다",
"household_in_use" => "구독에서 사용 중인 가구 구성원은 삭제할 수 없습니다",
"member_saved" => "구성원 저장",
"member_removed" => "구성원 삭제",
"member_saved" => "구성원 저장",
"member_removed" => "구성원 삭제",
// Notifications
"error_saving_notifications" => "알림 데이터 저장 오류.",
"wallos_notification" => "Wallos 알림",
"test_notification" => "이 메세지는 테스트 알림입니다. 이 메세지를 보고 계시다면, 올바르게 설정된 상태입니다.",
"email_error" => "이메일 전송 오류",
"email_error" => "이메일 전송 오류",
"notification_sent_successfuly" => "알림 전송에 성공했습니다",
"notifications_settings_saved" => "알림 설정 저장 성공.",
"notification_failed" => "알림 전송 실패",
// Payments
"payment_in_use" => "사용 중인 결제 수단은 비활성화 할 수 없습니다",
"payment_in_use" => "사용 중인 결제 수단은 비활성화 할 수 없습니다",
"failed_update_payment" => "결제 수단을 데이터베이스에 업데이트 하지 못 했습니다",
"enabled" => "활성",
"disabled" => "비활성",
"enabled" => "활성",
"disabled" => "비활성",
// Subscription
"error_fetching_image" => "이미지 가져오기 오류",
"subscription_updated_successfuly" => "구독이 성공적으로 수정되었습니다",
@@ -268,28 +269,49 @@ $i18n = [
"error_updating_user_data" => "유저 데이터 갱신 실패.",
"user_details_saved" => "유저 세부정보 저장 성공",
// Admin Page
"registrations" => "회원가입",
"registrations" => "회원가입",
"enable_user_registrations" => "유저 회원가입 활성화",
"maximum_number_users" => "최대 유저 수",
"require_email_verification" => "이메일 인증 필요",
"configure_smtp_settings_to_enable" => "SMTP 설정을 구성하여 이메일 인증을 활성화합니다.",
"server_url" => "서버 URL",
"server_url_info" => "이메일 인증 및 비밀번호 복구에 사용됩니다. 유효한 공개 URL이어야 합니다.",
"server_url" => "서버 URL",
"server_url_info" => "이메일 인증 및 비밀번호 복구에 사용됩니다. 유효한 공개 URL이어야 합니다.",
"server_url_password_reset" => "설정하면 비밀번호 재설정 기능도 활성화됩니다.",
"disable_login" => "로그인 비활성화",
"disable_login" => "로그인 비활성화",
"disable_login_info" => "로그인 우회. 외부 액세스 없이 로컬 네트워크에서만 서버를 실행하는 경우 로그인을 비활성화할 수 있습니다. 그러면 관리자 사용자가 자동으로 로그인됩니다.",
"disable_login_info2" => "이 설정은 사용자 등록이 해제되어 있고 관리자 사용자 계정이 없는 경우에만 활성화할 수 있습니다.",
"max_users_info" => "0으로 설정하면 무제한으로 설정됩니다.",
"user_management" => "유저 관리",
"delete_user" => "유저 삭제",
"max_users_info" => "0으로 설정하면 무제한으로 설정됩니다.",
"user_management" => "유저 관리",
"delete_user" => "유저 삭제",
"delete_user_info" => "사용자를 삭제하면 모든 구독 및 설정도 삭제됩니다.",
"smtp_settings" => "SMTP 설정",
"smtp_usage_info" => "비밀번호 복구 및 기타 시스템 이메일에 사용됩니다.",
"smtp_settings" => "SMTP 설정",
"smtp_usage_info" => "비밀번호 복구 및 기타 시스템 이메일에 사용됩니다.",
// Email Verification
"email_verified" => "이메일 인증 완료",
"email_verification_failed" => "이메일 인증 실패",
// Calendar
"calendar" => "달력",
"sun" => "",
"mon" => "",
"tue" => "",
"wed" => "",
"thu" => "",
"fri" => "",
"sat" => "",
"month-01" => "1월",
"month-02" => "2월",
"month-03" => "3월",
"month-04" => "4월",
"month-05" => "5월",
"month-06" => "6월",
"month-07" => "7월",
"month-08" => "8월",
"month-09" => "9월",
"month-10" => "10월",
"month-11" => "11월",
"month-12" => "12월",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Registration page
"create_account" => "Musisz utworzyć konto, zanim będziesz mógł się zalogować",
'username' => "Nazwa użytkownika",
'password' => "Hasło",
"email" => "E-mail",
"create_account" => "Musisz utworzyć konto, zanim będziesz mógł się zalogować",
'username' => "Nazwa użytkownika",
'password' => "Hasło",
"email" => "E-mail",
"confirm_password" => "Potwierdź hasło",
"main_currency" => "Główna waluta",
"language" => "Język",
"main_currency" => "Główna waluta",
"language" => "Język",
"passwords_dont_match" => "Hasła nie pasują",
"username_exists" => "Nazwa użytkownika już istnieje",
"email_exists" => "E-mail już istnieje",
"email_exists" => "E-mail już istnieje",
"registration_failed" => "Rejestracja nie powiodła się, spróbuj ponownie.",
"register" => "Rejestracja",
"register" => "Rejestracja",
"restore_database" => "Przywróć bazę danych",
// Login Page
'please_login' => "Proszę się zalogować",
'stay_logged_in' => "Pozostań zalogowany (30 dni)",
'login' => "Zaloguj się",
'login_failed' => "Dane logowania są nieprawidłowe",
'please_login' => "Proszę się zalogować",
'stay_logged_in' => "Pozostań zalogowany (30 dni)",
'login' => "Zaloguj się",
'login_failed' => "Dane logowania są nieprawidłowe",
'registration_successful' => "Pomyślnie zarejestrowano",
'user_email_waiting_verification' => "Twój adres e-mail musi zostać zweryfikowany. Sprawdź swój adres e-mail",
// Password Reset Page
'forgot_password' => "Zapomniałeś hasła? Kliknij tutaj",
'reset_password' => "Zresetuj hasło",
'reset_password' => "Zresetuj hasło",
'reset_sent_check_email' => "Link do zresetowania hasła został wysłany na Twój adres e-mail",
'password_reset_successful' => "Hasło zostało zresetowane pomyślnie",
// Header
'subscriptions' => "Subskrypcje",
'stats' => "Statystyki",
'settings' => "Ustawienia",
'admin' => "Admin",
'about' => "O aplikacji",
'logout' => "Wyloguj się",
'subscriptions' => "Subskrypcje",
'stats' => "Statystyki",
'settings' => "Ustawienia",
'admin' => "Admin",
'about' => "O aplikacji",
'logout' => "Wyloguj się",
// Subscriptions page
"subscription" => "Subskrypcja",
"subscription" => "Subskrypcja",
"no_subscriptions_yet" => "Nie masz jeszcze żadnych subskrypcji",
"add_first_subscription" => "Dodaj pierwszą subskrypcję",
'new_subscription' => "Nowa subskrypcja",
'search' => "Szukaj",
'sort' => "Sortuj",
'name' => "Nazwa",
'last_added' => "Ostatnio dodane",
'price' => "Cena",
'next_payment' => "Następna płatność",
'inactive' => "Wyłącz subskrypcję",
'member' => "Użytkownik",
'category' => "Kategoria",
'payment_method' => "Metoda płatności",
"Daily" => "Codziennie",
"Weekly" => "Co tydzień",
"Monthly" => "Miesięcznie",
"Yearly" => "Rocznie",
"daily" => "Dzień/Dni",
"weekly" => "Tydzień/Tygodni",
"monthly" => "Miesiąc/Miesięcy",
"yearly" => "Rok/Lat",
"days" => "dni",
"weeks" => "tygodnie",
"months" => "miesiące",
"years" => "lata",
"external_url" => "Odwiedź zewnętrzny adres URL",
"empty_page" => "Pusta strona",
"clear_filters" => "Wyczyść filtry",
'search' => "Szukaj",
'sort' => "Sortuj",
'name' => "Nazwa",
'last_added' => "Ostatnio dodane",
'price' => "Cena",
'next_payment' => "Następna płatność",
'inactive' => "Wyłącz subskrypcję",
'member' => "Użytkownik",
'category' => "Kategoria",
'payment_method' => "Metoda płatności",
"Daily" => "Codziennie",
"Weekly" => "Co tydzień",
"Monthly" => "Miesięcznie",
"Yearly" => "Rocznie",
"daily" => "Dzień/Dni",
"weekly" => "Tydzień/Tygodni",
"monthly" => "Miesiąc/Miesięcy",
"yearly" => "Rok/Lat",
"days" => "dni",
"weeks" => "tygodnie",
"months" => "miesiące",
"years" => "lata",
"external_url" => "Odwiedź zewnętrzny adres URL",
"empty_page" => "Pusta strona",
"clear_filters" => "Wyczyść filtry",
"no_matching_subscriptions" => "Brak pasujących subskrypcji",
"clone" => "Klonuj",
"clone" => "Klonuj",
// Subscription form
"add_subscription" => "Dodaj subskrypcję",
"edit_subscription" => "Edytuj subskrypcję",
"subscription_name" => "Nazwa subskrypcji",
"logo_preview" => "Podgląd logo",
"search_logo" => "Wyszukaj logo w sieci",
"web_search" => "Wyszukiwanie w Internecie",
"currency" => "Waluta",
"payment_every" => "Płatność co",
"frequency" => "Częstotliwość",
"cycle" => "Cykl",
"next_payment" => "Następna płatność",
"payment_method" => "Metoda płatności",
"no_category" => "Brak kategorii",
"paid_by" => "Zapłacone przez",
"url" => "URL",
"notes" => "Notatki",
"logo_preview" => "Podgląd logo",
"search_logo" => "Wyszukaj logo w sieci",
"web_search" => "Wyszukiwanie w Internecie",
"currency" => "Waluta",
"payment_every" => "Płatność co",
"frequency" => "Częstotliwość",
"cycle" => "Cykl",
"next_payment" => "Następna płatność",
"payment_method" => "Metoda płatności",
"no_category" => "Brak kategorii",
"paid_by" => "Zapłacone przez",
"url" => "URL",
"notes" => "Notatki",
"enable_notifications" => "Włącz powiadomienia dla tej subskrypcji",
"default_value_from_settings" => "Wartość domyślna z ustawień",
"delete" => "Usuń",
"cancel" => "Anuluj",
"upload_logo" => "Prześlij logo",
"delete" => "Usuń",
"cancel" => "Anuluj",
"upload_logo" => "Prześlij logo",
// Statistics page
'general_statistics' => "Statystyki ogólne",
'active_subscriptions' => "Aktywne subskrypcje",
'inactive_subscriptions' => "Nieaktywne subskrypcje",
'monthly_cost' => "Koszt miesięczny",
'yearly_cost' => "Koszt roczny",
'monthly_cost' => "Koszt miesięczny",
'yearly_cost' => "Koszt roczny",
'average_monthly' => "Średni miesięczny koszt subskrypcji",
'most_expensive' => "Najdroższy koszt subskrypcji",
'amount_due' => "Kwota należna w tym miesiącu",
'most_expensive' => "Najdroższy koszt subskrypcji",
'amount_due' => "Kwota należna w tym miesiącu",
'percentage_budget_used' => "Procent wykorzystania budżetu",
'budget_remaining' => "Pozostały budżet",
'amount_over_budget' => "Kwota przekraczająca budżet",
'monthly_savings' => "Miesięczne oszczędności (w przypadku nieaktywnych subskrypcji)",
'yearly_savings' => "Roczne oszczędności (w przypadku nieaktywnych subskrypcji)",
'split_views' => "Podziel widoki",
'category_split' => "Podział kategorii",
'yearly_savings' => "Roczne oszczędności (w przypadku nieaktywnych subskrypcji)",
'split_views' => "Podziel widoki",
'category_split' => "Podział kategorii",
'household_split' => "Podział gospodarstwa domowego",
'payment_method_split' => "Podział metod płatności",
// About page
'about_and_credits' => "Informacje i podziękowania",
'license' => "Licencja",
'license' => "Licencja",
'issues_and_requests' => "Problemy i prośby",
'the_author' => "Autor",
'icons' => "Ikony",
'payment_icons' => "Ikony płatności",
'the_author' => "Autor",
'icons' => "Ikony",
'payment_icons' => "Ikony płatności",
// Settings page
'upload_avatar' => "Prześlij awatar",
'upload_avatar' => "Prześlij awatar",
'file_type_error' => "Podany typ pliku nie jest obsługiwany.",
'user_details' => "Szczegóły użytkownika",
"monthly_budget" => "Miesięczny budżet",
"budget_info" => "Jeśli ustawisz budżet, zobaczysz pasek postępu na stronie głównej.",
"household" => "Gospodarstwo domowe",
"save_member" => "Zapisz użytkownika",
"delete_member" => "Usuń użytkownika",
'user_details' => "Szczegóły użytkownika",
"monthly_budget" => "Miesięczny budżet",
"budget_info" => "Jeśli ustawisz budżet, zobaczysz pasek postępu na stronie głównej.",
"household" => "Gospodarstwo domowe",
"save_member" => "Zapisz użytkownika",
"delete_member" => "Usuń użytkownika",
"cant_delete_member" => "Nie można usunąć głównego użytkownika",
"cant_delete_member_in_use" => "Nie można usunąć tego użytkownika w ramach subskrypcji",
'household_info' => "Pole e-mail umożliwia powiadamianie domowników o zbliżającym się wygaśnięciu subskrypcji.",
"notifications" => "Powiadomienia",
'household_info' => "Pole e-mail umożliwia powiadamianie domowników o zbliżającym się wygaśnięciu subskrypcji.",
"notifications" => "Powiadomienia",
"enable_email_notifications" => "Włącz powiadomienia e-mail",
"notify_me" => "Powiadom mnie",
"day_before" => "dzień wcześniej",
"days_before" => "dni wcześniej",
"smtp_address" => "Adres SMTP",
"port" => "Port",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Nazwa użytkownika SMTP",
"smtp_password" => "Hasło SMTP",
"from_email" => "Z adresu e-mail (opcjonalnie)",
"smtp_info" => "Hasło SMTP jest przesyłane i przechowywane w postaci zwykłego tekstu. Ze względów bezpieczeństwa utwórz konto tylko w tym celu.",
"telegram" => "Telegram",
"notify_me" => "Powiadom mnie",
"day_before" => "dzień wcześniej",
"days_before" => "dni wcześniej",
"smtp_address" => "Adres SMTP",
"port" => "Port",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Nazwa użytkownika SMTP",
"smtp_password" => "Hasło SMTP",
"from_email" => "Z adresu e-mail (opcjonalnie)",
"smtp_info" => "Hasło SMTP jest przesyłane i przechowywane w postaci zwykłego tekstu. Ze względów bezpieczeństwa utwórz konto tylko w tym celu.",
"telegram" => "Telegram",
"telegram_bot_token" => "Token bota",
"telegram_chat_id" => "ID czatu",
"webhook" => "Webhook",
"webhook_url" => "URL webhooka",
"request_method" => "Metoda żądania",
"custom_headers" => "Niestandardowe nagłówki",
"webhook" => "Webhook",
"webhook_url" => "URL webhooka",
"request_method" => "Metoda żądania",
"custom_headers" => "Niestandardowe nagłówki",
"webhook_payload" => "Dane webhooka",
"webhook_iterator_key" => "Zastąp {{subscriptions}} nazwą klucza",
"variables_available" => "Dostępne zmienne",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"discord_bot_username" => "Nazwa użytkownika bota",
"discord_bot_avatar_url" => "URL awatara bota",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Klucz użytkownika",
'host' => "Host",
'topic' => "Temat",
"categories" => "Kategorie",
"save_category" => "Zapisz kategorię",
'host' => "Host",
'topic' => "Temat",
"categories" => "Kategorie",
"save_category" => "Zapisz kategorię",
"delete_category" => "Usuń kategorię",
"cant_delete_category_in_use" => "Nie można usunąć kategorii używanej w subskrypcji",
"currencies" => "Waluty",
"save_currency" => "Zapisz walutę",
"currencies" => "Waluty",
"save_currency" => "Zapisz walutę",
"delete_currency" => "Usuń walutę",
"cant_delete_main_currency" => "Nie można usunąć głównej waluty",
"cant_delete_currency_in_use" => "Nie można usunąć waluty używanej w subskrypcji",
"exchange_update" => "Kursy wymiany walut ostatnio zaktualizowane w dniu",
"currency_info" => "Znajdź obsługiwane waluty i prawidłowe kody walut na",
"currency_info" => "Znajdź obsługiwane waluty i prawidłowe kody walut na",
"currency_performance" => "W celu poprawy wydajności przechowuj tylko te waluty, których używasz.",
"fixer_api_key" => "Klucz API Fixer'a",
"api_key" => "Klucz API",
"provider" => "Dostawca",
"fixer_info" => "Jeśli używasz wielu walut i chcesz dokładnych statystyk i sortowania subskrypcji, niezbędny jest DARMOWY klucz API z Fixer'a.",
"get_key" => "Zdobądź klucz na stronie",
"fixer_api_key" => "Klucz API Fixer'a",
"api_key" => "Klucz API",
"provider" => "Dostawca",
"fixer_info" => "Jeśli używasz wielu walut i chcesz dokładnych statystyk i sortowania subskrypcji, niezbędny jest DARMOWY klucz API z Fixer'a.",
"get_key" => "Zdobądź klucz na stronie",
"get_free_fixer_api_key" => "Uzyskaj bezpłatny klucz API Fixer'a",
"get_key_alternative" => "Alternatywnie, możesz uzyskać darmowy klucz api fixer'a od",
"display_settings" => "Ustawienia wyświetlania",
"theme_settings" => "Ustawienia motywu",
"custom_colors" => "Kolory niestandardowe",
"dark_theme" => "Przełącz na jasny/ciemny motyw",
"switch_theme" => "Przełącz na jasny/ciemny motyw",
"theme_settings" => "Ustawienia motywu",
"custom_colors" => "Kolory niestandardowe",
"dark_theme" => "Przełącz na jasny/ciemny motyw",
"switch_theme" => "Przełącz na jasny/ciemny motyw",
"calculate_monthly_price" => "Oblicz i pokaż miesięczną cenę wszystkich subskrypcji",
"convert_prices" => "Zawsze przeliczaj i pokazuj ceny w mojej głównej walucie (wolniej)",
"convert_prices" => "Zawsze przeliczaj i pokazuj ceny w mojej głównej walucie (wolniej)",
"hide_disabled_subscriptions" => "Ukryj wyłączone subskrypcje",
"experimental_settings" => "Ustawienia eksperymentalne",
"remove_background" => "Próba usunięcia tła logo z wyszukiwania obrazów (eksperymentalnie)",
@@ -195,69 +195,69 @@ $i18n = [
"payment_method_name" => "Nazwa metody płatności",
"payment_method_added_successfuly" => "Metoda płatności dodana pomyślnie",
"payment_method_removed" => "Usunięto metodę płatności",
"disable" => "Wyłącz",
"enable" => "Włącz",
"disable" => "Wyłącz",
"enable" => "Włącz",
"rename_payment_method" => "Zmień nazwę metody płatności",
"payment_renamed" => "Zmieniono nazwę metody płatności",
"payment_not_renamed" => "Nazwa metody płatności nie została zmieniona",
"test" => "Test",
"add" => "Dodaj",
"save" => "Zapisz",
"reset" => "Resetuj",
"test" => "Test",
"add" => "Dodaj",
"save" => "Zapisz",
"reset" => "Resetuj",
"backup_and_restore" => "Kopia zapasowa i przywracanie",
"backup" => "Kopia zapasowa",
"restore" => "Przywróć",
"restore_info" => "Przywrócenie bazy danych zastąpi wszystkie bieżące dane. Po przywróceniu zostaniesz wylogowany.",
"backup" => "Kopia zapasowa",
"restore" => "Przywróć",
"restore_info" => "Przywrócenie bazy danych zastąpi wszystkie bieżące dane. Po przywróceniu zostaniesz wylogowany.",
// Filters menu
"filter" => "Filtr",
"clear" => "Wyczyść",
"filter" => "Filtr",
"clear" => "Wyczyść",
// Toast
"success" => "Sukces",
"success" => "Sukces",
// Endpoint responses
"session_expired" => "Twoja sesja wygasła. Zaloguj się ponownie",
"fields_missing" => "Brakuje niektórych pól",
"fields_missing" => "Brakuje niektórych pól",
"fill_all_fields" => "Proszę wypełnić wszystkie pola",
"fill_mandatory_fields" => "Proszę wypełnić wszystkie pola obowiązkowe",
"error" => "Błąd",
"error" => "Błąd",
// Category
"failed_add_category" => "Nie udało się dodać kategorii",
"failed_edit_category" => "Nie udało się edytować kategorii",
"category_in_use" => "Kategoria jest używana w subskrypcjach i nie można jej usunąć",
"failed_remove_category" => "Nie udało się usunąć kategorii",
"category_saved" => "Kategoria zapisana",
"category_saved" => "Kategoria zapisana",
"category_removed" => "Kategoria usunięta",
"sort_order_saved" => "Porządek sortowania został zapisany",
// Currency
"currency_saved" => "został zapisany.",
"currency_saved" => "został zapisany.",
"error_adding_currency" => "Błąd podczas dodawania wpisu waluty.",
"failed_to_store_currency" => "Nie udało się zapisać waluty w bazie danych.",
"currency_in_use" => "Waluta jest używana w subskrypcjach i nie można jej usunąć.",
"currency_is_main" => "Waluta jest ustawiona jako waluta główna i nie można jej usunąć.",
"failed_to_remove_currency" => "Nie udało się usunąć waluty z bazy danych.",
"failed_to_store_api_key" => "Nie udało się zapisać klucza API w bazie danych.",
"invalid_api_key" => "Nieprawidłowy klucz API.",
"api_key_saved" => "Klucz API zapidsany pomyślnie",
"invalid_api_key" => "Nieprawidłowy klucz API.",
"api_key_saved" => "Klucz API zapidsany pomyślnie",
"currency_removed" => "Waluta została usunięta",
// Household
"failed_add_household" => "Nie udało się dodać domownika",
"failed_edit_household" => "Nie udało się edytować domownika",
"failed_remove_household" => "Nie udało się usunąć domownika",
"household_in_use" => "Domownik jest używany w subskrypcjach i nie można go usunąć",
"member_saved" => "Użytkownik zapisany",
"member_removed" => "Użytkownik usunięty",
"member_saved" => "Użytkownik zapisany",
"member_removed" => "Użytkownik usunięty",
// Notifications
"error_saving_notifications" => "Błąd podczas zapisywania danych powiadomień.",
"wallos_notification" => "Powiadomienie Wallos",
"test_notification" => "To jest powiadomienie testowe. Jeśli to widzisz, konfiguracja jest prawidłowa.",
"email_error" => "Błąd podczas wysyłania wiadomości e-mail",
"email_error" => "Błąd podczas wysyłania wiadomości e-mail",
"notification_failed" => "Powiadomienie nie powiodło się",
"notification_sent_successfuly" => "Powiadomienie wysłane pomyślnie",
"notifications_settings_saved" => "Ustawienia powiadomień zostały zapisane.",
// Payments
"payment_in_use" => "Nie można wyłączyć użytej metody płatności",
"payment_in_use" => "Nie można wyłączyć użytej metody płatności",
"failed_update_payment" => "Nie udało się zaktualizować metody płatności w bazie danych",
"enabled" => "włączone",
"disabled" => "wyłączone",
"enabled" => "włączone",
"disabled" => "wyłączone",
// Subscription
"error_fetching_image" => "Błąd podczas pobierania obrazu",
"subscription_updated_successfuly" => "Subskrypcja została pomyślnie zaktualizowana",
@@ -288,8 +288,29 @@ $i18n = [
// Email Verification
"email_verified" => "E-mail został zweryfikowany",
"email_verification_failed" => "Weryfikacja e-maila nie powiodła się",
// Calendar
"calendar" => "Kalendarz",
"sun" => "Niedz.",
"mon" => "Pon.",
"tue" => "Wt.",
"wed" => "Śr.",
"thu" => "Czw.",
"fri" => "Pt.",
"sat" => "Sob.",
"month-01" => "Styczeń",
"month-02" => "Luty",
"month-03" => "Marzec",
"month-04" => "Kwiecień",
"month-05" => "Maj",
"month-06" => "Czerwiec",
"month-07" => "Lipiec",
"month-08" => "Sierpień",
"month-09" => "Wrzesień",
"month-10" => "Październik",
"month-11" => "Listopad",
"month-12" => "Grudzień",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Registration page
"create_account" => "Tem que criar uma conta antes de poder iniciar sessão",
'username' => "Nome de utilizador",
'password' => "Password",
"email" => "Email",
"create_account" => "Tem que criar uma conta antes de poder iniciar sessão",
'username' => "Nome de utilizador",
'password' => "Password",
"email" => "Email",
"confirm_password" => "Confirmar Password",
"main_currency" => "Moeda Principal",
"language" => "Linguagem",
"main_currency" => "Moeda Principal",
"language" => "Linguagem",
"passwords_dont_match" => "As passwords não coincidem",
"username_exists" => "Nome de utilizador já existe",
"email_exists" => "Email já existe",
"email_exists" => "Email já existe",
"registration_failed" => "O registo falhou. Tente novamente",
"register" => "Registar",
"register" => "Registar",
"restore_database" => "Restaurar base de dados",
// Login Page
'please_login' => "Por favor inicie sessão",
'stay_logged_in' => "Manter sessão (30 dias)",
'login' => "Iniciar Sessão",
'login_failed' => "Dados de autenticação incorrectos",
'please_login' => "Por favor inicie sessão",
'stay_logged_in' => "Manter sessão (30 dias)",
'login' => "Iniciar Sessão",
'login_failed' => "Dados de autenticação incorrectos",
'registration_successful' => "Registo efectuado com sucesso.",
'user_email_waiting_verification' => "O seu e-mail precisa de ser validado. Verifique o seu correio eletrónico",
// Password Reset Page
'forgot_password' => "Esqueceu-se da password?",
'reset_password' => "Repor Password",
'reset_password' => "Repor Password",
'reset_sent_check_email' => "Pedido de reposição de password enviado. Verifique o seu email.",
'password_reset_successful' => "Password reposta com sucesso",
// Header
'subscriptions' => "Subscrições",
'stats' => "Estatísticas",
'settings' => "Definições",
'admin' => "Administração",
'about' => "Sobre",
'logout' => "Terminar Sessão",
'subscriptions' => "Subscrições",
'stats' => "Estatísticas",
'settings' => "Definições",
'admin' => "Administração",
'about' => "Sobre",
'logout' => "Terminar Sessão",
// Subscriptions page
"subscription" => "Subscrição",
"subscription" => "Subscrição",
"no_subscriptions_yet" => "Ainda não tem subscrições",
"add_first_subscription" => "Adicionar primeira subscrição",
'new_subscription' => "Nova Subscrição",
'search' => "Pesquisar",
'sort' => "Ordenar",
'name' => "Nome",
'last_added' => "Última Adicionada",
'price' => "Preço",
'next_payment' => "Próximo Pagamento",
'inactive' => "Desactivar Subscrição",
'member' => "Membro",
'category' => "Categoria",
'payment_method' => "Metodo de Pagamento",
"Daily" => "Diario",
"Weekly" => "Semanal",
"Monthly" => "Mensal",
"Yearly" => "Anual",
"daily" => "Dia(s)",
"weekly" => "Semana(s)",
"monthly" => "Mês(es)",
"yearly" => "Ano(s)",
"days" => "dias",
"weeks" => "semanas",
"months" => "meses",
"years" => "anos",
"external_url" => "Visitar URL Externo",
"empty_page" => "Página Vazia",
"clear_filters" => "Limpar Filtros",
'search' => "Pesquisar",
'sort' => "Ordenar",
'name' => "Nome",
'last_added' => "Última Adicionada",
'price' => "Preço",
'next_payment' => "Próximo Pagamento",
'inactive' => "Desactivar Subscrição",
'member' => "Membro",
'category' => "Categoria",
'payment_method' => "Metodo de Pagamento",
"Daily" => "Diario",
"Weekly" => "Semanal",
"Monthly" => "Mensal",
"Yearly" => "Anual",
"daily" => "Dia(s)",
"weekly" => "Semana(s)",
"monthly" => "Mês(es)",
"yearly" => "Ano(s)",
"days" => "dias",
"weeks" => "semanas",
"months" => "meses",
"years" => "anos",
"external_url" => "Visitar URL Externo",
"empty_page" => "Página Vazia",
"clear_filters" => "Limpar Filtros",
"no_matching_subscriptions" => "Sem subscrições correspondentes",
"clone" => "Clonar",
"clone" => "Clonar",
// Subscription form
"add_subscription" => "Adicionar subscrição",
"edit_subscription" => "Modificar subscrição",
"subscription_name" => "Nome da subscrição",
"logo_preview" => "Pre-visualisação do logo",
"search_logo" => "Pesquisar logo na internet",
"web_search" => "Pesquisa online",
"currency" => "Moeda",
"payment_every" => "Pagamento a cada",
"frequency" => "Frequencia",
"Cycle" => "Ciclo",
"next_payment" => "Próximo Pagamento",
"payment_method" => "Método de Pagamento",
"no_category" => "Sem categoria",
"paid_by" => "Pago por",
"url" => "URL",
"notes" => "Notas",
"logo_preview" => "Pre-visualisação do logo",
"search_logo" => "Pesquisar logo na internet",
"web_search" => "Pesquisa online",
"currency" => "Moeda",
"payment_every" => "Pagamento a cada",
"frequency" => "Frequencia",
"Cycle" => "Ciclo",
"next_payment" => "Próximo Pagamento",
"payment_method" => "Método de Pagamento",
"no_category" => "Sem categoria",
"paid_by" => "Pago por",
"url" => "URL",
"notes" => "Notas",
"enable_notifications" => "Activar notificações para esta subscrição",
"default_value_from_settings" => "Valor por defeito das definições",
"delete" => "Remover",
"cancel" => "Cancelar",
"upload_logo" => "Enviar Logo",
"delete" => "Remover",
"cancel" => "Cancelar",
"upload_logo" => "Enviar Logo",
// Statistics page
'general_statistics' => "Estatísticas Gerais",
'active_subscriptions' => "Subscrições Activas",
'inactive_subscriptions' => "Subscrições inactivas",
'monthly_cost' => "Custo Mensal",
'yearly_cost' => "Custo Anual",
'monthly_cost' => "Custo Mensal",
'yearly_cost' => "Custo Anual",
'average_monthly' => "Custo Mensal Médio das Subscrições",
'most_expensive' => "Custo da Subscrição Mais Cara",
'amount_due' => "Quantia em dívida este mês",
'most_expensive' => "Custo da Subscrição Mais Cara",
'amount_due' => "Quantia em dívida este mês",
'percentage_budget_used' => "Percentagem do orçamento usada",
'budget_remaining' => "Orçamento Restante",
'amount_over_budget' => "Quantia acima do orçamento",
'monthly_savings' => "Poupança Mensal (em subscrições inactivas)",
'yearly_savings' => "Poupança Anual (em subscrições inactivas)",
'split_views' => "Vistas Divididas",
'category_split' => "Por Categoria",
'yearly_savings' => "Poupança Anual (em subscrições inactivas)",
'split_views' => "Vistas Divididas",
'category_split' => "Por Categoria",
'household_split' => "Por Membro",
'payment_method_split' => "Por Método de Pagamento",
// About page
'about_and_credits' => "Sobre e Créditos",
'license' => "Licença",
'license' => "Licença",
'issues_and_requests' => "Problemas e Pedidos",
'the_author' => "O Autor",
'icons' => "Ícones",
'payment_icons' => "Ícones de Pagamentos",
'the_author' => "O Autor",
'icons' => "Ícones",
'payment_icons' => "Ícones de Pagamentos",
// Settings page
'upload_avatar' => "Enviar avatar",
'upload_avatar' => "Enviar avatar",
'file_type_error' => "Tipo de ficheiro não permitido",
'user_details' => "Detalhes do utilizador",
"monthly_budget" => "Orçamento Mensal",
"budget_info" => "Ao definir um orçamento pode comparar com os gastos reais na página de estatísticas.",
"household" => "Agregado",
"save_member" => "Guardar Membro",
"delete_member" => "Apagar Membro",
'user_details' => "Detalhes do utilizador",
"monthly_budget" => "Orçamento Mensal",
"budget_info" => "Ao definir um orçamento pode comparar com os gastos reais na página de estatísticas.",
"household" => "Agregado",
"save_member" => "Guardar Membro",
"delete_member" => "Apagar Membro",
"cant_delete_member" => "Não pode apagar o membro principal",
"cant_delete_member_in_use" => "Não pode apagar membro em uso em subscrição",
"household_info" => "O campo E-mail permite que os membros do agregado sejam notificados das subscrições que estão prestes a expirar.",
"notifications" => "Notificações",
"notifications" => "Notificações",
"enable_email_notifications" => "Activar notificações por email",
"notify_me" => "Notificar-me",
"day_before" => "dia antes",
"days_before" => "dias antes",
"smtp_address" => "Endereço SMTP",
"port" => "Porto",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Utilizador SMTP",
"smtp_password" => "Password SMTP",
"from_email" => "Email de envio (Opcional)",
"smtp_info" => "A Password é armazenada e transmitida em texto. Por segurança, crie uma conta só para esta finalidade.",
"telegram" => "Telegram",
"notify_me" => "Notificar-me",
"day_before" => "dia antes",
"days_before" => "dias antes",
"smtp_address" => "Endereço SMTP",
"port" => "Porto",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Utilizador SMTP",
"smtp_password" => "Password SMTP",
"from_email" => "Email de envio (Opcional)",
"smtp_info" => "A Password é armazenada e transmitida em texto. Por segurança, crie uma conta só para esta finalidade.",
"telegram" => "Telegram",
"telegram_bot_token" => "Token do Bot Telegram",
"telegram_chat_id" => "ID do Chat Telegram",
"webhook" => "Webhook",
"webhook_url" => "URL do Webhook",
"request_method" => "Método de Pedido",
"custom_headers" => "Cabeçalhos Personalizados",
"webhook" => "Webhook",
"webhook_url" => "URL do Webhook",
"request_method" => "Método de Pedido",
"custom_headers" => "Cabeçalhos Personalizados",
"webhook_payload" => "Payload do Webhook",
"webhook_iterator_key" => "Substituir {{subscriptions}} pelo nome da chave",
"variables_available" => "Variáveis Disponíveis",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"discord_bot_username" => "Nome de Utilizador do Bot",
"discord_bot_avatar_url" => "URL do Avatar do Bot",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Chave de Utilizador Pushover",
'host' => "Host",
'topic' => "Tópico",
"categories" => "Categorias",
"save_category" => "Guardar Categoria",
'host' => "Host",
'topic' => "Tópico",
"categories" => "Categorias",
"save_category" => "Guardar Categoria",
"delete_category" => "Apagar Categoria",
"cant_delete_category_in_use" => "Não pode apagar categoria em uso em subscrição",
"currencies" => "Moedas",
"save_currency" => "Guardar moeda",
"currencies" => "Moedas",
"save_currency" => "Guardar moeda",
"delete_currency" => "Apagar moeda",
"cant_delete_main_currency" => "Não pode apagar a moeda principal",
"cant_delete_currency_in_use" => "Não pode apagar moeda em uso em subscrição",
"exchange_update" => "Taxas de conversão actualizadas em",
"currency_info" => "Encontre a lista de moedas e os respectivos códigos em",
"currency_info" => "Encontre a lista de moedas e os respectivos códigos em",
"currency_performance" => "Por motivos de desempenho mantenha apenas as moedas que usa.",
"fixer_api_key" => "Fixer API Key",
"api_key" => "API Key",
"provider" => "Fornecedor",
"fixer_info" => "Se usa multiplas moedas e deseja estatísticas correctas é necessário uma API Key grátis do Fixer.",
"get_key" => "Obtenha a sua API Key em",
"fixer_api_key" => "Fixer API Key",
"api_key" => "API Key",
"provider" => "Fornecedor",
"fixer_info" => "Se usa multiplas moedas e deseja estatísticas correctas é necessário uma API Key grátis do Fixer.",
"get_key" => "Obtenha a sua API Key em",
"get_free_fixer_api_key" => "Obtenha a sua API Key grátis do Fixer",
"get_key_alternative" => "Como alternativa obtenha a sua API Key em",
"display_settings" => "Definições de visualização",
"theme_settings" => "Definições de Tema",
"custom_colors" => "Cores Personalizadas",
"dark_theme" => "Tema Escuro",
"switch_theme" => "Trocar Tema Claro / Escuro",
"theme_settings" => "Definições de Tema",
"custom_colors" => "Cores Personalizadas",
"dark_theme" => "Tema Escuro",
"switch_theme" => "Trocar Tema Claro / Escuro",
"calculate_monthly_price" => "Calcular e mostrar preço mensal para todas as subscrições",
"convert_prices" => "Converter e mostrar todas as subscrições na moeda principal (mais lento)",
"convert_prices" => "Converter e mostrar todas as subscrições na moeda principal (mais lento)",
"hide_disabled_subscriptions" => "Esconder subscrições desactivadas",
"experimental_settings" => "Definições Experimentais",
"remove_background" => "Tentar remover o fundo dos logos na pesquisa de imagem (experimental)",
@@ -195,48 +195,48 @@ $i18n = [
"payment_method_name" => "Nome do método de pagamento",
"payment_method_added_successfuly" => "Método de pagamento adicionado com sucesso",
"payment_method_removed" => "Método de pagamento removido",
"disable" => "Desactivar",
"enable" => "Activar",
"disable" => "Desactivar",
"enable" => "Activar",
"rename_payment_method" => "Renomear método de pagamento",
"payment_renamed" => "Método de pagamento renomeado",
"payment_not_renamed" => "Método de pagamento não renomeado",
"test" => "Testar",
"add" => "Adicionar",
"save" => "Guardar",
"reset" => "Repor",
"test" => "Testar",
"add" => "Adicionar",
"save" => "Guardar",
"reset" => "Repor",
"backup_and_restore" => "Backup e Restauro",
"backup" => "Backup",
"restore" => "Restauro",
"restore_info" => "O restauro da base de dados apagará todos os dados actuais. A sua sessão irá terminar após o restauro.",
"backup" => "Backup",
"restore" => "Restauro",
"restore_info" => "O restauro da base de dados apagará todos os dados actuais. A sua sessão irá terminar após o restauro.",
// Filters menu
"filter" => "Filtro",
"clear" => "Limpar",
"filter" => "Filtro",
"clear" => "Limpar",
// Toast
"success" => "Sucesso",
"success" => "Sucesso",
// Endpoint responses
"session_expired" => "A sessão expirou. Por favor autentique-se.",
"fields_missing" => "Alguns campos em falta",
"fields_missing" => "Alguns campos em falta",
"fill_all_fields" => "Por favor preencha todos os campos",
"fill_mandatory_fields" => "Por favor preencha todos os campos obrigatórios",
"error" => "Erro",
"error" => "Erro",
// Category
"failed_add_category" => "Erro ao adicionar categoria",
"failed_edit_category" => "Erro ao modificar categoria",
"category_in_use" => "Categoria em uso em subscrição e não pode ser removida",
"failed_remove_category" => "Erro ao remover categoria",
"category_saved" => "Categoria guardada",
"category_saved" => "Categoria guardada",
"category_removed" => "Categoria removida",
"sort_order_saved" => "Ordenação guardada",
// Currency
"currency_saved" => "guardada.",
"currency_saved" => "guardada.",
"error_adding_currency" => "Erro ao adicionar moeda.",
"failed_to_store_currency" => "Erro ao guardar a moeda na base de dados.",
"currency_in_use" => "Moeda em uso em subscrição e não pode ser removida.",
"currency_is_main" => "A Moeda principal não pode ser removida.",
"failed_to_remove_currency" => "Erro ao remover a moeda da base de dados.",
"failed_to_store_api_key" => "Erro ao guardar API Key na base de dados.",
"invalid_api_key" => "API Key inválida.",
"api_key_saved" => "API key guardada",
"invalid_api_key" => "API Key inválida.",
"api_key_saved" => "API key guardada",
"currency_removed" => "Moeda removida",
// Household
"failed_add_household" => "Erro ao adicionar membro",
@@ -244,20 +244,20 @@ $i18n = [
"failed_remove_household" => "Erro ao remover membro",
"household_in_use" => "Membro está em uso em subscrição e não pode er removido",
"member_saved" => "Membro guardado",
"member_removed" => "Membro removido",
"member_removed" => "Membro removido",
// Notifications
"error_saving_notifications" => "Erro ao guardar os dados das notificaçoes.",
"wallos_notification" => "Notificação Wallos",
"test_notification" => "Isto é uma notificação de teste. Se está a ver isto a configuração está correcta.",
"email_error" => "Erro ao enviar email",
"email_error" => "Erro ao enviar email",
"notification_sent_successfuly" => "Notificação enviada com sucesso",
"notifications_settings_saved" => "Configuração de notificações guardada.",
"notification_failed" => "Erro ao enviar notificação",
// Payments
"payment_in_use" => "Não pode desactivar método de pagamento em uso",
"payment_in_use" => "Não pode desactivar método de pagamento em uso",
"failed_update_payment" => "Erro ao actualizar método de pagamento na base de dados",
"enabled" => "activado",
"disabled" => "descativado",
"enabled" => "activado",
"disabled" => "descativado",
// Subscription
"error_fetching_image" => "Erro ao obter a imagem",
"subscription_updated_successfuly" => "Subscrição actualizada com sucesso",
@@ -268,26 +268,47 @@ $i18n = [
"error_updating_user_data" => "Erro ao actualizar dados do utilizador.",
"user_details_saved" => "Dados do utiliador actualizados.",
// Admin Page
"registrations" => "Registos",
"registrations" => "Registos",
"enable_user_registrations" => "Activar Registos de Utilizadores",
"maximum_number_users" => "Número Máximo de Utilizadores",
"require_email_verification" => "Requerer verificação de email",
"configure_smtp_settings_to_enable" => "Configure as definições SMTP para activar esta funcionalidade.",
"server_url" => "URL do Servidor",
"server_url_info" => "Usado para gerar links de verificação de email. Deve ser um URL público e válido.",
"server_url" => "URL do Servidor",
"server_url_info" => "Usado para gerar links de verificação de email. Deve ser um URL público e válido.",
"server_url_password_reset" => "Se definido, também activará a funcionalidade de reposição da palavra-passe.",
"disable_login" => "Desactivar Inicio de Sessão",
"disable_login" => "Desactivar Inicio de Sessão",
"disable_login_info" => "Ultrapassar o início de sessão. Se o seu servidor funciona apenas numa rede local, sem acesso externo, pode desativar o início de sessão. Isto irá iniciar automaticamente a sessão do utilizador administrador.",
"disable_login_info2" => "Só pode ativar esta definição se o registo de utilizadores estiver desativado e se não houver mais do que a conta de utilizador administrador.",
"max_users_info" => "0 para ilimitado",
"user_management" => "Gestão de Utilizadores",
"delete_user" => "Apagar Utilizador",
"max_users_info" => "0 para ilimitado",
"user_management" => "Gestão de Utilizadores",
"delete_user" => "Apagar Utilizador",
"delete_user_info" => "Apagar utilizador irá remover todas as suas subscrições e dados associados.",
"smtp_settings" => "Definições SMTP",
"smtp_usage_info" => "Será usado para recuperações de password e outros emails do sistema.",
"smtp_settings" => "Definições SMTP",
"smtp_usage_info" => "Será usado para recuperações de password e outros emails do sistema.",
// Email Verification
"email_verified" => "Email verificado",
"email_verification_failed" => "Verificação de email falhou",
// Calendar
"calendar" => "Calendário",
"sun" => "Dom",
"mon" => "Seg",
"tue" => "Ter",
"wed" => "Qua",
"thu" => "Qui",
"fri" => "Sex",
"sat" => "Sáb",
"month-01" => "Janeiro",
"month-02" => "Fevereiro",
"month-03" => "Março",
"month-04" => "Abril",
"month-05" => "Maio",
"month-06" => "Junho",
"month-07" => "Julho",
"month-08" => "Agosto",
"month-09" => "Setembro",
"month-10" => "Outubro",
"month-11" => "Novembro",
"month-12" => "Dezembro",
];

View File

@@ -2,185 +2,185 @@
$i18n = [
// Registration page
"create_account" => "É necessário criar uma conta antes de poder se logar",
'username' => "Usuário",
'password' => "Senha",
"email" => "Email",
"create_account" => "É necessário criar uma conta antes de poder se logar",
'username' => "Usuário",
'password' => "Senha",
"email" => "Email",
"confirm_password" => "Confirmar Senha",
"main_currency" => "Moeda principal",
"language" => "Idioma",
"main_currency" => "Moeda principal",
"language" => "Idioma",
"passwords_dont_match" => "As senhas não são iguais",
"username_exists" => "O nome de usuário já existe",
"email_exists" => "O email já está em uso",
"email_exists" => "O email já está em uso",
"registration_failed" => "O registro falhou. Por favor, tente novamente",
"register" => "Registrar",
"register" => "Registrar",
"restore_database" => "Restaurar banco de dados",
// Login Page
'please_login' => "Por favor, faça o login",
'stay_logged_in' => "Me manter logado (30 dias)",
'login' => "Login",
'login_failed' => "As informações de login estão incorretas",
'please_login' => "Por favor, faça o login",
'stay_logged_in' => "Me manter logado (30 dias)",
'login' => "Login",
'login_failed' => "As informações de login estão incorretas",
'registration_successful' => "Registro bem-sucedido",
'user_email_waiting_verification' => "Seu e-mail precisa ser validado. Por favor, verifique seu e-mail",
// Password Reset Page
'forgot_password' => "Esqueceu a senha?",
'reset_password' => "Redefinir senha",
'reset_password' => "Redefinir senha",
'reset_sent_check_email' => "Redefinição de senha enviada. Por favor, verifique seu email",
'password_reset_successful' => "Senha redefinida com sucesso",
// Header
'subscriptions' => "Assinaturas",
'stats' => "Estatísticas",
'settings' => "Configurações",
'admin' => "Admin",
'about' => "Sobre",
'logout' => "Sair",
'subscriptions' => "Assinaturas",
'stats' => "Estatísticas",
'settings' => "Configurações",
'admin' => "Admin",
'about' => "Sobre",
'logout' => "Sair",
// Subscriptions page
"subscription" => "Assinatura",
"subscription" => "Assinatura",
"no_subscriptions_yet" => "Você ainda não tem nenhuma assinatura",
"add_first_subscription" => "Adicionar a primeira assinatura",
'new_subscription' => "Nova assinatura",
'search' => "Pesquisar",
'sort' => "Ordenar",
'name' => "Nome",
'last_added' => "Última adicionada",
'price' => "Preço",
'next_payment' => "Próximo pagamento",
'inactive' => "Assinatura inativa",
'member' => "Membro",
'category' => "Categoria",
'payment_method' => "Método de Pagamento",
"Daily" => "Diário",
"Weekly" => "Semanal",
"Monthly" => "Mensal",
"Yearly" => "Anual",
"daily" => "Dia(s)",
"weekly" => "Semana(s)",
"monthly" => "Mês(es)",
"yearly" => "Ano(s)",
"days" => "dias",
"weeks" => "semanas",
"months" => "meses",
"years" => "anos",
"external_url" => "Abrir URL externa",
"empty_page" => "Página vazia",
"clear_filters" => "Limpar filtros",
'search' => "Pesquisar",
'sort' => "Ordenar",
'name' => "Nome",
'last_added' => "Última adicionada",
'price' => "Preço",
'next_payment' => "Próximo pagamento",
'inactive' => "Assinatura inativa",
'member' => "Membro",
'category' => "Categoria",
'payment_method' => "Método de Pagamento",
"Daily" => "Diário",
"Weekly" => "Semanal",
"Monthly" => "Mensal",
"Yearly" => "Anual",
"daily" => "Dia(s)",
"weekly" => "Semana(s)",
"monthly" => "Mês(es)",
"yearly" => "Ano(s)",
"days" => "dias",
"weeks" => "semanas",
"months" => "meses",
"years" => "anos",
"external_url" => "Abrir URL externa",
"empty_page" => "Página vazia",
"clear_filters" => "Limpar filtros",
"no_matching_subscriptions" => "Nenhuma assinatura encontrada",
"clone" => "Clonar",
"clone" => "Clonar",
// Subscription form
"add_subscription" => "Adicionar assinatura",
"edit_subscription" => "Editar assinatura",
"subscription_name" => "Nome da assinatura",
"logo_preview" => "Preview do logo",
"search_logo" => "Pesquisar logo internet",
"web_search" => "Buscar na internet",
"currency" => "Moeda",
"payment_every" => "Pagamento a cada",
"frequency" => "Frequência",
"cycle" => "Ciclo",
"no_category" => "Sem categoria",
"paid_by" => "Pago por",
"url" => "URL",
"notes" => "Anotações",
"logo_preview" => "Preview do logo",
"search_logo" => "Pesquisar logo internet",
"web_search" => "Buscar na internet",
"currency" => "Moeda",
"payment_every" => "Pagamento a cada",
"frequency" => "Frequência",
"cycle" => "Ciclo",
"no_category" => "Sem categoria",
"paid_by" => "Pago por",
"url" => "URL",
"notes" => "Anotações",
"enable_notifications" => "Ativar notificações para essa assinatura",
"default_value_from_settings" => "Valor padrão das configurações",
"delete" => "Excluir",
"cancel" => "Cancelar",
"upload_logo" => "Enviar Logo",
"delete" => "Excluir",
"cancel" => "Cancelar",
"upload_logo" => "Enviar Logo",
// Statistics page
'general_statistics' => "Estatísticas gerais",
'active_subscriptions' => "Assinaturas ativas",
'inactive_subscriptions' => "Assinaturas inativas",
'monthly_cost' => "Custo mensal",
'yearly_cost' => "Custo anual",
'monthly_cost' => "Custo mensal",
'yearly_cost' => "Custo anual",
'average_monthly' => "Custom médio mensal",
'most_expensive' => "Assinatura mais cara",
'amount_due' => "Valor devido nesse mês",
'most_expensive' => "Assinatura mais cara",
'amount_due' => "Valor devido nesse mês",
'percentage_budget_used' => "Porcentagem do orçamento utilizado",
'budget_remaining' => "Orçamento restante",
'amount_over_budget' => "Valor acima do orçamento",
'monthly_savings' => "Economia mensal (em assinaturas inativas)",
'yearly_savings' => "Economia anual (em assinaturas inativas)",
'split_views' => "Visualizações",
'category_split' => "Por categoria",
'yearly_savings' => "Economia anual (em assinaturas inativas)",
'split_views' => "Visualizações",
'category_split' => "Por categoria",
'household_split' => "Por membro",
'payment_method_split' => "Por método de pagamento",
// About page
'about_and_credits' => "Sobre e Créditos",
'license' => "Licença",
'license' => "Licença",
'issues_and_requests' => "Problemas e Pedidos",
'the_author' => "O autor",
'icons' => "Ícones",
'payment_icons' => "Ícones de pagamento",
'the_author' => "O autor",
'icons' => "Ícones",
'payment_icons' => "Ícones de pagamento",
// Settings page
'upload_avatar' => "Carregar avatar",
'upload_avatar' => "Carregar avatar",
'file_type_error' => "Tipo de arquivo não permitido",
'user_details' => "Informações do Usuário",
"monthly_budget" => "Orçamento mensal",
"budget_info" => "O orçamento mensal é usado para calcular estatísticas",
"household" => "Membros",
"save_member" => "Salvar membro",
"delete_member" => "Excluir membro",
'user_details' => "Informações do Usuário",
"monthly_budget" => "Orçamento mensal",
"budget_info" => "O orçamento mensal é usado para calcular estatísticas",
"household" => "Membros",
"save_member" => "Salvar membro",
"delete_member" => "Excluir membro",
"cant_delete_member" => "Não é possível excluir o membro principal",
"cant_delete_member_in_use" => "Não é possível excluir um membro em uso em uma assinatura",
'household_info' => "O email permite que os membros sejam notificados quando uma assinatura estiver para expirar.",
"notifications" => "Notificações",
'household_info' => "O email permite que os membros sejam notificados quando uma assinatura estiver para expirar.",
"notifications" => "Notificações",
"enable_email_notifications" => "Ativar notificações por email",
"notify_me" => "Me notificar",
"day_before" => "dia antes",
"days_before" => "dias antes",
"smtp_address" => "Endereço SMTP",
"port" => "Porta",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Usuário SMTP",
"smtp_password" => "Senha SMTP",
"from_email" => "Email de envio (Opcional)",
"smtp_info" => "A senha do SMTP é transmitida em texto puro. Por segurança, crie uma conta só para esta finalidade.",
"telegram" => "Telegram",
"notify_me" => "Me notificar",
"day_before" => "dia antes",
"days_before" => "dias antes",
"smtp_address" => "Endereço SMTP",
"port" => "Porta",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Usuário SMTP",
"smtp_password" => "Senha SMTP",
"from_email" => "Email de envio (Opcional)",
"smtp_info" => "A senha do SMTP é transmitida em texto puro. Por segurança, crie uma conta só para esta finalidade.",
"telegram" => "Telegram",
"telegram_bot_token" => "Token do Bot",
"telegram_chat_id" => "Chat ID",
"webhook" => "Webhook",
"webhook_url" => "URL do Webhook",
"request_method" => "Método de requisição",
"custom_headers" => "Cabeçalhos personalizados",
"webhook" => "Webhook",
"webhook_url" => "URL do Webhook",
"request_method" => "Método de requisição",
"custom_headers" => "Cabeçalhos personalizados",
"webhook_payload" => "Payload do Webhook",
"webhook_iterator_key" => "Substituir {{subscriptions}} pelo nome da chave",
"variables_available" => "Variáveis disponíveis",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"discord_bot_username" => "Nome do Bot",
"discord_bot_avatar_url" => "URL do Avatar",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Chave do Usuário",
'host' => "Host",
'topic' => "Tópico",
"categories" => "Categorias",
"save_category" => "Salvar categoria",
'host' => "Host",
'topic' => "Tópico",
"categories" => "Categorias",
"save_category" => "Salvar categoria",
"delete_category" => "Excluir categoria",
"cant_delete_category_in_use" => "Não é possível excluir uma categoria em uso em uma assinatura",
"currencies" => "Moedas",
"save_currency" => "Salvar moeda",
"currencies" => "Moedas",
"save_currency" => "Salvar moeda",
"delete_currency" => "Excluir moeda",
"cant_delete_main_currency" => "Não é possível excluir a moeda principal",
"cant_delete_currency_in_use" => "Não é possível excluir uma moeda em uso em uma assinatura",
"exchange_update" => "Taxas de câmbio atualizadas em",
"currency_info" => "Encontre as moedas suportadas e os códigos de moeda em",
"currency_info" => "Encontre as moedas suportadas e os códigos de moeda em",
"currency_performance" => "Para um melhor desempenho, mantenha apenas as moedas que você utiliza.",
"fixer_api_key" => "Chave da API do Fixer",
"api_key" => "Chave da API",
"provider" => "Fornecedor",
"fixer_info" => "Se você utiliza múltiplas moedas e deseja ter estatísticas precisas e ordenação das assinaturas, uma chave GRATUÍTA da API do Fixer é necessária.",
"get_key" => "Obtenha a sua chave em",
"fixer_api_key" => "Chave da API do Fixer",
"api_key" => "Chave da API",
"provider" => "Fornecedor",
"fixer_info" => "Se você utiliza múltiplas moedas e deseja ter estatísticas precisas e ordenação das assinaturas, uma chave GRATUÍTA da API do Fixer é necessária.",
"get_key" => "Obtenha a sua chave em",
"get_free_fixer_api_key" => "Obtenha a sua chave API do Fixer gratuitamente",
"get_key_alternative" => "Como alternativa, você pode obter uma chave de API grátis em",
"display_settings" => "Configurações de visualização",
"theme_settings" => "Configurações de tema",
"custom_colors" => "Cores personalizadas",
"dark_theme" => "Tema Escuro",
"switch_theme" => "Alternar entre tema Claro / Escuro",
"theme_settings" => "Configurações de tema",
"custom_colors" => "Cores personalizadas",
"dark_theme" => "Tema Escuro",
"switch_theme" => "Alternar entre tema Claro / Escuro",
"calculate_monthly_price" => "Calcular e exibir o custo mensal para todas as assinaturas",
"convert_prices" => "Sempre converter e exibir preços na moeda principal (mais lento)",
"convert_prices" => "Sempre converter e exibir preços na moeda principal (mais lento)",
"hide_disabled_subscriptions" => "Ocultar assinaturas desativadas",
"experimental_settings" => "Configurações experimentais",
"remove_background" => "Tentar remover o fundo de logos na pesquisa de imagem",
@@ -193,69 +193,69 @@ $i18n = [
"payment_method_name" => "Nome do método de pagamento",
"payment_method_added_successfuly" => "Método de pagamento adicionado com sucesso",
"payment_method_removed" => "Método de pagamento excluído",
"disable" => "Desativar",
"enable" => "Ativar",
"disable" => "Desativar",
"enable" => "Ativar",
"rename_payment_method" => "Renomear método de pagamento",
"payment_renamed" => "Método de pagamento renomeado",
"payment_not_renamed" => "Método de pagamento não renomeado",
"test" => "Testar",
"add" => "Adicionar",
"save" => "Salvar",
"reset" => "Redefinir",
"test" => "Testar",
"add" => "Adicionar",
"save" => "Salvar",
"reset" => "Redefinir",
"backup_and_restore" => "Backup e Restauração",
"backup" => "Backup",
"restore" => "Restaurar",
"restore_info" => "A restauração do banco de dados substituirá todos os dados atuais. Você será desconectado após a restauração.",
"backup" => "Backup",
"restore" => "Restaurar",
"restore_info" => "A restauração do banco de dados substituirá todos os dados atuais. Você será desconectado após a restauração.",
// Filters menu
"filter" => "Filtrar",
"clear" => "Limpar",
"filter" => "Filtrar",
"clear" => "Limpar",
// Toast
"success" => "Sucesso",
"success" => "Sucesso",
// Endpoint responses
"session_expired" => "Sua sessão expirou. Por favor, faça o login novamente",
"fields_missing" => "Alguns campos estão faltando",
"fields_missing" => "Alguns campos estão faltando",
"fill_all_fields" => "Por favor, preencha todos os campos",
"fill_mandatory_fields" => "Por favor, preencha todos os campos obrigatórios",
"error" => "Erro",
"error" => "Erro",
// Category
"failed_add_category" => "Erro ao adicionar categoria",
"failed_edit_category" => "Erro ao editar categoria",
"category_in_use" => "Essa categoria está em uso em uma assinatura e não pode ser removida",
"failed_remove_category" => "Erro ao remover categoria",
"category_saved" => "Categoria salva",
"category_saved" => "Categoria salva",
"category_removed" => "Categoria excluída",
"sort_order_saved" => "Direção de ordenação salva",
// Currency
"currency_saved" => "foi salva.",
"currency_saved" => "foi salva.",
"error_adding_currency" => "Erro ao adicionar moeda.",
"failed_to_store_currency" => "Erro ao armazenar moeda no banco de dados",
"currency_in_use" => "A moeda está em uso em uma assinatura e não pode ser excluída",
"currency_is_main" => "A moeda está configurada como principal e não pode ser excluída",
"failed_to_remove_currency" => "Erro ao excluir a moeda do banco de dados",
"failed_to_store_api_key" => "Erro ao armazenar a chave da API no banco de dados",
"invalid_api_key" => "Chave da API inválida",
"api_key_saved" => "Chave da API salva com sucesso",
"invalid_api_key" => "Chave da API inválida",
"api_key_saved" => "Chave da API salva com sucesso",
"currency_removed" => "Moeda excluída",
// Household
"failed_add_household" => "Erro ao adicionar membro",
"failed_edit_household" => "Erro ao editar membro",
"failed_remove_household" => "Erro ao excluir membro",
"household_in_use" => "O membro está em uso em uma assinatura e não pode ser removido",
"member_saved" => "Membro salvo",
"member_removed" => "Membro excluído",
"member_saved" => "Membro salvo",
"member_removed" => "Membro excluído",
// Notifications
"error_saving_notifications" => "Error ao salvar dados de notificação",
"wallos_notification" => "Notificação do Wallos",
"test_notification" => "Essa é uma notificação de teste. Se você está vendo isso, a configuração está correta.",
"email_error" => "Erro ao enviar email",
"email_error" => "Erro ao enviar email",
"notification_sent_successfuly" => "Notificação enviada com sucesso",
"notifications_settings_saved" => "Configurações de notificação salvas com sucesso",
"notification_failed" => "Falha ao enviar notificação",
// Payments
"payment_in_use" => "Não é possível desativar o método de pagamento",
"payment_in_use" => "Não é possível desativar o método de pagamento",
"failed_update_payment" => "Erro ao atualizar o método de pagamento no banco de dados.",
"enabled" => "ativado",
"disabled" => "desativado",
"enabled" => "ativado",
"disabled" => "desativado",
// Subscription
"error_fetching_image" => "Erro ao carregar imagem",
"subscription_updated_successfuly" => "Assinatura atualizada com sucesso",
@@ -266,28 +266,49 @@ $i18n = [
"error_updating_user_data" => "Erro ao atualizar os dados do usuário",
"user_details_saved" => "Dados do usuário salvos",
// Admin Page
"registrations" => "Registros",
"registrations" => "Registros",
"enable_user_registrations" => "Ativar registros de usuários",
"maximum_number_users" => "Número máximo de usuários",
"require_email_verification" => "Requerer verificação de email",
"configure_smtp_settings_to_enable" => "Configure as configurações SMTP para ativar o envio de email",
"server_url" => "URL do servidor",
"server_url_info" => "Será usado para gerar links de verificação de email, deve ser um endereço público e válido.",
"server_url" => "URL do servidor",
"server_url_info" => "Será usado para gerar links de verificação de email, deve ser um endereço público e válido.",
"server_url_password_reset" => "Se definido, também ativará a funcionalidade de redefinição de senha.",
"disable_login" => "Desativar login",
"disable_login" => "Desativar login",
"disable_login_info" => "Ignorar login. Se você executar o servidor somente em uma rede local, sem acesso externo, poderá desativar o login. Isso fará o login automático do usuário administrador.",
"disable_login_info2" => "Só é possível ativar essa configuração se o registro de usuário estiver desativado e não houver mais do que a conta de usuário administrador.",
"max_users_info" => "0 para ilimitado",
"user_management" => "Gerenciamento de usuários",
"delete_user" => "Excluir usuário",
"max_users_info" => "0 para ilimitado",
"user_management" => "Gerenciamento de usuários",
"delete_user" => "Excluir usuário",
"delete_user_info" => "Excluir um usuário também excluirá todas as assinaturas e dados associados",
"smtp_settings" => "Configurações SMTP",
"smtp_usage_info" => "Será usado para recuperação de senha e outros e-mails do sistema.",
"smtp_settings" => "Configurações SMTP",
"smtp_usage_info" => "Será usado para recuperação de senha e outros e-mails do sistema.",
// Email Verification
"email_verified" => "Email verificado",
"email_verification_failed" => "Falha na verificação do email",
// Calendar
"calendar" => "Calendário",
"sun" => "Dom",
"mon" => "Seg",
"tue" => "Ter",
"wed" => "Qua",
"thu" => "Qui",
"fri" => "Sex",
"sat" => "Sáb",
"month-01" => "Janeiro",
"month-02" => "Fevereiro",
"month-03" => "Março",
"month-04" => "Abril",
"month-05" => "Maio",
"month-06" => "Junho",
"month-07" => "Julho",
"month-08" => "Agosto",
"month-09" => "Setembro",
"month-10" => "Outubro",
"month-11" => "Novembro",
"month-12" => "Dezembro",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Registration page
"create_account" => "Вам необходимо создать учетную запись, прежде чем вы сможете войти в систему",
'username' => "Имя пользователя",
'password' => "Пароль",
"email" => "E-mail",
"create_account" => "Вам необходимо создать учетную запись, прежде чем вы сможете войти в систему",
'username' => "Имя пользователя",
'password' => "Пароль",
"email" => "E-mail",
"confirm_password" => "Подтвердите пароль",
"main_currency" => "Основная валюта",
"language" => "Язык",
"main_currency" => "Основная валюта",
"language" => "Язык",
"passwords_dont_match" => "Пароли не совпадают",
"username_exists" => "Имя пользователя уже существует",
"email_exists" => "E-mail уже существует",
"email_exists" => "E-mail уже существует",
"registration_failed" => "Регистрация не удалась, попробуйте еще раз.",
"register" => "Регистрация",
"register" => "Регистрация",
"restore_database" => "Восстановить базу данных",
// Login Page
'please_login' => "Пожалуйста, войдите",
'stay_logged_in' => "Оставаться в системе (30 дней)",
'login' => "Авторизоваться",
'login_failed' => "Данные для входа неверны",
'please_login' => "Пожалуйста, войдите",
'stay_logged_in' => "Оставаться в системе (30 дней)",
'login' => "Авторизоваться",
'login_failed' => "Данные для входа неверны",
'registration_successful' => "Регистрация прошла успешно",
'user_email_waiting_verification' => "Ваша электронная почта нуждается в проверке. Пожалуйста, проверьте свою электронную почту",
// Password Reset Page
'forgot_password' => "Забыли пароль?",
'reset_password' => "Сбросить пароль",
'reset_password' => "Сбросить пароль",
'reset_sent_check_email' => "Ссылка для сброса пароля отправлена на вашу электронную почту",
'password_reset_successful' => "Пароль успешно сброшен",
// Header
'subscriptions' => "Подписки",
'stats' => "Статистика",
'settings' => "Настройки",
'admin' => "Администратор",
'about' => "О программе",
'logout' => "Выйти",
'subscriptions' => "Подписки",
'stats' => "Статистика",
'settings' => "Настройки",
'admin' => "Администратор",
'about' => "О программе",
'logout' => "Выйти",
// Subscriptions page
"subscription" => "Подписка",
"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" => "Очистить фильтры",
'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" => "Нет подходящих подписок",
"clone" => "Клонировать",
"clone" => "Клонировать",
// Subscription form
"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" => "Примечания",
"logo_preview" => "Предварительный просмотр логотипа",
"search_logo" => "Поиск логотипа в Интернете",
"web_search" => "Веб-поиск",
"currency" => "Валюта",
"payment_every" => "Оплата каждые",
"frequency" => "Частота",
"cycle" => "Цикл",
"next_payment" => "Следующий платеж",
"payment_method" => "Способ оплаты",
"no_category" => "Нет категории",
"paid_by" => "Оплачивает",
"url" => "URL",
"notes" => "Примечания",
"enable_notifications" => "Включить уведомления для этой подписки",
"default_value_from_settings" => "Значение по умолчанию из настроек",
"delete" => "Удалить",
"cancel" => "Отмена",
"upload_logo" => "Загрузить логотип",
"delete" => "Удалить",
"cancel" => "Отмена",
"upload_logo" => "Загрузить логотип",
// Statistics page
'general_statistics' => "Общая статистика",
'active_subscriptions' => "Активные подписки",
'inactive_subscriptions' => "Неактивные подписки",
'monthly_cost' => "Ежемесячная стоимость",
'yearly_cost' => "Годовая стоимость",
'monthly_cost' => "Ежемесячная стоимость",
'yearly_cost' => "Годовая стоимость",
'average_monthly' => "Средняя ежемесячная стоимость подписки",
'most_expensive' => "Самая дорогая стоимость подписки",
'amount_due' => "Сумма к оплате в этом месяце",
'most_expensive' => "Самая дорогая стоимость подписки",
'amount_due' => "Сумма к оплате в этом месяце",
'percentage_budget_used' => "Процент использования бюджета",
'budget_remaining' => "Оставшийся бюджет",
'amount_over_budget' => "Сумма превышения бюджета",
'monthly_savings' => "Ежемесячная экономия (при неактивных подписках)",
'yearly_savings' => "Годовая экономия (при неактивных подписках)",
'split_views' => "Подробная статистика",
'category_split' => "По категориям",
'yearly_savings' => "Годовая экономия (при неактивных подписках)",
'split_views' => "Подробная статистика",
'category_split' => "По категориям",
'household_split' => "По членам семьи",
'payment_method_split' => "По способам оплаты",
// About page
'about_and_credits' => "О компании и авторах",
'license' => "Лицензия",
'license' => "Лицензия",
'issues_and_requests' => "Проблемы и вопросы",
'the_author' => "Автор",
'icons' => "Значки",
'payment_icons' => "Значки способов оплаты",
'the_author' => "Автор",
'icons' => "Значки",
'payment_icons' => "Значки способов оплаты",
// Settings page
'upload_avatar' => "Загрузить аватар",
'upload_avatar' => "Загрузить аватар",
'file_type_error' => "Указанный тип файла не поддерживается.",
'user_details' => "Данные пользователя",
"monthly_budget" => "Ежемесячный бюджет",
"budget_info" => "Если вы укажете бюджет, Wallos будет отображать вашу текущую стоимость подписок в сравнении с вашим бюджетом.",
"household" => "Семья",
"save_member" => "Сохранить члена семьи",
"delete_member" => "Удалить члена семьи",
'user_details' => "Данные пользователя",
"monthly_budget" => "Ежемесячный бюджет",
"budget_info" => "Если вы укажете бюджет, Wallos будет отображать вашу текущую стоимость подписок в сравнении с вашим бюджетом.",
"household" => "Семья",
"save_member" => "Сохранить члена семьи",
"delete_member" => "Удалить члена семьи",
"cant_delete_member" => "Не могу удалить основного члена семьи",
"cant_delete_member_in_use" => "Невозможно удалить члена семьи, используемого в подписке.",
'household_info' => "Поле электронной почты позволяет членам семьи получать уведомления об истечении срока действия подписки.",
"notifications" => "Уведомления",
'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" => "От кого E-Mail (необязательно)",
"smtp_info" => "Пароль SMTP передается и сохраняется в виде открытого текста. В целях безопасности создайте учетную запись только для Wallos.",
"telegram" => "Telegram",
"notify_me" => "Уведомить меня за",
"day_before" => "день до события",
"days_before" => "дня(дней) до события",
"smtp_address" => "SMTP-адрес",
"port" => "Порт",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "Имя пользователя SMTP",
"smtp_password" => "Пароль SMTP",
"from_email" => "От кого E-Mail (необязательно)",
"smtp_info" => "Пароль SMTP передается и сохраняется в виде открытого текста. В целях безопасности создайте учетную запись только для Wallos.",
"telegram" => "Telegram",
"telegram_bot_token" => "Токен Telegram-бота",
"telegram_chat_id" => "Telegram Chat ID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Метод запроса",
"custom_headers" => "Пользовательские заголовки",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Метод запроса",
"custom_headers" => "Пользовательские заголовки",
"webhook_payload" => "Webhook Payload",
"webhook_iterator_key" => "Заменить {{subscriptions}} именем ключа.",
"variables_available" => "Доступные переменные",
"gotify" => "Gotify",
"token" => "Токен",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Токен",
"discord" => "Discord",
"discord_bot_username" => "Имя пользователя бота Discord",
"discord_bot_avatar_url" => "URL-адрес аватара бота Discord",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Ключ пользователя Pushover",
'host' => "Хост",
'topic' => "Тема",
"categories" => "Категории",
"save_category" => "Сохранить категорию",
'host' => "Хост",
'topic' => "Тема",
"categories" => "Категории",
"save_category" => "Сохранить категорию",
"delete_category" => "Удалить категорию",
"cant_delete_category_in_use" => "Невозможно удалить категорию, используемую в подписке.",
"currencies" => "Валюты",
"save_currency" => "Сохранить валюту",
"currencies" => "Валюты",
"save_currency" => "Сохранить валюту",
"delete_currency" => "Удалить валюту",
"cant_delete_main_currency" => "Не могу удалить основную валюту",
"cant_delete_currency_in_use" => "Невозможно удалить валюту, используемую в подписке.",
"exchange_update" => "Курсы валют последний раз обновлялись",
"currency_info" => "Найдите поддерживаемые валюты и правильные коды валют на",
"currency_info" => "Найдите поддерживаемые валюты и правильные коды валют на",
"currency_performance" => "Для повышения производительности сохраняйте только те валюты, которые вы используете.",
"fixer_api_key" => "Ключ Fixer API",
"api_key" => "API ключ",
"provider" => "Провайдер",
"fixer_info" => "Если вы используете несколько валют и хотите получить точную статистику и сортировку подписок, вам необходим БЕСПЛАТНЫЙ ключ API от Fixer.",
"get_key" => "Получите ключ по адресу",
"fixer_api_key" => "Ключ Fixer API",
"api_key" => "API ключ",
"provider" => "Провайдер",
"fixer_info" => "Если вы используете несколько валют и хотите получить точную статистику и сортировку подписок, вам необходим БЕСПЛАТНЫЙ ключ API от Fixer.",
"get_key" => "Получите ключ по адресу",
"get_free_fixer_api_key" => "Получите бесплатный ключ API Fixer",
"get_key_alternative" => "Кроме того, вы можете получить бесплатный ключ API Fixer на сайте",
"display_settings" => "Настройки отображения",
"theme_settings" => "Настройки темы",
"custom_colors" => "Пользовательские цвета",
"dark_theme" => "Темная тема",
"switch_theme" => "Переключить светлую/темную тему",
"theme_settings" => "Настройки темы",
"custom_colors" => "Пользовательские цвета",
"dark_theme" => "Темная тема",
"switch_theme" => "Переключить светлую/темную тему",
"calculate_monthly_price" => "Рассчитать и показать ежемесячную цену для всех подписок",
"convert_prices" => "Всегда конвертировать и показывать цены в моей основной валюте (медленнее)",
"convert_prices" => "Всегда конвертировать и показывать цены в моей основной валюте (медленнее)",
"hide_disabled_subscriptions" => "Скрыть отключенные подписки",
"experimental_settings" => "Экспериментальные настройки",
"remove_background" => "Попытка удалить фон логотипов из поиска изображений (экспериментально).",
@@ -195,69 +195,69 @@ $i18n = [
"payment_method_name" => "Название способа оплаты",
"payment_method_added_successfuly" => "Способ оплаты успешно добавлен",
"payment_method_removed" => "Способ оплаты удален.",
"disable" => "Отключить",
"enable" => "Включить",
"disable" => "Отключить",
"enable" => "Включить",
"rename_payment_method" => "Переименовать способ оплаты",
"payment_renamed" => "Способ оплаты переименован",
"payment_not_renamed" => "Способ оплаты не переименован",
"test" => "Тест",
"add" => "Добавить",
"save" => "Сохранить",
"reset" => "Перезагрузить",
"test" => "Тест",
"add" => "Добавить",
"save" => "Сохранить",
"reset" => "Перезагрузить",
"backup_and_restore" => "Резервное копирование и восстановление",
"backup" => "Резервное копирование",
"restore" => "Восстановление",
"restore_info" => "Восстановление базы данных отменит все текущие данные. После восстановления вы выйдете из системы.",
"backup" => "Резервное копирование",
"restore" => "Восстановление",
"restore_info" => "Восстановление базы данных отменит все текущие данные. После восстановления вы выйдете из системы.",
// Filters menu
"filter" => "Фильтр",
"clear" => "Очистить",
"filter" => "Фильтр",
"clear" => "Очистить",
// Toast
"success" => "Успешно",
"success" => "Успешно",
// Endpoint responses
"session_expired" => "Срок действия вашей сессии истек. Пожалуйста, войдите снова",
"fields_missing" => "Некоторые поля отсутствуют",
"fields_missing" => "Некоторые поля отсутствуют",
"fill_all_fields" => "Пожалуйста заполните все поля",
"fill_mandatory_fields" => "Пожалуйста, заполните все обязательные поля",
"error" => "Ошибка",
"error" => "Ошибка",
// Category
"failed_add_category" => "Не удалось добавить категорию",
"failed_edit_category" => "Не удалось изменить категорию",
"category_in_use" => "Категория используется в подписках и не может быть удалена.",
"failed_remove_category" => "Не удалось удалить категорию",
"category_saved" => "Категория сохранена",
"category_saved" => "Категория сохранена",
"category_removed" => "Категория удалена",
"sort_order_saved" => "Порядок сортировки сохранен.",
// Currency
"currency_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 успешно сохранен",
"invalid_api_key" => "Неверный ключ API.",
"api_key_saved" => "Ключ API успешно сохранен",
"currency_removed" => "Валюта удалена",
// Household
"failed_add_household" => "Не удалось добавить члена семьи.",
"failed_edit_household" => "Не удалось изменить члена семьи.",
"failed_remove_household" => "Не удалось удалить члена семьи.",
"household_in_use" => "Член семьи используется в подписках и не может быть удален.",
"member_saved" => "Член семьи сохранен",
"member_removed" => "Член семьи удален",
"member_saved" => "Член семьи сохранен",
"member_removed" => "Член семьи удален",
// Notifications
"error_saving_notifications" => "Ошибка сохранения данных уведомлений.",
"wallos_notification" => "Уведомление от Wallos",
"test_notification" => "Это тестовое уведомление. Если вы видите это, значит, конфигурация правильная.",
"email_error" => "Ошибка отправки электронной почты",
"email_error" => "Ошибка отправки электронной почты",
"notification_sent_successfuly" => "Уведомление успешно отправлено",
"notifications_settings_saved" => "Настройки уведомлений успешно сохранены.",
"notification_failed" => "Уведомление не удалось",
// Payments
"payment_in_use" => "Невозможно отключить используемый способ оплаты",
"payment_in_use" => "Невозможно отключить используемый способ оплаты",
"failed_update_payment" => "Не удалось обновить способ оплаты в базе данных.",
"enabled" => "включено",
"disabled" => "отключено",
"enabled" => "включено",
"disabled" => "отключено",
// Subscription
"error_fetching_image" => "Ошибка при загрузке изображения.",
"subscription_updated_successfuly" => "Подписка успешно обновлена",
@@ -268,28 +268,49 @@ $i18n = [
"error_updating_user_data" => "Ошибка обновления пользовательских данных.",
"user_details_saved" => "Данные пользователя сохранены.",
// Admin Page
"registrations" => "Регистрации",
"registrations" => "Регистрации",
"enable_user_registrations" => "Включить регистрацию пользователей",
"maximum_number_users" => "Максимальное количество пользователей",
"require_email_verification" => "Требовать подтверждение по электронной почте",
"configure_smtp_settings_to_enable" => "Настройте SMTP, чтобы включить эту функцию.",
"server_url" => "URL-адрес сервера",
"server_url_info" => "Используется для проверки электронной почты и восстановления пароля. Должен быть действительным публичным URL.",
"server_url" => "URL-адрес сервера",
"server_url_info" => "Используется для проверки электронной почты и восстановления пароля. Должен быть действительным публичным URL.",
"server_url_password_reset" => "Если этот параметр установлен, он также включает функцию сброса пароля.",
"disable_login" => "Отключить вход",
"disable_login" => "Отключить вход",
"disable_login_info" => "Обход входа в систему. Если вы используете свой сервер только в локальной сети, без доступа извне, вы можете отключить вход в систему. При этом будет автоматически входить пользователь admin.",
"disable_login_info2" => "Этот параметр можно включить только в том случае, если регистрация пользователей отключена и их количество не превышает учетную запись администратора.",
"max_users_info" => "Установите 0 для неограниченного количества пользователей.",
"user_management" => "Управление пользователями",
"delete_user" => "Удалить пользователя",
"max_users_info" => "Установите 0 для неограниченного количества пользователей.",
"user_management" => "Управление пользователями",
"delete_user" => "Удалить пользователя",
"delete_user_info" => "Удаление пользователя также приведет к удалению всех его подписок и настроек.",
"smtp_settings" => "Настройки SMTP",
"smtp_usage_info" => "Будет использоваться для восстановления пароля и других системных писем.",
"smtp_settings" => "Настройки SMTP",
"smtp_usage_info" => "Будет использоваться для восстановления пароля и других системных писем.",
// Email Verification
"email_verified" => "Ваш адрес электронной почты подтвержден. Теперь вы можете войти.",
"email_verification_failed" => "Не удалось подтвердить ваш адрес электронной почты.",
// Calendar
"calendar" => "Календарь",
"sun" => "Вс",
"mon" => "Пн",
"tue" => "Вт",
"wed" => "Ср",
"thu" => "Чт",
"fri" => "Пт",
"sat" => "Сб",
"month-01" => "Январь",
"month-02" => "Февраль",
"month-03" => "Март",
"month-04" => "Апрель",
"month-05" => "Май",
"month-06" => "Июнь",
"month-07" => "Июль",
"month-08" => "Август",
"month-09" => "Сентябрь",
"month-10" => "Октябрь",
"month-11" => "Ноябрь",
"month-12" => "Декабрь",
];
?>
?>

View File

@@ -2,70 +2,70 @@
$i18n = [
// Registration page
"create_account" => "Preden se lahko prijavite, morate ustvariti račun",
'username' => "Uporabniško ime",
'password' => "Geslo",
"email" => "E-pošta",
"create_account" => "Preden se lahko prijavite, morate ustvariti račun",
'username' => "Uporabniško ime",
'password' => "Geslo",
"email" => "E-pošta",
"confirm_password" => "Potrdite geslo",
"main_currency" => "Glavna valuta",
"language" => "Jezik",
"main_currency" => "Glavna valuta",
"language" => "Jezik",
"passwords_dont_match" => "Gesli se ne ujema",
"username_exists" => "Uporabniško ime že obstaja",
"email_exists" => "E-pošta že obstaja",
"email_exists" => "E-pošta že obstaja",
"registration_failed" => "Registracija ni uspela, poskusite znova.",
"register" => "Registrirajte se",
"register" => "Registrirajte se",
"restore_database" => "Obnovi bazo podatkov",
// Login Page
'please_login' => "Prosim prijavite se",
'stay_logged_in' => "Ostanite prijavljeni (30 dni)",
'login' => "Prijava",
'login_failed' => "Podatki za prijavo so napačni",
'please_login' => "Prosim prijavite se",
'stay_logged_in' => "Ostanite prijavljeni (30 dni)",
'login' => "Prijava",
'login_failed' => "Podatki za prijavo so napačni",
'registration_successful' => "Registracija uspešna",
'user_email_waiting_verification' => "Vaš e-poštni naslov je treba preveriti. Prosim, preglejte vašo e-pošto.",
// Password Reset Page
'forgot_password' => "Ste pozabili geslo",
'reset_password' => "Ponastavitev gesla",
'reset_password' => "Ponastavitev gesla",
'reset_sent_check_email' => "E-pošta ponastavitev gesla je bila poslana. Prosim, preglejte vašo e-pošto.",
'password_reset_successful' => "Ponastavitev gesla je uspela",
// Header
'subscriptions' => "Naročnine",
'stats' => "Statistika",
'settings' => "Nastavitve",
'admin' => "Skrbnik",
'about' => "O programu",
'logout' => "Odjava",
'subscriptions' => "Naročnine",
'stats' => "Statistika",
'settings' => "Nastavitve",
'admin' => "Skrbnik",
'about' => "O programu",
'logout' => "Odjava",
// Subscriptions page
"subscription" => "Naročnina",
"subscription" => "Naročnina",
"no_subscriptions_yet" => "Nimate še nobene naročnine",
"add_first_subscription" => "Dodaj prvo naročnino",
'new_subscription' => "Nova naročnina",
'search' => "Iskanje",
'sort' => "Razvrsti",
'name' => "Ime",
'last_added' => "Zadnje dodano",
'price' => "Cena",
'next_payment' => "Naslednje plačilo",
'inactive' => "Onemogoči naročnino",
'member' => "Član",
'category' => "Kategorija",
'payment_method' => "Način plačila",
"Daily" => "Dnevno",
"Weekly" => "Tedensko",
"Monthly" => "Mesečno",
"Yearly" => "Letno",
"daily" => "Dan (dni)",
"weekly" => "Teden (tednov)",
"monthly" => "Mesec (mesecev)",
"yearly" => "Leto (leta)",
"days" => "dnevi",
"weeks" => "tedni",
"months" => "meseci",
"years" => "leta",
"external_url" => "Obiščite zunanji URL",
"empty_page" => "Prazna stran",
"clear_filters" => "Počisti filter",
'search' => "Iskanje",
'sort' => "Razvrsti",
'name' => "Ime",
'last_added' => "Zadnje dodano",
'price' => "Cena",
'next_payment' => "Naslednje plačilo",
'inactive' => "Onemogoči naročnino",
'member' => "Član",
'category' => "Kategorija",
'payment_method' => "Način plačila",
"Daily" => "Dnevno",
"Weekly" => "Tedensko",
"Monthly" => "Mesečno",
"Yearly" => "Letno",
"daily" => "Dan (dni)",
"weekly" => "Teden (tednov)",
"monthly" => "Mesec (mesecev)",
"yearly" => "Leto (leta)",
"days" => "dnevi",
"weeks" => "tedni",
"months" => "meseci",
"years" => "leta",
"external_url" => "Obiščite zunanji URL",
"empty_page" => "Prazna stran",
"clear_filters" => "Počisti filter",
"no_matching_subscriptions" => "Ni ustreznih naročnin",
"clone" => "Klon",
"clone" => "Klon",
// Subscription form
"add_subscription" => "Dodaj naročnino",
"edit_subscription" => "Uredi naročnino",
@@ -108,11 +108,11 @@ $i18n = [
'payment_method_split' => "Razdelitev načina plačila",
// About page
'about_and_credits' => "O programu in zahvale",
'license' => "Licenca",
'license' => "Licenca",
'issues_and_requests' => "Težave in zahteve",
'the_author' => "Avtor",
'icons' => "Ikone",
'payment_icons' => "Ikone plačil",
'the_author' => "Avtor",
'icons' => "Ikone",
'payment_icons' => "Ikone plačil",
// Settings page
'upload_avatar' => "Naloži avatar",
'file_type_error' => "Vrsta datoteke ni podprta.",
@@ -147,7 +147,7 @@ $i18n = [
"custom_headers" => "Glave po meri",
"webhook_payload" => "Webhook Payload",
"webhook_iterator_key" => "Zamenjaj {{subscriptions}} z imenom ključa",
"variables_available" => "Spremenljivke, ki so na voljo",
"variables_available" => "Spremenljivke, ki so na voljo",
"gotify" => "Gotify",
"token" => "Žeton",
"discord" => "Discord",
@@ -201,7 +201,7 @@ $i18n = [
"payment_renamed" => "Plačilno sredstvo je preimenovano",
"payment_not_renamed" => "Način plačila ni preimenovan",
"test" => "Test",
"add" => "Dodaj",
"add" => "Dodaj",
"save" => "Shrani",
"reset" => "Ponastavi",
"backup_and_restore" => "Varnostno kopiranje in obnovitev",
@@ -212,7 +212,7 @@ $i18n = [
"filter" => "Filter",
"clear" => "Počisti",
// Toast
"success" => "Uspeh",
"success" => "Uspeh",
// Endpoint responses
"session_expired" => "Vaša seja je potekla. Ponovno se prijavite",
"fields_missing" => "Nekatere polja niso izpoljnena",
@@ -227,7 +227,7 @@ $i18n = [
"category_saved" => "Kategorija je shranjena",
"category_removed" => "Kategorija je odstranjena",
"sort_order_saved" => "Vrstni red je shranjen",
// Currency
// Currency
"currency_saved" => "je bila shranjen.",
"error_adding_currency" => "Napaka pri dodajanju zapisa valute.",
"failed_to_store_currency" => "Shranjevanje valute v zbirko podatkov ni uspelo.",
@@ -245,7 +245,7 @@ $i18n = [
"household_in_use" => "Član gospodinjstva je v uporabi v naročninah in ga ni mogoče odstraniti",
"member_saved" => "Član je shranjen",
"member_removed" => "Član je odstranjen",
// Notifications
// Notifications
"error_saving_notifications" => "Napaka pri shranjevanju podatkov obvestil.",
"wallos_notification" => "Wallosovo obvestilo",
"test_notification" => "To je preizkusno obvestilo. Če ga vidite, je konfiguracija pravilna.",
@@ -258,16 +258,16 @@ $i18n = [
"failed_update_payment" => "Posodobitev plačilnega sredstva v bazi podatkov ni uspela",
"enabled" => "omogočeno",
"disabled" => "onemogočeno",
// Subscription
// Subscription
"error_fetching_image" => "Napaka pri pridobivanju slike",
"subscription_updated_successfuly" => "Naročnina je bila uspešno posodobljena",
"subscription_added_successfuly" => "Naročnina je bila uspešno dodana",
"error_deleting_subscription" => "Napaka pri brisanju naročnine.",
"invalid_request_method" => "Neveljavna metoda zahteve.",
// User
// User
"error_updating_user_data" => "Napaka pri posodabljanju uporabniških podatkov.",
"user_details_saved" => "Podrobnosti o uporabniku so shranjene",
// Admin Page
// Admin Page
"registrations" => "Registracije",
"enable_user_registrations" => "Omogoči registracije uporabnikov",
"maximum_number_users" => "Največje število uporabnikov",
@@ -288,8 +288,29 @@ $i18n = [
// Email Verification
"email_verified" => "E-pošta je bila uspešno preverjena",
"email_verification_failed" => "Preverjanje e-pošte ni uspelo",
// Calendar
"calendar" => "Koledar",
"sun" => "Ned",
"mon" => "Pon",
"tue" => "Tor",
"wed" => "Sre",
"thu" => "Čet",
"fri" => "Pet",
"sat" => "Sob",
"month-01" => "Januar",
"month-02" => "Februar",
"month-03" => "Marec",
"month-04" => "April",
"month-05" => "Maj",
"month-06" => "Junij",
"month-07" => "Julij",
"month-08" => "Avgust",
"month-09" => "September",
"month-10" => "Oktober",
"month-11" => "November",
"month-12" => "December",
];
?>
?>

View File

@@ -2,186 +2,186 @@
$i18n = [
// Страница за регистрацију
"create_account" => "Морате креирати налог пре него што можете пријавити",
'username' => "Корисничко име",
'password' => "Лозинка",
"email" => "И-пошта",
"create_account" => "Морате креирати налог пре него што можете пријавити",
'username' => "Корисничко име",
'password' => "Лозинка",
"email" => "И-пошта",
"confirm_password" => "Потврди лозинку",
"main_currency" => "Главна валута",
"language" => "Језик",
"main_currency" => "Главна валута",
"language" => "Језик",
"passwords_dont_match" => "Лозинке се не поклапају",
"username_exists" => "Корисничко име већ постоји",
"email_exists" => "Е-пошта већ постоји",
"email_exists" => "Е-пошта већ постоји",
"registration_failed" => "Регистрација није успела, покушајте поново.",
"register" => "Региструј се",
"register" => "Региструј се",
"restore_database" => "Врати базу података",
// Страница за пријаву
'please_login' => "Молимо вас да се пријавите",
'stay_logged_in' => "Остани пријављен (30 дана)",
'login' => "Пријави се",
'login_failed' => "Подаци за пријаву нису исправни",
'please_login' => "Молимо вас да се пријавите",
'stay_logged_in' => "Остани пријављен (30 дана)",
'login' => "Пријави се",
'login_failed' => "Подаци за пријаву нису исправни",
'registration_successful' => "Пријава успешна",
'user_email_waiting_verification' => "Ваша е-пошта треба да буде верификована. Молимо прегледајте Е-пошту",
// Password Reset Page
'forgot_password' => "Заборављена лозинка",
'reset_password' => "Ресетуј лозинку",
'reset_password' => "Ресетуј лозинку",
'reset_sent_check_email' => "Ресетовање лозинке је послато на вашу е-пошту",
'password_reset_successful' => "Ресетовање лозинке је успешно",
// Header
'subscriptions' => "Претплате",
'stats' => "Статистике",
'settings' => "Подешавања",
'admin' => "Админ",
'about' => "О апликацији",
'logout' => "Одјава",
'subscriptions' => "Претплате",
'stats' => "Статистике",
'settings' => "Подешавања",
'admin' => "Админ",
'about' => "О апликацији",
'logout' => "Одјава",
// Страница са претплатама
"subscription" => "Претплата",
"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" => "Очисти филтере",
'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" => "Нема подударајућих претплата",
"clone" => "Клонирај",
"clone" => "Клонирај",
// Форма за претплату
"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" => "Напомене",
"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" => "Постави логотип",
"delete" => "Обриши",
"cancel" => "Откажи",
"upload_logo" => "Постави логотип",
// Страница са статистикама
'general_statistics' => "Опште статистике",
'active_subscriptions' => "Активне претплате",
'inactive_subscriptions' => "Неактивне претплате",
'monthly_cost' => "Месечни трошак",
'yearly_cost' => "Годишњи трошак",
'monthly_cost' => "Месечни трошак",
'yearly_cost' => "Годишњи трошак",
'average_monthly' => "Просечни месечни трошак претплате",
'most_expensive' => "Најскупља претплата",
'amount_due' => "Износ за уплату овог месеца",
'most_expensive' => "Најскупља претплата",
'amount_due' => "Износ за уплату овог месеца",
'percentage_budget_used' => "Проценат искоришћеног буџета",
'budget_remaining' => "Преостали буџет",
'amount_over_budget' => "Износ преко буџета",
'monthly_savings' => "Месечне уштеде (на неактивним претплатама)",
'yearly_savings' => "Годишње уштеде (на неактивним претплатама)",
'split_views' => "Подељени прикази",
'category_split' => "Подела по категоријама",
'yearly_savings' => "Годишње уштеде (на неактивним претплатама)",
'split_views' => "Подељени прикази",
'category_split' => "Подела по категоријама",
'household_split' => "Подела по домаћинству",
'payment_method_split' => "Подела по начинима плаћања",
// Страница о апликацији
'about_and_credits' => "О апликацији и заслугама",
'license' => "Лиценца",
'license' => "Лиценца",
'issues_and_requests' => "Проблеми и захтеви",
'the_author' => "Аутор",
'icons' => "Иконе",
'payment_icons' => "Иконе плаћања",
'the_author' => "Аутор",
'icons' => "Иконе",
'payment_icons' => "Иконе плаћања",
// Страница са подешавањима
'upload_avatar' => "Постави аватар",
'upload_avatar' => "Постави аватар",
'file_type_error' => "Датотека није у подржаном формату.",
'user_details' => "Кориснички детаљи",
"monthly_budget" => "Месечни буџет",
"budget_info" => "Унесите месечни буџет да бисте видели препоручену максималну цену претплате на почетној страници.",
"household" => "Домаћинство",
"save_member" => "Сачувај члана",
"delete_member" => "Обриши члана",
'user_details' => "Кориснички детаљи",
"monthly_budget" => "Месечни буџет",
"budget_info" => "Унесите месечни буџет да бисте видели препоручену максималну цену претплате на почетној страници.",
"household" => "Домаћинство",
"save_member" => "Сачувај члана",
"delete_member" => "Обриши члана",
"cant_delete_member" => "Главни члан не може бити обрисан",
"cant_delete_member_in_use" => "Члана који се користи у претплати не може бити обрисан",
'household_info' => "Поље за е-пошту омогућава члановима домаћинства да буду обавештени о претплатама које ће ускоро истећи.",
"notifications" => "Обавештења",
'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 лозинка се преноси и чува у обичном тексту. Из сигурносних разлога, молимо вас да направите налог само за ово.",
"telegram" => "Телеграм",
"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 лозинка се преноси и чува у обичном тексту. Из сигурносних разлога, молимо вас да направите налог само за ово.",
"telegram" => "Телеграм",
"telegram_bot_token" => "Телеграм бот токен",
"telegram_chat_id" => "Телеграм чет ID",
"webhook" => "Вебхук",
"webhook_url" => "Вебхук URL",
"request_method" => "Метод захтева",
"custom_headers" => "Прилагођени заглавља",
"webhook" => "Вебхук",
"webhook_url" => "Вебхук URL",
"request_method" => "Метод захтева",
"custom_headers" => "Прилагођени заглавља",
"webhook_payload" => "Вебхук Пајлоад",
"webhook_iterator_key" => "{{subscriptions}} замени кључним итератором",
"variables_available" => "Доступне променљиве",
"gotify" => "Готифи",
"token" => "Токен",
"discord" => "Дискорд",
"gotify" => "Готифи",
"token" => "Токен",
"discord" => "Дискорд",
"discord_bot_username" => "Дискорд бот корисничко име",
"discord_bot_avatar_url" => "Дискорд бот URL аватара",
"pushover" => "Пушовер",
"pushover" => "Пушовер",
"pushover_user_key" => "Пушовер кориснички кључ",
'host' => "Домаћин",
'topic' => "Тема",
"categories" => "Категорије",
"save_category" => "Сачувај категорију",
'host' => "Домаћин",
'topic' => "Тема",
"categories" => "Категорије",
"save_category" => "Сачувај категорију",
"delete_category" => "Избриши категорију",
"cant_delete_category_in_use" => "Категорија која се користи у претплати не може бити избрисана",
"currencies" => "Валуте",
"save_currency" => "Сачувај валуту",
"currencies" => "Валуте",
"save_currency" => "Сачувај валуту",
"delete_currency" => "Избриши валуту",
"cant_delete_main_currency" => "Главна валута не може бити избрисана",
"cant_delete_currency_in_use" => "Валута која се користи у претплати не може бити избрисана",
"exchange_update" => "Курсне стопе последњи пут ажуриране",
"currency_info" => "Пронађите подржане валуте и исправне кодове валута на",
"currency_info" => "Пронађите подржане валуте и исправне кодове валута на",
"currency_performance" => "За побољшану перформансу, задржите само валуте које користите.",
"fixer_api_key" => "Fixer API кључ",
"api_key" => "API кључ",
"provider" => "Провајдер",
"fixer_info" => "Ако користите више валута и желите тачне статистике и сортирање претплата, неопходан је БЕСПЛАТНИ API кључ од Fixer.",
"get_key" => "Добијте свој кључ на",
"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" => "Подешавања приказа",
"theme_settings" => "Подешавања теме",
"custom_colors" => "Прилагођене боје",
"dark_theme" => "Тамна тема",
"switch_theme" => "Промени светлу / тамну тему",
"theme_settings" => "Подешавања теме",
"custom_colors" => "Прилагођене боје",
"dark_theme" => "Тамна тема",
"switch_theme" => "Промени светлу / тамну тему",
"calculate_monthly_price" => "Израчунајте и прикажите месечну цену за све претплате",
"convert_prices" => "Увек конвертујте и прикажите цене на мојој главној валути (спорије)",
"convert_prices" => "Увек конвертујте и прикажите цене на мојој главној валути (спорије)",
"hide_disabled_subscriptions" => "Сакриј онемогућене претплате",
"experimental_settings" => "Експериментална подешавања",
"remove_background" => "Покушајте уклонити позадину логотипа са слика претраге (експериментално)",
@@ -194,69 +194,69 @@ $i18n = [
"payment_method_name" => "Име начина плаћања",
"payment_method_added_successfuly" => "Начин плаћања успешно додат",
"payment_method_removed" => "Начин плаћања уклоњен",
"disable" => "Онемогући",
"enable" => "Омогући",
"disable" => "Онемогући",
"enable" => "Омогући",
"rename_payment_method" => "Преименуј начин плаћања",
"payment_renamed" => "Начин плаћања преименован",
"payment_not_renamed" => "Начин плаћања није преименован",
"test" => "Тест",
"add" => "Додај",
"save" => "Сачувај",
"reset" => "Ресетуј",
"test" => "Тест",
"add" => "Додај",
"save" => "Сачувај",
"reset" => "Ресетуј",
"backup_and_restore" => "Бекап и ресторе",
"backup" => "Бекап",
"restore" => "Ресторе",
"restore_info" => "Враћање базе података ће заменити све тренутне податке. Бићете одјављени након враћања.",
"backup" => "Бекап",
"restore" => "Ресторе",
"restore_info" => "Враћање базе података ће заменити све тренутне податке. Бићете одјављени након враћања.",
// Мени са филтерима
"filter" => "Филтер",
"clear" => "Очисти",
"filter" => "Филтер",
"clear" => "Очисти",
// Тост
"success" => "Успех",
"success" => "Успех",
// Одговори са сервера
"session_expired" => "Ваша сесија је истекла. Молимо вас да се поново пријавите",
"fields_missing" => "Неки подаци недостају",
"fields_missing" => "Неки подаци недостају",
"fill_all_fields" => "Молимо вас да попуните сва поља",
"fill_mandatory_fields" => "Молимо вас да попуните сва обавезна поља",
"error" => "Грешка",
"error" => "Грешка",
// Категорија
"failed_add_category" => "Додавање категорије није успело",
"failed_edit_category" => "Измена категорије није успела",
"category_in_use" => "Категорија се користи у претплатама и не може бити уклоњена",
"failed_remove_category" => "Уклањање категорије није успело",
"category_saved" => "Категорија сачувана",
"category_saved" => "Категорија сачувана",
"category_removed" => "Категорија уклоњена",
"sort_order_saved" => "Редослед сортирања сачуван",
// Валута
"currency_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 кључ успешно сачуван",
"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" => "Члан уклоњен",
"member_saved" => "Члан сачуван",
"member_removed" => "Члан уклоњен",
// Обавештења
"error_saving_notifications" => "Грешка при чувању података за обавештења.",
"wallos_notification" => "Валос обавештење",
"test_notification" => "Ово је тест обавештење. Ако га видите, конфигурација је исправна.",
"email_error" => "Грешка при слању е-поште",
"email_error" => "Грешка при слању е-поште",
"notification_sent_successfuly" => "Обавештење успешно послато",
"notifications_settings_saved" => "Подешавања обавештења успешно сачувана.",
"notification_failed" => "Обавештење није послато",
// Плаћања
"payment_in_use" => "Не може се онемогућити коришћени начин плаћања",
"payment_in_use" => "Не може се онемогућити коришћени начин плаћања",
"failed_update_payment" => "Ажурирање начина плаћања у бази података није успело",
"enabled" => "омогућен",
"disabled" => "онемогућен",
"enabled" => "омогућен",
"disabled" => "онемогућен",
// Претплата
"error_fetching_image" => "Грешка при преузимању слике",
"subscription_updated_successfuly" => "Претплата успешно ажурирана",
@@ -267,28 +267,49 @@ $i18n = [
"error_updating_user_data" => "Грешка при ажурирању корисничких података.",
"user_details_saved" => "Кориснички подаци сачувани",
// Admin Page
"registrations" => "Регистрације",
"registrations" => "Регистрације",
"enable_user_registrations" => "Омогући регистрације корисника",
"maximum_number_users" => "Максималан број корисника",
"require_email_verification" => "Захтевај верификацију е-поште",
"configure_smtp_settings_to_enable" => "Конфигуришите SMTP подешавања да бисте омогућили ову опцију",
"server_url" => "URL сервера",
"server_url_info" => "Користи се за верификацију е-поште и опоравак лозинке. Мора да буде важећи јавни УРЛ.",
"server_url" => "URL сервера",
"server_url_info" => "Користи се за верификацију е-поште и опоравак лозинке. Мора да буде важећи јавни УРЛ.",
"server_url_password_reset" => "Ако је подешено, такође ће се омогућити функција ресетовања лозинке.",
"disable_login" => "Онемогући пријаву",
"disable_login" => "Онемогући пријаву",
"disable_login_info" => "Заобиђите пријаву. Ако свој сервер покрећете само на локалној мрежи, без спољног приступа можете да онемогућите пријаву. Ово ће аутоматски пријавити корисника администратора.",
"disable_login_info2" => "Ово подешавање се може омогућити само ако је регистрација корисника затворена и број корисничких налога не прелази администраторске налоге.",
"max_users_info" => "Максималан број корисника који могу бити регистровани. 0 за неограничено.",
"user_management" => "Управљање корисницима",
"delete_user" => "Обриши корисника",
"max_users_info" => "Максималан број корисника који могу бити регистровани. 0 за неограничено.",
"user_management" => "Управљање корисницима",
"delete_user" => "Обриши корисника",
"delete_user_info" => "Брисање корисника ће такође обрисати све његове претплате и податке.",
"smtp_settings" => "SMTP подешавања",
"smtp_usage_info" => "SMTP се користи за слање е-поште за обавештења.",
"smtp_settings" => "SMTP подешавања",
"smtp_usage_info" => "SMTP се користи за слање е-поште за обавештења.",
// Email Verification
"email_verified" => "Е-пошта је верификована",
"email_verification_failed" => "Верификација е-поште није успела",
// Calendar
"calendar" => "Календар",
"sun" => "Нед",
"mon" => "Пон",
"tue" => "Уто",
"wed" => "Сре",
"thu" => "Чет",
"fri" => "Пет",
"sat" => "Суб",
"month-01" => "Јануар",
"month-02" => "Фебруар",
"month-03" => "Март",
"month-04" => "Април",
"month-05" => "Мај",
"month-06" => "Јун",
"month-07" => "Јул",
"month-08" => "Август",
"month-09" => "Септембар",
"month-10" => "Октобар",
"month-11" => "Новембар",
"month-12" => "Децембар",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// Stranica za registraciju
"create_account" => "Morate kreirati nalog pre nego što se možete prijaviti",
'username' => "Korisničko ime",
'password' => "Lozinka",
"email" => "E-pošta",
"create_account" => "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",
"main_currency" => "Glavna valuta",
"language" => "Jezik",
"passwords_dont_match" => "Lozinke se ne poklapaju",
"username_exists" => "Korisničko ime već postoji",
"email_exists" => "E-pošta već postoji",
"email_exists" => "E-pošta već postoji",
"registration_failed" => "Registracija nije uspela, pokušajte ponovo.",
"register" => "Registruj se",
"register" => "Registruj se",
"restore_database" => "Vrati bazu podataka",
// 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",
'please_login' => "Molimo vas da se prijavite",
'stay_logged_in' => "Ostani prijavljen (30 dana)",
'login' => "Prijavi se",
'login_failed' => "Podaci za prijavu nisu ispravni",
'registration_successful' => "Registracija uspešna",
'user_email_waiting_verification' => "Vaša e-pošta treba da bude verifikovana. Molimo pregledajte E-poštu",
// Password Reset Page
'forgot_password' => "Zaboravili ste lozinku?",
'reset_password' => "Resetuj lozinku",
'reset_password' => "Resetuj lozinku",
'reset_sent_check_email' => "Poslali smo vam e-poštu sa uputstvima za resetovanje lozinke",
'password_reset_successful' => "Lozinka uspešno resetovana",
// Header
'subscriptions' => "Pretplate",
'stats' => "Statistike",
'settings' => "Podešavanja",
'admin' => "Admin",
'about' => "O aplikaciji",
'logout' => "Odjava",
'subscriptions' => "Pretplate",
'stats' => "Statistike",
'settings' => "Podešavanja",
'admin' => "Admin",
'about' => "O aplikaciji",
'logout' => "Odjava",
// Stranica sa pretplatama
"subscription" => "Pretplata",
"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",
'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",
"clone" => "Kloniraj",
"clone" => "Kloniraj",
// 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",
"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",
"default_value_from_settings" => "Podrazumevana vrednost iz podešavanja",
"delete" => "Izbriši",
"cancel" => "Otkaži",
"upload_logo" => "Učitaj logo",
"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",
'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",
'most_expensive' => "Najskuplja pretplata",
'amount_due' => "Iznos za plaćanje ovog meseca",
'percentage_budget_used' => "Procenat budžeta iskorišćen",
'budget_remaining' => "Preostali budžet",
'amount_over_budget' => "Iznos preko budžeta",
'monthly_savings' => "Mesečne uštede (na neaktivnim pretplatama)",
'yearly_savings' => "Godišnje uštede (na neaktivnim pretplatama)",
'split_views' => "Podeljene statistike",
'category_split' => "Podela po kategorijama",
'yearly_savings' => "Godišnje 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",
'license' => "Licenca",
'issues_and_requests' => "Problemi i zahtevi",
'the_author' => "Autor",
'icons' => "Ikone",
'payment_icons' => "Ikone za plaćanje",
'the_author' => "Autor",
'icons' => "Ikone",
'payment_icons' => "Ikone za plaćanje",
// Stranica sa podešavanjima
'upload_avatar' => "Učitaj avatar",
'upload_avatar' => "Učitaj avatar",
'file_type_error' => "Tip datoteke koji ste priložili nije podržan.",
'user_details' => "Detalji korisnika",
"monthly_budget" => "Mesečni budžet",
"budget_info" => "Ovo je vaš mesečni budžet za sve pretplate. Ovo je samo informativno i ne ograničava vas.",
"household" => "Domaćinstvo",
"save_member" => "Sačuvaj člana",
"delete_member" => "Izbriši člana",
'user_details' => "Detalji korisnika",
"monthly_budget" => "Mesečni budžet",
"budget_info" => "Ovo je vaš mesečni budžet za sve pretplate. Ovo je samo informativno i ne ograničava vas.",
"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",
'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.",
"telegram" => "Telegram",
"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.",
"telegram" => "Telegram",
"telegram_bot_token" => "Telegram bot token",
"telegram_chat_id" => "Telegram chat ID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Metod zahteva",
"custom_headers" => "Prilagođeni zaglavlja",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "Metod zahteva",
"custom_headers" => "Prilagođeni zaglavlja",
"webhook_payload" => "Webhook payload",
"webhook_iterator_key" => "Zameni {{subscriptions}} sa ključem",
"variables_available" => "Dostupne promenljive",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "Token",
"discord" => "Discord",
"discord_bot_username" => "Discord bot korisničko ime",
"discord_bot_avatar_url" => "Discord bot URL avatara",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Pushover korisnički ključ",
'host' => "Host",
'topic' => "Tema",
"categories" => "Kategorije",
"save_category" => "Sačuvaj kategoriju",
'host' => "Host",
'topic' => "Tema",
"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",
"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_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",
"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",
"theme_settings" => "Podešavanja teme",
"custom_colors" => "Prilagođene boje",
"dark_theme" => "Tamna tema",
"switch_theme" => "Promeni svetli / tamni temu",
"theme_settings" => "Podešavanja teme",
"custom_colors" => "Prilagođene boje",
"dark_theme" => "Tamna tema",
"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)",
"convert_prices" => "Uvek konvertuj i prikaži cene u mojoj glavnoj valuti (sporije)",
"hide_disabled_subscriptions" => "Sakrij onemogućene pretplate",
"experimental_settings" => "Eksperimentalna podešavanja",
"remove_background" => "Pokušajte ukloniti pozadinu logotipa sa pretrage slika (eksperimentalno)",
@@ -195,69 +195,69 @@ $i18n = [
"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",
"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",
"reset" => "Resetuj",
"test" => "Test",
"add" => "Dodaj",
"save" => "Sačuvaj",
"reset" => "Resetuj",
"backup_and_restore" => "Backup i restore",
"backup" => "Backup",
"restore" => "Restore",
"restore_info" => "Vraćanje baze podataka će zameniti sve trenutne podatke. Bićete odjavljeni nakon vraćanja.",
"backup" => "Backup",
"restore" => "Restore",
"restore_info" => "Vraćanje baze podataka će zameniti sve trenutne podatke. Bićete odjavljeni nakon vraćanja.",
// Meni sa filterima
"filter" => "Filter",
"clear" => "Očisti",
"filter" => "Filter",
"clear" => "Očisti",
// Toast
"success" => "Uspeh",
"success" => "Uspeh",
// Odgovori sa servera
"session_expired" => "Vaša sesija je istekla. Molimo vas da se ponovo prijavite",
"fields_missing" => "Neki podaci nedostaju",
"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",
"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_saved" => "Kategorija sačuvana",
"category_removed" => "Kategorija uklonjena",
"sort_order_saved" => "Redosled sortiranja sačuvan",
// Valuta
"currency_saved" => "je sačuvan.",
"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",
"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",
"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",
"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.",
"notification_failed" => "Obaveštenje nije poslato",
// Plaćanja
"payment_in_use" => "Nije moguće onemogućiti korišćeni način 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",
"enabled" => "omogućen",
"disabled" => "onemogućen",
// Pretplata
"error_fetching_image" => "Greška pri preuzimanju slike",
"subscription_updated_successfuly" => "Pretplata uspešno ažurirana",
@@ -288,8 +288,29 @@ $i18n = [
// Email Verification
"email_verified" => "E-pošta je uspešno verifikovana",
"email_verification_failed" => "Verifikacija e-pošte nije uspela",
// Calendar
"calendar" => "Kalendar",
"sun" => "Ned",
"mon" => "Pon",
"tue" => "Uto",
"wed" => "Sre",
"thu" => "Čet",
"fri" => "Pet",
"sat" => "Sub",
"month-01" => "Januar",
"month-02" => "Februar",
"month-03" => "Mart",
"month-04" => "April",
"month-05" => "Maj",
"month-06" => "Jun",
"month-07" => "Jul",
"month-08" => "Avgust",
"month-09" => "Septembar",
"month-10" => "Oktobar",
"month-11" => "Novembar",
"month-12" => "Decembar",
];
?>
?>

View File

@@ -24,7 +24,7 @@ $i18n = [
'user_email_waiting_verification' => "E-postanızın doğrulanması gerekiyor. Lütfen e-postanızı kontrol edin",
// Password Reset Page
'forgot_password' => "Şifremi Unuttum",
'reset_password' => "Şifreyi Sıfırla",
'reset_password' => "Şifreyi Sıfırla",
'reset_sent_check_email' => "Şifre sıfırlama bağlantısı e-posta adresinize gönderildi. Lütfen e-postanızı kontrol edin.",
'password_reset_successful' => "Şifre sıfırlama başarılı",
// Header
@@ -101,7 +101,7 @@ $i18n = [
'budget_remaining' => "Kalan Bütçe",
'amount_over_budget' => "Bütçe Aşımı",
'monthly_savings' => "Aylık Tasarruf (aktif olmayan aboneliklerde)",
'yearly_savings' => "Yıllık Tasarruf (aktif olmayan aboneliklerde)",
'yearly_savings' => "Yıllık Tasarruf (aktif olmayan aboneliklerde)",
'split_views' => "Bölünmüş Görünümler",
'category_split' => "Kategori Bölümü",
'household_split' => "Hane Bölümü",
@@ -114,7 +114,7 @@ $i18n = [
'icons' => "İkonlar",
'payment_icons' => "Ödeme İkonları",
// Settings page
'upload_avatar' => "Avatarı yükle",
'upload_avatar' => "Avatarı yükle",
'file_type_error' => "Dosya türü izin verilmiyor",
'user_details' => "Kullanıcı Detayları",
"monthly_budget" => "Aylık Bütçe",
@@ -177,7 +177,7 @@ $i18n = [
"get_free_fixer_api_key" => "Ücretsiz Fixer API Anahtarı alın",
"get_key_alternative" => "Alternatif olarak, şu adresten ücretsiz bir fixer api anahtarı edinebilirsiniz",
"display_settings" => "Görüntüleme Ayarları",
"theme_settings" => "Tema Ayarları",
"theme_settings" => "Tema Ayarları",
"custom_colors" => "Özel Renkler",
"dark_theme" => "Koyu Temayı",
"switch_theme" => "ık / Koyu Temayı Değiştir",
@@ -288,8 +288,29 @@ $i18n = [
// Email Verification
"email_verified" => "E-posta doğrulandı",
"email_verification_failed" => "E-posta doğrulaması başarısız oldu",
// Calendar
"calendar" => "Takvim",
"sun" => "Paz",
"mon" => "Pzt",
"tue" => "Sal",
"wed" => "Çar",
"thu" => "Per",
"fri" => "Cum",
"sat" => "Cmt",
"month-01" => "Ocak",
"month-02" => "Şubat",
"month-03" => "Mart",
"month-04" => "Nisan",
"month-05" => "Mayıs",
"month-06" => "Haziran",
"month-07" => "Temmuz",
"month-08" => "Ağustos",
"month-09" => "Eylül",
"month-10" => "Ekim",
"month-11" => "Kasım",
"month-12" => "Aralık",
];
?>
?>

View File

@@ -2,195 +2,195 @@
$i18n = [
// 注册页面
"create_account" => "请创建帐号后登录",
'username' => "用户名",
'password' => "密码",
"email" => "电子邮箱",
"create_account" => "请创建帐号后登录",
'username' => "用户名",
'password' => "密码",
"email" => "电子邮箱",
"confirm_password" => "确认密码",
"main_currency" => "主要货币",
"language" => "语言",
"main_currency" => "主要货币",
"language" => "语言",
"passwords_dont_match" => "密码不匹配",
"username_exists" => "用户名已存在",
"email_exists" => "电子邮箱已存在",
"email_exists" => "电子邮箱已存在",
"registration_failed" => "注册失败,请重试。",
"register" => "注册",
"register" => "注册",
"restore_database" => "恢复数据库",
// 登录页面
'please_login' => "请登录",
'stay_logged_in' => "30 天内免登录",
'login' => "登录",
'login_failed' => "登录信息错误",
'please_login' => "请登录",
'stay_logged_in' => "30 天内免登录",
'login' => "登录",
'login_failed' => "登录信息错误",
'registration_successful' => "注册成功",
'user_email_waiting_verification' => "您的电子邮件需要验证。请检查您的电子邮件",
// Password Reset Page
'forgot_password' => "忘记密码",
'reset_password' => "重置密码",
'reset_password' => "重置密码",
'reset_sent_check_email' => "重置密码链接已发送到您的电子邮箱",
'password_reset_successful' => "密码重置成功",
// 页眉
'subscriptions' => "订阅",
'stats' => "统计",
'settings' => "设置",
'admin' => "管理员",
'about' => "关于",
'logout' => "登出",
'subscriptions' => "订阅",
'stats' => "统计",
'settings' => "设置",
'admin' => "管理员",
'about' => "关于",
'logout' => "登出",
// 订阅页面
"subscription" => "订阅",
"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" => "访问外部链接",
"empty_page" => "空白页面",
"clear_filters" => "清除筛选",
'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" => "访问外部链接",
"empty_page" => "空白页面",
"clear_filters" => "清除筛选",
"no_matching_subscriptions" => "没有匹配的订阅",
"clone" => "克隆",
"clone" => "克隆",
// 订阅表单
"add_subscription" => "添加订阅",
"edit_subscription" => "编辑订阅",
"subscription_name" => "订阅名称",
"logo_preview" => "Logo 预览",
"search_logo" => "在网上搜索 Logo",
"web_search" => "网页搜索",
"currency" => "货币",
"payment_every" => "支付频率",
"frequency" => "频率",
"cycle" => "周期",
"next_payment" => "下次支付",
"payment_method" => "支付方式",
"no_category" => "无分类",
"paid_by" => "付款人",
"url" => "链接",
"notes" => "备注",
"logo_preview" => "Logo 预览",
"search_logo" => "在网上搜索 Logo",
"web_search" => "网页搜索",
"currency" => "货币",
"payment_every" => "支付频率",
"frequency" => "频率",
"cycle" => "周期",
"next_payment" => "下次支付",
"payment_method" => "支付方式",
"no_category" => "无分类",
"paid_by" => "付款人",
"url" => "链接",
"notes" => "备注",
"enable_notifications" => "为此订阅启用通知",
"default_value_from_settings" => "默认值从设置中获取",
"delete" => "删除",
"cancel" => "取消",
"upload_logo" => "上传 Logo",
"delete" => "删除",
"cancel" => "取消",
"upload_logo" => "上传 Logo",
// 统计页面
'general_statistics' => "总体统计",
'active_subscriptions' => "活跃订阅",
'inactive_subscriptions' => "非活动订阅",
'monthly_cost' => "月费用",
'yearly_cost' => "年费用",
'monthly_cost' => "月费用",
'yearly_cost' => "年费用",
'average_monthly' => "平均每月订阅费用",
'most_expensive' => "最昂贵订阅费用",
'amount_due' => "本月应付金额",
'most_expensive' => "最昂贵订阅费用",
'amount_due' => "本月应付金额",
'percentage_budget_used' => "预算使用百分比",
'budget_remaining' => "剩余预算",
'amount_over_budget' => "超出预算",
'monthly_savings' => "每月节省",
'yearly_savings' => "每年节省",
'split_views' => "拆分视图",
'category_split' => "分类视图",
'yearly_savings' => "每年节省",
'split_views' => "拆分视图",
'category_split' => "分类视图",
'household_split' => "家庭视图",
'payment_method_split' => "支付方式视图",
// 关于页面
'about_and_credits' => "关于和鸣谢",
'license' => "许可证",
'license' => "许可证",
'issues_and_requests' => "问题反馈与功能请求",
'the_author' => "作者",
'icons' => "图标",
'payment_icons' => "支付图标",
'the_author' => "作者",
'icons' => "图标",
'payment_icons' => "支付图标",
// 设置页面
'upload_avatar' => "上传头像",
'upload_avatar' => "上传头像",
'file_type_error' => "文件类型不允许",
'user_details' => "用户详情",
"monthly_budget" => "每月预算",
"budget_info" => "设置预算后,您可以在统计页面上比较预算和实际支出。",
"household" => "家庭",
"save_member" => "保存成员",
"delete_member" => "删除成员",
'user_details' => "用户详情",
"monthly_budget" => "每月预算",
"budget_info" => "设置预算后,您可以在统计页面上比较预算和实际支出。",
"household" => "家庭",
"save_member" => "保存成员",
"delete_member" => "删除成员",
"cant_delete_member" => "不能删除主要成员",
"cant_delete_member_in_use" => "不能删除拥有订阅的成员",
"household_info" => "电子邮件字段允许通知家庭成员订阅即将过期。",
"notifications" => "通知",
"household_info" => "电子邮件字段允许通知家庭成员订阅即将过期。",
"notifications" => "通知",
"enable_email_notifications" => "启用电子邮件通知",
"notify_me" => "通知提前时间",
"day_before" => "", // 设置标题(`notify_me`)中已经表明是提前多少天,因此这里直接用单位即可
"days_before" => "",
"smtp_address" => "SMTP 地址",
"port" => "端口",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "SMTP 用户名",
"smtp_password" => "SMTP 密码",
"from_email" => "发件人邮箱(可选)",
"smtp_info" => "SMTP 密码以明文传输和存储。为安全起见,建议专门为 Wallos 创建一个账户。",
"telegram" => "Telegram",
"notify_me" => "通知提前时间",
"day_before" => "", // 设置标题(`notify_me`)中已经表明是提前多少天,因此这里直接用单位即可
"days_before" => "",
"smtp_address" => "SMTP 地址",
"port" => "端口",
"tls" => "TLS",
"ssl" => "SSL",
"smtp_username" => "SMTP 用户名",
"smtp_password" => "SMTP 密码",
"from_email" => "发件人邮箱(可选)",
"smtp_info" => "SMTP 密码以明文传输和存储。为安全起见,建议专门为 Wallos 创建一个账户。",
"telegram" => "Telegram",
"telegram_bot_token" => "Telegram 机器人令牌",
"telegram_chat_id" => "Telegram 聊天 ID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "请求方法",
"custom_headers" => "自定义标头",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "请求方法",
"custom_headers" => "自定义标头",
"webhook_payload" => "Webhook 负载",
"webhook_iterator_key" => "替换 {{subscriptions}} 为键名",
"variables_available" => "可用变量",
"gotify" => "Gotify",
"token" => "令牌",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "令牌",
"discord" => "Discord",
"discord_bot_username" => "Discord 机器人用户名",
"discord_bot_avatar_url" => "Discord 机器人头像 URL",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Pushover 用户密钥",
'host' => "主机",
'topic' => "主题",
"categories" => "分类",
"save_category" => "保存分类",
'host' => "主机",
'topic' => "主题",
"categories" => "分类",
"save_category" => "保存分类",
"delete_category" => "删除分类",
"cant_delete_category_in_use" => "不能删除正在订阅中的分类",
"currencies" => "货币",
"save_currency" => "保存货币",
"currencies" => "货币",
"save_currency" => "保存货币",
"delete_currency" => "删除货币",
"cant_delete_main_currency" => "不能删除主要货币",
"cant_delete_currency_in_use" => "不能删除正在使用中的货币",
"exchange_update" => "汇率最后更新于",
"currency_info" => "如要查找支持的货币与对应代码,请前往",
"currency_info" => "如要查找支持的货币与对应代码,请前往",
"currency_performance" => "为提高性能,建议您只保留常用货币。",
"fixer_api_key" => "Fixer API 密钥",
"api_key" => "API 密钥",
"provider" => "提供商",
"fixer_info" => "如果您使用多种货币,希望统计信息和订阅排序更精确,则需要 Fixer API 密钥来查询汇率(可免费申请)。",
"get_key" => "申请密钥",
"fixer_api_key" => "Fixer API 密钥",
"api_key" => "API 密钥",
"provider" => "提供商",
"fixer_info" => "如果您使用多种货币,希望统计信息和订阅排序更精确,则需要 Fixer API 密钥来查询汇率(可免费申请)。",
"get_key" => "申请密钥",
"get_free_fixer_api_key" => "申请免费 Fixer API 密钥",
"get_key_alternative" => "或者,您也可以从以下网站获取免费的修复程序 api 密钥",
"display_settings" => "显示设置",
"theme_settings" => "主题设置",
"custom_colors" => "自定义颜色",
"dark_theme" => "深色主题",
"switch_theme" => "切换浅色/深色主题",
"theme_settings" => "主题设置",
"custom_colors" => "自定义颜色",
"dark_theme" => "深色主题",
"switch_theme" => "切换浅色/深色主题",
"calculate_monthly_price" => "计算并显示所有订阅的月价格",
"convert_prices" => "始终按我的主要货币转换和显示价格(较慢)",
"convert_prices" => "始终按我的主要货币转换和显示价格(较慢)",
"hide_disabled_subscriptions" => "隐藏已停用的订阅",
"experimental_settings" => "实验性设置",
"remove_background" => "尝试从图片搜索中移除标志的背景(实验性)",
@@ -203,33 +203,33 @@ $i18n = [
"payment_method_name" => "支付方式名称",
"payment_method_added_successfuly" => "支付方式已成功添加",
"payment_method_removed" => "支付方式已移除",
"disable" => "禁用",
"enable" => "启用",
"disable" => "禁用",
"enable" => "启用",
"rename_payment_method" => "重命名支付方式",
"payment_renamed" => "支付方式已重命名",
"payment_not_renamed" => "支付方式未重命名",
"test" => "测试",
"add" => "添加",
"save" => "保存",
"reset" => "重置",
"test" => "测试",
"add" => "添加",
"save" => "保存",
"reset" => "重置",
"backup_and_restore" => "备份和恢复",
"backup" => "备份",
"restore" => "恢复",
"restore_info" => "还原数据库将覆盖所有当前数据。还原后,您将退出登录。",
"backup" => "备份",
"restore" => "恢复",
"restore_info" => "还原数据库将覆盖所有当前数据。还原后,您将退出登录。",
// Filters menu
"filter" => "筛选",
"clear" => "清除",
"filter" => "筛选",
"clear" => "清除",
// Toast
"success" => "成功",
"success" => "成功",
// Endpoint responses
"session_expired" => "您的会话已过期,请重新登录",
"fields_missing" => "部分字段未填写",
"fill_all_fields" => "请填写所有字段",
"fill_mandatory_fields" => "请填写所有必填字段",
"error" => "错误",
// Category
"failed_add_category" => "添加分类失败",
"failed_edit_category" => "编辑分类失败",
@@ -238,7 +238,7 @@ $i18n = [
"category_saved" => "分类已保存",
"category_removed" => "分类已移除",
"sort_order_saved" => "排序顺序已保存",
// Currency
"currency_saved" => "货币已保存。",
"error_adding_currency" => "添加货币时出错。",
@@ -250,7 +250,7 @@ $i18n = [
"invalid_api_key" => "API 密钥无效。",
"api_key_saved" => "API 密钥已成功保存",
"currency_removed" => "货币已移除",
// Household
"failed_add_household" => "添加家庭成员失败",
"failed_edit_household" => "编辑家庭成员失败",
@@ -258,7 +258,7 @@ $i18n = [
"household_in_use" => "此成员有相关的订阅,无法移除",
"member_saved" => "成员已保存",
"member_removed" => "成员已移除",
// Notifications
"error_saving_notifications" => "保存通知数据时出错。",
"wallos_notification" => "Wallos 通知",
@@ -267,20 +267,20 @@ $i18n = [
"notification_failed" => "通知发送失败",
"notification_sent_successfuly" => "通知已成功发送",
"notifications_settings_saved" => "通知设置已成功保存。",
// Payments
"payment_in_use" => "无法禁用正在使用的支付方式",
"failed_update_payment" => "更新数据库中的支付方式失败",
"enabled" => "已启用",
"disabled" => "已禁用",
// Subscription
"error_fetching_image" => "获取图片时出错",
"subscription_updated_successfuly" => "订阅已成功更新",
"subscription_added_successfuly" => "订阅已成功添加",
"error_deleting_subscription" => "删除订阅时出错。",
"invalid_request_method" => "请求方法无效。",
// User
"error_updating_user_data" => "更新用户数据时出错。",
"user_details_saved" => "用户详细信息已保存",
@@ -297,7 +297,7 @@ $i18n = [
"disable_login" => "禁用登录",
"disable_login_info" => "旁路登录。如果服务器只在本地网络上运行,没有外部访问,则可以禁用登录。这会自动登录管理员用户。",
"disable_login_info2" => "只有在用户注册关闭且用户账户数不超过管理员账户时,才能启用此设置。",
"max_users_info" => "设置为 0 以无限制用户数",
"max_users_info" => "设置为 0 以无限制用户数",
"user_management" => "用户管理",
"delete_user" => "删除用户",
"delete_user_info" => "删除用户也会删除其所有订阅和设置。",
@@ -308,6 +308,28 @@ $i18n = [
"email_verified" => "电子邮件已验证",
"email_verification_failed" => "电子邮件验证失败",
// Calendar
"calendar" => "日历",
"sun" => "周日",
"mon" => "周一",
"tue" => "周二",
"wed" => "周三",
"thu" => "周四",
"fri" => "周五",
"sat" => "周六",
"month-01" => "一月",
"month-02" => "二月",
"month-03" => "三月",
"month-04" => "四月",
"month-05" => "五月",
"month-06" => "六月",
"month-07" => "七月",
"month-08" => "八月",
"month-09" => "九月",
"month-10" => "十月",
"month-11" => "十一月",
"month-12" => "十二月",
];
?>
?>

View File

@@ -2,187 +2,187 @@
$i18n = [
// 註冊頁面
"create_account" => "請先建立帳號再登入",
'username' => "使用者名稱",
'password' => "密碼",
"email" => "電子信箱",
"create_account" => "請先建立帳號再登入",
'username' => "使用者名稱",
'password' => "密碼",
"email" => "電子信箱",
"confirm_password" => "確認密碼",
"main_currency" => "主要貨幣單位",
"language" => "語言",
"main_currency" => "主要貨幣單位",
"language" => "語言",
"passwords_dont_match" => "密碼不一致",
"username_exists" => "使用者名稱已存在",
"email_exists" => "電子信箱已存在",
"email_exists" => "電子信箱已存在",
"registration_failed" => "註冊失敗,請再試一次。",
"register" => "註冊",
"register" => "註冊",
"restore_database" => "還原資料庫",
// 登入頁面
'please_login' => "請先登入",
'stay_logged_in' => "保持登入 30 天",
'login' => "登入",
'login_failed' => "登入資訊錯誤",
'please_login' => "請先登入",
'stay_logged_in' => "保持登入 30 天",
'login' => "登入",
'login_failed' => "登入資訊錯誤",
'registration_successful' => "註冊成功",
'user_email_waiting_verification' => "您的電子郵件需要驗證。 請查看你的信箱",
// Password Reset Page
'forgot_password' => "忘記密碼",
'reset_password' => "重設密碼",
'reset_password' => "重設密碼",
'reset_sent_check_email' => "重設密碼的電子郵件已發送,請檢查您的電子郵件",
'password_reset_successful' => "密碼重設成功",
// 頁首
'subscriptions' => "訂閱",
'stats' => "統計",
'settings' => "設定",
'admin' => "管理員",
'about' => "關於",
'logout' => "登出",
'subscriptions' => "訂閱",
'stats' => "統計",
'settings' => "設定",
'admin' => "管理員",
'about' => "關於",
'logout' => "登出",
// 訂閱頁面
"subscription" => "訂閱",
"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" => "檢視外部連結",
"empty_page" => "空白頁面",
"clear_filters" => "清除篩選",
'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" => "檢視外部連結",
"empty_page" => "空白頁面",
"clear_filters" => "清除篩選",
"no_matching_subscriptions" => "沒有符合的訂閱",
"clone" => "複製",
"clone" => "複製",
// 訂閱表單
"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" => "連結",
"notes" => "備註",
"logo_preview" => "圖示預覽",
"search_logo" => "在網路上搜尋圖示",
"web_search" => "網頁搜尋",
"currency" => "貨幣",
"payment_every" => "付款頻率",
"frequency" => "頻率",
"cycle" => "週期",
"next_payment" => "下次付款",
"payment_method" => "付款方式",
"no_category" => "無分類",
"paid_by" => "付款人",
"url" => "連結",
"notes" => "備註",
"enable_notifications" => "為該訂閱開啟通知",
"default_value_from_settings" => "從設定中取得預設值",
"delete" => "刪除",
"cancel" => "取消",
"upload_logo" => "上傳圖示",
"delete" => "刪除",
"cancel" => "取消",
"upload_logo" => "上傳圖示",
// 統計頁面
'general_statistics' => "整體統計",
'active_subscriptions' => "訂閱中",
'inactive_subscriptions' => "停用訂閱",
'monthly_cost' => "每月費用",
'yearly_cost' => "每年費用",
'monthly_cost' => "每月費用",
'yearly_cost' => "每年費用",
'average_monthly' => "平均每月訂閱費用",
'most_expensive' => "最高的訂閱費用",
'amount_due' => "本月應付金額",
'most_expensive' => "最高的訂閱費用",
'amount_due' => "本月應付金額",
'percentage_budget_used' => "預算使用率",
'budget_remaining' => "剩餘預算",
'amount_over_budget' => "預算超支",
'monthly_savings' => "每月節省",
'yearly_savings' => "每年節省",
'split_views' => "分割檢視",
'category_split' => "類別分割",
'yearly_savings' => "每年節省",
'split_views' => "分割檢視",
'category_split' => "類別分割",
'household_split' => "家庭分割",
'payment_method_split' => "付款方式分割",
// 關於頁面
'about_and_credits' => "關於和致謝",
'license' => "授權許可",
'license' => "授權許可",
'issues_and_requests' => "問題回饋與功能請求",
'the_author' => "作者",
'icons' => "圖示",
'payment_icons' => "付款圖示",
'the_author' => "作者",
'icons' => "圖示",
'payment_icons' => "付款圖示",
// 設定頁面
'upload_avatar' => "上传头像",
'upload_avatar' => "上传头像",
'file_type_error' => "文件类型不允许",
'user_details' => "使用者詳細資訊",
"monthly_budget" => "每月預算",
"budget_info" => "設定預算後,您可以在統計頁面上比較預算和實際支出。",
"household" => "家庭",
"save_member" => "儲存成員",
"delete_member" => "刪除成員",
'user_details' => "使用者詳細資訊",
"monthly_budget" => "每月預算",
"budget_info" => "設定預算後,您可以在統計頁面上比較預算和實際支出。",
"household" => "家庭",
"save_member" => "儲存成員",
"delete_member" => "刪除成員",
"cant_delete_member" => "無法刪除主要成員",
"cant_delete_member_in_use" => "無法刪除擁有訂閱的成員",
"household_info" => "電子郵件欄位允許家庭成員收到訂閱即將到期的通知。",
"notifications" => "通知",
"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 密碼將以明文傳輸和儲存。為了安全起見,建議專門為 Wallos 建立一個帳戶。",
"telegram" => "Telegram",
"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 密碼將以明文傳輸和儲存。為了安全起見,建議專門為 Wallos 建立一個帳戶。",
"telegram" => "Telegram",
"telegram_bot_token" => "Telegram 機器人令牌",
"telegram_chat_id" => "Telegram 聊天 ID",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "請求方法",
"custom_headers" => "自訂標頭",
"webhook" => "Webhook",
"webhook_url" => "Webhook URL",
"request_method" => "請求方法",
"custom_headers" => "自訂標頭",
"webhook_payload" => "Webhook 載荷",
"webhook_iterator_key" => "替換 {{subscriptions}} 為鍵名",
"variables_available" => "可用變數",
"gotify" => "Gotify",
"token" => "令牌",
"discord" => "Discord",
"gotify" => "Gotify",
"token" => "令牌",
"discord" => "Discord",
"discord_bot_username" => "Discord 機器人使用者名稱",
"discord_bot_avatar_url" => "Discord 機器人頭像 URL",
"pushover" => "Pushover",
"pushover" => "Pushover",
"pushover_user_key" => "Pushover 使用者金鑰",
'host' => "主機",
'topic' => "主題",
"categories" => "分類",
"save_category" => "儲存分類",
'host' => "主機",
'topic' => "主題",
"categories" => "分類",
"save_category" => "儲存分類",
"delete_category" => "刪除分類",
"cant_delete_category_in_use" => "無法刪除正在訂閱中的分類",
"currencies" => "貨幣",
"save_currency" => "儲存貨幣",
"currencies" => "貨幣",
"save_currency" => "儲存貨幣",
"delete_currency" => "刪除貨幣",
"cant_delete_main_currency" => "無法刪除主要貨幣",
"cant_delete_currency_in_use" => "無法刪除正在使用中的貨幣",
"exchange_update" => "匯率最後更新於",
"currency_info" => "如要查詢支援的貨幣與相對應的貨幣代碼,請前往",
"currency_info" => "如要查詢支援的貨幣與相對應的貨幣代碼,請前往",
"currency_performance" => "為提高效能,建議您只保留常用的貨幣。",
"fixer_api_key" => "Fixer API 金鑰",
"api_key" => "API 金鑰",
"provider" => "提供者",
"fixer_info" => "如果您使用多種貨幣單位,且希望統計資訊和訂閱排序更加精確,則需要 Fixer API 金鑰來查詢匯率(可免費申請)。",
"get_key" => "申請金鑰",
"fixer_api_key" => "Fixer API 金鑰",
"api_key" => "API 金鑰",
"provider" => "提供者",
"fixer_info" => "如果您使用多種貨幣單位,且希望統計資訊和訂閱排序更加精確,則需要 Fixer API 金鑰來查詢匯率(可免費申請)。",
"get_key" => "申請金鑰",
"get_free_fixer_api_key" => "申請免費的 Fixer API 金鑰",
"get_key_alternative" => "或者,您可以從以下網址取得一個免費的修復 api 金鑰",
"display_settings" => "顯示設定",
"theme_settings" => "主題設定",
"custom_colors" => "自訂顏色",
"dark_theme" => "深色主題",
"switch_theme" => "切換淺色/深色主題",
"theme_settings" => "主題設定",
"custom_colors" => "自訂顏色",
"dark_theme" => "深色主題",
"switch_theme" => "切換淺色/深色主題",
"calculate_monthly_price" => "計算並顯示所有訂閱的每月價格",
"convert_prices" => "始終按照我的主要貨幣單位轉換和顯示價格(較慢)",
"convert_prices" => "始終按照我的主要貨幣單位轉換和顯示價格(較慢)",
"hide_disabled_subscriptions" => "隱藏已停用的訂閱",
"experimental_settings" => "實驗性設定",
"remove_background" => "嘗試從圖片搜尋中移除圖示的背景顏色(實驗性)",
@@ -195,24 +195,24 @@ $i18n = [
"payment_method_name" => "付款方式名稱",
"payment_method_added_successfuly" => "付款方式已成功新增",
"payment_method_removed" => "付款方式已移除",
"disable" => "停用",
"enable" => "啟用",
"disable" => "停用",
"enable" => "啟用",
"rename_payment_method" => "更改付款方式名稱",
"payment_renamed" => "付款方式名稱已更改",
"payment_not_renamed" => "付款方式名稱未更改",
"test" => "測試",
"add" => "新增",
"save" => "儲存",
"reset" => "重設",
"test" => "測試",
"add" => "新增",
"save" => "儲存",
"reset" => "重設",
"backup_and_restore" => "備份與還原",
"backup" => "備份",
"restore" => "還原",
"restore_info" => "復原資料庫將覆蓋所有目前資料。 恢復後您將被註銷。",
"backup" => "備份",
"restore" => "還原",
"restore_info" => "復原資料庫將覆蓋所有目前資料。 恢復後您將被註銷。",
// Filters menu
"filter" => "篩選",
"clear" => "清除",
"filter" => "篩選",
"clear" => "清除",
// Toast
"success" => "成功",
"success" => "成功",
// Endpoint responses
"session_expired" => "目前的工作階段已經過期,請重新登入",
"fields_missing" => "部分欄位未填寫",
@@ -279,7 +279,7 @@ $i18n = [
"disable_login" => "停用登入",
"disable_login_info" => "繞過登入。如果您僅在本機網路上執行伺服器,而沒有外部存取權限,則可以停用登入。這將自動登入管理員用戶。",
"disable_login_info2" => "只有在使用者註冊關閉且使用者帳戶數不超過管理員帳戶時,才能啟用此設定。",
"max_users_info" => "設定為 0 以無限制使用者數",
"max_users_info" => "設定為 0 以無限制使用者數",
"user_management" => "使用者管理",
"delete_user" => "刪除使用者",
"delete_user_info" => "刪除用戶也會刪除其所有訂閱和設定。",
@@ -288,8 +288,29 @@ $i18n = [
// Email Verification
"email_verified" => "電子郵件已驗證",
"email_verification_failed" => "電子郵件驗證失敗",
// Calendar
"calendar" => "日曆",
"sun" => "",
"mon" => "",
"tue" => "",
"wed" => "",
"thu" => "",
"fri" => "",
"sat" => "",
"month-01" => "一月",
"month-02" => "二月",
"month-03" => "三月",
"month-04" => "四月",
"month-05" => "五月",
"month-06" => "六月",
"month-07" => "七月",
"month-08" => "八月",
"month-09" => "九月",
"month-10" => "十月",
"month-11" => "十一月",
"month-12" => "十二月",
];
?>
?>

View File

@@ -1,3 +1,3 @@
<?php
$version = "v2.5.2";
$version = "v2.6.0";
?>

71
scripts/calendar.js Normal file
View File

@@ -0,0 +1,71 @@
function nextMonth(currentMonth, currentYear) {
let nextMonth = currentMonth + 1;
let nextYear = currentYear;
if (nextMonth > 12) {
nextMonth = 1;
nextYear += 1;
}
window.location.href = `calendar.php?month=${nextMonth}&year=${nextYear}`;
}
function prevMonth(currentMonth, currentYear) {
let prevMonth = currentMonth - 1;
let prevYear = currentYear;
if (prevMonth < 1) {
prevMonth = 12;
prevYear -= 1;
}
window.location.href = `calendar.php?month=${prevMonth}&year=${prevYear}`;
}
function currentMoth() {
window.location.href = `calendar.php`;
}
function closeSubscriptionModal() {
const modal = document.getElementById('subscriptionModal');
modal.classList.remove('is-open');
}
function openSubscriptionModal(subscriptionId) {
const modal = document.getElementById('subscriptionModal');
const modalContent = document.getElementById('subscriptionModalContent');
modalContent.innerHTML = '';
fetch('endpoints/subscription/getcalendar.php', {
method: 'POST',
body: JSON.stringify({id: subscriptionId}),
headers: {
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => {
if (data.success && data.data) {
const subscription = data.data;
const html = `
<div class="modal-header">
<h3>${subscription.name}</h3>
<span class="fa-solid fa-xmark close-modal" onclick="closeSubscriptionModal()"></span>
</div>
<div class="modal-body">
${subscription.logo ? `<div class="subscription-logo">
<img src="images/uploads/logos/${subscription.logo}" alt="${subscription.name}">
</div>` : ''}
<div class="subscription-info">
${subscription.price ? `<p><strong>${translate('price')}:</strong> ${subscription.currency}${subscription.price}</p>` : ''}
${subscription.category ? `<p><strong>${translate('category')}:</strong> ${subscription.category}</p>` : ''}
${subscription.payer_user ? `<p><strong>${translate('paid_by')}:</strong> ${subscription.payer_user}</p>` : ''}
${subscription.payment_method ? `<p><strong>${translate('payment_method')}:</strong> ${subscription.payment_method}</p>` : ''}
${subscription.notes ? `<p><strong>${translate('notes')}:</strong> ${subscription.notes}</p>` : ''}
</div>
</div>`;
modalContent.innerHTML = html;
modal.classList.add('is-open');
} else {
console.error(data.message);
}
})
.catch(error => console.error('Error:', error));
}

View File

@@ -35,4 +35,11 @@ let i18n = {
error_saving_notification_data:
"Fehler beim Speichern der Benachrichtigungsangaben",
error_sending_notification: "Fehler beim Senden der Benachrichtigung",
// Calendar
price: "Preis",
category: "Kategorie",
paid_by: "Bezahlt von",
payment_method: "Zahlungsmethode",
notes: "Notizen",
export: "Exportieren",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Άγνωστο σφάλμα, προσπάθησε ξανά.",
error_saving_notification_data: "Σφάλμα αποθήκευσης δεδομένων ειδοποίησης",
error_sending_notification: "Σφάλμα αποστολής ειδοποίησης",
// Calendar
price: "Τιμή",
category: "Κατηγορία",
paid_by: "Πληρώθηκε από",
payment_method: "Μέθοδος πληρωμής",
notes: "Σημειώσεις",
export: "Εξαγωγή",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Unknown error, please try again.",
error_saving_notification_data: "Error saving notification data",
error_sending_notification: "Error sending notification",
// Calendar
price: "Price",
category: "Category",
paid_by: "Paid by",
payment_method: "Payment method",
notes: "Notes",
export: "Export",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Error desconocido, por favor inténtalo de nuevo.",
error_saving_notification_data: "Error al guardar los datos de notificación",
error_sending_notification: "Error al enviar la notificación",
// Calendar
price: "Precio",
category: "Categoría",
paid_by: "Pagado por",
payment_method: "Método de pago",
notes: "Notas",
export: "Exportar",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Erreur inconnue, veuillez réessayer.",
error_saving_notification_data: "Erreur lors de l'enregistrement des données de notification",
error_sending_notification: "Erreur lors de l'envoi de la notification",
// Calendar
price: "Prix",
category: "Catégorie",
paid_by: "Payé par",
payment_method: "Méthode de paiement",
notes: "Notes",
export: "Exporter",
};

View File

@@ -34,4 +34,11 @@ let i18n = {
unknown_error: "Errore sconosciuto, si prega di riprovare.",
error_saving_notification_data: "Errore nel salvataggio delle impostazioni di notifica",
error_sending_notification: "Errore nell'invio della notifica",
// Calendar
price: "Prezzo",
category: "Categoria",
paid_by: "Pagato da",
payment_method: "Metodo di pagamento",
notes: "Note",
export: "Esporta",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "不明なエラー。もう一度試してください。",
error_saving_notification_data: "通知データの保存エラー",
error_sending_notification: "通知の送信エラー",
// Calendar
price: "価格",
category: "カテゴリ",
paid_by: "支払い者",
payment_method: "支払い方法",
notes: "メモ",
export: "エクスポート",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "알 수 없는 에러입니다. 다시 시도해 주세요.",
error_saving_notification_data: "알림 데이터 저장 에러",
error_sending_notification: "알림 전송 에러",
// Calendar
price: "가격",
category: "카테고리",
paid_by: "지불자",
payment_method: "결제 수단",
notes: "메모",
export: "내보내기",
};

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Nieznany błąd, spróbuj ponownie.",
error_saving_notification_data: "Błąd zapisywania danych powiadomienia",
error_sending_notification: "Błąd wysyłania powiadomienia",
// Calendar
price: "Cena",
category: "Kategoria",
paid_by: "Zapłacone przez",
payment_method: "Metoda płatności",
notes: "Notatki",
export: "Eksport",
}

View File

@@ -1,36 +1,43 @@
let i18n = {
// Dashboard
'error_reloading_subscription': 'Erro ao carregar a subscrição:',
'error_fetching_image_results': 'Erro ao obter imagens:',
'subscription_deleted': 'Subscrição eliminada',
'error_deleting_subscription': 'Erro ao eliminar a subscrição',
'failed_to_load_subscription': 'Falha ao carregar a subscrição',
'edit_subscription': 'Editar subscrição',
'add_subscription': 'Adicionar subscrição',
'confirm_delete_subscription': 'Tem a certeza de que deseja eliminar esta subscrição?',
error_reloading_subscription: 'Erro ao carregar a subscrição:',
error_fetching_image_results: 'Erro ao obter imagens:',
subscription_deleted: 'Subscrição eliminada',
error_deleting_subscription: 'Erro ao eliminar a subscrição',
failed_to_load_subscription: 'Falha ao carregar a subscrição',
edit_subscription: 'Editar subscrição',
add_subscription: 'Adicionar subscrição',
confirm_delete_subscription: 'Tem a certeza de que deseja eliminar esta subscrição?',
// Settings
'network_response_error': 'Erro de resposta de rede',
'failed_add_member': 'Falha ao adicionar membro',
'member': 'Membro',
'email': 'Email',
'save_member': 'Guardar membro',
'delete_member': 'Remover membro',
'failed_remove_member': 'Erro ao remover membro',
'failed_save_member': 'Erro ao guardar membro',
'failed_add_category': 'Erro ao adicionar categoria',
'category': 'Categoria',
'save_category': 'Guardar categoria',
'delete_category': 'Remover categoria',
'failed_remove_category': 'Erro ao remover categoria',
'currency': 'Moeda',
'currency_code': 'Código de moeda',
'save_currency': 'Guardar moeda',
'delete_currency': 'Remover moeda',
'failed_remove_currency': 'Erro ao remover moeda',
'failed_save_currency': 'Erro ao guardar moeda',
'cant_disable_payment_in_use': 'Não é possível desativar pagamento em uso',
'failed_save_payment_method': 'Erro ao guardar método de pagamento',
'unknown_error': 'Erro desconhecido, por favor, tente novamente.',
'error_saving_notification_data': 'Erro ao guardar dados de notificação',
'error_sending_notification': 'Erro ao enviar notificação',
network_response_error: 'Erro de resposta de rede',
failed_add_member: 'Falha ao adicionar membro',
member: 'Membro',
email: 'Email',
save_member: 'Guardar membro',
delete_member: 'Remover membro',
failed_remove_member: 'Erro ao remover membro',
failed_save_member: 'Erro ao guardar membro',
failed_add_category: 'Erro ao adicionar categoria',
category: 'Categoria',
save_category: 'Guardar categoria',
delete_category: 'Remover categoria',
failed_remove_category: 'Erro ao remover categoria',
currency: 'Moeda',
currency_code: 'Código de moeda',
save_currency: 'Guardar moeda',
delete_currency: 'Remover moeda',
failed_remove_currency: 'Erro ao remover moeda',
failed_save_currency: 'Erro ao guardar moeda',
cant_disable_payment_in_use: 'Não é possível desativar pagamento em uso',
failed_save_payment_method: 'Erro ao guardar método de pagamento',
unknown_error: 'Erro desconhecido, por favor, tente novamente.',
error_saving_notification_data: 'Erro ao guardar dados de notificação',
error_sending_notification: 'Erro ao enviar notificação',
// Calendar
price: "Preço",
category: "Categoria",
paid_by: "Pago por",
payment_method: "Método de pagamento",
notes: "Notas",
export: "Exportar",
};

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Erro desconhecido. Por favor, tente novamente",
error_saving_notification_data: "Erro ao salvar dados da notificação",
error_sending_notification: "Erro ao enviar notificação",
// Calendar
price: "Preço",
category: "Categoria",
paid_by: "Pago por",
payment_method: "Método de pagamento",
notes: "Notas",
export: "Exportar",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Неизвестная ошибка. Повторите попытку.",
error_saving_notification_data: "Ошибка сохранения данных уведомления.",
error_sending_notification: "Ошибка отправки уведомления",
// Calendar
price: "Цена",
category: "Категория",
paid_by: "Оплачено",
payment_method: "Способ оплаты",
notes: "Примечания",
export: "Экспорт",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Neznana napaka, poskusite znova.",
error_saving_notification_data: "Napaka pri shranjevanju obvestilnih podatkov",
error_sending_notification: "Napaka pri pošiljanju obvestila",
// Calendar
price: "Cena",
category: "Kategorija",
paid_by: "Plačal/a",
payment_method: "Način plačila",
notes: "Opombe",
export: "Izvozi",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
unknown_error: "Непозната грешка, молимо покушајте поново.",
error_saving_notification_data: "Грешка при чувању података о обавештењима",
error_sending_notification: "Грешка при слању обавештења",
// Calendar
price: "Цена",
category: "Категорија",
paid_by: "Плаћено од стране",
payment_method: "Метод плаћања",
notes: "Белешке",
export: "Извоз",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
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",
// Calendar
price: "Cena",
category: "Kategorija",
paid_by: "Platio/la",
payment_method: "Način plaćanja",
notes: "Beleške",
export: "Izvezi",
}

View File

@@ -32,7 +32,14 @@ let i18n = {
failed_save_payment_method: "Ödeme yöntemi kaydedilemedi",
unknown_error: "Bilinmeyen hata, lütfen tekrar deneyin.",
error_saving_notification_data: "Bildirim verisi kaydedilirken hata oluştu",
error_sending_notification: "Bildirim gönderilirken hata oluştu"
error_sending_notification: "Bildirim gönderilirken hata oluştu",
// Calendar
price: "Price",
category: "Category",
paid_by: "Paid by",
payment_method: "Payment method",
notes: "Notes",
export: "Export",
}

View File

@@ -33,4 +33,11 @@ let i18n = {
'unknown_error': '未知错误,请重试。',
'error_saving_notification_data': '保存通知数据时出错',
'error_sending_notification': '发送通知时出错',
// Calendar
price: "价格",
category: "类别",
paid_by: "支付者",
payment_method: "支付方式",
notes: "备注",
export: "导出",
};

View File

@@ -1,36 +1,43 @@
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': "您確定要刪除此訂閱嗎?",
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': '發送通知時發生錯誤',
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: '發送通知時發生錯誤',
// Calendar
price: "價格",
category: "類別",
paid_by: "支付者",
payment_method: "支付方式",
notes: "備註",
export: "匯出",
};

View File

@@ -236,8 +236,8 @@ function addCategoryButton(categoryId) {
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error(translate('network_response_error'));
showErrorMessage(translate('failed_add_category'));
throw new Error(translate('network_response_error'));
}
return response.json();
})

View File

@@ -4,9 +4,12 @@ self.addEventListener('install', function(event) {
const urlsToCache = [
'.',
'index.php',
'calendar.php',
'settings.php',
'stats.php',
'about.php',
'logout.php',
'login.php',
'endpoints/subscriptions/get.php',
'manifest.json',
'styles/styles.css',
@@ -29,6 +32,7 @@ self.addEventListener('install', function(event) {
'scripts/notifications.js',
'scripts/registration.js',
'scripts/admin.js',
'scripts/calendar.js',
'scripts/i18n/en.js',
'scripts/i18n/de.js',
'scripts/i18n/el.js',

View File

@@ -17,6 +17,7 @@ header .logo .logo-image {
.subscription,
.subscription-form,
.subscription-modal,
.account-section,
.avatar-select,
.logo-search,
@@ -26,7 +27,8 @@ header .logo .logo-image {
.statistic,
.graph,
.filtermenu-content,
.subscription-main .actions {
.subscription-main .actions,
.calendar {
background-color: #222;
border: 1px solid #333;
box-shadow: 0 2px 5px rgba(120, 120, 120, 0.1);
@@ -49,9 +51,9 @@ header .logo .logo-image {
background-color: #333333;
}
.subscription-form h3 {
.subscription-form h3,
.subscription-modal h3 {
color: #FFF;
border-bottom: 1px solid #EEE;
}
.subscription.inactive {
@@ -193,4 +195,12 @@ textarea {
.payments-list .payments-payment .delete-payment-method {
color: #FFF;
}
}
.calendar .calendar-body .calendar-cell .calendar-cell-header {
background-color: #111;
}
.calendar .calendar-body .calendar-cell {
border-right: 1px solid #111;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -209,6 +209,12 @@ main > .contain {
padding: 14px 20px;
}
.button.tiny,
.button-secondary.tiny {
padding: 7px 14px;
font-size: 12px;
}
.top-actions {
display: flex;
flex-direction: row;
@@ -1224,7 +1230,8 @@ textarea.thin {
display: block;
}
.subscription-form {
.subscription-form,
.subscription-modal {
background-color: #FFFFFF;
padding: 22px;
border: 1px solid #EEEEEE;
@@ -1244,12 +1251,14 @@ textarea.thin {
display: none;
}
.subscription-form.is-open {
.subscription-form.is-open,
.subscription-modal.is-open {
display: block;
}
.subscription-form h3 {
border-bottom: 1px solid #ccc;
.subscription-form h3,
.subscription-modal h3 {
border-bottom: 1px solid var(--main-color);
padding-bottom: 15px;
margin-top: 0px;
}
@@ -1263,7 +1272,8 @@ textarea.thin {
}
@media (max-width: 768px) {
.subscription-form {
.subscription-form,
.subscription-modal {
width: 100%;
max-height: 100vh;
}
@@ -1955,4 +1965,133 @@ textarea.thin {
.user-list a {
color: var(--main-color);
text-decoration: none;
}
.calendar-nav {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
font-size: 18px;
}
.calendar {
display: flex;
flex-direction: column;
width: 100%;
background-color: #FFFFFF;
border-collapse: collapse;
border-radius: 16px;
box-shadow: 2px 5px rgba(0, 0, 0, 0.1);
box-sizing: border-box;
}
.calendar .calendar-header,
.calendar .calendar-row {
display: flex;
}
.calendar .calendar-header {
border-bottom: 6px solid var(--main-color);
}
.calendar .calendar-row:last-of-type {
border-bottom: none;
}
.calendar .calendar-cell {
display: flex;
flex: 0 0 14.2857%;
flex-direction: column;
gap: 5px;
overflow: hidden;
}
.calendar .calendar-header .calendar-cell {
padding: 26px 0px;
font-size: 16px;
font-weight: 500;
text-align: center;
box-sizing: border-box;
min-height: 45px;
}
@media (max-width: 768px) {
.calendar .calendar-header .calendar-cell {
font-size: 12px;
}
}
.calendar .calendar-body .calendar-cell {
font-size: 13px;
text-align: center;
box-sizing: border-box;
min-height: 92px;
border-right: 1px solid #EEE;
}
.calendar .calendar-body .calendar-cell:last-of-type {
border-right: none;
}
.calendar .calendar-body .calendar-cell .calendar-cell-header {
background-color: #EEE;
padding: 5px 0px;
}
.calendar .calendar-body .calendar-cell .calendar-cell-content {
padding: 6px 0px;
display: flex;
flex-direction: column;
gap: 6px;
box-sizing: border-box;
padding: 0px 6px;
}
@media (max-width: 768px) {
.calendar .calendar-body .calendar-cell .calendar-cell-content {
padding: 0px 1px;
}
}
.calendar .calendar-subscription-title {
border: 1px solid var(--main-color);
border-radius: 8px;
padding: 4px 2px;
cursor: pointer;
box-sizing: border-box;
white-space: normal;
overflow-wrap: break-word;
word-wrap: break-word;
user-select: none;
}
.calendar .day {
font-size: 14px;
}
.calendar .today .day {
color: var(--main-color);
font-weight: 700;
}
.subscription-modal {
max-width: 400px;
}
.subscription-modal .modal-header {
position: relative;
}
.subscription-modal .close-modal {
position: absolute;
top: -5px;
right: -5px;
padding: 5px;
font-size: 20px;
cursor: pointer;
}
.subscription-modal img {
max-width: 135px;
}