Add currency and exchange rate with Frankfurter per expense

This commit is contained in:
Steven Sengchanh
2025-04-17 01:14:01 +02:00
parent 2814811aea
commit d641540b65
13 changed files with 834 additions and 167 deletions

View File

@@ -138,6 +138,10 @@
"label": "Income date",
"description": "Enter the date the income was received."
},
"currencyField": {
"label": "Currency of income",
"description": "The currency in which the income was received."
},
"categoryFieldDescription": "Select the income category.",
"paidByField": {
"label": "Received by",
@@ -162,6 +166,10 @@
"label": "Expense date",
"description": "Enter the date the expense was paid."
},
"currencyField": {
"label": "Currency of expense",
"description": "The currency in which the expense was paid."
},
"categoryFieldDescription": "Select the expense category.",
"paidByField": {
"label": "Paid by",
@@ -186,6 +194,27 @@
"amountField": {
"label": "Amount"
},
"conversionUnavailable": "To set a different currency per expense and convert amounts, select a non-custom currency for the group.",
"originalAmountField": {
"label": "Amount to convert"
},
"conversionRateField": {
"useApi": "Use rates from Frankfurter",
"useCustom": "Use custom rate",
"label": "Exchange rate"
},
"conversionRateState": {
"loading": "Getting exchange rates…",
"success": "Obtained rates:",
"error": "Oops, we could not get the most recent rates.",
"staleRate": "Using rate:",
"noRate": "Enter a custom rate below.",
"currencyNotFound": "Oops, Frankfurter does not have the rate for this currency at this day.",
"noDate": "Enter the expense date to get a conversion rate.",
"dateMismatch": "Rates from date: {date}",
"refresh": "Refresh",
"customRate": "Using custom rate"
},
"isReimbursementField": {
"label": "This is a reimbursement"
},
@@ -327,6 +356,7 @@
"amountRequired": "You must enter an amount.",
"amountNotZero": "The amount must not be zero.",
"amountTenMillion": "The amount must be lower than 10,000,000.",
"ratePositive": "The rate must be strictly greater than zero.",
"paidByRequired": "You must select a participant.",
"paidForMin1": "The expense must be paid for at least one participant.",
"noZeroShares": "All shares must be higher than 0.",