[v0.12.0 pre] Planning & Itinerary Overhaul, Recommendation Engine, OIDC Enhancements, and More (#931)

* Fixes [REQUEST] Email-based auto-linking for OIDC
Fixes #921

* Add ClusterMap integration for regions and cities with fit-to-bounds functionality

* Update COUNTRY_REGION_JSON_VERSION to v3.0 and modify state ID generation to use ISO2 code

* fix: handle email verification required case during signup

Updated the signup action to return a specific message when the backend responds with a 401 status, indicating that the signup succeeded but email verification is required. This allows the frontend to display the appropriate message using an i18n key.

* feat: add Advanced Configuration documentation with optional environment variables

* Fixes #511

* fix: update appVersion to v0.11.0-main-121425 and enhance socialProviders handling in settings page

* feat: implement social signup controls and update documentation for new environment variables

* fix: update LocationCard props and enhance restore data functionality

- Changed the user prop to null in LocationCard component on the dashboard page.
- Added isRestoring state to manage loading state during data restoration in settings.
- Updated the restore button to show a loading spinner when a restore operation is in progress.

* fix: update appVersion to v0.12.0-pre-dev-121625

* feat: implement itinerary planning feature with CollectionItineraryPlanner component and related updates

* feat: add overnight lodging indicator and functionality to CollectionItineraryPlanner

* feat: add compact display option to LocationCard and enhance lodging filtering in CollectionItineraryPlanner

* feat(itinerary): add itinerary management features and link modal

- Introduced ItineraryViewSet for managing itinerary items with create and reorder functionalities.
- Added itinerary linking capabilities in CollectionModal and CollectionItineraryPlanner components.
- Implemented new ItineraryLinkModal for linking existing items to specific dates.
- Enhanced the frontend with new modals for creating locations, lodging, transportation, notes, and checklists.
- Updated the backend to handle itinerary item creation and reordering with appropriate permissions.
- Improved data handling for unscheduled items and their association with the itinerary.
- Added new dependencies to the frontend for enhanced functionality.

* feat(itinerary): implement auto-generate functionality for itinerary items based on dated records

* feat(collection): enhance collection sharing logic and improve data handling on invite acceptance

* fix: update appVersion to correct pre-dev version

* feat(wikipedia): implement image selection from Wikipedia with enhanced results display

* Refactor code structure for improved readability and maintainability

* feat: add CollectionRecommendationView component for displaying location recommendations

- Implemented CollectionRecommendationView.svelte to handle location recommendations based on user input and selected categories.
- Added Recommendation and RecommendationResponse types to types.ts for better type safety and structure.
- Updated collections/[id]/+page.svelte to include a new view for recommendations, allowing users to switch between different views seamlessly.

* fix: update appVersion and improve button accessibility in collection views

* feat: add canModify prop to collection components for user permission handling

* feat: add itinerary removal functionality to various cards and update UI components

- Implemented `removeFromItinerary` function in `LodgingCard`, `NoteCard`, and `TransportationCard` to allow users to remove items from their itinerary.
- Replaced the trash icon with a calendar remove icon in `LocationCard`, `LodgingCard`, `NoteCard`, and `TransportationCard` for better visual representation.
- Updated the dropdown menus in `LodgingCard`, `NoteCard`, and `TransportationCard` to include the new remove from itinerary option.
- Enhanced `CollectionItineraryPlanner` to pass itinerary items to the respective cards.
- Removed `PointSelectionModal.svelte` as it is no longer needed.
- Refactored `LocationMedia.svelte` to integrate `ImageManagement` component and clean up unused code related to image handling.

* feat: enhance itinerary management with deduplication and initial visit date handling

* feat: add FullMap component for enhanced map functionality with clustering support

- Introduced FullMap.svelte to handle map rendering, clustering, and marker management.
- Updated map page to utilize FullMap component, replacing direct MapLibre usage.
- Implemented clustering options and marker properties handling in FullMap.
- Added utility functions for resolving theme colors and managing marker states.
- Enhanced user experience with hover popups and improved loading states for location details.
- Updated app version to v0.12.0-pre-dev-122225.

* feat: enhance map interaction for touch devices with custom popup handling

* feat: add progress tracker for folder views to display visited and planned locations

* feat: add map center and zoom state management with URL synchronization

* feat: add status and days until start fields to collections with filtering options

* Component folder structure changes

* feat: add LodgingMedia and LodgingModal components for managing lodging details and media attachments

feat: implement LocationSearchMap component for interactive location searching and mapping functionality

* fix: update contentType in ImageManagement component to 'lodging' for correct media handling

* feat: enhance lodging management with date validation and update messages

* feat: implement lodging detail page with server-side loading and image modal functionality

- Added a new server-side load function to fetch lodging details by ID.
- Created a new Svelte component for the lodging detail page, including image carousel and map integration.
- Implemented a modal for displaying images with navigation.
- Enhanced URL handling in the locations page to only read parameters.

* feat: add Transportation modal component and related routes

- Implemented TransportationModal component for creating and editing transportation entries.
- Added server-side loading for transportation details in the new route [id]/+page.server.ts.
- Created a new Svelte page for displaying transportation details with image and attachment handling.
- Integrated modal for editing transportation in the transportation details page.
- Updated lodging routes to include a modal for editing lodging entries.
- Removed unused delete action from lodging server-side logic.

* feat: add start_code and end_code fields to Transportation model and update related components

* feat: implement date validation for itinerary items and add day picker modal for scheduling

* Reorder town and county checks in geocoding.py

Fix detection if only town exists for a location but county is no city name

* Use address keys only if city is found

* Make sure reverse geocoding uses correct key for cities (#938)

* Reorder town and county checks in geocoding.py

Fix detection if only town exists for a location but county is no city name

* Use address keys only if city is found

* Refactor code structure for improved readability and maintainability

* Enhance collection management with modal updates and item handling

* feat: integrate CollectionMap component in collections page and update map titles in lodging and transportation pages

- Replaced inline map implementation with CollectionMap component in collections/[id]/+page.svelte for better modularity.
- Updated the map title in lodging/[id]/+page.svelte to reflect lodging context.
- Updated the map title in transportations/[id]/+page.svelte to reflect transportation context.
- Added functionality to collect and render GeoJSON data from transportation attachments in transportations/[id]/+page.svelte.

* chore: update copyright year to 2026 in various files

* feat: enhance backup export functionality with itinerary items and export IDs

* fix: improve dropdown close behavior by handling multiple event types

* fix: remove unnecessary cache decorator from globespin function

* feat: add initial visit date support in ChecklistModal and NoteModal, with UI suggestions for prefilled dates

* feat: add details view for checklist and note cards with edit functionality

* feat: add travel duration and GPX distance calculation to Transportation model and UI

* feat: add primary image support to Collection model, serializers, and UI components

* Refactor calendar components and enhance event detail handling

- Replaced direct calendar implementation with a reusable CalendarComponent in the calendar route.
- Introduced EventDetailsModal for displaying event details, improving modularity and readability.
- Added functionality to fetch event details asynchronously when an event is clicked.
- Implemented ICS calendar download functionality with loading state management.
- Enhanced collections page to support calendar view, integrating event handling and timezone management.
- Improved lodging and transportation pages to display local time for stays and trips, including timezone badges.
- Cleaned up unused code and comments for better maintainability.

* feat: enhance hero image handling in collection view by prioritizing primary image

* chore: update .env.example to include account email verification configuration

* feat: enhance LodgingCard and TransportationCard components with expandable details and improved layout

* feat: add price and currency fields to locations, lodging, and transportation components

- Introduced price and price_currency fields in LocationModal, LodgingDetails, LodgingModal, TransportationDetails, and TransportationModal components.
- Implemented MoneyInput and CurrencyDropdown components for handling monetary values and currency selection.
- Updated data structures and types to accommodate new price and currency fields across various models.
- Enhanced cost summary calculations in collections and routes to display total costs by currency.
- Added user preference for default currency in settings, affecting new item forms.
- Updated UI to display price information in relevant components, ensuring consistent formatting and user experience.

* feat: add Development Timeline link to overview and create timeline documentation

* feat: enhance map functionality with search and zoom features

- Updated availableViews in collection page to include map view based on lodging and transportation locations.
- Added search functionality to the map page, allowing users to filter pins by name and category.
- Implemented auto-zoom feature to adjust the map view based on filtered search results.
- Introduced a search bar with a clear button for better user experience.

* feat: enhance ISO code extraction and region matching logic in extractIsoCode function

* feat: enhance extractIsoCode function with normalization for locality matching

* feat: update extractIsoCode function to include additional ISO3166 levels for improved region matching

* feat: enhance extractIsoCode function to handle cases without city information and update CollectionMap to bind user data

* feat: add cron job for syncing visited regions and cities, enhance Docker and supervisord configurations

* feat: add CollectionItineraryDay model and related functionality for itinerary day metadata management

* feat: implement cleanup of out-of-range itinerary items and notify users of potential impacts on itinerary when dates change

* Refactor collection page for improved localization and code clarity

- Removed unused imports and consolidated cost category labels to be reactive.
- Updated cost summary function to accept localized labels.
- Enhanced localization for various UI elements, including buttons, headings, and statistics.
- Improved user feedback messages for better clarity and consistency.
- Ensured all relevant text is translatable using the i18n library.

* feat: add collaborator serialization and display in collections

- Implemented `_build_profile_pic_url` and `_serialize_collaborator` functions for user profile picture URLs and serialization.
- Updated `CollectionSerializer` and `UltraSlimCollectionSerializer` to include collaborators in the serialized output.
- Enhanced `CollectionViewSet` to prefetch shared_with users for optimized queries.
- Modified frontend components to display collaborators in collection details, including profile pictures and initials.
- Added new localization strings for collaborators.
- Refactored map and location components to improve usability and functionality.
- Updated app version to reflect new changes.

* feat: add dynamic lodging icons based on type in CollectionMap component

* feat: add CollectionStats component for detailed trip statistics

- Implemented CollectionStats.svelte to display various statistics related to the collection, including distances, activities, and locations visited.
- Enhanced CollectionMap.svelte to filter activities based on date range using new getActivityDate function.
- Updated LocationSearchMap.svelte to handle airport mode for start and end locations.
- Modified types.ts to include is_global property in CollectionItineraryItem for trip-wide items.
- Updated +page.svelte to integrate the new stats view and manage view state accordingly.

* feat: enhance itinerary management by removing old items on date change for notes and checklists; normalize date handling in CollectionMap

* feat: add functionality to change day and move items to trip-wide itinerary

- Implemented changeDay function in ChecklistCard, LocationCard, LodgingCard, NoteCard, and TransportationCard components to allow users to change the scheduled day of items.
- Added a button to move items to the global (trip-wide) itinerary in the aforementioned components, with appropriate dispatch events.
- Enhanced CollectionItineraryPlanner to handle moving items to the global itinerary and added UI elements for unscheduled items.
- Updated ItineraryDayPickModal to support the deletion of source visits when moving locations.
- Added new translations for "Change Day" and "Move Trip Wide" in the English locale.

* fix: specify full path for python3 in cron job and add shell and path variables

* fix: update appVersion to v0.12.0-pre-dev-010726

* feat: enhance CollectionItineraryPlanner and CollectionStats with dynamic links and transport type normalization

* Add Dev Container + WSL install docs and link in install guide (#944) (#951)

* feat: enhance internationalization support in CollectionMap and CollectionStats components

- Added translation support for various labels and messages in CollectionMap.svelte and CollectionStats.svelte using svelte-i18n.
- Updated English and Chinese locale files to include new translation keys for improved user experience.
- Simplified the rendering of recommendation views in the collections page.

* Refactor itinerary management and UI components

- Updated ItineraryViewSet to handle visit updates and creations more efficiently, preserving visit IDs when moving between days.
- Enhanced ChecklistCard, LodgingCard, TransportationCard, and NoteCard to include a new "Change Day" option in the actions menu.
- Improved user experience in CollectionItineraryPlanner by tracking specific itinerary items being moved and ensuring only the relevant entries are deleted.
- Added new location sharing options in LodgingCard and TransportationCard for Apple Maps, Google Maps, and OpenStreetMap.
- Updated translations in en.json for consistency and clarity.
- Minor UI adjustments for better accessibility and usability across various components.

* feat: implement action menus and close event handling in card components

* feat: refactor Dockerfile and supervisord configuration to remove cron and add periodic sync script

* feat: enhance LocationSearchMap and TransportationDetails components with initialization handling and airport mode logic

* feat: add airport and location search mode labels to localization file

* feat: enhance periodic sync logging and improve airport mode handling in LocationSearchMap

* feat: enhance unscheduled items display with improved card interactions and accessibility

* Add dev compose for hot reload and update WSL dev container docs (#958)

* feat: enhance localization for itinerary linking and transportation components

* Localization: update localization files with new keys and values

* fix: improve error messages for Overpass API responses

* chore: update dependencies in frontend package.json and pnpm-lock.yaml

- Updated @sveltejs/adapter-node from ^5.2.12 to ^5.4.0
- Updated @sveltejs/adapter-vercel from ^5.7.0 to ^6.3.0
- Updated tailwindcss from ^3.4.17 to ^3.4.19
- Updated typescript from ^5.8.3 to ^5.9.3
- Updated vite from ^5.4.19 to ^5.4.21

* chore: update dependencies in pnpm-lock.yaml to latest versions

* Refactor code structure for improved readability and maintainability

* Refactor code structure for improved readability and maintainability

* fix: update package dependencies to resolve compatibility issues

* Add "worldtravel" translations to multiple locale files

- Added "worldtravel" key with translations for Spanish, French, Hungarian, Italian, Japanese, Korean, Dutch, Norwegian, Polish, Brazilian Portuguese, Russian, Slovak, Swedish, Turkish, Ukrainian, and Chinese.
- Updated the navigation section in each locale file to include the new "worldtravel" entry.

* Add new screenshots and update email verification message in locale file

* feat: Implement data restoration functionality with file import

- Added a new action `restoreData` in `+page.server.ts` to handle file uploads for restoring collections.
- Enhanced the UI in `+page.svelte` to include an import button and a modal for import progress.
- Integrated file input handling to trigger form submission upon file selection.
- Removed unused GSAP animations from the login, profile, and signup pages for cleaner code.

* feat: Add modals for creating locations and lodging from recommendations, enhance image import functionality

* fix: Adjust styles to prevent horizontal scroll and enhance floating action button visibility

* feat: Enhance error handling and messaging for Google Maps and OpenStreetMap geocoding functions

* fix: Enhance error messaging for Google Maps access forbidden response

* feat: Add User-Agent header to Google Maps API requests and refine error messaging for access forbidden response

* fix: Update User-Agent header in Google Maps API requests for improved compatibility

* fix: Disable proxy settings in Google Maps API request to prevent connection issues

* fix: Update Trivy security scan configuration and add .trivyignore for known false positives

* fix: Refactor update method to handle is_public cascading for related items

* feat: Integrate django-invitations for user invitation management and update settings

* feat: Add Tailwind CSS and DaisyUI plugin for styling

* feat: Add Tailwind CSS and DaisyUI plugin for styling

* feat: Add "Invite a User" guide and update navigation links

* docs: Update "Invite a User" guide to include email configuration tip

* feat: Update email invitation template for improved styling and clarity

* fix: Remove trailing backslash from installation note in Unraid documentation

* feat: Add export/import messages and user email verification prompts in multiple languages

* Squashed commit of the following:

commit a993a15b93ebb7521ae2e5cc31596b98b29fcd6c
Author: Alex <div@alexe.at>
Date:   Mon Jan 12 20:44:47 2026 +0100

    Translated using Weblate (German)

    Currently translated at 100.0% (1048 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

commit fdc455d9424fbb0f6b72179d9eb1340411700773
Author: Ettore Atalan <atalanttore@googlemail.com>
Date:   Sat Jan 10 23:24:23 2026 +0100

    Translated using Weblate (German)

    Currently translated at 100.0% (1048 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

commit 5942129c55e89dd999a13d4df9c40e6e3189355c
Author: Orhun <orhunavcu@gmail.com>
Date:   Sun Jan 11 13:05:31 2026 +0100

    Translated using Weblate (Turkish)

    Currently translated at 100.0% (1048 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/tr/

commit 8712e43d8ba4a7e7fe163fb454d6577187f9a375
Author: Henrique Fonseca Veloso <henriquefv@tutamail.com>
Date:   Fri Jan 9 22:53:11 2026 +0100

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/pt_BR/

commit 18ee56653470413afe8d71ecd2b5028f6e4cf118
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:57 2026 +0100

    Translated using Weblate (Dutch)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/nl/

commit 57783c544e583c035c8b57b5c10ca320f25f399e
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:14 2026 +0100

    Translated using Weblate (Arabic)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/ar/

commit fb09edfd85bc85234b1c1ba7dd499f2915093fff
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:26 2026 +0100

    Translated using Weblate (Spanish)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

commit 554a207d8e454a1f7ae826e2a40d389b94be5512
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:21 2026 +0100

    Translated using Weblate (German)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

commit b70b9db27fb8607beefeb288185601c8f5eae28d
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:53:02 2026 +0100

    Translated using Weblate (Norwegian Bokmål)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/nb_NO/

commit 3b467caa9007c553e4ae7de97f53b6e462161ea3
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:53:07 2026 +0100

    Translated using Weblate (Polish)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/pl/

commit 30fbbfba3572c8f78ec7c7e1a231e363aca1ef10
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:53:17 2026 +0100

    Translated using Weblate (Russian)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/ru/

commit 8cecb492cfcac0a1f93ee8919f7b41d978d331ee
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:42 2026 +0100

    Translated using Weblate (Italian)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/it/

commit f0d3d41029c89bfa83d5891ee7af70241f27b7be
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:38 2026 +0100

    Translated using Weblate (Hungarian)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/hu/

commit 102e0f1912d010d38755a1713abb2a7f7564aafb
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:53:21 2026 +0100

    Translated using Weblate (Slovak)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sk/

commit 428b8f18cf6195a96b55109e0221413d82415a2f
Author: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Date:   Sat Jan 10 08:55:28 2026 +0100

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (1048 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/uk/

commit 1a71aaf279ecab26c0c1fede05025732e6dcfa5e
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:53:27 2026 +0100

    Translated using Weblate (Swedish)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sv/

commit 36ec3701f3a1a904e7c42ac4ffbe6a050dc6d1ed
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:53:43 2026 +0100

    Translated using Weblate (Chinese (Simplified Han script))

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/zh_Hans/

commit 65d8b74b340c877cad2028b7142c783a1b568d49
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:48 2026 +0100

    Translated using Weblate (Japanese)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/ja/

commit 4d11d1d31022583657e93aee70301a8ffcde1340
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:52 2026 +0100

    Translated using Weblate (Korean)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/ko/

commit bd1135bcb965ad73cf493771b15081cc97cf513a
Author: Orhun <orhunavcu@gmail.com>
Date:   Fri Jan 9 22:53:33 2026 +0100

    Translated using Weblate (Turkish)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/tr/

commit 2c3d814119f4cf2dabd20933699f5b991f20f3e6
Author: Anonymous <noreply@weblate.org>
Date:   Fri Jan 9 22:52:32 2026 +0100

    Translated using Weblate (French)

    Currently translated at 99.9% (1047 of 1048 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/fr/

* Refactor code structure and remove redundant code blocks for improved readability and maintainability

* fix: Correct appVersion to match the latest pre-release version

* fix: Add missing vulnerability reference for jaraco.context in .trivyignore

---------

Co-authored-by: Lars Lehmann <33843261+larsl-net@users.noreply.github.com>
Co-authored-by: Lars Lehmann <lars@lmail.eu>
Co-authored-by: Nick Petrushin <n.a.petrushin@gmail.com>
This commit is contained in:
Sean Morley
2026-01-14 10:22:14 -05:00
committed by GitHub
parent d954ac057d
commit c39ff2449e
206 changed files with 33830 additions and 14254 deletions

View File

@@ -1,16 +1,11 @@
{
"navbar": {
"adventures": "Maceralar",
"collections": "Koleksiyonlar",
"worldtravel": "Dünya Seyahati",
"map": "Harita",
"users": "Kullanıcılar",
"search": "Ara",
"profile": "Profil",
"greeting": "Merhaba",
"my_adventures": "Maceralarım",
"my_tags": "Etiketlerim",
"tag": "Etiket",
"shared_with_me": "Benimle Paylaşılanlar",
"settings": "Ayarlar",
"logout": ıkış",
@@ -32,16 +27,14 @@
"northernLights": "Kuzey Işıkları",
"dim": "Loş"
},
"navigation": "Navigasyon"
"navigation": "Navigasyon",
"worldtravel": "Dünya Seyahati"
},
"about": {
"about": "Hakkında",
"license": "GPL-3.0 Lisansı altında lisanslanmıştır.",
"source_code": "Kaynak Kodu",
"message": "Amerika Birleşik Devletleri'nde ❤️ ile üretilmiştir.",
"oss_attributions": "Açık Kaynak Atıfları",
"nominatim_1": "Konum Arama ve Coğrafi Kodlama sağlayıcısı",
"nominatim_2": "Verileri ODbL lisansı altında lisanslanmıştır.",
"other_attributions": "Ek atıflar README dosyasında bulunabilir.",
"generic_attributions": "Etkinleştirilmiş entegrasyonlar ve hizmetler için atıfları görüntülemek üzere AdventureLog'a giriş yapın.",
"close": "Kapat",
@@ -79,11 +72,6 @@
"invalid_date_range": "Geçersiz tarih aralığı",
"timezone": "Zaman Dilimi",
"no_visits": "Ziyaret yok",
"departure_timezone": "Kalkış Zaman Dilimi",
"arrival_timezone": "Varış Zaman Dilimi",
"departure_date": "Kalkış Tarihi",
"arrival_date": "Varış Tarihi",
"no_image_found": "Görsel bulunamadı",
"collection_link_location_error": "Konumu koleksiyona bağlarken hata oluştu",
"location_delete_confirm": "Bu konumu silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"checklist_delete_confirm": "Bu kontrol listesini silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
@@ -95,7 +83,6 @@
"delete_transportation": "Ulaşım Kaydınız Sil",
"delete_lodging": "Konaklamayı sil",
"open_details": "Ayrıntıları Aç",
"edit_adventure": "Macera Düzenle",
"edit_location": "Konumu Düzenle",
"remove_from_collection": "Koleksiyondan Kaldır",
"add_to_collection": "Koleksiyona Ekle",
@@ -113,9 +100,7 @@
"coordinates": "Koordinatlar",
"copy_coordinates": "Koordinatları Kopyala",
"visits": "Ziyaretler",
"create_new": "Yeni Oluştur...",
"adventure": "Macera",
"count_txt": "aramanızla eşleşen sonuçlar",
"create_new": "Yeni Oluştur",
"sort": "Sıralama",
"order_by": "Sıralama Ölçütü",
"order_direction": "Sıralama Şekli",
@@ -124,103 +109,68 @@
"updated": "Güncellenme",
"name": "İsim",
"date": "Tarih",
"activity_types": "Etkinlik Türleri",
"tags": "Etiketler",
"add_a_tag": "Etiket ekle",
"date_constrain": "Koleksiyon tarihleri ile sınırla",
"rating": "Derecelendirme",
"my_images": "Fotoğraflarım",
"no_images": "Görsel yok",
"distance": "Mesafe",
"share_location": "Bu konumu paylaşın!",
"share_collection": "Bu koleksiyonu paylaşın!",
"copy_link": "Bağlantıyı Kopyala",
"sun_times": "Güneş Zamanları",
"sunrise": "Gün Doğumu",
"sunset": "Gün Batımı",
"image": "Görsel",
"upload_image": "Görsel Yükle",
"open_in_maps": "Haritada Aç",
"url": "Web Adresi",
"fetch_image": "Görseli Getir",
"wikipedia": "Vikipedi",
"add_notes": "Not ekle",
"warning": "Uyarı",
"my_adventures": "Maceralarım",
"no_linkable_adventures": "Bu koleksiyonla bağlantılı hiçbir macera bulunamadı.",
"add": "Ekle",
"save_next": "Kaydet & İleri",
"end_date": "Bitiş Tarihi",
"start_date": "Başlangıç Tarihi",
"remove": "Kaldır",
"location": "Konum",
"search_for_location": "Konum ara",
"clear_map": "Haritayı temizle",
"search_results": "Arama Sonuçları",
"collection_no_start_end_date": "Koleksiyona bir başlangıç ve bitiş tarihi eklemek, koleksiyon sayfasında gezi planlama özelliklerini kullanmanıza olanak tanır.",
"no_results": "Hiçbir sonuç bulunamadı",
"wiki_location_desc": "Bulunduğunuz konumun adıyla eşleşen Vikipedi makalesinden alıntı çeker.",
"attachments": "Ekler",
"attachment": "Ek",
"images": "Görseller",
"image_modal_navigate": "Gezinmek için ok tuşlarını kullanın",
"generate_desc": "Açıklama Oluştur",
"public_location": "Herkese Açık Konum",
"location_information": "Konum Bilgisi",
"link": "Bağlantı",
"transportation": "Ulaşım",
"note": "Not",
"checklist": "Kontrol listesi",
"collection_archived": "Bu koleksiyon arşivlenmiştir.",
"visit_link": "Bağlantıyı ziyaret edin",
"collection_completed": "Bu koleksiyonu tamamladınız!",
"collection_stats": "Koleksiyon İstatistikleri",
"keep_exploring": "Keşfetmeye devam edin!",
"linked_adventures": "Bağlantılı Maceralar",
"notes": "Notlar",
"checklists": "Kontrol listeleri",
"transportations": "Ulaşım Seçenekleri",
"adventure_calendar": "Macera Takvimi",
"visit_calendar": "Ziyaret Takvimi",
"day": "Gün",
"itineary_by_date": "Tarihe Göre Gezi Planı",
"nothing_planned": "Bugün için planlanmış bir şey yok. Yolculuğun tadını çıkar!",
"copied_to_clipboard": "Panoya kopyalandı!",
"copy_failed": "Kopyalama başarısız",
"show": "Göster",
"hide": "Gizle",
"clear_location": "Konumu Temizle",
"starting_airport": "Kalkış Havaalanı",
"view_profile": "Profili Görüntüle",
"joined": "Katıldı",
"ending_airport": "Varış Havaalanı",
"no_location_found": "Konum bulunamadı",
"links": "Bağlantılar",
"description": "Açıklama",
"sources": "Kaynaklar",
"collection_adventures": "Koleksiyon Maceralarını Dahil Et",
"collection_locations": "Koleksiyon Konumlarını Dahil Et",
"filter": "Filtre",
"category_filter": "Kategori Filtresi",
"category": "Kategori",
"clear": "Temizle",
"my_collections": "Koleksiyonlarım",
"open_filters": "Filtreleri Aç",
"archived_collections": "Arşivlenmiş Koleksiyonlar",
"share": "Paylaş",
"private": "Gizli",
"public": "Herkese Açık",
"archived": "Arşivlenmiş",
"name_location": "isim, konum",
"loading_adventures": "Maceralar yükleniyor...",
"all_adventures_already_linked": "Bu koleksiyona eklenebilecek tüm maceralar zaten bağlı.",
"edit_collection": "Koleksiyonu Düzenle",
"unarchive": "Arşivden Çıkar",
"archive": "Arşivle",
"no_collections_to_add_location": "Bu konumu ekleyecek koleksiyon bulunamadı.",
"create_collection_first": "Maceralarınızı ve anılarınızı düzenlemek için önce bir koleksiyon oluşturun.",
"done": "Bitti",
"adventures_available": "Uygun Maceralar",
"collections_linked": "Bağlı Koleksiyonlar",
"not_visited": "Ziyaret Edilmedi",
"archived_collection_message": "Koleksiyon başarıyla arşivlendi!",
@@ -235,65 +185,37 @@
"planned": "Planlandı",
"duration": "Süre",
"all": "Hepsi",
"image_removed_success": "Görsel başarıyla kaldırıldı!",
"image_removed_error": "Görseli kaldırırken hata oluştu",
"no_image_url": "Belirtilen URLde herhangi bir görsel bulunamadı.",
"image_upload_success": "Görsel başarıyla yüklendi!",
"image_upload_error": "Görsel yüklenirken hata oluştu",
"dates": "Tarihler",
"wiki_image_error": "Vikipediden görsel alınırken hata oluştu",
"start_before_end_error": "Başlangıç tarihi, bitiş tarihinden önce olmalıdır",
"actions": "Eylemler",
"see_adventures": "Maceraları Görüntüle",
"image_fetch_failed": "Görsel alınamadı",
"no_location": "Lütfen bir konum girin",
"no_description_found": "Açıklama bulunamadı",
"location_created": "Konum oluşturuldu",
"location_create_error": "Konum oluşturulamadı",
"lodging": "Konaklama",
"create_location": "Konum Oluştur",
"location_updated": "Konum güncellendi",
"location_update_error": "Konum güncellenemedi",
"set_to_pin": "Sabitle",
"category_fetch_error": "Kategoriler yüklenemedi",
"new_location": "Yeni Konum",
"basic_information": "Temel Bilgiler",
"no_locations_to_recommendations": "Hiçbir konum bulunamadı. Öneriler almak için en az bir konum ekleyin.",
"display_name": "Görünen Ad",
"adventure_not_found": "Görüntülenecek macera bulunmuyor. Sağ alttaki artı butonunu kullanarak yeni macera ekleyin veya filtreleri değiştirmeyi deneyin!",
"collection_contents": "Koleksiyon İçeriği",
"no_adventures_found": "Hiç macera bulunamadı",
"no_locations_found": "Hiç konum bulunamadı",
"no_adventures_message": "Maceralarını belgelemeye ve yenilerini planlamaya başla. Her yolculuğun anlatmaya değer bir hikayesi vardır.",
"mark_visited": "Ziyaret Edildi Olarak İşaretle",
"error_updating_regions": "Bölgeler güncellenirken hata oluştu",
"regions_updated": "bölgeler güncellendi",
"cities_updated": "şehirler güncellendi",
"visited_region_check": "Ziyaret Edilen Bölge Kontrolü",
"visited_region_check_desc": "Bunu seçerek, sunucu ziyaret ettiğiniz tüm maceraları kontrol eder ve bulundukları bölgeleri dünya seyahatinde \"ziyaret edilmiş\" olarak işaretler.",
"update_visited_regions": "Ziyaret Edilen Bölgeleri Güncelle",
"update_visited_regions_disclaimer": "Bu işlem, ziyaret ettiğiniz macera sayısına bağlı olarak biraz zaman alabilir.",
"link_new": "Yeni Bağlantı Ekle...",
"add_new": "Yeni Ekle...",
"from": "Nereden",
"to": "Nereye",
"will_be_marked_location": "Konum kaydedildiğinde ziyaret edilmiş olarak işaretlenecek.",
"start": "Başlat",
"end": "Bitir",
"emoji_picker": "Emoji Seçici",
"download_calendar": "Takvimi İndir",
"all_day": "Tüm Gün",
"ordered_itinerary": "Sıralı Gezi Planı",
"itinerary": "Seyahat Programı",
"all_linked_items": "Tüm Bağlantılı Öğeler",
"date_itinerary": "Seyahat tarihi",
"no_ordered_items": "Burada görmek için koleksiyona tarihli öğeler ekleyin.",
"date_information": "Tarih Bilgisi",
"flight_information": "Uçuş Bilgisi",
"out_of_range": "Seyahat planı tarihi aralığında değil",
"preview": "Önizle",
"finding_recommendations": "Bir sonraki maceranız için keşfedilmemiş güzellikleri buluyor",
"location_details": "Konum Detayları",
"city": "Şehir",
"region": "Bölge",
"md_instructions": "Markdown metninizi buraya yazın...",
@@ -302,13 +224,10 @@
"attachment_upload_error": "Dosya yüklenirken hata oluştu",
"upload": "Yükle",
"attachment_delete_success": "Dosya başarıyla silindi!",
"attachment_update_success": "Dosya başarıyla güncellendi!",
"attachment_name": "Dosya Adı",
"gpx_tip": "Haritada görüntülemek için GPX dosyalarını ek bölümüne yükleyin!",
"attachment_update_error": "Dosya güncellenirken hata oluştu",
"lodging_information": "Konaklama Bilgisi",
"price": "Ücret",
"reservation_number": "Rezervasyon Numarası",
"filters_and_sort": "Filtreler & Sırala",
"filters_and_stats": "Filtreler & İstatistikler",
"travel_progress": "Seyahat İlerleme Durumu",
@@ -415,7 +334,6 @@
"activity_name": "Aktivite Adı",
"activity_name_placeholder": "Sabah Koşusu",
"sport_type": "Spor Türü",
"sport_type_placeholder": "Patika Koşusu",
"elapsed_time": "Geçen Süre",
"elevation_gain": "Rakım Artışı",
"elevation_loss": "Rakım Kaybı",
@@ -439,9 +357,7 @@
"connect_to_wanderer": "Wanderer'a Bağlan",
"activity_statistics": "Aktivite İstatistikleri",
"activity_statistics_description": "Fitness ve aktivite başarımlarınız",
"activities_name": "Aktiviteler",
"total_recorded": "Toplam kayıt",
"total_covered": "Toplam kat edilen",
"active_duration": "Aktif süre",
"activity_name_required": "Aktivite adı gerekli",
"confirm_delete_activity": "Bu aktiviteyi silmek istediğinize emin misiniz?",
@@ -456,19 +372,7 @@
"rest": "Dinlenme",
"high": "Yüksek",
"low": "Alçak",
"route_map": "Rota Haritası",
"selected_images": "Seçilen Görseller",
"selected_attachments": "Seçilen Ekler",
"my_attachments": "Eklerim",
"linked_locations": "Bağlantılı Konumlar",
"lodging_save_error": "Konaklama kaydedilirken hata oluştu",
"attachment_removed_success": "Ek başarıyla kaldırıldı",
"attachment_removed_error": "Ek dosya kaldırılırken hata oluştu",
"no_attachments": "Hiç Ek Dosya Yok",
"no_attachments_desc": "Başlamak için dosya yükleyin",
"attachments_upload_info": "Ekler, kaydı kaydettikten sonra yüklenecek",
"image_upload_info": "Görseller, kayıt kaydedildikten sonra yüklenecektir",
"no_images_desc": "Başlamak için görsel yükleyin",
"activities_text": "aktiviteler",
"total_climbed": "Toplam Tırmanış",
"distance_covered": "Kat edilen mesafe",
@@ -477,18 +381,113 @@
"recorded_sessions": "Kaydedilmiş Oturumlar",
"activity_breakdown_by_category": "Kategoriye Göre Aktivite Dağılımı",
"dates_not_saved": "Henüz Ziyaret Eklenmedi",
"dates_not_saved_description": "Kaydetmek için ziyaret ekle'ye tıklayın"
"dates_not_saved_description": "Kaydetmek için ziyaret ekle'ye tıklayın",
"active_days": "Aktif Günler",
"add_here": "Buraya ekle",
"airport_code_examples": "JFK, LAX, LHR...",
"airport_search_mode": "Havaalanı Arama Modu",
"all_locations_already_linked": "Tüm konumlar zaten bu koleksiyona bağlı.",
"arrival_airport": "Varış Havaalanı",
"avg_rating": "Ort. Derecelendirme",
"burned": "yanmış",
"clear_search": "Aramayı temizle",
"click_map_add_marker": "Bir işaretçi bırakmak için haritayı tıklayın ve ardından buraya ekleyin.",
"completed": "Tamamlanmış",
"content_media": "İçerik",
"countries": "Ülkeler",
"country": "ülke",
"departure_airport": "Kalkış Havaalanı",
"distance_traveled": "Kat Edilen Mesafe",
"end_location": "Bitiş Konumu",
"enter_location_display_name": "Konumun görünen adını girin",
"files": "Dosyalar",
"flight": "Uçuş",
"folder": "Dosya",
"folder_view": "Klasör görünümü - tüm verileri gösterir",
"footprints": "Ayak izleri",
"gained": "kazanılmış",
"geographic_breakdown": "Coğrafi Dağılım",
"gpx_routes": "GPX Rotaları",
"hide_filters": "Filtreleri Gizle",
"images_captured": "Yakalanan görüntüler",
"in": "içinde",
"in_progress": "Devam etmekte",
"items": "öğeler",
"itinerary_link_modal": {
"add_here": "Buraya Ekle",
"add_here_keep_date": "Ekle (Tarihi Tut)",
"add_to_itinerary": "Seyahat Programına Ekle",
"already_added": "Zaten Eklendi",
"already_added_on_this_day": "Bu günde zaten eklendi",
"already_added_on_this_day_desc": "Bu öğeler zaten bu gün için planlandı.",
"already_added_other_days": "Diğer günlerde zaten eklendi",
"already_added_other_days_desc": "Bu öğeler farklı tarihlerde planlanmıştır. \nBunları buraya eklemek, tarihlerinin güncellenmesine veya olduğu gibi eklenmesine neden olur.",
"items_available": "Bağlanabilecek {count} öğe mevcut",
"items_on_other_days": "Diğer günlerdeki ürünler",
"items_on_other_days_desc": "Bu öğelerin farklı tarihleri vardır. \nBunları ekleyebilir ve isteğe bağlı olarak tarihlerini eşleşecek şekilde güncelleyebilirsiniz.",
"items_on_this_day": "Bu günkü öğeler",
"no_unscheduled_items": "Planlanmamış öğe yok",
"no_unscheduled_items_desc": "Seyahat planına tüm öğeler eklendi veya eklenecek öğe yok.",
"title": "Öğeleri {date} tarihine bağlayın"
},
"link_copied": "Bağlantı Kopyalandı",
"lists": "Listeler",
"location_search_mode": "Konum Arama Modu",
"locations_visited": "Ziyaret edilen yerler",
"lodging_not_found": "Konaklama Bulunamadı",
"lodging_types": "Konaklama Türleri",
"more_details": "Daha Fazla Detay",
"my_locations": "Konumlarım",
"nights": "Geceler",
"no_linkable_locations": "Bu koleksiyona bağlanabilecek konum bulunamadı.",
"of_locations": "konumların",
"on_this_trip": "Bu yolculukta",
"overnight": "Gecelik",
"physical_activities": "Fiziksel Aktiviteler",
"pins": "iğneler",
"places": "Yer",
"regions": "Bölgeler",
"reservation": "Rezervasyon",
"reset_filters": "Sıfırla",
"route": "Rota",
"route_selected": "Seçilen Rota",
"routes_and_activities": "Rotalar",
"saving": "Kaydediliyor",
"search_end_location": "Arama bitiş konumu",
"search_start_end_locations": "Başlangıç ve bitiş konumlarını arayın",
"search_start_location": "Arama başlangıç konumu",
"segments": "Segmentler",
"select": "Seçme",
"show_filters": "Filtreleri Göster",
"start_location": "Başlangıç Konumu",
"status_filter": "Durum Filtresi",
"stays": "Konaklamalar",
"tasks_done": "Tamamlanan Görevler",
"total_days": "Toplam Günler",
"total_visits": "Toplam ziyaret",
"transport_activity_paths": "Taşıma",
"transportation_gpx_tip": "Haritada görüntülenmesi için GPX dosyalarını buraya yükleyin",
"traveled": "seyahat etti",
"travelers": "Gezginler",
"trip_timeline": "Yolculuk Zaman Çizelgesi",
"trip_window": "Gezi penceresi",
"upcoming": "Yaklaşan",
"view": "Görüş",
"wiki_results_found": "Vikipedi Sonuçları",
"with_activities": "Faaliyetlerle",
"written": "Yazılı",
"categories": "Kategoriler",
"cities": "Şehirler",
"export_failed": "Dışa aktarma başarısız oldu",
"export_success": "Dışa aktarılan koleksiyon",
"export_zip": "ZIP'i dışa aktar",
"import_failed": "İçe Aktarma Başarısız",
"import_from_file": "Dosyadan içe aktar",
"import_success": "İçe Aktarma Başarısı"
},
"worldtravel": {
"country_list": "Ülke Listesi",
"num_countries": "ülkeler bulundu",
"cities_in": "'deki şehirler",
"all": "Hepsi",
"partially_visited": "Kısmen Ziyaret Edilmiş",
"not_visited": "Ziyaret Edilmemiş",
"completely_visited": "Tamamen Ziyaret Edilmiş",
"all_subregions": "Tüm Alt Bölgeler",
"clear_search": "Aramayı Temizle",
"no_countries_found": "Ülke bulunamadı",
"no_countries_found_desc": "Aradığınız ülkeleri bulmak için arama terimlerinizi veya filtrelerinizi ayarlamayı deneyin.",
"clear_filters": "Filtreleri Temizle",
@@ -519,7 +518,6 @@
"filter_by_region": "Bölgeye Göre Filtrele",
"all_regions": "Tüm Bölgeler",
"clear_all_filters": "Tüm Filtreleri Temizle",
"total_items": "Toplam Öğe",
"filter_by": "Şuna Göre Filtrele",
"interactive_map": "İnteraktif Harita",
"no_regions_found": "Bölge bulunamadı",
@@ -530,10 +528,6 @@
"hide_map_labels": "Harita Etiketlerini Gizle",
"total_cities": "Toplam Şehir",
"region_completed": "Bölge Tamamlandı",
"newest_first": "Önce En Yeni",
"oldest_first": "Önce En Eski",
"visited_first": "Önce Ziyaret Edilenler",
"unvisited_first": "Önce Ziyaret Edilmeyenler",
"getting_location_details": "Konum detayları alınıyor",
"hide_globe_spin": "Küre Dönüşünü Gizle",
"show_globe_spin": "Küre Dönüşünü Göster",
@@ -553,7 +547,8 @@
"about_country": "Ülke Hakkında",
"about_region": "Bölge Hakkında",
"show_less": "Daha Az Göster",
"show_more": "Daha Fazla Göster"
"show_more": "Daha Fazla Göster",
"all_locations_visited": "Ziyaret edilen tüm yerler!"
},
"auth": {
"username": "Kullanıcı Adı",
@@ -569,7 +564,6 @@
"registration_disabled": "Kayıt işlemi şu anda devre dışı.",
"profile_picture": "Profil Resmi",
"public_profile": "Herkese Açık Profil",
"public_tooltip": "Herkese açık bir profil ile, kullanıcılar koleksiyonları sizinle paylaşabilir ve profilinizi kullanıcılar sayfasında görüntüleyebilir.",
"new_password": "Yeni Şifre (6+ karakter)",
"or_3rd_party": "Veya bir üçüncü taraf hizmeti ile giriş yapın",
"no_public_locations": "Herkese açık konum bulunamadı",
@@ -579,7 +573,8 @@
"enter_username": "Kullanıcı adınızı girin",
"enter_password": "Şifrenizi girin",
"totp": "İki Aşamalı Doğrulama Kodu",
"logging_in": "Giriş yapılıyor"
"logging_in": "Giriş yapılıyor",
"user_email_verification_required": "E-posta doğrulaması gerekli. \nDoğrulama bağlantısı için lütfen e-postanızı kontrol edin."
},
"users": {
"no_users_found": "Herkese açık profili olan kullanıcı bulunamadı."
@@ -749,7 +744,21 @@
"archived_appear_here": "Arşivlenmiş koleksiyonlar burada görünecektir.",
"linked": "Bağlantılı",
"available": "Mevcut",
"try_different_search": "Farklı bir arama veya filtre deneyin."
"try_different_search": "Farklı bir arama veya filtre deneyin.",
"changing_date_title": "Tarihlerin değiştirilmesi seyahat planı öğelerini etkileyecektir",
"changing_date_warning": "Yeni tarih aralığının dışındaki tüm seyahat planı öğeleri seyahat programından kaldırılacak ve koleksiyonun tarihsiz öğelerine geri yerleştirilecektir.",
"clear_cover": "Kapağı temizle",
"collaborators": "İşbirlikçiler",
"cover": "Kapak",
"cover_image": "Kapak resmi",
"cover_image_hint": "Bu koleksiyondaki resimlerden bir kapak seçin.",
"create_new_collection": "Yeni koleksiyon oluştur",
"enter_collection_name": "Koleksiyon adını girin",
"location_primary": "Konum kapağı",
"no_images_available": "Henüz bağlantılı konumlardan resim mevcut değil.",
"public_collection_description": "Bağlantıya sahip herkesin görüntülemesine izin ver",
"set_cover": "Kapağı ayarla",
"update_collection_details": "Koleksiyon ayrıntılarını güncelleyin"
},
"notes": {
"note_deleted": "Not başarıyla silindi!",
@@ -762,7 +771,6 @@
"content": "İçerik",
"save": "Kaydet",
"note_public": "Bu not, herkese açık bir koleksiyonda olduğu için herkese açıktır.",
"add_a_link": "Bir bağlantı ekleyin",
"invalid_url": "Geçersiz URL",
"enter_note_title": "Not başlığını girin",
"update_note_details": "Not düzenleniyor",
@@ -799,9 +807,6 @@
"flight_number": "Uçuş Numarası",
"from_location": "Başlangıç Konumu",
"to_location": "Varış Konumu",
"fetch_location_information": "Konum Bilgilerini Getir",
"starting_airport_desc": "Başlangıç havaalanı kodunu girin (örn. IST)",
"ending_airport_desc": "Varış havaalanı kodunu girin (örn. BJV)",
"edit": "Düzenle",
"modes": {
"car": "Araba",
@@ -821,7 +826,13 @@
"enter_link": "Bağlantı girin",
"enter_flight_number": "Uçuş numarasını girin",
"enter_from_location": "Başlangıç konumunu girin",
"enter_to_location": "Varış konumunu girin"
"enter_to_location": "Varış konumunu girin",
"arrival_code": "Varış Kodu",
"arrival_date": "Varış Tarihi",
"arrival_timezone": "Varış Saat Dilimi",
"departure_code": "Kalkış Kodu",
"departure_date": "Ayrılış Tarihi",
"departure_timezone": "Kalkış Saat Dilimi"
},
"lodging": {
"new_lodging": "Yeni Konaklama",
@@ -842,13 +853,9 @@
"update_lodging_details": "Konaklama Detaylarını Güncelle",
"create_new_lodging": "Yeni Konaklama",
"enter_lodging_name": "Konaklama adını girin",
"enter_reservation_number": "Rezervasyon numarası girin",
"enter_price": "Fiyat girin"
"enter_reservation_number": "Rezervasyon numarası girin"
},
"search": {
"adventurelog_results": "AdventureLog Sonuçları",
"public_adventures": "Herkese Açık Maceralar",
"online_results": "Çevrimiçi Sonuçlar",
"result": "Sonuç",
"results": "Sonuçlar",
"found": "bulundu",
@@ -858,14 +865,9 @@
},
"map": {
"view_details": "Detayları Görüntüle",
"adventure_map": "Macera Haritası",
"location_map": "Konum Haritası",
"map_options": "Harita Seçenekleri",
"show_visited_regions": "Ziyaret Edilen Bölgeleri Göster",
"add_adventure_at_marker": "İşaretçide Yeni Macera Ekle",
"add_location_at_marker": "İşaretçide Yeni Konum Ekle",
"clear_marker": "İşaretçiyi Temizle",
"add_adventure": "Yeni Macera Ekle",
"add_location": "Yeni Konum Ekle",
"adventure_stats": "Macera İstatistikleri",
"map_controls": "Harita Kontrolleri",
@@ -875,8 +877,8 @@
"marker_placed_on_map": "Haritaya işaretçi yerleştirildi",
"place_marker_desc_location": "Bir işaretçi yerleştirmek için haritaya tıklayın.",
"locations_shown": "gösterilen konumlar",
"show_activities": "Aktiviteleri Göster",
"show_visited_cities": "Ziyaret Edilen Şehirler"
"show_visited_cities": "Ziyaret Edilen Şehirler",
"search_locations": "Konumları arayın..."
},
"share": {
"shared": "Paylaşılan",
@@ -885,10 +887,6 @@
"share_desc": "Bu koleksiyonu diğer kullanıcılarla paylaşın.",
"shared_with": "Paylaşıldığı Kişiler",
"no_users_shared": "Paylaşılan kullanıcı yok",
"not_shared_with": "Şunlarla Paylaşılmadı",
"no_shared_found": "Sizinle paylaşılan herhangi bir koleksiyon bulunamadı.",
"set_public": "Kullanıcıların sizinle paylaşım yapabilmesi için profilinizin herkese açık olarak ayarlanmış olması gerekir.",
"go_to_settings": "Ayarlara git",
"revoke_invite": "Daveti İptal Et",
"send_invite": "Davet Gönder",
"available": "Mevcut",
@@ -902,7 +900,6 @@
},
"profile": {
"member_since": "Üyelik tarihi",
"user_stats": "Kullanıcı İstatistikleri",
"visited_countries": "Ziyaret Edilen Ülkeler",
"visited_regions": "Ziyaret Edilen Bölgeler",
"visited_cities": "Ziyaret Edilen Şehirler",
@@ -934,7 +931,6 @@
"total_visited_cities": "Toplam Ziyaret Edilen Şehirler",
"recent_adventures": "Son Maceralar",
"no_recent_adventures": "Son zamanlarda maceranız yok mu?",
"add_some": "Neden bir sonraki maceranızı planlamaya başlamıyorsunuz? Aşağıdaki butona tıklayarak yeni bir macera ekleyebilirsiniz.",
"document_some_adventures": "Seyahatlerinizi belgelemeye başlayın ve kişisel macera haritanızı oluşturun!",
"view_all": "Tümünü Görüntüle",
"welcome_text_1": "Şu kadar süredir",
@@ -971,24 +967,42 @@
"by_date": "Tarihe Göre",
"by_album": "Albüme Göre",
"image_search_placeholder": "Immich kullanarak arama yapın",
"select_date": "Tarih Seçin",
"select_album": "Albüm Seçin",
"loading_albums": "Albümler Yükleniyor",
"loading": "Yükleniyor",
"no_images": "Hiçbir Görsel Bulunamadı",
"try_different_date": "Farklı bir tarih deneyin",
"select_album_first": "Önce Bir Albüm Seçin"
"try_different_date": "Farklı bir tarih deneyin"
},
"google_maps": {
"google_maps_integration_desc": "Yüksek kaliteli konum arama sonuçları ve öneriler almak için Google Maps hesabınızı bağlayın.",
"google_maps_integration_desc_no_staff": "Bu entegrasyon öncelikle bu sunucudaki yönetici tarafından etkinleştirilmelidir."
},
"recomendations": {
"recommendation": "Öneri",
"recommendations": "Önerilenler",
"location_recommendations": "Önerilen Konumlar",
"food": "Yemek",
"tourism": "Turizm"
"tourism": "Turizm",
"any": "Herhangi",
"average_rating": "Ortalama Derecelendirme",
"discover_places": "Yerleri Keşfet",
"lodging": "Oteller",
"map_view": "Harita Görünümü",
"minimum_rating": "Minimum Derecelendirme",
"minimum_reviews": "Minimum İncelemeler",
"no_results_yet": "Henüz Sonuç Yok",
"open_now_only": "Yalnızca Şimdi Aç",
"search_around_location": "Konum Etrafında Ara",
"search_by_address": "Adrese Göre Ara",
"search_radius_label": "Arama Yarıçapı:",
"searching": "Arama...",
"select_location_or_query": "Yakındaki harika yerleri keşfetmek için bir konum seçin veya bir arama sorgusu girin!",
"total_results": "Toplam Sonuçlar",
"use_search_instead": "Bunun yerine aramayı kullanın",
"add_location": "Konum Ekle",
"add_lodging": "Konaklama Ekle",
"away": "uzak",
"hours": "Saat",
"open": "Açık",
"your_location": "Konumunuz"
},
"calendar": {
"today": "Bugün",
@@ -999,7 +1013,9 @@
"total_events": "Toplam Etkinlikler",
"calendar_overview": "Takvim Genel Bakış",
"filtered_results": "Filtrelenmiş Sonuçlar",
"all_day_event": "Tüm Günlük Etkinlik"
"all_day_event": "Tüm Günlük Etkinlik",
"event timezone": "Etkinlik saat dilimi",
"your timezone": "Saat diliminiz"
},
"locations": {
"location": "Konum",
@@ -1023,11 +1039,7 @@
},
"strava": {
"strava_integration_desc": "Konum ve ziyaret bilgilerinize kolayca aktivite aktarmak için Strava'ya bağlanın",
"not_configured": "Strava Yapılandırılmamış",
"admin_setup_required": "Sunucu yöneticisinin bunu genel olarak etkinleştirmesi gerekir",
"ready_to_connect": "Bağlanmaya Hazır",
"connect_account": "Hesabı Bağla",
"account_connected": "Hesap Bağlandı",
"disconnect": "Bağlantıyı Kes",
"authorization_error": "Strava yetkilendirme URL'sine yönlendirilirken hata oluştu",
"disconnected": "Strava bağlantısı başarıyla kesildi",
@@ -1039,5 +1051,82 @@
"wanderer_integration_desc": "Wanderera bağlanarak patikalarınızı konumlarda kolayca aktarabilir ve görüntüleyebilirsiniz",
"connection_error": "Wanderer'a bağlanırken hata oluştu",
"connected": "Wanderer'a başarıyla bağlandı"
},
"collections": {
"all_items": "Tüm Ürünler",
"currencies": "Para birimleri",
"currency": "Para birimi",
"event_timezone": "Etkinlik saat dilimi",
"event_timezone_desc": "Etkinlik saat dilimi, mümkün olduğunda konumu veya öğenin saat dilimini kullanır. \nSaat dilimimin kullanımları",
"events": "olaylar",
"local_timezone": "Benim saat dilimim",
"no_calendar_events": "Bu koleksiyon için henüz bir ziyaret planlanmadı.",
"no_priced_items": "Seyahat toplamlarını para birimine göre görmek için konumlara, konaklamaya veya ulaşıma fiyat ekleyin.",
"not_found": "Koleksiyon Bulunamadı",
"statistics": "İstatistikler",
"times_shown_in": "Gösterilen zamanlar",
"trip_costs": "Seyahat Maliyetleri"
},
"common": {
"show_less": "Ayrıntıları gizle",
"show_more": "Daha fazlasını göster"
},
"currencies": {
"AED": "BAE Dirhemi",
"AUD": "Avustralya Doları",
"BRL": "Brezilya Reali",
"CAD": "Kanada Doları",
"CHF": "İsviçre Frangı",
"CNY": "Çin Yuanı",
"DKK": "Danimarka Kronu",
"EUR": "Euro",
"GBP": "İngiliz Sterlini",
"HKD": "Hong Kong Doları",
"INR": "Hindistan Rupisi",
"JPY": "Japon Yeni",
"MXN": "Meksika Pesosu",
"NOK": "Norveç Kronu",
"NZD": "Yeni Zelanda Doları",
"SEK": "İsveç Kronu",
"SGD": "Singapur Doları",
"TRY": "Türk Lirası",
"USD": "ABD Doları",
"ZAR": "Güney Afrika Randı",
"no_matches": "Eşleşme yok",
"search": "Para birimi ara",
"select_currency": "Para birimini seçin"
},
"itinerary": {
"add_description": "Açıklama ekle",
"add_to_day": "Güne ekle",
"add_to_trip_context": "Gezi bağlamı ekle",
"added_to_trip_context": "Gezi bağlamına eklendi",
"auto_generate": "Otomatik Oluştur",
"auto_generate_itinerary": "Otomatik Yol Oluşturma",
"auto_generate_itinerary_desc": "Bu koleksiyonda eski öğeler var ancak henüz seyahat planı yok. \nBunları tarihe göre otomatik olarak düzenlemek ister misiniz?",
"change_day": "Günü Değiştir",
"drag_to_reorder": "Yeniden sıralamak için sürükleyin",
"failed_to_add_to_trip_context": "Öğe gezi bağlamına eklenemedi",
"failed_to_move_to_trip_context": "Gezi bağlamına taşınılamadı",
"generating": "Üretiliyor",
"item_already_in_trip_context": "Zaten gezi bağlamındaki öğeler",
"item_not_found": "Öğe bulunamadı",
"item_remove_error": "Öğe seyahat programından kaldırılırken hata oluştu",
"item_remove_success": "Öğe seyahat programından kaldırıldı",
"link_existing_item": "Mevcut öğeyi bağla",
"move_to_trip_context": "Gezi İçeriğine Taşı",
"moved_to_trip_context": "Gezi bağlamına taşındı",
"multi_day": "Çok gün",
"no_itinerary_yet": "Henüz Seyahat Programı Yok",
"no_plans_for_day": "Bu gün için plan yok",
"no_trip_context_items": "Henüz gezi bağlamı öğesi yok.",
"remove_from_itinerary": "Günden Kaldır",
"remove_from_trip_context": "Bağlamdan Kaldır",
"start_planning": "Belirli günlere öğe ekleyerek seyahatinizi planlamaya başlayın.",
"staying_overnight": "Gece kalmak",
"trip_context": "Seyahat İçeriği",
"trip_context_info": "Seyahat bağlamı öğeleri seyahatin tamamı için geçerlidir; örneğin varış noktasının kendisi olan konumlar, genel notlar veya seyahatin tamamı için önemli olan paket listeleri.",
"unscheduled_items": "Planlanmamış Öğeler",
"unscheduled_items_desc": "Bu öğeler bu geziye bağlı ancak henüz belirli bir güne eklenmedi."
}
}