Add translation system (#85)

This commit is contained in:
Miguel Ribeiro
2024-01-23 22:46:26 +01:00
committed by GitHub
parent d287f303f0
commit d7366dcfb0
35 changed files with 965 additions and 317 deletions
+12 -10
View File
@@ -19,7 +19,7 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
} else {
$response = [
"success" => false,
"errorMessage" => "Failed to add category"
"errorMessage" => translate('failed_add_category', $i18n)
];
echo json_encode($response);
}
@@ -35,20 +35,21 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
if ($result) {
$response = [
"success" => true
"success" => true,
"message" => translate('category_saved', $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => "Failed to edit category"
"errorMessage" => translate('failed_edit_category', $i18n)
];
echo json_encode($response);
}
} else {
$response = [
"success" => false,
"errorMessage" => "Please fill all the fields"
"errorMessage" => translate('fill_all_fields', $i18n)
];
echo json_encode($response);
}
@@ -65,7 +66,7 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
if ($count > 0) {
$response = [
"success" => false,
"errorMessage" => "Category is in use in subscriptions and can't be removed"
"errorMessage" => translate('category_in_use', $i18n)
];
echo json_encode($response);
} else {
@@ -75,13 +76,14 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
$result = $stmt->execute();
if ($result) {
$response = [
"success" => true
"success" => true,
"message" => translate('category_removed', $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => "Failed to remove category"
"errorMessage" => translate('failed_remove_category', $i18n)
];
echo json_encode($response);
}
@@ -89,15 +91,15 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
} else {
$response = [
"success" => false,
"errorMessage" => "Failed to remove category"
"errorMessage" => translate('failed_remove_category', $i18n)
];
echo json_encode($response);
}
} else {
echo "Error";
echo translate('error', $i18n);
}
} else {
echo "Error";
echo translate('error', $i18n);
}
?>
+14 -10
View File
@@ -19,7 +19,7 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
$currencyId = $db->lastInsertRowID();
echo $currencyId;
} else {
echo "Error adding currency entry.";
echo translate('error_adding_currency', $i18n);
}
} else if (isset($_GET['action']) && $_GET['action'] == "edit") {
if (isset($_GET['currencyId']) && $_GET['currencyId'] != "" && isset($_GET['name']) && $_GET['name'] != "" && isset($_GET['symbol']) && $_GET['symbol'] != "") {
@@ -36,18 +36,22 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
$result = $stmt->execute();
if ($result) {
echo json_encode(["success" => true]);
$response = [
"success" => true,
"message" => $name . " " . translate('currency_saved', $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"message" => "Failed to store Currency on the Database"
"message" => translate('failed_to_store_currency', $i18n)
];
echo json_encode($response);
}
} else {
$response = [
"success" => false,
"message" => "Some fields are missing"
"message" => translate('fields_missing', $i18n)
];
echo json_encode($response);
}
@@ -70,7 +74,7 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
if ($count > 0) {
$response = [
"success" => false,
"message" => "Currency is in use in subscriptions and can't be deleted."
"message" => translate('currency_in_use', $i18n)
];
echo json_encode($response);
exit;
@@ -78,7 +82,7 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
if ($currencyId == $mainCurrencyId) {
$response = [
"success" => false,
"message" => "Currency is set as main currency and can't be deleted."
"message" => translate('currency_is_main', $i18n)
];
echo json_encode($response);
exit;
@@ -88,11 +92,11 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
$stmt->bindParam(':currencyId', $currencyId, SQLITE3_INTEGER);
$result = $stmt->execute();
if ($result) {
echo json_encode(["success" => true]);
echo json_encode(["success" => true, "message" => translate('currency_removed', $i18n)]);
} else {
$response = [
"success" => false,
"message" => "Failed to remove currency from the Database"
"message" => translate('failed_to_remove_currency', $i18n)
];
echo json_encode($response);
}
@@ -101,7 +105,7 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
} else {
$response = [
"success" => false,
"message" => "Some fields are missing."
"message" => translate('fields_missing', $i18n)
];
echo json_encode($response);
}
@@ -111,7 +115,7 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
} else {
$response = [
"success" => false,
"message" => "Your session expired. Please login again"
"message" => translate('session_expired', $i18n)
];
echo json_encode($response);
}
+4 -4
View File
@@ -17,21 +17,21 @@
$stmt->bindParam(":api_key", $newApiKey, SQLITE3_TEXT);
$result = $stmt->execute();
if ($result) {
echo json_encode(["success" => true]);
echo json_encode(["success" => true, "message" => translate('api_key_saved', $i18n)]);
} else {
$response = [
"success" => false,
"message" => "Failed to store API Key on the Database"
"message" => translate('failed_to_store_api_key', $i18n)
];
echo json_encode($response);
}
} else {
echo json_encode(["success" => true]);
echo json_encode(["success" => true, "message" => translate('apy_key_saved', $i18n)]);
}
} else {
$response = [
"success" => false,
"message" => "Invalid API Key"
"message" => translate('invalid_api_key', $i18n)
];
echo json_encode($response);
}
+13 -11
View File
@@ -13,13 +13,13 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
$householdId = $db->lastInsertRowID();
$response = [
"success" => true,
"householdId" => $householdId
"householdId" => $householdId,
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => "Failed to add household member"
"errorMessage" => translate('failed_add_household', $i18n)
];
echo json_encode($response);
}
@@ -35,20 +35,21 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
if ($result) {
$response = [
"success" => true
"success" => true,
"message" => translate('member_saved', $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => "Failed to edit household member"
"errorMessage" => translate('failed_edit_household', $i18n)
];
echo json_encode($response);
}
} else {
$response = [
"success" => false,
"errorMessage" => "Please fill all the fields"
"errorMessage" => translate('fill_all_fields', $i18n)
];
echo json_encode($response);
}
@@ -65,7 +66,7 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
if ($count > 0) {
$response = [
"success" => false,
"errorMessage" => "Household member is in use in subscriptions and can't be removed"
"errorMessage" => translate('household_in_use', $i18n)
];
echo json_encode($response);
} else {
@@ -75,13 +76,14 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
$result = $stmt->execute();
if ($result) {
$response = [
"success" => true
"success" => true,
"message" => translate('member_removed', $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => "Failed to remove household member"
"errorMessage" => translate('failed_remove_household', $i18n)
];
echo json_encode($response);
}
@@ -89,15 +91,15 @@ if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
} else {
$response = [
"success" => false,
"errorMessage" => "Failed to remove household member"
"errorMessage" => translate('failed_remove_household', $i18n)
];
echo json_encode($response);
}
} else {
echo "Error";
echo translate('error', $i18n);
}
} else {
echo "Error";
echo translate('error', $i18n);
}
?>
+5 -4
View File
@@ -15,7 +15,7 @@
) {
$response = [
"success" => false,
"errorMessage" => "Please fill all mandatory fields"
"errorMessage" => translate('fill_mandatory_fields', $i18n)
];
echo json_encode($response);
} else {
@@ -33,7 +33,7 @@
if ($result === false) {
$response = [
"success" => false,
"errorMessage" => "Error saving notifications data"
"errorMessage" => translate('error_saving_notifications', $i18n)
];
echo json_encode($response);
} else {
@@ -57,13 +57,14 @@
if ($stmt->execute()) {
$response = [
"success" => true
"success" => true,
"message" => translate('notifications_settings_saved', $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => "Error saving notification data"
"errorMessage" => translate('error_saving_notifications', $i18n)
];
echo json_encode($response);
}
+6 -4
View File
@@ -19,7 +19,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
) {
$response = [
"success" => false,
"errorMessage" => "Please fill all fields"
"errorMessage" => translate('fill_all_fields', $i18n)
];
echo json_encode($response);
} else {
@@ -34,6 +34,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
$fromEmail = $data["fromemail"] ?? "wallos@wallosapp.com";
$mail = new PHPMailer(true);
$mail->CharSet="UTF-8";
$mail->isSMTP();
$mail->Host = $smtpAddress;
@@ -51,18 +52,19 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
$mail->setFrom($fromEmail, 'Wallos App');
$mail->addAddress($email, $name);
$mail->Subject = 'Wallos Notification';
$mail->Body = 'This is a test notification. If you\'re seeing this, the configuration is correct.';
$mail->Subject = translate('wallos_notification', $i18n);
$mail->Body = translate('test_notification', $i18n);
if ($mail->send()) {
$response = [
"success" => true,
"message" => translate('notification_sent_successfuly', $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => "Error sending email." . $mail->ErrorInfo
"errorMessage" => translate('email_error', $i18n) . $mail->ErrorInfo
];
echo json_encode($response);
}
+8 -5
View File
@@ -4,14 +4,14 @@ session_start();
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
die(json_encode([
"success" => false,
"message" => "Your session expired. Please login again"
"message" => translate('session_expired', $i18n)
]));
}
if (!isset($_GET['paymentId']) || !isset($_GET['enabled'])) {
die(json_encode([
"success" => false,
"message" => "Some fields are missing."
"message" => translate('fields_missing', $i18n)
]));
}
@@ -21,7 +21,7 @@ $inUse = $db->querySingle('SELECT COUNT(*) as count FROM subscriptions WHERE pay
if ($inUse) {
die(json_encode([
"success" => false,
"message" => "Can't delete used payment method"
"message" => translate('payment_in_use', $i18n)
]));
}
@@ -33,13 +33,16 @@ $stmtUpdate->bindParam(':enabled', $enabled);
$stmtUpdate->bindParam(':id', $paymentId);
$resultUpdate = $stmtUpdate->execute();
$text = $enabled ? "enabled" : "disabled";
if ($resultUpdate) {
die(json_encode([
"success" => true
"success" => true,
"message" => translate($text, $i18n)
]));
}
die(json_encode([
"success" => false,
"message" => "Failed to update payment method in the database"
"message" => tranlate('failed_update_payment', $i18n)
]));
+4 -4
View File
@@ -25,13 +25,13 @@
if (saveLogo($imageData, $uploadFile, $name)) {
return $fileName;
} else {
echo "Error fetching image: " . curl_error($ch);
echo translate('error_fetching_image', $i18n) . ": " . curl_error($ch);
return "";
}
curl_close($ch);
} else {
echo "Error fetching image: " . curl_error($ch);
echo translate('error_fetching_image', $i18n) . ": " . curl_error($ch);
return "";
}
}
@@ -194,13 +194,13 @@
if ($stmt->execute()) {
$success['status'] = "Success";
$text = $isEdit ? "updated" : "added";
$success['message'] = "Subscription " . $text . " successfuly";
$success['message'] = translate('subscription_' . $text . '_successfuly', $i18n);
$json = json_encode($success);
header('Content-Type: application/json');
echo $json;
exit();
} else {
echo "Error: " . $db->lastErrorMsg();
echo translate('error', $i18n) . ": " . $db->lastErrorMsg();
}
}
}
+2 -2
View File
@@ -12,11 +12,11 @@
http_response_code(204);
} else {
http_response_code(500);
echo json_encode(array("message" => "Error deleting the subscription."));
echo json_encode(array("message" => translate('error_deleting_subscription', $i18n)));
}
} else {
http_response_code(405);
echo json_encode(array("message" => "Invalid request method."));
echo json_encode(array("message" => translate('invalid_request_method', $i18n)));
}
}
$db->close();
+2 -2
View File
@@ -31,10 +31,10 @@
header('Content-Type: application/json');
echo $subscriptionJson;
} else {
echo "Error";
echo translate('error', $i18n);
}
} else {
echo "Error";
echo translate('error', $i18n);
}
}
$db->close();
+5 -5
View File
@@ -43,7 +43,7 @@
$print[$id]['name']= $subscription['name'];
$cycle = $subscription['cycle'];
$frequency = $subscription['frequency'];
$print[$id]['billing_cycle'] = getBillingCycle($cycle, $frequency);
$print[$id]['billing_cycle'] = getBillingCycle($cycle, $frequency, $i18n);
$paymentMethodId = $subscription['payment_method_id'];
$print[$id]['currency_code'] = $currencies[$subscription['currency_id']]['code'];
$currencyId = $subscription['currency_id'];
@@ -66,19 +66,19 @@
}
if (isset($print)) {
printSubscriptions($print, $sort, $categories, $members);
printSubscriptions($print, $sort, $categories, $members, $i18n);
}
if (count($subscriptions) == 0) {
?>
<div class="empty-page">
<img src="images/siteimages/empty.png" alt="Empty page" />
<img src="images/siteimages/empty.png" alt="<?= translate('empty_page', $i18n) ?>" />
<p>
You don't have any subscriptions yet
<?= translate('no_subscriptions_yet', $i18n) ?>
</p>
<button class="button" onClick="addSubscription()">
<img class="button-icon" src="images/siteicons/plusicon.png">
Add First Subscription
<?= translate('add_first_subscription', $i18n) ?>
</button>
</div>
<?php
+11 -7
View File
@@ -76,6 +76,7 @@
$email = $_POST['email'];
$avatar = $_POST['avatar'];
$main_currency = $_POST['main_currency'];
$language = $_POST['language'];
if (isset($_POST['password']) && $_POST['password'] != "") {
$password = $_POST['password'];
@@ -84,7 +85,7 @@
if ($password != $confirm) {
$response = [
"success" => false,
"errorMessage" => "Passwords do not match"
"errorMessage" => translate('passwords_dont_match', $i18n)
];
echo json_encode($response);
exit();
@@ -92,7 +93,7 @@
} else {
$response = [
"success" => false,
"errorMessage" => "Passwords do not match"
"errorMessage" => translate('passwords_dont_match', $i18n)
];
echo json_encode($response);
exit();
@@ -100,9 +101,9 @@
}
if (isset($_POST['password']) && $_POST['password'] != "") {
$sql = "UPDATE user SET avatar = :avatar, username = :username, email = :email, password = :password, main_currency = :main_currency WHERE id = 1";
$sql = "UPDATE user SET avatar = :avatar, username = :username, email = :email, password = :password, main_currency = :main_currency, language = :language WHERE id = 1";
} else {
$sql = "UPDATE user SET avatar = :avatar, username = :username, email = :email, main_currency = :main_currency WHERE id = 1";
$sql = "UPDATE user SET avatar = :avatar, username = :username, email = :email, main_currency = :main_currency, language = :language WHERE id = 1";
}
$stmt = $db->prepare($sql);
@@ -110,6 +111,7 @@
$stmt->bindParam(':username', $username, SQLITE3_TEXT);
$stmt->bindParam(':email', $email, SQLITE3_TEXT);
$stmt->bindParam(':main_currency', $main_currency, SQLITE3_INTEGER);
$stmt->bindParam(':language', $language, SQLITE3_TEXT);
if (isset($_POST['password']) && $_POST['password'] != "") {
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
@@ -119,12 +121,13 @@
$result = $stmt->execute();
if ($result) {
$cookieExpire = time() + (30 * 24 * 60 * 60);
setcookie('language', $language, $cookieExpire, '/');
if ($username != $oldUsername) {
$_SESSION['username'] = $username;
if (isset($_COOKIE['wallos_login'])) {
$cookie = explode('|', $_COOKIE['wallos_login'], 2) ;
$token = $cookie[1];
$cookieExpire = time() + (30 * 24 * 60 * 60);
$cookieValue = $username . "|" . $token . "|" . $main_currency;
}
}
@@ -137,12 +140,13 @@
$response = [
"success" => true,
"message" => translate('user_details_saved', $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => "Error updating user data"
"errorMessage" => translate('error_updating_user_data', $i18n)
];
echo json_encode($response);
}
@@ -151,7 +155,7 @@
} else {
$response = [
"success" => false,
"errorMessage" => "Please fill all fields"
"errorMessage" => translate('fill_all_fields', $i18n)
];
echo json_encode($response);
exit();