From c7a6421be1b8590ca4f9418e96c46a8635d78779 Mon Sep 17 00:00:00 2001 From: SkateSpots Date: Wed, 7 Oct 2026 16:39:41 +0700 Subject: [PATCH] i18n(es): wire StashPage hardcoded strings through t() (30+ literals) --- src/i18n/en.ts | 38 +++++++++++++++ src/i18n/es.ts | 38 +++++++++++++++ src/pages/StashPage.tsx | 101 ++++++++++++++++++++-------------------- 3 files changed, 127 insertions(+), 50 deletions(-) diff --git a/src/i18n/en.ts b/src/i18n/en.ts index 1265fa0..c64dd2c 100644 --- a/src/i18n/en.ts +++ b/src/i18n/en.ts @@ -6781,6 +6781,44 @@ walletUi: { deleteDescPublic: ' and unlisted from your public showcase', deleteUndone: '. This can’t be undone.', deleteDescGeneric: 'This item will be removed from your stash. This can’t be undone.', + listOnMarketplace: 'List on Marketplace', + noPriceSet: 'No price set', + categoryLabel: 'Category', + photosLabel: 'Photos', + willingToSell: 'Willing to Sell', + willingToTrade: 'Willing to Trade', + whereIsThisItem: 'Where is this item?', + visibilityLabel: 'Visibility', + visibilityPrivateOnlyYou: 'Private - Only you', + visibilityFriendsMutual: 'Friends - Mutual follows', + visibilityPublicAnyone: 'Public - Anyone', + visibilityFriends: 'Friends', + brandLabel: 'Brand', + sizeLabel: 'Size', + descriptionLabel: 'Description', + conditionLabel: 'Condition', + itemName: 'Item Name', + saveChanges: 'Save Changes', + listItemDialogTitle: 'List "{{title}}"', + pickUpWhere: 'Where can buyers pick up this item?', + linkToSpot: 'Link to a Skate Spot', + linkToSpotDesc: 'Best for local sales • Shows on spot page & map', + recommended: 'Recommended', + noSpecificSpot: 'No Specific Spot', + noSpecificSpotDesc: 'Visible on Marketplace page only', + tipLinkedSpots: '💡 Tip: Listings linked to spots are easier to find for local skaters.', + anyoneCanSee: 'Anyone can see these on your profile.', + seeWhatOthersSee: 'See what others see', + inventory: 'Inventory', + publicWantsNote: 'Public wants are posted to the Marketplace as “wanted” ads, so sellers can find you.', + howItWorks: 'How it works', + tapToMarketplace: 'Tap to go to Marketplace →', + viewWishlist: 'View Wishlist', + tipEditItems: 'Edit items with the pen button', + tipListForSale: 'List for sale with the store button', + tipAddPhotos: 'Add photos for better trade offers', + tipKeySyncs: 'Nostr key syncs to all devices', + itemsReadyToSell: '{{count}} item(s) ready to sell', }, }, cardUi: { diff --git a/src/i18n/es.ts b/src/i18n/es.ts index 7dc8a12..e31f9c1 100644 --- a/src/i18n/es.ts +++ b/src/i18n/es.ts @@ -6781,6 +6781,44 @@ walletUi: { deleteDescPublic: ' y se retirará de tu escaparate público', deleteUndone: '. Esto no se puede deshacer.', deleteDescGeneric: 'Este artículo se quitará de tu stash. Esto no se puede deshacer.', + listOnMarketplace: 'Publicar en el Marketplace', + noPriceSet: 'Sin precio', + categoryLabel: 'Categoría', + photosLabel: 'Fotos', + willingToSell: 'Dispuesto a vender', + willingToTrade: 'Dispuesto a intercambiar', + whereIsThisItem: '¿Dónde está este artículo?', + visibilityLabel: 'Visibilidad', + visibilityPrivateOnlyYou: 'Privado - Solo tú', + visibilityFriendsMutual: 'Amigos - Seguidores mutuos', + visibilityPublicAnyone: 'Público - Cualquiera', + visibilityFriends: 'Amigos', + brandLabel: 'Marca', + sizeLabel: 'Medida', + descriptionLabel: 'Descripción', + conditionLabel: 'Estado', + itemName: 'Nombre del artículo', + saveChanges: 'Guardar cambios', + listItemDialogTitle: 'Publicar "{{title}}"', + pickUpWhere: '¿Dónde pueden recogerlo los compradores?', + linkToSpot: 'Vincular a un Spot', + linkToSpotDesc: 'Mejor para ventas locales • Aparece en la página del spot y el mapa', + recommended: 'Recomendado', + noSpecificSpot: 'Sin spot concreto', + noSpecificSpotDesc: 'Visible solo en la página del Marketplace', + tipLinkedSpots: '💡 Consejo: los anuncios vinculados a spots son más fáciles de encontrar para los skaters locales.', + anyoneCanSee: 'Cualquiera puede verlos en tu perfil.', + seeWhatOthersSee: 'Ver lo que ven los demás', + inventory: 'Inventario', + publicWantsNote: 'Lo que buscas públicamente se publica en el Marketplace como anuncios de “busco”, para que los vendedores te encuentren.', + howItWorks: 'Cómo funciona', + tapToMarketplace: 'Toca para ir al Marketplace →', + viewWishlist: 'Ver wishlist', + tipEditItems: 'Edita artículos con el botón del lápiz', + tipListForSale: 'Pon a la venta con el botón de la tienda', + tipAddPhotos: 'Añade fotos para mejores ofertas de intercambio', + tipKeySyncs: 'Tu clave Nostr se sincroniza en todos los dispositivos', + itemsReadyToSell: '{{count}} artículo(s) listos para vender', }, }, cardUi: { diff --git a/src/pages/StashPage.tsx b/src/pages/StashPage.tsx index baea5d1..723d9da 100644 --- a/src/pages/StashPage.tsx +++ b/src/pages/StashPage.tsx @@ -213,7 +213,7 @@ function StashItemCard({ item, onEdit, onDelete, onListOnMarketplace, isWTB = fa {isWTB && (
- Wishlist + {t('walletUi.stash.wishlist')}
)}
@@ -242,7 +242,7 @@ function StashItemCard({ item, onEdit, onDelete, onListOnMarketplace, isWTB = fa
)}
@@ -287,10 +287,10 @@ function StashItemCard({ item, onEdit, onDelete, onListOnMarketplace, isWTB = fa {usdValue && (~${usdValue.toFixed(0)})}
) : ( - No price set + {t('walletUi.stash.noPriceSet')} )}
- {item.visibility === 'private' && Private} + {item.visibility === 'private' && {t('walletUi.stash.visibilityPrivate')}} {item.visibility === 'friends' && {t('walletUi.stash.friendsOnly')}} {item.willingToTrade && } {item.willingToSell && !isWTB && } @@ -351,7 +351,7 @@ function AddItemDialog({ onAdd, mode = 'stash', trigger }: { onAdd: (item: Omit< const defaultTrigger = isWTB ? ( ) : ( - + ); return ( @@ -373,7 +373,7 @@ function AddItemDialog({ onAdd, mode = 'stash', trigger }: { onAdd: (item: Omit<
- + setFormData({ ...formData, visibility: v as StashItem['visibility'] })}> -
Private - Only you
-
Friends - Mutual follows
-
Public - Anyone
+
{t('walletUi.stash.visibilityPrivateOnlyYou')}
+
{t('walletUi.stash.visibilityFriendsMutual')}
+
{t('walletUi.stash.visibilityPublicAnyone')}

@@ -471,7 +471,7 @@ function AddItemDialog({ onAdd, mode = 'stash', trigger }: { onAdd: (item: Omit<

- + @@ -519,19 +519,19 @@ function EditItemDialog({ item, open, onOpenChange, onSave }: { item: StashItem;
- + setFormData({ ...formData, title: e.target.value })} className="bg-black/50 border-white/20" />
- +
- + setFormData({ ...formData, brand: e.target.value })} className="bg-black/50 border-white/20" />
-
setFormData({ ...formData, size: e.target.value })} className="bg-black/50 border-white/20" />
+
setFormData({ ...formData, brand: e.target.value })} className="bg-black/50 border-white/20" />
+
setFormData({ ...formData, size: e.target.value })} className="bg-black/50 border-white/20" />
- +