commit be9ee8f42496fb0ff34c58fcaf15033c94baa9ca
parent 1d45f12e45564205ea296cc382a74b4d6d802403
Author: Iván Ávalos <avalos@disroot.org>
Date: Sun, 31 May 2026 22:47:37 +0200
[wallet] i18n de, fr: tokens
Diffstat:
5 files changed, 41 insertions(+), 10 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/balances/BalancesComposable.kt b/wallet/src/main/java/net/taler/wallet/balances/BalancesComposable.kt
@@ -31,8 +31,7 @@ import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
-import androidx.compose.material.icons.filled.Autorenew
-import androidx.compose.material.icons.filled.Percent
+import androidx.compose.material.icons.filled.EventRepeat
import androidx.compose.material3.Badge
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon
@@ -44,6 +43,7 @@ import androidx.compose.material3.ProvideTextStyle
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@@ -125,7 +125,10 @@ fun BalancesComposable(
OutlinedCard(Modifier.cardPaddings()) {
ListItem(
modifier = Modifier.clickable { onShowDiscounts() },
- leadingContent = { Icon(Icons.Default.Percent, contentDescription = null) },
+ leadingContent = { Icon(
+ painterResource(R.drawable.ic_discounts),
+ contentDescription = null,
+ ) },
headlineContent = {
Text(
stringResource(R.string.discounts_title),
@@ -140,7 +143,7 @@ fun BalancesComposable(
OutlinedCard(Modifier.cardPaddings()) {
ListItem(
modifier = Modifier.clickable { onShowPasses() },
- leadingContent = { Icon(Icons.Default.Autorenew, contentDescription = null) },
+ leadingContent = { Icon(Icons.Default.EventRepeat, contentDescription = null) },
headlineContent = {
Text(stringResource(R.string.passes_title),
style = MaterialTheme.typography.titleMedium)
diff --git a/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt b/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt
@@ -33,9 +33,8 @@ import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.relocation.BringIntoViewRequester
import androidx.compose.foundation.relocation.bringIntoViewRequester
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Autorenew
import androidx.compose.material.icons.filled.Error
-import androidx.compose.material.icons.filled.Percent
+import androidx.compose.material.icons.filled.EventRepeat
import androidx.compose.material.icons.filled.Warning
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Button
@@ -68,6 +67,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Alignment.Companion.CenterHorizontally
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.asImageBitmap
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@@ -681,13 +681,13 @@ fun TokenCard(
) {
when (details) {
is ContractTokenDetails.Discount -> Icon(
- Icons.Default.Percent,
+ painterResource(R.drawable.ic_discounts),
contentDescription = stringResource(R.string.payment_token_discount),
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
is ContractTokenDetails.Subscription -> Icon(
- Icons.Default.Autorenew,
+ Icons.Default.EventRepeat,
contentDescription = stringResource(R.string.payment_token_subscription),
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
diff --git a/wallet/src/main/java/net/taler/wallet/tokens/TokenListScreen.kt b/wallet/src/main/java/net/taler/wallet/tokens/TokenListScreen.kt
@@ -141,8 +141,8 @@ fun DiscountList(uiState: UiState<List<DiscountListDetail>>, filter: TokenFilter
if (filtered.isEmpty()) {
EmptyComposable(
message = when (filter) {
- is TokenFilter.Valid -> stringResource(R.string.passes_empty_valid)
- is TokenFilter.Expired -> stringResource(R.string.passes_empty_expired)
+ is TokenFilter.Valid -> stringResource(R.string.discounts_empty_valid)
+ is TokenFilter.Expired -> stringResource(R.string.discounts_empty_expired)
},
)
}
diff --git a/wallet/src/main/res/values-de/strings.xml b/wallet/src/main/res/values-de/strings.xml
@@ -191,6 +191,7 @@
<string name="send_peer_expiration_30d">30 Tage</string>
<string name="send_peer_expiration_7d">1 Woche</string>
<string name="balance_scope_exchange">Von: %1$s</string>
+ <string name="balances_section_tokens">Andere Guthaben</string>
<string name="balances_title">Salden</string>
<string name="balance_scope_auditor">Auditor %1$s</string>
<string name="receive_peer">Geld von einem anderen Wallet anfordern</string>
@@ -362,6 +363,7 @@
<string name="donau_select_button">Finanzamt auswählen</string>
<string name="donau_selector_confirm">Steuernummer angeben</string>
<string name="donau_selector_title">Finanzamt auswählen</string>
+ <string name="token_valid_until">Gültig bis %1$s</string>
<string name="donau_id">Steuernummer des Spendenden</string>
<string name="donau_ready">Die Spendenfunktion wurde korrekt eingerichtet</string>
<string name="donau_statement_instruction">Zeigen Sie diesen QR-Code Ihrem Finanzamt, wenn Sie diese Spendenbescheinigung zur Bestätigung vorlegen</string>
@@ -405,4 +407,16 @@
<string name="balances_empty_withdraw_chf_button">CHF abheben</string>
<string name="balances_empty_withdraw_kudos_message">Mit Demo-Geld ausprobieren, wie Sie mit digitalem Geld bezahlen können.</string>
<string name="withdraw_manual_instruction_manual">Befolgen Sie die Anleitung, um die Überweisungsdaten in Ihrer Banking-App einzugeben</string>
+ <string name="discount_issuer">Einlösbar bei %1$s</string>
+ <string name="discounts_empty_expired">Sie haben aktuell keine abgelaufenen Gutscheine</string>
+ <string name="discounts_empty_valid">Sie haben aktuell keine gültigen Gutscheine</string>
+ <string name="discounts_title">Gutscheine</string>
+ <string name="pass_active">Aktiv</string>
+ <string name="pass_issuer">Ausgestellt von %1$s</string>
+ <string name="passes_empty_expired">Sie haben aktuell keine abgelaufenen Pässe</string>
+ <string name="passes_empty_valid">Sie haben aktuell keine gültigen Pässe</string>
+ <string name="passes_title">Pässe</string>
+ <string name="token_valid_from">Gültig ab %1$s</string>
+ <string name="tokens_filter_available">Gültig</string>
+ <string name="tokens_filter_expired">Abgelaufen</string>
</resources>
diff --git a/wallet/src/main/res/values-fr/strings.xml b/wallet/src/main/res/values-fr/strings.xml
@@ -99,6 +99,7 @@
<string name="settings_version_protocol_merchant">Versions de Taler Merchant compatibles</string>
<string name="settings_version_core">Version Wallet Core</string>
<string name="settings_version_protocol_exchange">Versions des prestataires compatibles</string>
+ <string name="balances_section_tokens">Autres actifs</string>
<string name="balances_title">Soldes</string>
<string name="transaction_action_kyc">Compléter le KYC</string>
<string name="transaction_deposit">Dépôt</string>
@@ -348,6 +349,7 @@
<string name="save">Sauvegarder</string>
<string name="warning">Avertissement</string>
<string name="biometric_prompt_title">Déverrouillez pour utiliser le portefeuille</string>
+ <string name="token_valid_until">Valable jusqu’au %1$s</string>
<string name="donau_id">Numéro fiscal du donateur</string>
<string name="donau_ready">Les dons ont été configurés avec succès</string>
<string name="donau_select_button">Sélectionner une autorité fiscale</string>
@@ -361,4 +363,16 @@
<string name="payment_button_confirm_amount">Paier %1$s</string>
<string name="settings_bank_accounts">Comptes bancaires</string>
<string name="withdraw_manual_instruction_manual">Suivez les instructions pour saisir les détails du virement dans votre application bancaire</string>
+ <string name="discount_issuer">Valable chez %1$s</string>
+ <string name="discounts_empty_expired">Vous n’avez aucune réduction expiré</string>
+ <string name="discounts_empty_valid">Vous n’avez aucune réduction valide</string>
+ <string name="discounts_title">Réductions</string>
+ <string name="pass_active">Actif</string>
+ <string name="pass_issuer">Fournit par %1$s</string>
+ <string name="passes_empty_expired">Vous n\'avez aucun pass expiré</string>
+ <string name="passes_empty_valid">Vous n\'avez aucun pass valide</string>
+ <string name="passes_title">Passes</string>
+ <string name="token_valid_from">Valable dès le %1$s</string>
+ <string name="tokens_filter_available">Valide</string>
+ <string name="tokens_filter_expired">Expiré</string>
</resources>