lingua 100% correta
This commit is contained in:
18
src/App.jsx
18
src/App.jsx
@@ -1037,10 +1037,10 @@ export default function App() {
|
|||||||
<Badge variant="warning">{weatherData ? weatherData.name : t('todayIn')}</Badge>
|
<Badge variant="warning">{weatherData ? weatherData.name : t('todayIn')}</Badge>
|
||||||
</div>
|
</div>
|
||||||
<h3 className="text-5xl font-black tracking-tighter mb-4" style={{ color: 'white' }}>
|
<h3 className="text-5xl font-black tracking-tighter mb-4" style={{ color: 'white' }}>
|
||||||
{weatherData ? `${weatherData.currentTemp}°C Atual • Média ${weatherData.avgTemp}°C` : t('weatherUpdate')}
|
{weatherData ? t('weatherCurrentAvg').replace('{current}', weatherData.currentTemp).replace('{avg}', weatherData.avgTemp) : t('weatherUpdate')}
|
||||||
</h3>
|
</h3>
|
||||||
<p className="text-lg font-medium max-w-lg leading-relaxed" style={{ color: 'rgba(255,255,255,0.8)' }}>
|
<p className="text-lg font-medium max-w-lg leading-relaxed" style={{ color: 'rgba(255,255,255,0.8)' }}>
|
||||||
{weatherData ? `O dia de hoje tem máximas de ${weatherData.maxTemp}°C e mínimas de ${weatherData.minTemp}°C. ${t('weatherMsg')}` : t('weatherMsg')}
|
{weatherData ? `${t('weatherForecastDesc').replace('{max}', weatherData.maxTemp).replace('{min}', weatherData.minTemp)} ${t('weatherMsg')}` : t('weatherMsg')}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-10 flex gap-4 items-center">
|
<div className="mt-10 flex gap-4 items-center">
|
||||||
@@ -1071,7 +1071,7 @@ export default function App() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)) : (
|
)) : (
|
||||||
<p className="text-xs opacity-50 italic">Adicione cores aos seus itens.</p>
|
<p className="text-xs opacity-50 italic">{t('addColorsToItems')}</p>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</Card>
|
</Card>
|
||||||
@@ -1638,7 +1638,7 @@ export default function App() {
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" name="color" value={itemColors.join(', ')} />
|
<input type="hidden" name="color" value={itemColors.join(', ')} />
|
||||||
{itemColors.length === 0 && <p className="text-[10px] text-red-500 uppercase tracking-widest font-black mt-2">Selecione pelo menos uma cor</p>}
|
{itemColors.length === 0 && <p className="text-[10px] text-red-500 uppercase tracking-widest font-black mt-2">{t('selectOneColor')}</p>}
|
||||||
</div>
|
</div>
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<label className="text-[10px] font-black uppercase opacity-40 tracking-widest ml-1 text-inherit flex items-center gap-2"><ImageIcon size={12}/> {t('imageUrl')} ou Upload</label>
|
<label className="text-[10px] font-black uppercase opacity-40 tracking-widest ml-1 text-inherit flex items-center gap-2"><ImageIcon size={12}/> {t('imageUrl')} ou Upload</label>
|
||||||
@@ -1653,12 +1653,12 @@ export default function App() {
|
|||||||
/>
|
/>
|
||||||
<div className="flex items-center gap-4">
|
<div className="flex items-center gap-4">
|
||||||
<div className="h-px bg-gray-200 dark:bg-gray-700 flex-1"></div>
|
<div className="h-px bg-gray-200 dark:bg-gray-700 flex-1"></div>
|
||||||
<span className="text-[10px] font-black uppercase tracking-widest opacity-30">OU</span>
|
<span className="text-[10px] font-black uppercase tracking-widest opacity-30">{t('or')}</span>
|
||||||
<div className="h-px bg-gray-200 dark:bg-gray-700 flex-1"></div>
|
<div className="h-px bg-gray-200 dark:bg-gray-700 flex-1"></div>
|
||||||
</div>
|
</div>
|
||||||
<label className={`flex items-center justify-center gap-3 p-5 rounded-2xl cursor-pointer transition-all font-black text-[10px] uppercase tracking-widest border-2 border-dashed ${darkMode ? 'bg-gray-800 border-gray-700 hover:border-primary-500 hover:text-primary-400' : 'bg-gray-50 border-gray-200 hover:border-primary-400 hover:text-primary-600'}`}>
|
<label className={`flex items-center justify-center gap-3 p-5 rounded-2xl cursor-pointer transition-all font-black text-[10px] uppercase tracking-widest border-2 border-dashed ${darkMode ? 'bg-gray-800 border-gray-700 hover:border-primary-500 hover:text-primary-400' : 'bg-gray-50 border-gray-200 hover:border-primary-400 hover:text-primary-600'}`}>
|
||||||
<ImageIcon size={16} />
|
<ImageIcon size={16} />
|
||||||
<span>Upload da Galeria / Ficheiros</span>
|
<span>{t('uploadGallery')}</span>
|
||||||
<input type="file" accept="image/*" className="hidden" onChange={handleItemImageUpload} />
|
<input type="file" accept="image/*" className="hidden" onChange={handleItemImageUpload} />
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -1889,16 +1889,16 @@ export default function App() {
|
|||||||
<div className="grid grid-cols-2 gap-4">
|
<div className="grid grid-cols-2 gap-4">
|
||||||
<label className="flex items-center gap-3 p-4 rounded-xl border border-gray-100 dark:border-gray-800 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors">
|
<label className="flex items-center gap-3 p-4 rounded-xl border border-gray-100 dark:border-gray-800 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors">
|
||||||
<input type="radio" name="type" value="Ideia/Sugestão" defaultChecked className="text-primary-600 focus:ring-primary-500" />
|
<input type="radio" name="type" value="Ideia/Sugestão" defaultChecked className="text-primary-600 focus:ring-primary-500" />
|
||||||
<span className="font-bold text-sm text-inherit">Ideia / Sugestão</span>
|
<span className="font-bold text-sm text-inherit">{t('ideaSuggestion')}</span>
|
||||||
</label>
|
</label>
|
||||||
<label className="flex items-center gap-3 p-4 rounded-xl border border-gray-100 dark:border-gray-800 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors">
|
<label className="flex items-center gap-3 p-4 rounded-xl border border-gray-100 dark:border-gray-800 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors">
|
||||||
<input type="radio" name="type" value="Bug/Erro" className="text-primary-600 focus:ring-primary-500" />
|
<input type="radio" name="type" value="Bug/Erro" className="text-primary-600 focus:ring-primary-500" />
|
||||||
<span className="font-bold text-sm text-inherit">Bug / Erro</span>
|
<span className="font-bold text-sm text-inherit">{t('bugError')}</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<textarea name="message" required placeholder={t('writeMessage')} rows={4} className={`w-full p-4 rounded-xl border-none outline-none focus:ring-2 focus:ring-primary-500 font-bold resize-none ${darkMode ? 'bg-gray-800 text-white' : 'bg-gray-50'}`}></textarea>
|
<textarea name="message" required placeholder={t('writeMessage')} rows={4} className={`w-full p-4 rounded-xl border-none outline-none focus:ring-2 focus:ring-primary-500 font-bold resize-none ${darkMode ? 'bg-gray-800 text-white' : 'bg-gray-50'}`}></textarea>
|
||||||
<button type="submit" className="w-full py-4 bg-primary-600 text-white rounded-xl font-black uppercase text-[10px] tracking-widest shadow-xl shadow-primary-600/30 hover:scale-[1.01] transition-all">
|
<button type="submit" className="w-full py-4 bg-primary-600 text-white rounded-xl font-black uppercase text-[10px] tracking-widest shadow-xl shadow-primary-600/30 hover:scale-[1.01] transition-all">
|
||||||
Enviar Mensagem
|
{t('sendMessage')}
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
</Card>
|
</Card>
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ export const translations = {
|
|||||||
favorites: "Favoritos",
|
favorites: "Favoritos",
|
||||||
todayIn: "Hoje em Portugal",
|
todayIn: "Hoje em Portugal",
|
||||||
weatherUpdate: "22°C - Ensolarado",
|
weatherUpdate: "22°C - Ensolarado",
|
||||||
|
weatherCurrentAvg: "{current}°C Atual • Média {avg}°C",
|
||||||
|
weatherForecastDesc: "O dia de hoje tem máximas de {max}°C e mínimas de {min}°C.",
|
||||||
weatherMsg: "Está um dia fantástico! Recomendamos as tuas peças leves. Que tal um visual casual com as tuas sapatilhas favoritas?",
|
weatherMsg: "Está um dia fantástico! Recomendamos as tuas peças leves. Que tal um visual casual com as tuas sapatilhas favoritas?",
|
||||||
exploreSuggestions: "Explorar Sugestões",
|
exploreSuggestions: "Explorar Sugestões",
|
||||||
topColors: "Top Cores",
|
topColors: "Top Cores",
|
||||||
@@ -181,6 +183,11 @@ export const translations = {
|
|||||||
removeOutfitDay: "Remover Outfit deste Dia",
|
removeOutfitDay: "Remover Outfit deste Dia",
|
||||||
noOutfitCreated: "Nenhum outfit criado",
|
noOutfitCreated: "Nenhum outfit criado",
|
||||||
piecesShort: "peças",
|
piecesShort: "peças",
|
||||||
|
editLook: "Editar Outfit",
|
||||||
|
uploadGallery: "Upload da Galeria / Ficheiros",
|
||||||
|
selectOneColor: "Selecione pelo menos uma cor",
|
||||||
|
addColorsToItems: "Adicione cores aos seus itens.",
|
||||||
|
or: "OU",
|
||||||
},
|
},
|
||||||
EN: {
|
EN: {
|
||||||
loginModeIntro: "The Future of Your Style",
|
loginModeIntro: "The Future of Your Style",
|
||||||
@@ -207,6 +214,8 @@ export const translations = {
|
|||||||
favorites: "Favorites",
|
favorites: "Favorites",
|
||||||
todayIn: "Today in Portugal",
|
todayIn: "Today in Portugal",
|
||||||
weatherUpdate: "22°C - Sunny",
|
weatherUpdate: "22°C - Sunny",
|
||||||
|
weatherCurrentAvg: "{current}°C Current • Average {avg}°C",
|
||||||
|
weatherForecastDesc: "Today has highs of {max}°C and lows of {min}°C.",
|
||||||
weatherMsg: "It's a fantastic day! We recommend your light pieces. How about a casual look with your favorite sneakers?",
|
weatherMsg: "It's a fantastic day! We recommend your light pieces. How about a casual look with your favorite sneakers?",
|
||||||
exploreSuggestions: "Explore Suggestions",
|
exploreSuggestions: "Explore Suggestions",
|
||||||
topColors: "Top Colors",
|
topColors: "Top Colors",
|
||||||
@@ -364,6 +373,11 @@ export const translations = {
|
|||||||
removeOutfitDay: "Remove Outfit from this Day",
|
removeOutfitDay: "Remove Outfit from this Day",
|
||||||
noOutfitCreated: "No outfit created",
|
noOutfitCreated: "No outfit created",
|
||||||
piecesShort: "pieces",
|
piecesShort: "pieces",
|
||||||
|
editLook: "Edit Outfit",
|
||||||
|
uploadGallery: "Upload from Gallery / Files",
|
||||||
|
selectOneColor: "Select at least one color",
|
||||||
|
addColorsToItems: "Add colors to your items.",
|
||||||
|
or: "OR",
|
||||||
},
|
},
|
||||||
ES: {
|
ES: {
|
||||||
loginModeIntro: "El Futuro de Tu Estilo",
|
loginModeIntro: "El Futuro de Tu Estilo",
|
||||||
@@ -390,6 +404,8 @@ export const translations = {
|
|||||||
favorites: "Favoritos",
|
favorites: "Favoritos",
|
||||||
todayIn: "Hoy en Portugal",
|
todayIn: "Hoy en Portugal",
|
||||||
weatherUpdate: "22°C - Soleado",
|
weatherUpdate: "22°C - Soleado",
|
||||||
|
weatherCurrentAvg: "{current}°C Actual • Media {avg}°C",
|
||||||
|
weatherForecastDesc: "El día de hoy tiene máximas de {max}°C y mínimas de {min}°C.",
|
||||||
weatherMsg: "¡Es un día fantástico! Recomendamos tus piezas ligeras. ¿Qué tal un look casual con tus zapatillas favoritas?",
|
weatherMsg: "¡Es un día fantástico! Recomendamos tus piezas ligeras. ¿Qué tal un look casual con tus zapatillas favoritas?",
|
||||||
exploreSuggestions: "Explorar Sugerencias",
|
exploreSuggestions: "Explorar Sugerencias",
|
||||||
topColors: "Colores Principales",
|
topColors: "Colores Principales",
|
||||||
@@ -547,6 +563,11 @@ export const translations = {
|
|||||||
removeOutfitDay: "Quitar Outfit de este Día",
|
removeOutfitDay: "Quitar Outfit de este Día",
|
||||||
noOutfitCreated: "Ningún outfit creado",
|
noOutfitCreated: "Ningún outfit creado",
|
||||||
piecesShort: "piezas",
|
piecesShort: "piezas",
|
||||||
|
editLook: "Editar Outfit",
|
||||||
|
uploadGallery: "Subir desde la Galería / Archivos",
|
||||||
|
selectOneColor: "Selecciona al menos un color",
|
||||||
|
addColorsToItems: "Añade colores a tus artículos.",
|
||||||
|
or: "O",
|
||||||
},
|
},
|
||||||
FR: {
|
FR: {
|
||||||
loginModeIntro: "Le Futur de Ton Style",
|
loginModeIntro: "Le Futur de Ton Style",
|
||||||
@@ -573,6 +594,8 @@ export const translations = {
|
|||||||
favorites: "Favoris",
|
favorites: "Favoris",
|
||||||
todayIn: "Aujourd'hui au Portugal",
|
todayIn: "Aujourd'hui au Portugal",
|
||||||
weatherUpdate: "22°C - Ensoleillé",
|
weatherUpdate: "22°C - Ensoleillé",
|
||||||
|
weatherCurrentAvg: "{current}°C Actuel • Moyenne {avg}°C",
|
||||||
|
weatherForecastDesc: "Aujourd'hui a des maximales de {max}°C et des minimales de {min}°C.",
|
||||||
weatherMsg: "C'est une journée fantastique ! Nous recommandons vos pièces légères. Que diriez-vous d'un look décontracté avec vos baskets préférées ?",
|
weatherMsg: "C'est une journée fantastique ! Nous recommandons vos pièces légères. Que diriez-vous d'un look décontracté avec vos baskets préférées ?",
|
||||||
exploreSuggestions: "Explorer les Suggestions",
|
exploreSuggestions: "Explorer les Suggestions",
|
||||||
topColors: "Couleurs Principales",
|
topColors: "Couleurs Principales",
|
||||||
@@ -730,6 +753,11 @@ export const translations = {
|
|||||||
removeOutfitDay: "Retirer l'Outfit de ce Jour",
|
removeOutfitDay: "Retirer l'Outfit de ce Jour",
|
||||||
noOutfitCreated: "Aucun outfit créé",
|
noOutfitCreated: "Aucun outfit créé",
|
||||||
piecesShort: "pièces",
|
piecesShort: "pièces",
|
||||||
|
editLook: "Modifier l'Outfit",
|
||||||
|
uploadGallery: "Télécharger depuis la Galerie / Fichiers",
|
||||||
|
selectOneColor: "Sélectionnez au moins une couleur",
|
||||||
|
addColorsToItems: "Ajoutez des couleurs à vos articles.",
|
||||||
|
or: "OU",
|
||||||
},
|
},
|
||||||
DE: {
|
DE: {
|
||||||
loginModeIntro: "Die Zukunft deines Stils",
|
loginModeIntro: "Die Zukunft deines Stils",
|
||||||
@@ -756,6 +784,8 @@ export const translations = {
|
|||||||
favorites: "Favoriten",
|
favorites: "Favoriten",
|
||||||
todayIn: "Heute in Portugal",
|
todayIn: "Heute in Portugal",
|
||||||
weatherUpdate: "22°C - Sonnig",
|
weatherUpdate: "22°C - Sonnig",
|
||||||
|
weatherCurrentAvg: "{current}°C Aktuell • Durchschnitt {avg}°C",
|
||||||
|
weatherForecastDesc: "Der heutige Tag hat Höchstwerte von {max}°C und Tiefstwerte von {min}°C.",
|
||||||
weatherMsg: "Es ist ein fantastischer Tag! Wir empfehlen leichte Stücke. Wie wäre es mit einem lässigen Look mit deinen Lieblings-Sneakern?",
|
weatherMsg: "Es ist ein fantastischer Tag! Wir empfehlen leichte Stücke. Wie wäre es mit einem lässigen Look mit deinen Lieblings-Sneakern?",
|
||||||
exploreSuggestions: "Vorschläge entdecken",
|
exploreSuggestions: "Vorschläge entdecken",
|
||||||
topColors: "Top Farben",
|
topColors: "Top Farben",
|
||||||
@@ -913,5 +943,10 @@ export const translations = {
|
|||||||
removeOutfitDay: "Outfit von diesem Tag entfernen",
|
removeOutfitDay: "Outfit von diesem Tag entfernen",
|
||||||
noOutfitCreated: "Kein Outfit erstellt",
|
noOutfitCreated: "Kein Outfit erstellt",
|
||||||
piecesShort: "Stücke",
|
piecesShort: "Stücke",
|
||||||
|
editLook: "Outfit bearbeiten",
|
||||||
|
uploadGallery: "Aus Galerie / Dateien hochladen",
|
||||||
|
selectOneColor: "Wähle mindestens eine Farbe",
|
||||||
|
addColorsToItems: "Füge deinen Artikeln Farben hinzu.",
|
||||||
|
or: "ODER",
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user