Enhance user profile and world travel pages with improved UI and functionality

- Updated user profile page to include achievement calculations and enhanced styling for user information and statistics.
- Added icons for better visual representation of user stats and achievements.
- Improved layout for displaying adventures and collections with conditional rendering for empty states.
- Refactored world travel page to include search and filter functionality for cities, with a sidebar for progress and stats.
- Implemented completion percentage and progress bars for visited cities.
- Enhanced map integration with markers for visited and not visited cities, including toggle options for map labels.
This commit is contained in:
Sean Morley
2025-06-14 11:10:59 -04:00
parent d4c76f8718
commit 151c76dbd1
21 changed files with 2209 additions and 2461 deletions

View File

@@ -12,35 +12,10 @@
"generic_attributions": "Log in op AdventUrelog om attributies te bekijken voor ingeschakelde integraties en services."
},
"adventures": {
"activities": {
"activity": "Activiteit 🏄",
"art_museums": "Kunst",
"attraction": "Attractie 🎢",
"culture": "Cultuur 🎭",
"dining": "Dineren 🍽️",
"event": "Evenement 🎉",
"festivals": "Festivals 🎪",
"fitness": "Fitness🏋",
"general": "Algemeen 🌍",
"hiking": "Wandelen 🥾",
"historical_sites": "Historische locaties 🏛️",
"lodging": "Accommodatie 🛌",
"music_concerts": "Muziek",
"nightlife": "Nachtleven 🌃",
"other": "Ander",
"outdoor": "Buiten 🏞️",
"shopping": "Winkelen 🛍️",
"spiritual_journeys": "Spirituele reizen 🧘‍♀️",
"transportation": "Vervoer 🚗",
"volunteer_work": "Vrijwilligerswerk 🤝",
"water_sports": "Watersport 🚤",
"wildlife": "Wilde dieren 🦒"
},
"activities": {},
"add_to_collection": "Toevoegen aan collectie",
"adventure": "Avontuur",
"adventure_delete_confirm": "Weet je zeker dat je dit avontuur wilt verwijderen? \nDeze actie kan niet ongedaan worden gemaakt.",
"adventure_details": "Avontuurdetails",
"adventure_type": "Avontuurtype",
"archive": "Archiveer",
"archived": "Gearchiveerd",
"archived_collection_message": "Collectie succesvol gearchiveerd!",
@@ -49,7 +24,6 @@
"cancel": "Annuleren",
"category_filter": "Categoriefilter",
"clear": "Leeg maken",
"close_filters": "Sluit filters",
"collection": "Collectie",
"collection_adventures": "Inclusief collectie-avonturen",
"collection_link_error": "Fout bij het koppelen van dit avontuur aan de collectie",
@@ -105,10 +79,8 @@
"visited": "Bezocht",
"wiki_image_error": "Fout bij het ophalen van afbeelding van Wikipedia",
"actions": "Acties",
"activity": "Activiteit",
"activity_types": "Activiteitstypen",
"add": "Toevoegen",
"add_an_activity": "Voeg een activiteit toe",
"add_notes": "Voeg opmerkingen toe",
"adventure_create_error": "Kan geen avontuur aanmaken",
"adventure_created": "Avontuur aangemaakt",
@@ -129,24 +101,20 @@
"location": "Locatie",
"location_information": "Informatie over de locatie",
"my_images": "Mijn afbeeldingen",
"my_visits": "Mijn bezoeken",
"new_adventure": "Nieuw avontuur",
"no_description_found": "Geen beschrijving gevonden",
"no_images": "Geen afbeeldingen",
"no_location": "Voer een locatie in",
"no_results": "Geen resultaten gevonden",
"no_start_date": "Voer een startdatum in",
"public_adventure": "Openbaar avontuur",
"remove": "Verwijderen",
"save_next": "Opslaan & Volgende",
"search_for_location": "Zoek een locatie",
"search_results": "Zoekresultaten",
"see_adventures": "Zie Avonturen",
"select_adventure_category": "Selecteer Avontuurcategorie",
"share_adventure": "Deel dit avontuur!",
"start_date": "Startdatum",
"upload_image": "Afbeelding uploaden",
"upload_images_here": "Upload hier afbeeldingen",
"url": "URL",
"warning": "Waarschuwing",
"wiki_desc": "Haalt een fragment uit een Wikipedia-artikel dat overeenkomt met de naam van het avontuur.",
@@ -177,8 +145,6 @@
"link_new": "Nieuwe link...",
"linked_adventures": "Gekoppelde avonturen",
"links": "Koppelingen",
"mark_region_as_visited": "Regio {regio}, {country} markeren als bezocht?",
"no_end_date": "Voer een einddatum in",
"note": "Opmerking",
"notes": "Opmerkingen",
"nothing_planned": "Niets gepland voor deze dag. \nGeniet van de reis!",
@@ -217,7 +183,6 @@
"to": "Naar",
"transportation_delete_confirm": "Weet u zeker dat u dit transport wilt verwijderen? \nDeze actie kan niet ongedaan worden gemaakt.",
"ending_airport": "Luchthaven van aankomst",
"show_map": "Toon kaart",
"will_be_marked": "wordt gemarkeerd als bezocht zodra het avontuur is opgeslagen.",
"cities_updated": "steden bijgewerkt",
"create_adventure": "Creëer avontuur",
@@ -233,17 +198,13 @@
"attachments": "Bijlagen",
"gpx_tip": "Upload GPX-bestanden naar bijlagen om ze op de kaart te bekijken!",
"images": "Afbeeldingen",
"primary": "Primair",
"upload": "Uploaden",
"view_attachment": "Bijlage bekijken",
"of": "van",
"city": "Stad",
"delete_lodging": "Verwijder accommodatie",
"display_name": "Weergavenaam",
"location_details": "Locatiegegevens",
"lodging": "Onderdak",
"reservation_number": "Reserveringsnummer",
"welcome_map_info": "Publieke avonturen op deze server",
"lodging_delete_confirm": "Weet u zeker dat u deze accommodatielocatie wilt verwijderen? \nDeze actie kan niet ongedaan worden gemaakt.",
"lodging_information": "Informatie overliggen",
"price": "Prijs",
@@ -254,9 +215,7 @@
"date_itinerary": "Datumroute",
"no_ordered_items": "Voeg items toe met datums aan de collectie om ze hier te zien.",
"ordered_itinerary": "Besteld reisschema",
"additional_info": "Aanvullende informatie",
"invalid_date_range": "Ongeldige datumbereik",
"sunrise_sunset": "Zonsopgang",
"timezone": "Tijdzone",
"no_visits": "Geen bezoeken",
"arrival_timezone": "Aankomsttijdzone",
@@ -294,7 +253,6 @@
"about": "Over AdventureLog",
"adventures": "Avonturen",
"collections": "Collecties",
"discord": "Discord",
"documentation": "Documentatie",
"greeting": "Hoi",
"logout": "Uitloggen",
@@ -305,16 +263,7 @@
"settings": "Instellingen",
"shared_with_me": "Gedeeld met mij",
"theme_selection": "Thema selectie",
"themes": {
"aqua": "Aqua",
"dark": "Donker",
"forest": "Woud",
"light": "Licht",
"night": "Nacht",
"aestheticDark": "Esthetisch donker",
"aestheticLight": "Esthetisch licht",
"northernLights": "Noorderlicht"
},
"themes": {},
"users": "Gebruikers",
"worldtravel": "Wereldreizen",
"my_tags": "Mijn labels",
@@ -339,10 +288,7 @@
"profile_picture": "Profielfoto",
"public_profile": "Openbaar profiel",
"public_tooltip": "Met een openbaar profiel kunnen gebruikers collecties met u delen en uw profiel bekijken op de gebruikerspagina.",
"email_required": "E-mail is vereist",
"both_passwords_required": "Beide wachtwoorden zijn vereist",
"new_password": "Nieuw wachtwoord",
"reset_failed": "Kan het wachtwoord niet opnieuw instellen",
"or_3rd_party": "Of log in met een service van derden",
"no_public_adventures": "Geen openbare avonturen gevonden",
"no_public_collections": "Geen openbare collecties gevonden",
@@ -362,14 +308,12 @@
"not_visited": "Niet bezocht",
"num_countries": "landen gevonden",
"partially_visited": "Gedeeltelijk bezocht",
"all_visited": "Je hebt alle regio's in bezocht",
"cities": "steden",
"failed_to_mark_visit": "Kan bezoek aan niet markeren",
"failed_to_remove_visit": "Kan bezoek aan niet verwijderen",
"marked_visited": "gemarkeerd als bezocht",
"no_cities_found": "Geen steden gevonden",
"region_failed_visited": "Kan de regio niet als bezocht markeren",
"region_stats": "Regiostatistieken",
"regions_in": "Regio's in",
"removed": "verwijderd",
"view_cities": "Steden bekijken",
@@ -379,7 +323,6 @@
"settings": {
"account_settings": "Gebruikersaccount instellingen",
"confirm_new_password": "Bevestig nieuw wachtwoord",
"current_email": "Huidig e-mailadres",
"email_change": "Wijzig e-mailadres",
"new_email": "Nieuw e-mailadres",
"new_password": "Nieuw wachtwoord",
@@ -390,27 +333,18 @@
"update_error": "Fout bij wijzigen van instellingen",
"update_success": "Instellingen succesvol gewijzigd!",
"change_password": "Wachtwoord wijzigen",
"invalid_token": "Token is ongeldig of verlopen",
"login_redir": "Vervolgens wordt u doorgestuurd naar de inlogpagina.",
"missing_email": "Voer een e-mailadres in",
"password_does_not_match": "Wachtwoorden komen niet overeen",
"password_is_required": "Wachtwoord is vereist",
"possible_reset": "Als het door u opgegeven e-mailadres aan een account is gekoppeld, ontvangt u een e-mail met instructies om uw wachtwoord opnieuw in te stellen!",
"reset_password": "Wachtwoord opnieuw instellen",
"submit": "Indienen",
"token_required": "Token en UID zijn vereist voor het opnieuw instellen van het wachtwoord.",
"about_this_background": "Over deze achtergrond",
"join_discord": "Sluit je aan bij Discord",
"join_discord_desc": "om uw eigen foto's te delen. \nPlaats ze in de",
"photo_by": "Foto door",
"change_password_error": "Kan wachtwoord niet wijzigen. \nOngeldig huidig wachtwoord of ongeldig nieuw wachtwoord.",
"current_password": "Huidig wachtwoord",
"password_change_lopout_warning": "Na het wijzigen van uw wachtwoord wordt u uitgelogd.",
"authenticator_code": "Authenticatiecode",
"copy": "Kopiëren",
"disable_mfa": "Schakel MFA uit",
"email_added": "E-mailadres succesvol toegevoegd!",
"email_added_error": "Fout bij het toevoegen van e-mailadres",
"email_removed": "E-mail succesvol verwijderd!",
"email_removed_error": "Fout bij verwijderen van e-mail",
"email_set_primary": "E-mailadres is succesvol ingesteld als primair!",
@@ -420,16 +354,12 @@
"email_verified_error": "Fout bij het verifiëren van e-mailadres",
"email_verified_success": "Uw e-mailadres is geverifieerd. \nU kunt nu inloggen.",
"enable_mfa": "Schakel MFA in",
"error_change_password": "Fout bij wijzigen van wachtwoord. \nControleer uw huidige wachtwoord en probeer het opnieuw.",
"generic_error": "Er is een fout opgetreden tijdens het verwerken van uw verzoek.",
"invalid_code": "Ongeldige MFA-code",
"invalid_credentials": "Ongeldige gebruikersnaam of wachtwoord",
"make_primary": "Maak primair",
"mfa_disabled": "Multi-factor authenticatie is succesvol uitgeschakeld!",
"mfa_enabled": "Multi-factor authenticatie succesvol ingeschakeld!",
"mfa_not_enabled": "MFA is niet ingeschakeld",
"mfa_page_title": "Authenticatie met meerdere factoren",
"mfa_required": "Multi-factor authenticatie is vereist",
"no_emai_set": "Geen e-mailadres ingesteld",
"not_verified": "Niet geverifieerd",
"primary": "Primair",
@@ -440,25 +370,13 @@
"verify": "Verifiëren",
"verify_email_error": "Fout bij het verifiëren van e-mailadres. \nProbeer het over een paar minuten opnieuw.",
"verify_email_success": "E-mailverificatie succesvol verzonden!",
"add_email_blocked": "U kunt geen e-mailadres toevoegen aan een account dat is beveiligd met tweefactorauthenticatie.",
"required": "Dit veld is verplicht",
"csrf_failed": "Kan CSRF-token niet ophalen",
"duplicate_email": "Dit e-mailadres is al in gebruik.",
"email_taken": "Dit e-mailadres is al in gebruik.",
"username_taken": "Deze gebruikersnaam is al in gebruik.",
"administration_settings": "Beheerinstellingen",
"documentation_link": "Documentatielink",
"launch_account_connections": "Start accountverbindingen",
"launch_administration_panel": "Start het beheerpaneel",
"no_verified_email_warning": "U moet een geverifieerd e-mailadres hebben om tweefactorauthenticatie in te schakelen.",
"social_auth_desc": "Schakel sociale en OIDC-authenticatieproviders in of uit voor uw account. \nMet deze verbindingen kunt u inloggen met zelfgehoste authenticatie-identiteitsproviders zoals Authentik of externe providers zoals GitHub.",
"social_auth_desc_2": "Deze instellingen worden beheerd op de AdventureLog-server en moeten handmatig worden ingeschakeld door de beheerder.",
"social_oidc_auth": "Sociale en OIDC-authenticatie",
"add_email": "E-mail toevoegen",
"password_too_short": "Wachtwoord moet minimaal 6 tekens lang zijn",
"disable_password": "Schakel het wachtwoord uit",
"password_disable": "Schakel wachtwoordverificatie uit",
"password_disable_desc": "Het uitschakelen van wachtwoordverificatie zal voorkomen dat u zich aanmeldt met een wachtwoord. \nU moet een sociale of OIDC-provider gebruiken om in te loggen. Als uw sociale provider niet wordt gekoppeld, wordt wachtwoordverificatie automatisch opnieuw ingeschakeld, zelfs als deze instelling is uitgeschakeld.",
"password_disable_warning": "Momenteel is wachtwoordverificatie uitgeschakeld. \nLogin via een sociale of OIDC -provider is vereist.",
"password_disabled": "Wachtwoordverificatie uitgeschakeld",
"password_disabled_error": "Fout het uitschakelen van wachtwoordverificatie. \nZorg ervoor dat een sociale of OIDC -provider is gekoppeld aan uw account.",
@@ -477,7 +395,6 @@
"advanced_settings_desc": "Geavanceerde configuratie- en ontwikkelingstools",
"all_rights_reserved": "Alle rechten voorbehouden.",
"app_version": "App -versie",
"confirm_new_password_desc": "Bevestig nieuw wachtwoord",
"debug_information": "Debug -informatie",
"disabled": "Gehandicapt",
"disconnected": "Losgekoppeld",
@@ -514,31 +431,24 @@
"social_auth_setup": "Sociale authenticatie -opstelling",
"staff_status": "Status",
"staff_user": "Personeelsgebruiker",
"connected": "Aangesloten",
"email_verified_error_desc": "Uw e -mail kan niet worden geverifieerd. \nProbeer het opnieuw."
"connected": "Aangesloten"
},
"checklist": {
"add_item": "Artikel toevoegen",
"checklist_delete_error": "Fout bij het verwijderen van de controlelijst",
"checklist_deleted": "Controlelijst succesvol verwijderd!",
"checklist_editor": "Controlelijsten bewerken",
"checklist_public": "Deze controlelijst is openbaar omdat deze zich in een openbare collectie bevindt.",
"editing_checklist": "Controlelijst bewerken",
"failed_to_save": "Kan controlelijst niet opslaan",
"item": "Artikel",
"item_already_exists": "Artikel bestaat al",
"item_cannot_be_empty": "Artikel mag niet leeg zijn",
"items": "Artikelen",
"new_item": "Nieuw artikel",
"save": "Opslaan",
"checklist_viewer": "Controlelijstviewer",
"new_checklist": "Nieuwe controlelijst"
},
"collection": {
"collection_created": "Collectie succesvol aangemaakt!",
"collection_edit_success": "Collectie succesvol bewerkt!",
"create": "Aanmaken",
"edit_collection": "Collectie bewerken",
"error_creating_collection": "Fout bij aanmaken collectie",
"error_editing_collection": "Fout bij het bewerken van de collectie",
"new_collection": "Nieuwe collectie",
@@ -560,12 +470,8 @@
"note_viewer": "Bekijk notities"
},
"transportation": {
"date_and_time": "Datum",
"date_time": "Startdatum",
"edit": "Bewerk",
"edit_transportation": "Vervoer bewerken",
"end_date_time": "Einddatum",
"error_editing_transportation": "Fout bij het bewerken van het vervoer",
"flight_number": "Vluchtnummer",
"from_location": "Vertreklocatie",
"modes": {
@@ -579,13 +485,8 @@
"walking": "Wandelen"
},
"to_location": "Aankomstlocatie",
"transportation_edit_success": "Vervoer succesvol bewerkt!",
"type": "Type",
"new_transportation": "Nieuw vervoer",
"provide_start_date": "Geef een startdatum op",
"start": "Begin",
"transport_type": "Vervoerstype",
"transportation_added": "Vervoer succesvol toegevoegd!",
"transportation_delete_error": "Fout bij verwijderen vervoer",
"transportation_deleted": "Vervoer succesvol verwijderd!",
"ending_airport_desc": "Voer eindigende luchthavencode in (bijv. LAX)",
@@ -634,7 +535,6 @@
"no_categories_found": "Geen categorieën gevonden.",
"select_category": "Selecteer een categorie",
"update_after_refresh": "De avonturenkaarten worden bijgewerkt zodra u de pagina vernieuwt.",
"add_category": "Categorie toevoegen",
"add_new_category": "Voeg een nieuwe categorie toe"
},
"dashboard": {
@@ -651,25 +551,14 @@
"api_key": "Immich API-sleutel",
"api_note": "Let op: dit moet de URL naar de Immich API-server zijn, deze eindigt dus waarschijnlijk op /api, tenzij je een aangepaste configuratie hebt.",
"disable": "Uitzetten",
"enable_immich": "Schakel Immich in",
"imageid_required": "Afbeeldings-ID is vereist",
"immich": "Immich",
"immich_desc": "Integreer uw Immich-account met AdventureLog zodat u in uw fotobibliotheek kunt zoeken en foto's voor uw avonturen kunt importeren.",
"immich_disabled": "Immich-integratie succesvol uitgeschakeld!",
"immich_enabled": "Immich-integratie succesvol ingeschakeld!",
"immich_error": "Fout bij updaten van Immich-integratie",
"immich_integration": "Immich-integratie",
"immich_updated": "Immich-instellingen zijn succesvol bijgewerkt!",
"integration_enabled": "Integratie ingeschakeld",
"integration_fetch_error": "Fout bij het ophalen van gegevens uit de Immich-integratie",
"integration_missing": "De Immich-integratie ontbreekt in de backend",
"load_more": "Laad meer",
"no_items_found": "Geen artikelen gevonden",
"query_required": "Er is een zoekopdracht vereist",
"server_down": "De Immich-server is momenteel offline of onbereikbaar",
"server_url": "Immich-server-URL",
"update_integration": "Integratie bijwerken",
"documentation": "Immich-integratiedocumentatie",
"localhost_note": "Opmerking: localhost zal hoogstwaarschijnlijk niet werken tenzij dit bewust zo geconfigureerd is in het docker-netwerk. \nHet is aanbevolen om het IP-adres van de server of de domeinnaam te gebruiken.",
"api_key_placeholder": "Voer uw Immich API -sleutel in",
"enable_integration": "Integratie inschakelen",
@@ -685,15 +574,10 @@
"validation_error": "Er is een fout opgetreden bij het valideren van de Immich -integratie. \nControleer uw server -URL en API -toets."
},
"recomendations": {
"address": "Adres",
"contact": "Contact",
"phone": "Telefoon",
"recommendation": "Aanbeveling",
"website": "Website",
"recommendations": "Aanbevelingen",
"adventure_recommendations": "Avontuuraanbevelingen",
"food": "Voedsel",
"miles": "Kilometers",
"tourism": "Toerisme"
},
"lodging": {
@@ -701,30 +585,17 @@
"bnb": "Bed and breakfast",
"cabin": "Cabine",
"campground": "Camping",
"check_in": "Inchecken",
"check_out": "Uitchecken",
"date_and_time": "Datum",
"edit": "Bewerking",
"edit_lodging": "Bewerkingen bewerken",
"error_editing_lodging": "Foutbewerkingsbewerkingen",
"hostel": "Hostel",
"hotel": "Hotel",
"house": "Huis",
"lodging_added": "Lodging met succes toegevoegd!",
"lodging_delete_error": "Fout bij het verwijderen van accommodatie",
"lodging_deleted": "Met succes verwijderd!",
"lodging_edit_success": "Lodging met succes bewerkt!",
"lodging_type": "Lodging type",
"motel": "Motel",
"new_lodging": "Nieuwe accommodatie",
"other": "Ander",
"provide_start_date": "Geef een startdatum op",
"reservation_number": "Reserveringsnummer",
"resort": "Toevlucht",
"start": "Begin",
"type": "Type",
"villa": "Villa",
"current_timezone": "Huidige tijdzone"
"villa": "Villa"
},
"google_maps": {
"google_maps_integration_desc": "Sluit uw Google Maps-account aan om zoekresultaten en aanbevelingen van hoge kwaliteit te krijgen."