| 1 | export interface Translation { |
| 2 | appName: string; |
| 3 | home: string; |
| 4 | pay: string; |
| 5 | profile: string; |
| 6 | welcome: string; |
| 7 | welcomePersonal: (name: string) => string; |
| 8 | homeDesc: string; |
| 9 | getStarted: string; |
| 10 | startLesson: string; |
| 11 | back: string; |
| 12 | lessonCompleted: string; |
| 13 | user: string; |
| 14 | guest: string; |
| 15 | progress: string; |
| 16 | completed: string; |
| 17 | question: string; |
| 18 | of: string; |
| 19 | afterChoice: string; |
| 20 | correct: string; |
| 21 | incorrect: string; |
| 22 | startThisLesson: string; |
| 23 | googleOAuthLogin: string; |
| 24 | appleOAuthLogin: string; |
| 25 | availableBalance: string; |
| 26 | sendMoney: string; |
| 27 | thisMonth: string; |
| 28 | spent: string; |
| 29 | saved: string; |
| 30 | recentTransactions: string; |
| 31 | loadingTransactions: string; |
| 32 | noTransactions: string; |
| 33 | processing: string; |
| 34 | pending: string; |
| 35 | payment: string; |
| 36 | quickActions: string; |
| 37 | sendMoneyAction: string; |
| 38 | sendMoneyDesc: string; |
| 39 | requestMoney: string; |
| 40 | requestMoneyDesc: string; |
| 41 | qrCode: string; |
| 42 | qrCodeDesc: string; |
| 43 | recipients: string; |
| 44 | recipientsDesc: string; |
| 45 | recentRecipients: string; |
| 46 | account: string; |
| 47 | quickPayQR: string; |
| 48 | quickPayQRDesc: string; |
| 49 | accountSection: string; |
| 50 | supportSection: string; |
| 51 | settings: string; |
| 52 | notifications: string; |
| 53 | security: string; |
| 54 | helpCenter: string; |
| 55 | termsPrivacy: string; |
| 56 | logOut: string; |
| 57 | version: string; |
| 58 | expenses: string; |
| 59 | approved: string; |
| 60 | paymentRecipients: string; |
| 61 | manageContacts: string; |
| 62 | add: string; |
| 63 | loadingRecipients: string; |
| 64 | noRecipientsYet: string; |
| 65 | addFirstRecipient: string; |
| 66 | addRecipient: string; |
| 67 | editRecipient: string; |
| 68 | updateRecipientInfo: string; |
| 69 | addNewRecipient: string; |
| 70 | name: string; |
| 71 | emailAddress: string; |
| 72 | cancel: string; |
| 73 | update: string; |
| 74 | saving: string; |
| 75 | deleteRecipientTitle: string; |
| 76 | deleteRecipientDesc: (name: string) => string; |
| 77 | delete: string; |
| 78 | missingInfo: string; |
| 79 | fillAllFields: string; |
| 80 | invalidEmail: string; |
| 81 | validEmailAddress: string; |
| 82 | recipientUpdated: string; |
| 83 | recipientUpdatedDesc: (name: string) => string; |
| 84 | recipientAdded: string; |
| 85 | recipientAddedDesc: (name: string) => string; |
| 86 | error: string; |
| 87 | failedSaveRecipient: string; |
| 88 | recipientDeleted: string; |
| 89 | recipientDeletedDesc: (name: string) => string; |
| 90 | failedDeleteRecipient: string; |
| 91 | amount: string; |
| 92 | recipientName: string; |
| 93 | descriptionOptional: string; |
| 94 | descriptionPlaceholder: string; |
| 95 | paymentSummary: string; |
| 96 | fee: string; |
| 97 | total: string; |
| 98 | sendPayment: string; |
| 99 | processingPayment: string; |
| 100 | processingPaymentDesc: string; |
| 101 | paymentSent: string; |
| 102 | paymentSentDesc: string; |
| 103 | transactionId: string; |
| 104 | viewTransactions: string; |
| 105 | sendAnotherPayment: string; |
| 106 | transactionFailed: string; |
| 107 | transactionFailedDesc: string; |
| 108 | } |
| 109 | |
| 110 | export type SupportedLanguage = "fa" | "en" | "sv"; |
| 111 | |
| 112 | export const translations: Record<SupportedLanguage, Translation> = { |
| 113 | fa: { |
| 114 | appName: "رومی", |
| 115 | home: "خانه", |
| 116 | pay: "درسها", |
| 117 | profile: "پروفایل", |
| 118 | welcome: "به رومی خوش آمدید!", |
| 119 | welcomePersonal: (name) => `به رومی خوش آمدد, ${name}!`, |
| 120 | homeDesc: "روشی سرگرمکننده برای یادگیری زبان فارسی.", |
| 121 | getStarted: "شروع یادگیری", |
| 122 | startLesson: "شروع", |
| 123 | back: "← بازگشت", |
| 124 | lessonCompleted: "درس به پایان رسید! 🎉", |
| 125 | user: "نام کاربر", |
| 126 | guest: "مهمان", |
| 127 | progress: "پیشرفت", |
| 128 | completed: "درس تکمیل شده", |
| 129 | question: "سوال", |
| 130 | of: "از", |
| 131 | afterChoice: "پس از انتخاب، نتیجه نمایش داده میشود.", |
| 132 | correct: "درست!", |
| 133 | incorrect: "اشتباه!", |
| 134 | startThisLesson: "شروع درس", |
| 135 | googleOAuthLogin: "Login with Google", |
| 136 | appleOAuthLogin: "Sign in with Apple", |
| 137 | availableBalance: "موجودی موجود", |
| 138 | sendMoney: "ارسال پول", |
| 139 | thisMonth: "این ماه", |
| 140 | spent: "خرج شده", |
| 141 | saved: "پسانداز شده", |
| 142 | recentTransactions: "تراکنشهای اخیر", |
| 143 | loadingTransactions: "در حال بارگذاری تراکنشها...", |
| 144 | noTransactions: "هنوز تراکنشی وجود ندارد", |
| 145 | processing: "در حال پردازش", |
| 146 | pending: "در انتظار", |
| 147 | payment: "پرداخت", |
| 148 | quickActions: "اقدامات سریع", |
| 149 | sendMoneyAction: "ارسال پول", |
| 150 | sendMoneyDesc: "پرداخت فوری ارسال کنید", |
| 151 | requestMoney: "درخواست پول", |
| 152 | requestMoneyDesc: "از هر کسی درخواست کنید", |
| 153 | qrCode: "کد QR", |
| 154 | qrCodeDesc: "از طریق اسکن QR دریافت کنید", |
| 155 | recipients: "دریافتکنندگان", |
| 156 | recipientsDesc: "مدیریت مخاطبین ذخیره شده", |
| 157 | recentRecipients: "دریافتکنندگان اخیر", |
| 158 | account: "حساب", |
| 159 | quickPayQR: "کد QR پرداخت سریع", |
| 160 | quickPayQRDesc: "این کد را اسکن کنید تا به صورت فوری پرداخت دریافت کنید", |
| 161 | accountSection: "حساب کاربری", |
| 162 | supportSection: "پشتیبانی", |
| 163 | settings: "تنظیمات", |
| 164 | notifications: "اعلانها", |
| 165 | security: "امنیت", |
| 166 | helpCenter: "مرکز راهنما", |
| 167 | termsPrivacy: "شرایط و حریم خصوصی", |
| 168 | logOut: "خروج", |
| 169 | version: "نسخه", |
| 170 | expenses: "هزینهها", |
| 171 | approved: "تایید شده", |
| 172 | paymentRecipients: "دریافتکنندگان پرداخت", |
| 173 | manageContacts: "مدیریت مخاطبین پرداخت مکرر", |
| 174 | add: "افزودن", |
| 175 | loadingRecipients: "در حال بارگذاری دریافتکنندگان...", |
| 176 | noRecipientsYet: "هنوز دریافتکنندهای وجود ندارد", |
| 177 | addFirstRecipient: "اولین دریافتکننده خود را اضافه کنید", |
| 178 | addRecipient: "افزودن دریافتکننده", |
| 179 | editRecipient: "ویرایش دریافتکننده", |
| 180 | updateRecipientInfo: "اطلاعات دریافتکننده را بهروزرسانی کنید", |
| 181 | addNewRecipient: "دریافتکننده جدید به مخاطبین خود اضافه کنید", |
| 182 | name: "نام", |
| 183 | emailAddress: "آدرس ایمیل", |
| 184 | cancel: "لغو", |
| 185 | update: "بهروزرسانی", |
| 186 | saving: "در حال ذخیره...", |
| 187 | deleteRecipientTitle: "حذف دریافتکننده؟", |
| 188 | deleteRecipientDesc: (name) => |
| 189 | `آیا مطمئن هستید که میخواهید ${name} را حذف کنید؟ این عمل قابل بازگشت نیست.`, |
| 190 | delete: "حذف", |
| 191 | missingInfo: "اطلاعات ناقص", |
| 192 | fillAllFields: "لطفاً تمام فیلدها را پر کنید", |
| 193 | invalidEmail: "ایمیل نامعتبر", |
| 194 | validEmailAddress: "لطفاً یک آدرس ایمیل معتبر وارد کنید", |
| 195 | recipientUpdated: "دریافتکننده بهروزرسانی شد", |
| 196 | recipientUpdatedDesc: (name) => `${name} با موفقیت بهروزرسانی شد`, |
| 197 | recipientAdded: "دریافتکننده اضافه شد", |
| 198 | recipientAddedDesc: (name) => `${name} به دریافتکنندگان شما اضافه شد`, |
| 199 | error: "خطا", |
| 200 | failedSaveRecipient: |
| 201 | "ذخیره دریافتکننده ناموفق بود. لطفاً دوباره تلاش کنید.", |
| 202 | recipientDeleted: "دریافتکننده حذف شد", |
| 203 | recipientDeletedDesc: (name) => `${name} حذف شد`, |
| 204 | failedDeleteRecipient: |
| 205 | "حذف دریافتکننده ناموفق بود. لطفاً دوباره تلاش کنید.", |
| 206 | amount: "مبلغ", |
| 207 | recipientName: "نام دریافتکننده", |
| 208 | descriptionOptional: "توضیحات (اختیاری)", |
| 209 | descriptionPlaceholder: "این پرداخت برای چیست؟", |
| 210 | paymentSummary: "خلاصه پرداخت", |
| 211 | fee: "کارمزد", |
| 212 | total: "جمع کل", |
| 213 | sendPayment: "ارسال پرداخت", |
| 214 | processingPayment: "در حال پردازش پرداخت", |
| 215 | processingPaymentDesc: |
| 216 | "لطفاً صبر کنید تا تراکنش شما به صورت ایمن پردازش شود...", |
| 217 | paymentSent: "پرداخت ارسال شد!", |
| 218 | paymentSentDesc: "پرداخت شما با موفقیت پردازش شد", |
| 219 | transactionId: "شناسه تراکنش", |
| 220 | viewTransactions: "مشاهده تراکنشها", |
| 221 | sendAnotherPayment: "ارسال پرداخت دیگر", |
| 222 | transactionFailed: "تراکنش ناموفق بود", |
| 223 | transactionFailedDesc: |
| 224 | "پردازش پرداخت امکانپذیر نیست. لطفاً دوباره تلاش کنید.", |
| 225 | }, |
| 226 | en: { |
| 227 | appName: "Snac", |
| 228 | home: "Home", |
| 229 | pay: "Pay", |
| 230 | profile: "Profile", |
| 231 | welcome: "Welcome to Snac!", |
| 232 | welcomePersonal: (name) => `Welcome to Snac, ${name}!`, |
| 233 | homeDesc: "A fun way to learn Persian.", |
| 234 | getStarted: "Start Learning", |
| 235 | startLesson: "Start", |
| 236 | back: "← Back", |
| 237 | lessonCompleted: "Lesson Complete! 🎉", |
| 238 | user: "Username", |
| 239 | guest: "Guest", |
| 240 | progress: "Progress", |
| 241 | completed: "lesson(s) completed", |
| 242 | question: "Question", |
| 243 | of: "of", |
| 244 | afterChoice: "The result will be shown after you select.", |
| 245 | correct: "Correct!", |
| 246 | incorrect: "Incorrect!", |
| 247 | startThisLesson: "Start Lesson", |
| 248 | googleOAuthLogin: "Login with Google", |
| 249 | appleOAuthLogin: "Sign in with Apple", |
| 250 | availableBalance: "Available Balance", |
| 251 | sendMoney: "Send Money", |
| 252 | thisMonth: "This Month", |
| 253 | spent: "Spent", |
| 254 | saved: "Saved", |
| 255 | recentTransactions: "Recent Transactions", |
| 256 | loadingTransactions: "Loading transactions...", |
| 257 | noTransactions: "No transactions yet", |
| 258 | processing: "Processing", |
| 259 | pending: "Pending", |
| 260 | payment: "Payment", |
| 261 | quickActions: "Quick Actions", |
| 262 | sendMoneyAction: "Send Money", |
| 263 | sendMoneyDesc: "Send payment instantly", |
| 264 | requestMoney: "Request Money", |
| 265 | requestMoneyDesc: "Request from anyone", |
| 266 | qrCode: "QR Code", |
| 267 | qrCodeDesc: "Receive via QR scan", |
| 268 | recipients: "Recipients", |
| 269 | recipientsDesc: "Manage saved contacts", |
| 270 | recentRecipients: "Recent Recipients", |
| 271 | account: "Account", |
| 272 | quickPayQR: "Quick Pay QR Code", |
| 273 | quickPayQRDesc: "Scan this code to receive payments instantly", |
| 274 | accountSection: "Account", |
| 275 | supportSection: "Support", |
| 276 | settings: "Settings", |
| 277 | notifications: "Notifications", |
| 278 | security: "Security", |
| 279 | helpCenter: "Help Center", |
| 280 | termsPrivacy: "Terms & Privacy", |
| 281 | logOut: "Log Out", |
| 282 | version: "Version", |
| 283 | expenses: "Expenses", |
| 284 | approved: "Approved", |
| 285 | paymentRecipients: "Payment Recipients", |
| 286 | manageContacts: "Manage your frequent payment contacts", |
| 287 | add: "Add", |
| 288 | loadingRecipients: "Loading recipients...", |
| 289 | noRecipientsYet: "No Recipients Yet", |
| 290 | addFirstRecipient: "Add your first recipient to get started", |
| 291 | addRecipient: "Add Recipient", |
| 292 | editRecipient: "Edit Recipient", |
| 293 | updateRecipientInfo: "Update the recipient's information", |
| 294 | addNewRecipient: "Add a new recipient to your contacts", |
| 295 | name: "Name", |
| 296 | emailAddress: "Email Address", |
| 297 | cancel: "Cancel", |
| 298 | update: "Update", |
| 299 | saving: "Saving...", |
| 300 | deleteRecipientTitle: "Delete Recipient?", |
| 301 | deleteRecipientDesc: (name) => |
| 302 | `Are you sure you want to delete ${name}? This action cannot be undone.`, |
| 303 | delete: "Delete", |
| 304 | missingInfo: "Missing Information", |
| 305 | fillAllFields: "Please fill in all fields", |
| 306 | invalidEmail: "Invalid Email", |
| 307 | validEmailAddress: "Please enter a valid email address", |
| 308 | recipientUpdated: "Recipient Updated", |
| 309 | recipientUpdatedDesc: (name) => `${name} has been updated successfully`, |
| 310 | recipientAdded: "Recipient Added", |
| 311 | recipientAddedDesc: (name) => `${name} has been added to your recipients`, |
| 312 | error: "Error", |
| 313 | failedSaveRecipient: "Failed to save recipient. Please try again.", |
| 314 | recipientDeleted: "Recipient Deleted", |
| 315 | recipientDeletedDesc: (name) => `${name} has been removed`, |
| 316 | failedDeleteRecipient: "Failed to delete recipient. Please try again.", |
| 317 | amount: "Amount", |
| 318 | recipientName: "Recipient Name", |
| 319 | descriptionOptional: "Description (Optional)", |
| 320 | descriptionPlaceholder: "What's this payment for?", |
| 321 | paymentSummary: "Payment Summary", |
| 322 | fee: "Fee", |
| 323 | total: "Total", |
| 324 | sendPayment: "Send Payment", |
| 325 | processingPayment: "Processing Payment", |
| 326 | processingPaymentDesc: |
| 327 | "Please wait while we securely process your transaction...", |
| 328 | paymentSent: "Payment Sent!", |
| 329 | paymentSentDesc: "Your payment has been successfully processed", |
| 330 | transactionId: "Transaction ID", |
| 331 | viewTransactions: "View Transactions", |
| 332 | sendAnotherPayment: "Send Another Payment", |
| 333 | transactionFailed: "Transaction Failed", |
| 334 | transactionFailedDesc: "Unable to process payment. Please try again.", |
| 335 | }, |
| 336 | sv: { |
| 337 | appName: "Snac", |
| 338 | home: "Hem", |
| 339 | pay: "Betala", |
| 340 | profile: "Profil", |
| 341 | welcome: "Välkommen till Snac!", |
| 342 | welcomePersonal: (name) => `Välkommen till Snac, ${name}!`, |
| 343 | homeDesc: "Ett roligt sätt att lära sig persiska.", |
| 344 | getStarted: "Börja lära", |
| 345 | startLesson: "Starta", |
| 346 | back: "← Tillbaka", |
| 347 | lessonCompleted: "Lektion klar! 🎉", |
| 348 | user: "Användarnamn", |
| 349 | guest: "Gäst", |
| 350 | progress: "Framsteg", |
| 351 | completed: "lektion(er) slutförda", |
| 352 | question: "Fråga", |
| 353 | of: "av", |
| 354 | afterChoice: "Resultatet visas när du har valt.", |
| 355 | correct: "Rätt!", |
| 356 | incorrect: "Fel!", |
| 357 | startThisLesson: "Starta lektionen", |
| 358 | googleOAuthLogin: "Loga in med Google", |
| 359 | appleOAuthLogin: "Loga in med Apple", |
| 360 | availableBalance: "Tillgängligt saldo", |
| 361 | sendMoney: "Skicka pengar", |
| 362 | thisMonth: "Denna månad", |
| 363 | spent: "Spenderat", |
| 364 | saved: "Sparat", |
| 365 | recentTransactions: "Senaste transaktioner", |
| 366 | loadingTransactions: "Laddar transaktioner...", |
| 367 | noTransactions: "Inga transaktioner än", |
| 368 | processing: "Bearbetar", |
| 369 | pending: "Väntar", |
| 370 | payment: "Betalning", |
| 371 | quickActions: "Snabbåtgärder", |
| 372 | sendMoneyAction: "Skicka pengar", |
| 373 | sendMoneyDesc: "Skicka betalning direkt", |
| 374 | requestMoney: "Begär pengar", |
| 375 | requestMoneyDesc: "Begär från vem som helst", |
| 376 | qrCode: "QR-kod", |
| 377 | qrCodeDesc: "Ta emot via QR-skanning", |
| 378 | recipients: "Mottagare", |
| 379 | recipientsDesc: "Hantera sparade kontakter", |
| 380 | recentRecipients: "Senaste mottagare", |
| 381 | account: "Konto", |
| 382 | quickPayQR: "Snabbbetalning QR-kod", |
| 383 | quickPayQRDesc: "Skanna denna kod för att ta emot betalningar direkt", |
| 384 | accountSection: "Konto", |
| 385 | supportSection: "Support", |
| 386 | settings: "Inställningar", |
| 387 | notifications: "Notiser", |
| 388 | security: "Säkerhet", |
| 389 | helpCenter: "Hjälpcenter", |
| 390 | termsPrivacy: "Villkor och integritet", |
| 391 | logOut: "Logga ut", |
| 392 | version: "Version", |
| 393 | expenses: "Utgifter", |
| 394 | approved: "Godkänd", |
| 395 | paymentRecipients: "Betalningsmottagare", |
| 396 | manageContacts: "Hantera dina frekventa betalkontakter", |
| 397 | add: "Lägg till", |
| 398 | loadingRecipients: "Laddar mottagare...", |
| 399 | noRecipientsYet: "Inga mottagare än", |
| 400 | addFirstRecipient: "Lägg till din första mottagare för att komma igång", |
| 401 | addRecipient: "Lägg till mottagare", |
| 402 | editRecipient: "Redigera mottagare", |
| 403 | updateRecipientInfo: "Uppdatera mottagarens information", |
| 404 | addNewRecipient: "Lägg till en ny mottagare till dina kontakter", |
| 405 | name: "Namn", |
| 406 | emailAddress: "E-postadress", |
| 407 | cancel: "Avbryt", |
| 408 | update: "Uppdatera", |
| 409 | saving: "Sparar...", |
| 410 | deleteRecipientTitle: "Ta bort mottagare?", |
| 411 | deleteRecipientDesc: (name) => |
| 412 | `Är du säker på att du vill ta bort ${name}? Denna åtgärd kan inte ångras.`, |
| 413 | delete: "Ta bort", |
| 414 | missingInfo: "Information saknas", |
| 415 | fillAllFields: "Vänligen fyll i alla fält", |
| 416 | invalidEmail: "Ogiltig e-post", |
| 417 | validEmailAddress: "Vänligen ange en giltig e-postadress", |
| 418 | recipientUpdated: "Mottagare uppdaterad", |
| 419 | recipientUpdatedDesc: (name) => `${name} har uppdaterats framgångsrikt`, |
| 420 | recipientAdded: "Mottagare tillagd", |
| 421 | recipientAddedDesc: (name) => `${name} har lagts till bland dina mottagare`, |
| 422 | error: "Fel", |
| 423 | failedSaveRecipient: "Misslyckades med att spara mottagare. Försök igen.", |
| 424 | recipientDeleted: "Mottagare borttagen", |
| 425 | recipientDeletedDesc: (name) => `${name} har tagits bort`, |
| 426 | failedDeleteRecipient: |
| 427 | "Misslyckades med att ta bort mottagare. Försök igen.", |
| 428 | amount: "Belopp", |
| 429 | recipientName: "Mottagarens namn", |
| 430 | descriptionOptional: "Beskrivning (valfritt)", |
| 431 | descriptionPlaceholder: "Vad är denna betalning för?", |
| 432 | paymentSummary: "Betalningsöversikt", |
| 433 | fee: "Avgift", |
| 434 | total: "Totalt", |
| 435 | sendPayment: "Skicka betalning", |
| 436 | processingPayment: "Bearbetar betalning", |
| 437 | processingPaymentDesc: "Vänta medan vi säkert bearbetar din transaktion...", |
| 438 | paymentSent: "Betalning skickad!", |
| 439 | paymentSentDesc: "Din betalning har bearbetats framgångsrikt", |
| 440 | transactionId: "Transaktions-ID", |
| 441 | viewTransactions: "Visa transaktioner", |
| 442 | sendAnotherPayment: "Skicka en annan betalning", |
| 443 | transactionFailed: "Transaktion misslyckades", |
| 444 | transactionFailedDesc: "Kan inte bearbeta betalning. Försök igen.", |
| 445 | }, |
| 446 | }; |