mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-20 22:16:26 +00:00
fix(tours): explain a kept tour without a line, and say the take-over once
Taking a tour kept in a collection into a trip left the user guessing in two places when the tour had no line. The map box stayed an empty grey square that read as a broken map; it now says that there is no line yet, only the waypoints. Why "Line only" is dimmed was only in the tooltip of a disabled button, which never shows on hover, focus or touch; the reason now stands under the two choices, and a disabled tile sits in a span so its tooltip can show as well. A successful take-over said the same sentence twice, as a toast and as the dialog's last word with "Open trip". The toast is gone. The collection strings move out of tours.ts into a tourCollection.ts per locale, keeping their keys, so no locale's tours file grows past the 1000-line limit. The tours locale spec now holds both files to their own counts.
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
CircleCheck,
|
||||
CopyPlus,
|
||||
Flag,
|
||||
Info,
|
||||
Loader2,
|
||||
Play,
|
||||
Spline,
|
||||
@@ -153,7 +154,11 @@ function TripChoices({ takeOver }: { takeOver: CollectionTourTakeOver }) {
|
||||
);
|
||||
}
|
||||
|
||||
/** One answer to whether the waypoints come along: an icon, a title, a short tooltip, raised once chosen. */
|
||||
/**
|
||||
* One answer to whether the waypoints come along: an icon, a title, a short
|
||||
* tooltip, raised once chosen. A disabled button fires no hover or focus, so
|
||||
* one that cannot be chosen sits in a span that carries its tooltip.
|
||||
*/
|
||||
function PointsTile({
|
||||
value,
|
||||
selected,
|
||||
@@ -171,56 +176,63 @@ function PointsTile({
|
||||
hint: string;
|
||||
onChoose: (value: PointsChoice) => void;
|
||||
}) {
|
||||
return (
|
||||
<Tooltip label={hint}>
|
||||
<button
|
||||
type="button"
|
||||
role="radio"
|
||||
aria-checked={selected}
|
||||
disabled={disabled}
|
||||
onClick={() => onChoose(value)}
|
||||
data-testid={`kept-tour-points-${value}`}
|
||||
className={`flex w-full min-w-0 items-center gap-2.5 rounded-[12px] border px-3 py-2.5 text-start transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent disabled:cursor-default disabled:opacity-50 ${selected ? 'border-transparent bg-surface-card shadow-sm ring-2 ring-accent' : 'border-edge-faint bg-surface-secondary enabled:hover:bg-surface-card'}`}
|
||||
const tile = (
|
||||
<button
|
||||
type="button"
|
||||
role="radio"
|
||||
aria-checked={selected}
|
||||
disabled={disabled}
|
||||
onClick={() => onChoose(value)}
|
||||
data-testid={`kept-tour-points-${value}`}
|
||||
className={`flex w-full min-w-0 items-center gap-2.5 rounded-[12px] border px-3 py-2.5 text-start transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent disabled:cursor-default disabled:opacity-50 ${selected ? 'border-transparent bg-surface-card shadow-sm ring-2 ring-accent' : 'border-edge-faint bg-surface-secondary enabled:hover:bg-surface-card'}`}
|
||||
>
|
||||
<span
|
||||
className={`grid h-8 w-8 flex-none place-items-center rounded-full ${selected ? 'bg-accent text-accent-text' : 'bg-edge text-content-secondary'}`}
|
||||
>
|
||||
<span
|
||||
className={`grid h-8 w-8 flex-none place-items-center rounded-full ${selected ? 'bg-accent text-accent-text' : 'bg-edge text-content-secondary'}`}
|
||||
>
|
||||
{icon}
|
||||
</span>
|
||||
<span className="min-w-0 flex-1 font-semibold text-content" style={fs(12.5, 'body')}>
|
||||
{title}
|
||||
</span>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{icon}
|
||||
</span>
|
||||
<span className="min-w-0 flex-1 font-semibold text-content" style={fs(12.5, 'body')}>
|
||||
{title}
|
||||
</span>
|
||||
</button>
|
||||
);
|
||||
return <Tooltip label={hint}>{disabled ? <span className="block">{tile}</span> : tile}</Tooltip>;
|
||||
}
|
||||
|
||||
/** The explicit choice about the waypoints; leaving them out is only there for a tour with a line. */
|
||||
/**
|
||||
* The explicit choice about the waypoints; leaving them out is only there for
|
||||
* a tour with a line, and a tour without one says so under the choice rather
|
||||
* than only in a tooltip.
|
||||
*/
|
||||
function PointsChoices({ takeOver }: { takeOver: CollectionTourTakeOver }) {
|
||||
const { t } = useTranslation();
|
||||
const { tour } = takeOver;
|
||||
if (!tour) return null;
|
||||
const lineOnlyHint = tour.has_line ? t('tours.collection.lineOnlyHint') : t('tours.collection.needsPoints');
|
||||
return (
|
||||
<div role="radiogroup" aria-label={t('tours.library.controlPoints')} className="grid grid-cols-2 gap-2">
|
||||
<PointsTile
|
||||
value="with"
|
||||
selected={takeOver.points === 'with'}
|
||||
disabled={tour.waypoint_count === 0 && tour.has_line}
|
||||
icon={<Waypoints size={15} strokeWidth={2} />}
|
||||
title={t('tours.collection.withPoints', { count: tour.waypoint_count })}
|
||||
hint={t('tours.collection.withPointsHint')}
|
||||
onChoose={takeOver.choosePoints}
|
||||
/>
|
||||
<PointsTile
|
||||
value="without"
|
||||
selected={takeOver.points === 'without'}
|
||||
disabled={!tour.has_line}
|
||||
icon={<Spline size={15} strokeWidth={2} />}
|
||||
title={t('tours.collection.lineOnly')}
|
||||
hint={lineOnlyHint}
|
||||
onChoose={takeOver.choosePoints}
|
||||
/>
|
||||
<div className="flex flex-col gap-2">
|
||||
<div role="radiogroup" aria-label={t('tours.library.controlPoints')} className="grid grid-cols-2 gap-2">
|
||||
<PointsTile
|
||||
value="with"
|
||||
selected={takeOver.points === 'with'}
|
||||
disabled={tour.waypoint_count === 0 && tour.has_line}
|
||||
icon={<Waypoints size={15} strokeWidth={2} />}
|
||||
title={t('tours.collection.withPoints', { count: tour.waypoint_count })}
|
||||
hint={t('tours.collection.withPointsHint')}
|
||||
onChoose={takeOver.choosePoints}
|
||||
/>
|
||||
<PointsTile
|
||||
value="without"
|
||||
selected={takeOver.points === 'without'}
|
||||
disabled={!tour.has_line}
|
||||
icon={<Spline size={15} strokeWidth={2} />}
|
||||
title={t('tours.collection.lineOnly')}
|
||||
hint={t('tours.collection.lineOnlyHint')}
|
||||
onChoose={takeOver.choosePoints}
|
||||
/>
|
||||
</div>
|
||||
{!tour.has_line && (
|
||||
<TourNotice icon={<Info size={13} strokeWidth={2} />}>{t('tours.collection.needsPoints')}</TourNotice>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -238,6 +250,7 @@ function KeptTourPreview({ takeOver }: { takeOver: CollectionTourTakeOver }) {
|
||||
focusKey={String(tour.id)}
|
||||
status={takeOver.detailStatus}
|
||||
failedText={t('tours.library.previewFailed')}
|
||||
emptyText={t('tours.collection.noLine')}
|
||||
/>
|
||||
<RailFacts
|
||||
facts={tourPreviewFacts(tour, tour.waypoint_count, unit, t, {
|
||||
|
||||
@@ -17,7 +17,7 @@ import { TourSaveToCollectionBarButton, TourSaveToCollectionButton } from './Tou
|
||||
import { useCollectionTourTakeOver } from './useCollectionTourTakeOver';
|
||||
import { useSaveTourToCollection } from './useSaveTourToCollection';
|
||||
|
||||
// FE-COLLECTION-TOURS-001 to FE-COLLECTION-TOURS-013
|
||||
// FE-COLLECTION-TOURS-001 to FE-COLLECTION-TOURS-014
|
||||
|
||||
vi.mock('../../Map/MapViewAuto', () => ({
|
||||
MapViewAuto: ({ route }: { route: Array<Array<[number, number]>> }) => (
|
||||
@@ -241,7 +241,8 @@ describe('useCollectionTourTakeOver', () => {
|
||||
name: 'Ridge',
|
||||
});
|
||||
expect(result.current.flow.done).toEqual({ tripId: 6, tripTitle: 'Coast', tourName: 'Ridge' });
|
||||
expect(toast.success).toHaveBeenCalledWith('“Ridge” is now a tour of “Coast”.');
|
||||
// The dialog's last word says it; a toast would only repeat it.
|
||||
expect(toast.success).not.toHaveBeenCalled();
|
||||
act(() => result.current.flow.openTrip());
|
||||
expect(result.current.location.pathname).toBe('/trips/6');
|
||||
expect(result.current.flow.open).toBe(false);
|
||||
@@ -279,11 +280,11 @@ describe('useCollectionTourTakeOver', () => {
|
||||
});
|
||||
|
||||
describe('CollectionTourTakeOverDialog', () => {
|
||||
function Harness() {
|
||||
function Harness({ tour = kept() }: { tour?: CollectionTourItem }) {
|
||||
const flow = useCollectionTourTakeOver(3);
|
||||
return (
|
||||
<>
|
||||
<button type="button" onClick={() => flow.show(kept())}>
|
||||
<button type="button" onClick={() => flow.show(tour)}>
|
||||
open
|
||||
</button>
|
||||
<CollectionTourTakeOverDialog takeOver={flow} />
|
||||
@@ -322,6 +323,28 @@ describe('CollectionTourTakeOverDialog', () => {
|
||||
rerender(<KeptPointsStrip points={DETAIL.points} dimmed />);
|
||||
expect(screen.getByTestId('kept-points')).toHaveClass('opacity-40');
|
||||
});
|
||||
|
||||
it('FE-COLLECTION-TOURS-014: a tour kept without a line says so in the map box and under the choice', async () => {
|
||||
vi.mocked(collectionToursRepo.detail).mockResolvedValue({
|
||||
...DETAIL,
|
||||
tour: kept({ has_line: false }),
|
||||
line: [],
|
||||
});
|
||||
render(<Harness tour={kept({ has_line: false })} />);
|
||||
fireEvent.click(screen.getByText('open'));
|
||||
const preview = screen.getByTestId('kept-tour-preview');
|
||||
expect(await within(preview).findByTestId('tour-preview-no-line')).toHaveTextContent(
|
||||
'No line yet, only its waypoints'
|
||||
);
|
||||
expect(within(preview).queryByTestId('kept-map')).toBeNull();
|
||||
expect(screen.getByText('This tour has no line yet, so its waypoints have to come along.')).toBeInTheDocument();
|
||||
const lineOnly = screen.getByTestId('kept-tour-points-without');
|
||||
expect(lineOnly).toBeDisabled();
|
||||
// A disabled tile sits in a span, so its tooltip still has something to hover.
|
||||
expect(lineOnly.parentElement?.tagName).toBe('SPAN');
|
||||
expect(screen.getByTestId('kept-tour-points-with')).toHaveAttribute('aria-checked', 'true');
|
||||
expect(screen.getByTestId('kept-tour-points-with').parentElement?.tagName).not.toBe('SPAN');
|
||||
});
|
||||
});
|
||||
|
||||
describe('CollectionToursSection', () => {
|
||||
|
||||
@@ -100,8 +100,8 @@ export function useCollectionTourTakeOver(collectionId: number) {
|
||||
include_waypoints: points === 'with',
|
||||
name: chosenName,
|
||||
});
|
||||
// The dialog's last word says where the tour is now, so no toast repeats it.
|
||||
setDone({ tripId: trip.id, tripTitle: trip.title, tourName: result.tour.name });
|
||||
toast.success(t('tours.collection.taken', { name: result.tour.name, trip: trip.title }));
|
||||
} catch (err: unknown) {
|
||||
toast.error(t(failure(err) === 'offline' ? 'tours.collection.offline' : 'tours.collection.takeFailed'));
|
||||
} finally {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { TourLibraryItem } from '@trek/shared';
|
||||
import { ArrowUp, Clock, Loader2, Ruler } from 'lucide-react';
|
||||
import { ArrowUp, Clock, Loader2, Ruler, Spline } from 'lucide-react';
|
||||
import { useMemo } from 'react';
|
||||
import { OFM_POSITRON } from '../../../constants/mapDefaults';
|
||||
import { useTileUrl } from '../../../hooks/useTileUrl';
|
||||
@@ -113,19 +113,23 @@ type PreviewStatus = 'loading' | 'ready' | 'error' | 'offline' | null;
|
||||
/**
|
||||
* A tour's line on a small map, the way a preview shows it before anything is
|
||||
* taken over: drawn once its points are in, a spinner while they load, a short
|
||||
* line of text when they cannot be read.
|
||||
* line of text when they cannot be read, and, where the caller names it, what
|
||||
* a tour without a line has instead, so an empty box never reads as a broken map.
|
||||
*/
|
||||
export function TourLinePreview({
|
||||
line,
|
||||
focusKey,
|
||||
status,
|
||||
failedText,
|
||||
emptyText,
|
||||
}: {
|
||||
line: ReadonlyArray<readonly unknown[]> | undefined;
|
||||
focusKey: string;
|
||||
status: PreviewStatus;
|
||||
/** What a preview that could not be read says; offline says that it is offline. */
|
||||
failedText: string;
|
||||
/** What a tour read in full but without a line says in the box; without it the box stays empty. */
|
||||
emptyText?: string;
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
const tileUrl = useTileUrl(OFM_POSITRON);
|
||||
@@ -160,6 +164,18 @@ export function TourLinePreview({
|
||||
{status === 'offline' ? t('tours.library.offline') : failedText}
|
||||
</span>
|
||||
)}
|
||||
{status === 'ready' && route.length === 0 && emptyText && (
|
||||
<span
|
||||
className="absolute inset-0 flex flex-col items-center justify-center gap-2 px-6 text-center text-content-muted"
|
||||
style={fs(12, 'body')}
|
||||
data-testid="tour-preview-no-line"
|
||||
>
|
||||
<span className="grid h-9 w-9 place-items-center rounded-full bg-surface-card text-content-faint shadow-sm ring-1 ring-edge-faint">
|
||||
<Spline size={16} strokeWidth={2} />
|
||||
</span>
|
||||
{emptyText}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'الاحتفاظ في مجموعة',
|
||||
'tours.collection.saveHint': 'يحتفظ بنسخة مستقلة من هذه الجولة في إحدى مجموعاتك',
|
||||
'tours.collection.saveFirst': 'احفظ الجولة أولًا لتحتفظ بها في مجموعة',
|
||||
'tours.collection.saveSub': 'نسخة مستقلة. التغييرات اللاحقة على هذه الجولة لا تصل إليها.',
|
||||
'tours.collection.list': 'المجموعة',
|
||||
'tours.collection.readOnly': 'يمكنك قراءة هذه القائمة فقط',
|
||||
'tours.collection.noLists': 'ليست لديك أي مجموعة بعد.',
|
||||
'tours.collection.openCollections': 'فتح المجموعات',
|
||||
'tours.collection.nameThere': 'الاسم في المجموعة',
|
||||
'tours.collection.keep': 'احتفظ',
|
||||
'tours.collection.kept': 'أصبحت «{name}» محفوظة في «{list}».',
|
||||
'tours.collection.keepFailed': 'تعذّر الاحتفاظ بالجولة.',
|
||||
'tours.collection.offline': 'تحتاج المجموعات إلى اتصال.',
|
||||
'tours.collection.listsFailed': 'تعذّر تحميل المجموعات.',
|
||||
'tours.collection.toursFailed': 'تعذّر تحميل جولات هذه القائمة.',
|
||||
'tours.collection.points': 'نقاط الطريق: {count}',
|
||||
'tours.collection.points.zero': 'نقاط الطريق: {count}',
|
||||
'tours.collection.points.one': 'نقطة طريق واحدة',
|
||||
'tours.collection.points.two': 'نقطتا طريق',
|
||||
'tours.collection.points.few': '{count} نقاط طريق',
|
||||
'tours.collection.points.many': '{count} نقطة طريق',
|
||||
'tours.collection.savedFrom': 'محفوظة من',
|
||||
'tours.collection.source': 'محفوظة من «{tour}» في «{trip}»',
|
||||
'tours.collection.keptBy': 'احتفظ بها {name}',
|
||||
'tours.collection.add': 'إضافة إلى رحلة',
|
||||
'tours.collection.addHint': 'ينشئ جولة جديدة مستقلة في الرحلة التي تختارها',
|
||||
'tours.collection.remove': 'إزالة من المجموعة',
|
||||
'tours.collection.removeTitle': 'هل تريد إزالة هذه الجولة من المجموعة؟',
|
||||
'tours.collection.removeBody': 'الجولات التي أُنشئت منها في رحلاتك تبقى كما هي.',
|
||||
'tours.collection.removed': 'أُزيلت الجولة من المجموعة.',
|
||||
'tours.collection.removeFailed': 'تعذّرت إزالة الجولة.',
|
||||
'tours.collection.takeEyebrow': 'من المجموعة',
|
||||
'tours.collection.takeSub': 'تصبح جولة مستقلة في الرحلة التي تختارها، بلا أيام. وتبقى المجموعة كما هي.',
|
||||
'tours.collection.intoTrip': 'إلى الرحلة',
|
||||
'tours.collection.noPermission': 'لا يمكنك إضافة جولات إلى هذه الرحلة',
|
||||
'tours.collection.noTrips': 'ليست لديك رحلة تضيفها إليها بعد.',
|
||||
'tours.collection.withPoints': 'مع نقاط الطريق: {count}',
|
||||
'tours.collection.withPoints.zero': 'مع نقاط الطريق: {count}',
|
||||
'tours.collection.withPoints.one': 'مع نقطة طريق واحدة',
|
||||
'tours.collection.withPoints.two': 'مع نقطتي طريق',
|
||||
'tours.collection.withPoints.few': 'مع {count} نقاط طريق',
|
||||
'tours.collection.withPoints.many': 'مع {count} نقطة طريق',
|
||||
'tours.collection.withPointsHint': 'البداية والتوقفات والنهاية تأتي بترتيبها.',
|
||||
'tours.collection.lineOnly': 'الخط فقط',
|
||||
'tours.collection.lineOnlyHint': 'يبقى الخط كما حُفظ. لا تُضاف نقاط طريق.',
|
||||
'tours.collection.needsPoints': 'ليس لهذه الجولة خط بعد، لذا يجب أن تأتي نقاط طريقها معها.',
|
||||
'tours.collection.noLine': 'لا يوجد خط بعد، فقط نقاط الطريق',
|
||||
'tours.collection.nameInTrip': 'الاسم في الرحلة',
|
||||
'tours.collection.taken': 'أصبحت «{name}» جولة في «{trip}».',
|
||||
'tours.collection.takeFailed': 'تعذّرت إضافة الجولة إلى الرحلة.',
|
||||
'tours.collection.openTrip': 'فتح الرحلة',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1368,55 +1368,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'الجولة كاملة',
|
||||
'tours.stages.totalPartial': 'معروف لـ {known} من {of} مراحل',
|
||||
'tours.stages.openInPlanner': 'فتح هذه المرحلة في المخطط',
|
||||
'tours.collection.save': 'الاحتفاظ في مجموعة',
|
||||
'tours.collection.saveHint': 'يحتفظ بنسخة مستقلة من هذه الجولة في إحدى مجموعاتك',
|
||||
'tours.collection.saveFirst': 'احفظ الجولة أولًا لتحتفظ بها في مجموعة',
|
||||
'tours.collection.saveSub': 'نسخة مستقلة. التغييرات اللاحقة على هذه الجولة لا تصل إليها.',
|
||||
'tours.collection.list': 'المجموعة',
|
||||
'tours.collection.readOnly': 'يمكنك قراءة هذه القائمة فقط',
|
||||
'tours.collection.noLists': 'ليست لديك أي مجموعة بعد.',
|
||||
'tours.collection.openCollections': 'فتح المجموعات',
|
||||
'tours.collection.nameThere': 'الاسم في المجموعة',
|
||||
'tours.collection.keep': 'احتفظ',
|
||||
'tours.collection.kept': 'أصبحت «{name}» محفوظة في «{list}».',
|
||||
'tours.collection.keepFailed': 'تعذّر الاحتفاظ بالجولة.',
|
||||
'tours.collection.offline': 'تحتاج المجموعات إلى اتصال.',
|
||||
'tours.collection.listsFailed': 'تعذّر تحميل المجموعات.',
|
||||
'tours.collection.toursFailed': 'تعذّر تحميل جولات هذه القائمة.',
|
||||
'tours.collection.points': 'نقاط الطريق: {count}',
|
||||
'tours.collection.points.zero': 'نقاط الطريق: {count}',
|
||||
'tours.collection.points.one': 'نقطة طريق واحدة',
|
||||
'tours.collection.points.two': 'نقطتا طريق',
|
||||
'tours.collection.points.few': '{count} نقاط طريق',
|
||||
'tours.collection.points.many': '{count} نقطة طريق',
|
||||
'tours.collection.savedFrom': 'محفوظة من',
|
||||
'tours.collection.source': 'محفوظة من «{tour}» في «{trip}»',
|
||||
'tours.collection.keptBy': 'احتفظ بها {name}',
|
||||
'tours.collection.add': 'إضافة إلى رحلة',
|
||||
'tours.collection.addHint': 'ينشئ جولة جديدة مستقلة في الرحلة التي تختارها',
|
||||
'tours.collection.remove': 'إزالة من المجموعة',
|
||||
'tours.collection.removeTitle': 'هل تريد إزالة هذه الجولة من المجموعة؟',
|
||||
'tours.collection.removeBody': 'الجولات التي أُنشئت منها في رحلاتك تبقى كما هي.',
|
||||
'tours.collection.removed': 'أُزيلت الجولة من المجموعة.',
|
||||
'tours.collection.removeFailed': 'تعذّرت إزالة الجولة.',
|
||||
'tours.collection.takeEyebrow': 'من المجموعة',
|
||||
'tours.collection.takeSub': 'تصبح جولة مستقلة في الرحلة التي تختارها، بلا أيام. وتبقى المجموعة كما هي.',
|
||||
'tours.collection.intoTrip': 'إلى الرحلة',
|
||||
'tours.collection.noPermission': 'لا يمكنك إضافة جولات إلى هذه الرحلة',
|
||||
'tours.collection.noTrips': 'ليست لديك رحلة تضيفها إليها بعد.',
|
||||
'tours.collection.withPoints': 'مع نقاط الطريق: {count}',
|
||||
'tours.collection.withPoints.zero': 'مع نقاط الطريق: {count}',
|
||||
'tours.collection.withPoints.one': 'مع نقطة طريق واحدة',
|
||||
'tours.collection.withPoints.two': 'مع نقطتي طريق',
|
||||
'tours.collection.withPoints.few': 'مع {count} نقاط طريق',
|
||||
'tours.collection.withPoints.many': 'مع {count} نقطة طريق',
|
||||
'tours.collection.withPointsHint': 'البداية والتوقفات والنهاية تأتي بترتيبها.',
|
||||
'tours.collection.lineOnly': 'الخط فقط',
|
||||
'tours.collection.lineOnlyHint': 'يبقى الخط كما حُفظ. لا تُضاف نقاط طريق.',
|
||||
'tours.collection.needsPoints': 'ليس لهذه الجولة خط بعد، لذا يجب أن تأتي نقاط طريقها معها.',
|
||||
'tours.collection.nameInTrip': 'الاسم في الرحلة',
|
||||
'tours.collection.taken': 'أصبحت «{name}» جولة في «{trip}».',
|
||||
'tours.collection.takeFailed': 'تعذّرت إضافة الجولة إلى الرحلة.',
|
||||
'tours.collection.openTrip': 'فتح الرحلة',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -71,6 +72,7 @@ const locale = {
|
||||
...atlas,
|
||||
...trip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...places,
|
||||
...inspector,
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Kolleksiyada saxla',
|
||||
'tours.collection.saveHint': 'Bu turun müstəqil surətini kolleksiyalarınızdan birində saxlayır',
|
||||
'tours.collection.saveFirst': 'Kolleksiyada saxlamaq üçün əvvəlcə turu yadda saxlayın',
|
||||
'tours.collection.saveSub': 'Müstəqil surət. Bu turda sonrakı dəyişikliklər ona çatmır.',
|
||||
'tours.collection.list': 'Kolleksiya',
|
||||
'tours.collection.readOnly': 'Bu siyahını yalnız oxuya bilərsiniz',
|
||||
'tours.collection.noLists': 'Hələ heç bir kolleksiyanız yoxdur.',
|
||||
'tours.collection.openCollections': 'Kolleksiyaları aç',
|
||||
'tours.collection.nameThere': 'Kolleksiyadakı ad',
|
||||
'tours.collection.keep': 'Saxla',
|
||||
'tours.collection.kept': '“{name}” indi “{list}” kolleksiyasındadır.',
|
||||
'tours.collection.keepFailed': 'Tur saxlanıla bilmədi.',
|
||||
'tours.collection.offline': 'Kolleksiyalar üçün bağlantı lazımdır.',
|
||||
'tours.collection.listsFailed': 'Kolleksiyalar yüklənə bilmədi.',
|
||||
'tours.collection.toursFailed': 'Bu siyahının turları yüklənə bilmədi.',
|
||||
'tours.collection.points': '{count} yol nöqtəsi',
|
||||
'tours.collection.points.one': '{count} yol nöqtəsi',
|
||||
'tours.collection.savedFrom': 'Haradan saxlanılıb',
|
||||
'tours.collection.source': '“{trip}” səfərindəki “{tour}” turundan saxlanılıb',
|
||||
'tours.collection.keptBy': 'Saxlayan: {name}',
|
||||
'tours.collection.add': 'Səfərə əlavə et',
|
||||
'tours.collection.addHint': 'Seçdiyiniz səfərdə öz yeni turunu yaradır',
|
||||
'tours.collection.remove': 'Kolleksiyadan çıxar',
|
||||
'tours.collection.removeTitle': 'Bu tur kolleksiyadan çıxarılsın?',
|
||||
'tours.collection.removeBody': 'Səfərlərinizdə ondan artıq yaradılmış turlar olduğu kimi qalır.',
|
||||
'tours.collection.removed': 'Tur kolleksiyadan çıxarıldı.',
|
||||
'tours.collection.removeFailed': 'Tur çıxarıla bilmədi.',
|
||||
'tours.collection.takeEyebrow': 'Kolleksiyadan',
|
||||
'tours.collection.takeSub': 'Seçdiyiniz səfərdə günlərsiz öz turu olur. Kolleksiya olduğu kimi qalır.',
|
||||
'tours.collection.intoTrip': 'Səfərə',
|
||||
'tours.collection.noPermission': 'Bu səfərə tur əlavə edə bilməzsiniz',
|
||||
'tours.collection.noTrips': 'Hələ onu əlavə etmək üçün səfəriniz yoxdur.',
|
||||
'tours.collection.withPoints': '{count} yol nöqtəsi ilə',
|
||||
'tours.collection.withPoints.one': '{count} yol nöqtəsi ilə',
|
||||
'tours.collection.withPointsHint': 'Başlanğıc, dayanacaqlar və son öz sırası ilə gəlir.',
|
||||
'tours.collection.lineOnly': 'Yalnız xətt',
|
||||
'tours.collection.lineOnlyHint': 'Xətt saxlanıldığı kimi qalır. Yol nöqtəsi əlavə olunmur.',
|
||||
'tours.collection.needsPoints': 'Bu turun hələ xətti yoxdur, ona görə yol nöqtələri də gəlməlidir.',
|
||||
'tours.collection.noLine': 'Hələ xətt yoxdur, yalnız yol nöqtələri',
|
||||
'tours.collection.nameInTrip': 'Səfərdəki ad',
|
||||
'tours.collection.taken': '“{name}” indi “{trip}” səfərinin turudur.',
|
||||
'tours.collection.takeFailed': 'Tur səfərə əlavə edilə bilmədi.',
|
||||
'tours.collection.openTrip': 'Səfəri aç',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1308,47 +1308,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Bütün tur',
|
||||
'tours.stages.totalPartial': '{of} mərhələdən {known} üçün məlumdur',
|
||||
'tours.stages.openInPlanner': 'Bu mərhələni planlayıcıda aç',
|
||||
'tours.collection.save': 'Kolleksiyada saxla',
|
||||
'tours.collection.saveHint': 'Bu turun müstəqil surətini kolleksiyalarınızdan birində saxlayır',
|
||||
'tours.collection.saveFirst': 'Kolleksiyada saxlamaq üçün əvvəlcə turu yadda saxlayın',
|
||||
'tours.collection.saveSub': 'Müstəqil surət. Bu turda sonrakı dəyişikliklər ona çatmır.',
|
||||
'tours.collection.list': 'Kolleksiya',
|
||||
'tours.collection.readOnly': 'Bu siyahını yalnız oxuya bilərsiniz',
|
||||
'tours.collection.noLists': 'Hələ heç bir kolleksiyanız yoxdur.',
|
||||
'tours.collection.openCollections': 'Kolleksiyaları aç',
|
||||
'tours.collection.nameThere': 'Kolleksiyadakı ad',
|
||||
'tours.collection.keep': 'Saxla',
|
||||
'tours.collection.kept': '“{name}” indi “{list}” kolleksiyasındadır.',
|
||||
'tours.collection.keepFailed': 'Tur saxlanıla bilmədi.',
|
||||
'tours.collection.offline': 'Kolleksiyalar üçün bağlantı lazımdır.',
|
||||
'tours.collection.listsFailed': 'Kolleksiyalar yüklənə bilmədi.',
|
||||
'tours.collection.toursFailed': 'Bu siyahının turları yüklənə bilmədi.',
|
||||
'tours.collection.points': '{count} yol nöqtəsi',
|
||||
'tours.collection.points.one': '{count} yol nöqtəsi',
|
||||
'tours.collection.savedFrom': 'Haradan saxlanılıb',
|
||||
'tours.collection.source': '“{trip}” səfərindəki “{tour}” turundan saxlanılıb',
|
||||
'tours.collection.keptBy': 'Saxlayan: {name}',
|
||||
'tours.collection.add': 'Səfərə əlavə et',
|
||||
'tours.collection.addHint': 'Seçdiyiniz səfərdə öz yeni turunu yaradır',
|
||||
'tours.collection.remove': 'Kolleksiyadan çıxar',
|
||||
'tours.collection.removeTitle': 'Bu tur kolleksiyadan çıxarılsın?',
|
||||
'tours.collection.removeBody': 'Səfərlərinizdə ondan artıq yaradılmış turlar olduğu kimi qalır.',
|
||||
'tours.collection.removed': 'Tur kolleksiyadan çıxarıldı.',
|
||||
'tours.collection.removeFailed': 'Tur çıxarıla bilmədi.',
|
||||
'tours.collection.takeEyebrow': 'Kolleksiyadan',
|
||||
'tours.collection.takeSub': 'Seçdiyiniz səfərdə günlərsiz öz turu olur. Kolleksiya olduğu kimi qalır.',
|
||||
'tours.collection.intoTrip': 'Səfərə',
|
||||
'tours.collection.noPermission': 'Bu səfərə tur əlavə edə bilməzsiniz',
|
||||
'tours.collection.noTrips': 'Hələ onu əlavə etmək üçün səfəriniz yoxdur.',
|
||||
'tours.collection.withPoints': '{count} yol nöqtəsi ilə',
|
||||
'tours.collection.withPoints.one': '{count} yol nöqtəsi ilə',
|
||||
'tours.collection.withPointsHint': 'Başlanğıc, dayanacaqlar və son öz sırası ilə gəlir.',
|
||||
'tours.collection.lineOnly': 'Yalnız xətt',
|
||||
'tours.collection.lineOnlyHint': 'Xətt saxlanıldığı kimi qalır. Yol nöqtəsi əlavə olunmur.',
|
||||
'tours.collection.needsPoints': 'Bu turun hələ xətti yoxdur, ona görə yol nöqtələri də gəlməlidir.',
|
||||
'tours.collection.nameInTrip': 'Səfərdəki ad',
|
||||
'tours.collection.taken': '“{name}” indi “{trip}” səfərinin turudur.',
|
||||
'tours.collection.takeFailed': 'Tur səfərə əlavə edilə bilmədi.',
|
||||
'tours.collection.openTrip': 'Səfəri aç',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Guardar em uma coleção',
|
||||
'tours.collection.saveHint': 'Guarda uma cópia independente deste passeio em uma das suas coleções',
|
||||
'tours.collection.saveFirst': 'Salve o passeio primeiro para guardá-lo em uma coleção',
|
||||
'tours.collection.saveSub': 'Uma cópia independente. Mudanças posteriores neste passeio não chegam a ela.',
|
||||
'tours.collection.list': 'Coleção',
|
||||
'tours.collection.readOnly': 'Você só pode ler esta lista',
|
||||
'tours.collection.noLists': 'Você ainda não tem nenhuma coleção.',
|
||||
'tours.collection.openCollections': 'Abrir coleções',
|
||||
'tours.collection.nameThere': 'Nome na coleção',
|
||||
'tours.collection.keep': 'Guardar',
|
||||
'tours.collection.kept': '“{name}” agora está guardado em “{list}”.',
|
||||
'tours.collection.keepFailed': 'Não foi possível guardar o passeio.',
|
||||
'tours.collection.offline': 'As coleções precisam de conexão.',
|
||||
'tours.collection.listsFailed': 'Não foi possível carregar as coleções.',
|
||||
'tours.collection.toursFailed': 'Não foi possível carregar os passeios desta lista.',
|
||||
'tours.collection.points': '{count} pontos de rota',
|
||||
'tours.collection.points.one': '{count} ponto de rota',
|
||||
'tours.collection.savedFrom': 'Guardado de',
|
||||
'tours.collection.source': 'Guardado de “{tour}” em “{trip}”',
|
||||
'tours.collection.keptBy': 'Guardado por {name}',
|
||||
'tours.collection.add': 'Adicionar a uma viagem',
|
||||
'tours.collection.addHint': 'Cria um passeio novo e próprio na viagem que você escolher',
|
||||
'tours.collection.remove': 'Tirar da coleção',
|
||||
'tours.collection.removeTitle': 'Tirar este passeio da coleção?',
|
||||
'tours.collection.removeBody': 'Os passeios já criados a partir dele nas suas viagens ficam como estão.',
|
||||
'tours.collection.removed': 'O passeio foi tirado da coleção.',
|
||||
'tours.collection.removeFailed': 'Não foi possível tirar o passeio.',
|
||||
'tours.collection.takeEyebrow': 'Da coleção',
|
||||
'tours.collection.takeSub': 'Vira um passeio próprio na viagem escolhida, sem dias. A coleção fica como está.',
|
||||
'tours.collection.intoTrip': 'Na viagem',
|
||||
'tours.collection.noPermission': 'Você não pode adicionar passeios a esta viagem',
|
||||
'tours.collection.noTrips': 'Você ainda não tem nenhuma viagem para adicioná-lo.',
|
||||
'tours.collection.withPoints': 'Com {count} pontos de rota',
|
||||
'tours.collection.withPoints.one': 'Com {count} ponto de rota',
|
||||
'tours.collection.withPointsHint': 'Início, paradas e fim vêm na sua ordem.',
|
||||
'tours.collection.lineOnly': 'Só a linha',
|
||||
'tours.collection.lineOnlyHint': 'A linha fica como foi salva. Nenhum ponto de rota é adicionado.',
|
||||
'tours.collection.needsPoints': 'Este passeio ainda não tem linha, então os pontos de rota precisam vir junto.',
|
||||
'tours.collection.noLine': 'Ainda sem linha, só os pontos do caminho',
|
||||
'tours.collection.nameInTrip': 'Nome na viagem',
|
||||
'tours.collection.taken': '“{name}” agora é um passeio de “{trip}”.',
|
||||
'tours.collection.takeFailed': 'Não foi possível adicionar o passeio à viagem.',
|
||||
'tours.collection.openTrip': 'Abrir viagem',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1321,47 +1321,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Roteiro completo',
|
||||
'tours.stages.totalPartial': 'conhecido para {known} de {of} etapas',
|
||||
'tours.stages.openInPlanner': 'Abrir esta etapa no planejador',
|
||||
'tours.collection.save': 'Guardar em uma coleção',
|
||||
'tours.collection.saveHint': 'Guarda uma cópia independente deste passeio em uma das suas coleções',
|
||||
'tours.collection.saveFirst': 'Salve o passeio primeiro para guardá-lo em uma coleção',
|
||||
'tours.collection.saveSub': 'Uma cópia independente. Mudanças posteriores neste passeio não chegam a ela.',
|
||||
'tours.collection.list': 'Coleção',
|
||||
'tours.collection.readOnly': 'Você só pode ler esta lista',
|
||||
'tours.collection.noLists': 'Você ainda não tem nenhuma coleção.',
|
||||
'tours.collection.openCollections': 'Abrir coleções',
|
||||
'tours.collection.nameThere': 'Nome na coleção',
|
||||
'tours.collection.keep': 'Guardar',
|
||||
'tours.collection.kept': '“{name}” agora está guardado em “{list}”.',
|
||||
'tours.collection.keepFailed': 'Não foi possível guardar o passeio.',
|
||||
'tours.collection.offline': 'As coleções precisam de conexão.',
|
||||
'tours.collection.listsFailed': 'Não foi possível carregar as coleções.',
|
||||
'tours.collection.toursFailed': 'Não foi possível carregar os passeios desta lista.',
|
||||
'tours.collection.points': '{count} pontos de rota',
|
||||
'tours.collection.points.one': '{count} ponto de rota',
|
||||
'tours.collection.savedFrom': 'Guardado de',
|
||||
'tours.collection.source': 'Guardado de “{tour}” em “{trip}”',
|
||||
'tours.collection.keptBy': 'Guardado por {name}',
|
||||
'tours.collection.add': 'Adicionar a uma viagem',
|
||||
'tours.collection.addHint': 'Cria um passeio novo e próprio na viagem que você escolher',
|
||||
'tours.collection.remove': 'Tirar da coleção',
|
||||
'tours.collection.removeTitle': 'Tirar este passeio da coleção?',
|
||||
'tours.collection.removeBody': 'Os passeios já criados a partir dele nas suas viagens ficam como estão.',
|
||||
'tours.collection.removed': 'O passeio foi tirado da coleção.',
|
||||
'tours.collection.removeFailed': 'Não foi possível tirar o passeio.',
|
||||
'tours.collection.takeEyebrow': 'Da coleção',
|
||||
'tours.collection.takeSub': 'Vira um passeio próprio na viagem escolhida, sem dias. A coleção fica como está.',
|
||||
'tours.collection.intoTrip': 'Na viagem',
|
||||
'tours.collection.noPermission': 'Você não pode adicionar passeios a esta viagem',
|
||||
'tours.collection.noTrips': 'Você ainda não tem nenhuma viagem para adicioná-lo.',
|
||||
'tours.collection.withPoints': 'Com {count} pontos de rota',
|
||||
'tours.collection.withPoints.one': 'Com {count} ponto de rota',
|
||||
'tours.collection.withPointsHint': 'Início, paradas e fim vêm na sua ordem.',
|
||||
'tours.collection.lineOnly': 'Só a linha',
|
||||
'tours.collection.lineOnlyHint': 'A linha fica como foi salva. Nenhum ponto de rota é adicionado.',
|
||||
'tours.collection.needsPoints': 'Este passeio ainda não tem linha, então os pontos de rota precisam vir junto.',
|
||||
'tours.collection.nameInTrip': 'Nome na viagem',
|
||||
'tours.collection.taken': '“{name}” agora é um passeio de “{trip}”.',
|
||||
'tours.collection.takeFailed': 'Não foi possível adicionar o passeio à viagem.',
|
||||
'tours.collection.openTrip': 'Abrir viagem',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Desar en una col·lecció',
|
||||
'tours.collection.saveHint': "Desa una còpia independent d'aquesta ruta en una de les teves col·leccions",
|
||||
'tours.collection.saveFirst': 'Desa primer la ruta per guardar-la en una col·lecció',
|
||||
'tours.collection.saveSub': "Una còpia independent. Els canvis posteriors d'aquesta ruta no hi arriben.",
|
||||
'tours.collection.list': 'Col·lecció',
|
||||
'tours.collection.readOnly': 'Només pots llegir aquesta llista',
|
||||
'tours.collection.noLists': 'Encara no tens cap col·lecció.',
|
||||
'tours.collection.openCollections': 'Obre les col·leccions',
|
||||
'tours.collection.nameThere': 'Nom a la col·lecció',
|
||||
'tours.collection.keep': 'Desa',
|
||||
'tours.collection.kept': '«{name}» ara és a «{list}».',
|
||||
'tours.collection.keepFailed': "No s'ha pogut desar la ruta.",
|
||||
'tours.collection.offline': 'Les col·leccions necessiten connexió.',
|
||||
'tours.collection.listsFailed': "No s'han pogut carregar les col·leccions.",
|
||||
'tours.collection.toursFailed': "No s'han pogut carregar les rutes d'aquesta llista.",
|
||||
'tours.collection.points': '{count} punts de ruta',
|
||||
'tours.collection.points.one': '{count} punt de ruta',
|
||||
'tours.collection.savedFrom': 'Desada des de',
|
||||
'tours.collection.source': 'Desada des de «{tour}» a «{trip}»',
|
||||
'tours.collection.keptBy': 'Desada per {name}',
|
||||
'tours.collection.add': 'Afegeix a un viatge',
|
||||
'tours.collection.addHint': 'Crea una ruta nova i pròpia al viatge que triïs',
|
||||
'tours.collection.remove': 'Treu de la col·lecció',
|
||||
'tours.collection.removeTitle': 'Vols treure aquesta ruta de la col·lecció?',
|
||||
'tours.collection.removeBody': "Les rutes ja creades a partir d'aquesta als teus viatges es queden com són.",
|
||||
'tours.collection.removed': "La ruta s'ha tret de la col·lecció.",
|
||||
'tours.collection.removeFailed': "No s'ha pogut treure la ruta.",
|
||||
'tours.collection.takeEyebrow': 'Des de la col·lecció',
|
||||
'tours.collection.takeSub': 'Esdevé una ruta pròpia del viatge que triïs, sense dies. La col·lecció es queda com és.',
|
||||
'tours.collection.intoTrip': 'Al viatge',
|
||||
'tours.collection.noPermission': 'No pots afegir rutes a aquest viatge',
|
||||
'tours.collection.noTrips': 'Encara no tens cap viatge on afegir-la.',
|
||||
'tours.collection.withPoints': 'Amb {count} punts de ruta',
|
||||
'tours.collection.withPoints.one': 'Amb {count} punt de ruta',
|
||||
'tours.collection.withPointsHint': "L'inici, les parades i el final venen en el seu ordre.",
|
||||
'tours.collection.lineOnly': 'Només la línia',
|
||||
'tours.collection.lineOnlyHint': "La línia es queda com es va desar. No s'hi afegeix cap punt de ruta.",
|
||||
'tours.collection.needsPoints': 'Aquesta ruta encara no té línia, per això els seus punts de ruta han de venir.',
|
||||
'tours.collection.noLine': 'Encara sense línia, només els punts de pas',
|
||||
'tours.collection.nameInTrip': 'Nom al viatge',
|
||||
'tours.collection.taken': '«{name}» ara és una ruta de «{trip}».',
|
||||
'tours.collection.takeFailed': "No s'ha pogut afegir la ruta al viatge.",
|
||||
'tours.collection.openTrip': 'Obre el viatge',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1328,47 +1328,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Ruta sencera',
|
||||
'tours.stages.totalPartial': 'conegut per a {known} de {of} etapes',
|
||||
'tours.stages.openInPlanner': 'Obre aquesta etapa al planificador',
|
||||
'tours.collection.save': 'Desar en una col·lecció',
|
||||
'tours.collection.saveHint': "Desa una còpia independent d'aquesta ruta en una de les teves col·leccions",
|
||||
'tours.collection.saveFirst': 'Desa primer la ruta per guardar-la en una col·lecció',
|
||||
'tours.collection.saveSub': "Una còpia independent. Els canvis posteriors d'aquesta ruta no hi arriben.",
|
||||
'tours.collection.list': 'Col·lecció',
|
||||
'tours.collection.readOnly': 'Només pots llegir aquesta llista',
|
||||
'tours.collection.noLists': 'Encara no tens cap col·lecció.',
|
||||
'tours.collection.openCollections': 'Obre les col·leccions',
|
||||
'tours.collection.nameThere': 'Nom a la col·lecció',
|
||||
'tours.collection.keep': 'Desa',
|
||||
'tours.collection.kept': '«{name}» ara és a «{list}».',
|
||||
'tours.collection.keepFailed': "No s'ha pogut desar la ruta.",
|
||||
'tours.collection.offline': 'Les col·leccions necessiten connexió.',
|
||||
'tours.collection.listsFailed': "No s'han pogut carregar les col·leccions.",
|
||||
'tours.collection.toursFailed': "No s'han pogut carregar les rutes d'aquesta llista.",
|
||||
'tours.collection.points': '{count} punts de ruta',
|
||||
'tours.collection.points.one': '{count} punt de ruta',
|
||||
'tours.collection.savedFrom': 'Desada des de',
|
||||
'tours.collection.source': 'Desada des de «{tour}» a «{trip}»',
|
||||
'tours.collection.keptBy': 'Desada per {name}',
|
||||
'tours.collection.add': 'Afegeix a un viatge',
|
||||
'tours.collection.addHint': 'Crea una ruta nova i pròpia al viatge que triïs',
|
||||
'tours.collection.remove': 'Treu de la col·lecció',
|
||||
'tours.collection.removeTitle': 'Vols treure aquesta ruta de la col·lecció?',
|
||||
'tours.collection.removeBody': "Les rutes ja creades a partir d'aquesta als teus viatges es queden com són.",
|
||||
'tours.collection.removed': "La ruta s'ha tret de la col·lecció.",
|
||||
'tours.collection.removeFailed': "No s'ha pogut treure la ruta.",
|
||||
'tours.collection.takeEyebrow': 'Des de la col·lecció',
|
||||
'tours.collection.takeSub': 'Esdevé una ruta pròpia del viatge que triïs, sense dies. La col·lecció es queda com és.',
|
||||
'tours.collection.intoTrip': 'Al viatge',
|
||||
'tours.collection.noPermission': 'No pots afegir rutes a aquest viatge',
|
||||
'tours.collection.noTrips': 'Encara no tens cap viatge on afegir-la.',
|
||||
'tours.collection.withPoints': 'Amb {count} punts de ruta',
|
||||
'tours.collection.withPoints.one': 'Amb {count} punt de ruta',
|
||||
'tours.collection.withPointsHint': "L'inici, les parades i el final venen en el seu ordre.",
|
||||
'tours.collection.lineOnly': 'Només la línia',
|
||||
'tours.collection.lineOnlyHint': "La línia es queda com es va desar. No s'hi afegeix cap punt de ruta.",
|
||||
'tours.collection.needsPoints': 'Aquesta ruta encara no té línia, per això els seus punts de ruta han de venir.',
|
||||
'tours.collection.nameInTrip': 'Nom al viatge',
|
||||
'tours.collection.taken': '«{name}» ara és una ruta de «{trip}».',
|
||||
'tours.collection.takeFailed': "No s'ha pogut afegir la ruta al viatge.",
|
||||
'tours.collection.openTrip': 'Obre el viatge',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Uložit do sbírky',
|
||||
'tours.collection.saveHint': 'Uloží nezávislou kopii této túry do jedné z tvých sbírek',
|
||||
'tours.collection.saveFirst': 'Nejprve túru ulož, abys ji mohl dát do sbírky',
|
||||
'tours.collection.saveSub': 'Nezávislá kopie. Pozdější změny této túry se jí nedotknou.',
|
||||
'tours.collection.list': 'Sbírka',
|
||||
'tours.collection.readOnly': 'Tento seznam můžeš jen číst',
|
||||
'tours.collection.noLists': 'Zatím nemáš žádnou sbírku.',
|
||||
'tours.collection.openCollections': 'Otevřít sbírky',
|
||||
'tours.collection.nameThere': 'Název ve sbírce',
|
||||
'tours.collection.keep': 'Uložit',
|
||||
'tours.collection.kept': '„{name}“ je teď ve sbírce „{list}“.',
|
||||
'tours.collection.keepFailed': 'Túru se nepodařilo uložit.',
|
||||
'tours.collection.offline': 'Sbírky potřebují připojení.',
|
||||
'tours.collection.listsFailed': 'Sbírky se nepodařilo načíst.',
|
||||
'tours.collection.toursFailed': 'Túry tohoto seznamu se nepodařilo načíst.',
|
||||
'tours.collection.points': '{count} bodů trasy',
|
||||
'tours.collection.points.one': '{count} bod trasy',
|
||||
'tours.collection.points.few': '{count} body trasy',
|
||||
'tours.collection.savedFrom': 'Uloženo z',
|
||||
'tours.collection.source': 'Uloženo z „{tour}“ v „{trip}“',
|
||||
'tours.collection.keptBy': 'Uložil(a) {name}',
|
||||
'tours.collection.add': 'Přidat do cesty',
|
||||
'tours.collection.addHint': 'Vytvoří vlastní novou túru v cestě, kterou zvolíš',
|
||||
'tours.collection.remove': 'Odebrat ze sbírky',
|
||||
'tours.collection.removeTitle': 'Odebrat tuto túru ze sbírky?',
|
||||
'tours.collection.removeBody': 'Túry, které už z ní ve tvých cestách vznikly, zůstanou, jak jsou.',
|
||||
'tours.collection.removed': 'Túra byla odebrána ze sbírky.',
|
||||
'tours.collection.removeFailed': 'Túru se nepodařilo odebrat.',
|
||||
'tours.collection.takeEyebrow': 'Ze sbírky',
|
||||
'tours.collection.takeSub': 'Stane se vlastní túrou zvolené cesty, bez dnů. Sbírka zůstane, jak je.',
|
||||
'tours.collection.intoTrip': 'Do cesty',
|
||||
'tours.collection.noPermission': 'Do této cesty nemůžeš přidávat túry',
|
||||
'tours.collection.noTrips': 'Zatím nemáš žádnou cestu, kam ji přidat.',
|
||||
'tours.collection.withPoints': 'S {count} body trasy',
|
||||
'tours.collection.withPoints.one': 'S {count} bodem trasy',
|
||||
'tours.collection.withPoints.few': 'Se {count} body trasy',
|
||||
'tours.collection.withPointsHint': 'Start, zastávky a cíl přejdou ve svém pořadí.',
|
||||
'tours.collection.lineOnly': 'Jen linie',
|
||||
'tours.collection.lineOnlyHint': 'Linie zůstane, jak byla uložena. Žádné body trasy se nepřidají.',
|
||||
'tours.collection.needsPoints': 'Tato túra zatím nemá linii, proto musí její body trasy přejít s ní.',
|
||||
'tours.collection.noLine': 'Zatím bez trasy, jen průjezdní body',
|
||||
'tours.collection.nameInTrip': 'Název v cestě',
|
||||
'tours.collection.taken': '„{name}“ je teď túrou cesty „{trip}“.',
|
||||
'tours.collection.takeFailed': 'Túru se nepodařilo přidat do cesty.',
|
||||
'tours.collection.openTrip': 'Otevřít cestu',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1313,49 +1313,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Celá trasa',
|
||||
'tours.stages.totalPartial': 'známo pro {known} z {of} etap',
|
||||
'tours.stages.openInPlanner': 'Otevřít tuto etapu v plánovači',
|
||||
'tours.collection.save': 'Uložit do sbírky',
|
||||
'tours.collection.saveHint': 'Uloží nezávislou kopii této túry do jedné z tvých sbírek',
|
||||
'tours.collection.saveFirst': 'Nejprve túru ulož, abys ji mohl dát do sbírky',
|
||||
'tours.collection.saveSub': 'Nezávislá kopie. Pozdější změny této túry se jí nedotknou.',
|
||||
'tours.collection.list': 'Sbírka',
|
||||
'tours.collection.readOnly': 'Tento seznam můžeš jen číst',
|
||||
'tours.collection.noLists': 'Zatím nemáš žádnou sbírku.',
|
||||
'tours.collection.openCollections': 'Otevřít sbírky',
|
||||
'tours.collection.nameThere': 'Název ve sbírce',
|
||||
'tours.collection.keep': 'Uložit',
|
||||
'tours.collection.kept': '„{name}“ je teď ve sbírce „{list}“.',
|
||||
'tours.collection.keepFailed': 'Túru se nepodařilo uložit.',
|
||||
'tours.collection.offline': 'Sbírky potřebují připojení.',
|
||||
'tours.collection.listsFailed': 'Sbírky se nepodařilo načíst.',
|
||||
'tours.collection.toursFailed': 'Túry tohoto seznamu se nepodařilo načíst.',
|
||||
'tours.collection.points': '{count} bodů trasy',
|
||||
'tours.collection.points.one': '{count} bod trasy',
|
||||
'tours.collection.points.few': '{count} body trasy',
|
||||
'tours.collection.savedFrom': 'Uloženo z',
|
||||
'tours.collection.source': 'Uloženo z „{tour}“ v „{trip}“',
|
||||
'tours.collection.keptBy': 'Uložil(a) {name}',
|
||||
'tours.collection.add': 'Přidat do cesty',
|
||||
'tours.collection.addHint': 'Vytvoří vlastní novou túru v cestě, kterou zvolíš',
|
||||
'tours.collection.remove': 'Odebrat ze sbírky',
|
||||
'tours.collection.removeTitle': 'Odebrat tuto túru ze sbírky?',
|
||||
'tours.collection.removeBody': 'Túry, které už z ní ve tvých cestách vznikly, zůstanou, jak jsou.',
|
||||
'tours.collection.removed': 'Túra byla odebrána ze sbírky.',
|
||||
'tours.collection.removeFailed': 'Túru se nepodařilo odebrat.',
|
||||
'tours.collection.takeEyebrow': 'Ze sbírky',
|
||||
'tours.collection.takeSub': 'Stane se vlastní túrou zvolené cesty, bez dnů. Sbírka zůstane, jak je.',
|
||||
'tours.collection.intoTrip': 'Do cesty',
|
||||
'tours.collection.noPermission': 'Do této cesty nemůžeš přidávat túry',
|
||||
'tours.collection.noTrips': 'Zatím nemáš žádnou cestu, kam ji přidat.',
|
||||
'tours.collection.withPoints': 'S {count} body trasy',
|
||||
'tours.collection.withPoints.one': 'S {count} bodem trasy',
|
||||
'tours.collection.withPoints.few': 'Se {count} body trasy',
|
||||
'tours.collection.withPointsHint': 'Start, zastávky a cíl přejdou ve svém pořadí.',
|
||||
'tours.collection.lineOnly': 'Jen linie',
|
||||
'tours.collection.lineOnlyHint': 'Linie zůstane, jak byla uložena. Žádné body trasy se nepřidají.',
|
||||
'tours.collection.needsPoints': 'Tato túra zatím nemá linii, proto musí její body trasy přejít s ní.',
|
||||
'tours.collection.nameInTrip': 'Název v cestě',
|
||||
'tours.collection.taken': '„{name}“ je teď túrou cesty „{trip}“.',
|
||||
'tours.collection.takeFailed': 'Túru se nepodařilo přidat do cesty.',
|
||||
'tours.collection.openTrip': 'Otevřít cestu',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'In einer Sammlung behalten',
|
||||
'tours.collection.saveHint': 'Legt eine unabhängige Kopie dieser Tour in einer deiner Sammlungen ab',
|
||||
'tours.collection.saveFirst': 'Speichere die Tour zuerst, um sie in einer Sammlung zu behalten',
|
||||
'tours.collection.saveSub': 'Eine unabhängige Kopie. Spätere Änderungen an dieser Tour erreichen sie nicht.',
|
||||
'tours.collection.list': 'Sammlung',
|
||||
'tours.collection.readOnly': 'Diese Liste kannst du nur lesen',
|
||||
'tours.collection.noLists': 'Du hast noch keine Sammlung.',
|
||||
'tours.collection.openCollections': 'Sammlungen öffnen',
|
||||
'tours.collection.nameThere': 'Name in der Sammlung',
|
||||
'tours.collection.keep': 'Behalten',
|
||||
'tours.collection.kept': '„{name}“ liegt jetzt in „{list}“.',
|
||||
'tours.collection.keepFailed': 'Die Tour konnte nicht abgelegt werden.',
|
||||
'tours.collection.offline': 'Sammlungen brauchen eine Verbindung.',
|
||||
'tours.collection.listsFailed': 'Die Sammlungen konnten nicht geladen werden.',
|
||||
'tours.collection.toursFailed': 'Die Touren dieser Liste konnten nicht geladen werden.',
|
||||
'tours.collection.points': '{count} Wegpunkte',
|
||||
'tours.collection.points.one': '{count} Wegpunkt',
|
||||
'tours.collection.savedFrom': 'Abgelegt aus',
|
||||
'tours.collection.source': 'Abgelegt aus „{tour}“ in „{trip}“',
|
||||
'tours.collection.keptBy': 'Abgelegt von {name}',
|
||||
'tours.collection.add': 'In eine Reise übernehmen',
|
||||
'tours.collection.addHint': 'Legt in einer Reise deiner Wahl eine eigene neue Tour an',
|
||||
'tours.collection.remove': 'Aus der Sammlung entfernen',
|
||||
'tours.collection.removeTitle': 'Diese Tour aus der Sammlung entfernen?',
|
||||
'tours.collection.removeBody': 'Touren, die schon daraus in deinen Reisen entstanden sind, bleiben, wie sie sind.',
|
||||
'tours.collection.removed': 'Die Tour wurde aus der Sammlung entfernt.',
|
||||
'tours.collection.removeFailed': 'Die Tour konnte nicht entfernt werden.',
|
||||
'tours.collection.takeEyebrow': 'Aus der Sammlung',
|
||||
'tours.collection.takeSub':
|
||||
'Wird in der gewählten Reise eine eigene Tour, ohne Tage. Die Sammlung bleibt, wie sie ist.',
|
||||
'tours.collection.intoTrip': 'In die Reise',
|
||||
'tours.collection.noPermission': 'Du darfst dieser Reise keine Touren hinzufügen',
|
||||
'tours.collection.noTrips': 'Du hast noch keine Reise, in die sie passt.',
|
||||
'tours.collection.withPoints': 'Mit {count} Wegpunkten',
|
||||
'tours.collection.withPoints.one': 'Mit {count} Wegpunkt',
|
||||
'tours.collection.withPointsHint': 'Start, Zwischenpunkte und Ziel kommen in ihrer Reihenfolge mit.',
|
||||
'tours.collection.lineOnly': 'Nur die Linie',
|
||||
'tours.collection.lineOnlyHint': 'Die Linie bleibt, wie sie gespeichert wurde. Es kommen keine Wegpunkte hinzu.',
|
||||
'tours.collection.needsPoints': 'Diese Tour hat noch keine Linie, darum müssen ihre Wegpunkte mitkommen.',
|
||||
'tours.collection.noLine': 'Noch keine Linie, nur die Wegpunkte',
|
||||
'tours.collection.nameInTrip': 'Name in der Reise',
|
||||
'tours.collection.taken': '„{name}“ ist jetzt eine Tour von „{trip}“.',
|
||||
'tours.collection.takeFailed': 'Die Tour konnte nicht in die Reise übernommen werden.',
|
||||
'tours.collection.openTrip': 'Reise öffnen',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1339,49 +1339,6 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Ganze Tour',
|
||||
'tours.stages.totalPartial': 'bekannt für {known} von {of} Etappen',
|
||||
'tours.stages.openInPlanner': 'Diese Etappe im Planer öffnen',
|
||||
'tours.collection.save': 'In einer Sammlung behalten',
|
||||
'tours.collection.saveHint': 'Legt eine unabhängige Kopie dieser Tour in einer deiner Sammlungen ab',
|
||||
'tours.collection.saveFirst': 'Speichere die Tour zuerst, um sie in einer Sammlung zu behalten',
|
||||
'tours.collection.saveSub': 'Eine unabhängige Kopie. Spätere Änderungen an dieser Tour erreichen sie nicht.',
|
||||
'tours.collection.list': 'Sammlung',
|
||||
'tours.collection.readOnly': 'Diese Liste kannst du nur lesen',
|
||||
'tours.collection.noLists': 'Du hast noch keine Sammlung.',
|
||||
'tours.collection.openCollections': 'Sammlungen öffnen',
|
||||
'tours.collection.nameThere': 'Name in der Sammlung',
|
||||
'tours.collection.keep': 'Behalten',
|
||||
'tours.collection.kept': '„{name}“ liegt jetzt in „{list}“.',
|
||||
'tours.collection.keepFailed': 'Die Tour konnte nicht abgelegt werden.',
|
||||
'tours.collection.offline': 'Sammlungen brauchen eine Verbindung.',
|
||||
'tours.collection.listsFailed': 'Die Sammlungen konnten nicht geladen werden.',
|
||||
'tours.collection.toursFailed': 'Die Touren dieser Liste konnten nicht geladen werden.',
|
||||
'tours.collection.points': '{count} Wegpunkte',
|
||||
'tours.collection.points.one': '{count} Wegpunkt',
|
||||
'tours.collection.savedFrom': 'Abgelegt aus',
|
||||
'tours.collection.source': 'Abgelegt aus „{tour}“ in „{trip}“',
|
||||
'tours.collection.keptBy': 'Abgelegt von {name}',
|
||||
'tours.collection.add': 'In eine Reise übernehmen',
|
||||
'tours.collection.addHint': 'Legt in einer Reise deiner Wahl eine eigene neue Tour an',
|
||||
'tours.collection.remove': 'Aus der Sammlung entfernen',
|
||||
'tours.collection.removeTitle': 'Diese Tour aus der Sammlung entfernen?',
|
||||
'tours.collection.removeBody': 'Touren, die schon daraus in deinen Reisen entstanden sind, bleiben, wie sie sind.',
|
||||
'tours.collection.removed': 'Die Tour wurde aus der Sammlung entfernt.',
|
||||
'tours.collection.removeFailed': 'Die Tour konnte nicht entfernt werden.',
|
||||
'tours.collection.takeEyebrow': 'Aus der Sammlung',
|
||||
'tours.collection.takeSub':
|
||||
'Wird in der gewählten Reise eine eigene Tour, ohne Tage. Die Sammlung bleibt, wie sie ist.',
|
||||
'tours.collection.intoTrip': 'In die Reise',
|
||||
'tours.collection.noPermission': 'Du darfst dieser Reise keine Touren hinzufügen',
|
||||
'tours.collection.noTrips': 'Du hast noch keine Reise, in die sie passt.',
|
||||
'tours.collection.withPoints': 'Mit {count} Wegpunkten',
|
||||
'tours.collection.withPoints.one': 'Mit {count} Wegpunkt',
|
||||
'tours.collection.withPointsHint': 'Start, Zwischenpunkte und Ziel kommen in ihrer Reihenfolge mit.',
|
||||
'tours.collection.lineOnly': 'Nur die Linie',
|
||||
'tours.collection.lineOnlyHint': 'Die Linie bleibt, wie sie gespeichert wurde. Es kommen keine Wegpunkte hinzu.',
|
||||
'tours.collection.needsPoints': 'Diese Tour hat noch keine Linie, darum müssen ihre Wegpunkte mitkommen.',
|
||||
'tours.collection.nameInTrip': 'Name in der Reise',
|
||||
'tours.collection.taken': '„{name}“ ist jetzt eine Tour von „{trip}“.',
|
||||
'tours.collection.takeFailed': 'Die Tour konnte nicht in die Reise übernommen werden.',
|
||||
'tours.collection.openTrip': 'Reise öffnen',
|
||||
};
|
||||
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Keep in a collection',
|
||||
'tours.collection.saveHint': 'Keeps an independent copy of this tour in one of your collections',
|
||||
'tours.collection.saveFirst': 'Save the tour first to keep it in a collection',
|
||||
'tours.collection.saveSub': 'An independent copy. Later changes to this tour do not reach it.',
|
||||
'tours.collection.list': 'Collection',
|
||||
'tours.collection.readOnly': 'You can only read this list',
|
||||
'tours.collection.noLists': 'You have no collection yet.',
|
||||
'tours.collection.openCollections': 'Open collections',
|
||||
'tours.collection.nameThere': 'Name in the collection',
|
||||
'tours.collection.keep': 'Keep',
|
||||
'tours.collection.kept': '“{name}” is now kept in “{list}”.',
|
||||
'tours.collection.keepFailed': 'The tour could not be kept.',
|
||||
'tours.collection.offline': 'Collections need a connection.',
|
||||
'tours.collection.listsFailed': 'The collections could not be loaded.',
|
||||
'tours.collection.toursFailed': 'The tours of this list could not be loaded.',
|
||||
'tours.collection.points': '{count} waypoints',
|
||||
'tours.collection.points.one': '{count} waypoint',
|
||||
'tours.collection.savedFrom': 'Saved from',
|
||||
'tours.collection.source': 'Saved from “{tour}” in “{trip}”',
|
||||
'tours.collection.keptBy': 'Kept by {name}',
|
||||
'tours.collection.add': 'Add to a trip',
|
||||
'tours.collection.addHint': 'Makes a new tour of its own in a trip you choose',
|
||||
'tours.collection.remove': 'Remove from the collection',
|
||||
'tours.collection.removeTitle': 'Remove this tour from the collection?',
|
||||
'tours.collection.removeBody': 'Tours already made from it in your trips stay as they are.',
|
||||
'tours.collection.removed': 'The tour was removed from the collection.',
|
||||
'tours.collection.removeFailed': 'The tour could not be removed.',
|
||||
'tours.collection.takeEyebrow': 'From the collection',
|
||||
'tours.collection.takeSub':
|
||||
'Becomes a tour of its own in the trip you choose, without days. The collection stays as it is.',
|
||||
'tours.collection.intoTrip': 'Into the trip',
|
||||
'tours.collection.noPermission': 'You may not add tours to this trip',
|
||||
'tours.collection.noTrips': 'You have no trip to add it to yet.',
|
||||
'tours.collection.withPoints': 'With {count} waypoints',
|
||||
'tours.collection.withPoints.one': 'With {count} waypoint',
|
||||
'tours.collection.withPointsHint': 'Start, stops and end come along in their order.',
|
||||
'tours.collection.lineOnly': 'Line only',
|
||||
'tours.collection.lineOnlyHint': 'The line stays as saved. No waypoints are added.',
|
||||
'tours.collection.needsPoints': 'This tour has no line yet, so its waypoints have to come along.',
|
||||
'tours.collection.noLine': 'No line yet, only its waypoints',
|
||||
'tours.collection.nameInTrip': 'Name in the trip',
|
||||
'tours.collection.taken': '“{name}” is now a tour of “{trip}”.',
|
||||
'tours.collection.takeFailed': 'The tour could not be added to the trip.',
|
||||
'tours.collection.openTrip': 'Open trip',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1295,48 +1295,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Whole tour',
|
||||
'tours.stages.totalPartial': 'known for {known} of {of} stages',
|
||||
'tours.stages.openInPlanner': 'Open this stage in the planner',
|
||||
'tours.collection.save': 'Keep in a collection',
|
||||
'tours.collection.saveHint': 'Keeps an independent copy of this tour in one of your collections',
|
||||
'tours.collection.saveFirst': 'Save the tour first to keep it in a collection',
|
||||
'tours.collection.saveSub': 'An independent copy. Later changes to this tour do not reach it.',
|
||||
'tours.collection.list': 'Collection',
|
||||
'tours.collection.readOnly': 'You can only read this list',
|
||||
'tours.collection.noLists': 'You have no collection yet.',
|
||||
'tours.collection.openCollections': 'Open collections',
|
||||
'tours.collection.nameThere': 'Name in the collection',
|
||||
'tours.collection.keep': 'Keep',
|
||||
'tours.collection.kept': '“{name}” is now kept in “{list}”.',
|
||||
'tours.collection.keepFailed': 'The tour could not be kept.',
|
||||
'tours.collection.offline': 'Collections need a connection.',
|
||||
'tours.collection.listsFailed': 'The collections could not be loaded.',
|
||||
'tours.collection.toursFailed': 'The tours of this list could not be loaded.',
|
||||
'tours.collection.points': '{count} waypoints',
|
||||
'tours.collection.points.one': '{count} waypoint',
|
||||
'tours.collection.savedFrom': 'Saved from',
|
||||
'tours.collection.source': 'Saved from “{tour}” in “{trip}”',
|
||||
'tours.collection.keptBy': 'Kept by {name}',
|
||||
'tours.collection.add': 'Add to a trip',
|
||||
'tours.collection.addHint': 'Makes a new tour of its own in a trip you choose',
|
||||
'tours.collection.remove': 'Remove from the collection',
|
||||
'tours.collection.removeTitle': 'Remove this tour from the collection?',
|
||||
'tours.collection.removeBody': 'Tours already made from it in your trips stay as they are.',
|
||||
'tours.collection.removed': 'The tour was removed from the collection.',
|
||||
'tours.collection.removeFailed': 'The tour could not be removed.',
|
||||
'tours.collection.takeEyebrow': 'From the collection',
|
||||
'tours.collection.takeSub':
|
||||
'Becomes a tour of its own in the trip you choose, without days. The collection stays as it is.',
|
||||
'tours.collection.intoTrip': 'Into the trip',
|
||||
'tours.collection.noPermission': 'You may not add tours to this trip',
|
||||
'tours.collection.noTrips': 'You have no trip to add it to yet.',
|
||||
'tours.collection.withPoints': 'With {count} waypoints',
|
||||
'tours.collection.withPoints.one': 'With {count} waypoint',
|
||||
'tours.collection.withPointsHint': 'Start, stops and end come along in their order.',
|
||||
'tours.collection.lineOnly': 'Line only',
|
||||
'tours.collection.lineOnlyHint': 'The line stays as saved. No waypoints are added.',
|
||||
'tours.collection.needsPoints': 'This tour has no line yet, so its waypoints have to come along.',
|
||||
'tours.collection.nameInTrip': 'Name in the trip',
|
||||
'tours.collection.taken': '“{name}” is now a tour of “{trip}”.',
|
||||
'tours.collection.takeFailed': 'The tour could not be added to the trip.',
|
||||
'tours.collection.openTrip': 'Open trip',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Guardar en una colección',
|
||||
'tours.collection.saveHint': 'Guarda una copia independiente de esta ruta en una de tus colecciones',
|
||||
'tours.collection.saveFirst': 'Guarda primero la ruta para conservarla en una colección',
|
||||
'tours.collection.saveSub': 'Una copia independiente. Los cambios posteriores en esta ruta no le llegan.',
|
||||
'tours.collection.list': 'Colección',
|
||||
'tours.collection.readOnly': 'Solo puedes leer esta lista',
|
||||
'tours.collection.noLists': 'Todavía no tienes ninguna colección.',
|
||||
'tours.collection.openCollections': 'Abrir colecciones',
|
||||
'tours.collection.nameThere': 'Nombre en la colección',
|
||||
'tours.collection.keep': 'Guardar',
|
||||
'tours.collection.kept': '«{name}» ahora está guardada en «{list}».',
|
||||
'tours.collection.keepFailed': 'No se pudo guardar la ruta.',
|
||||
'tours.collection.offline': 'Las colecciones necesitan conexión.',
|
||||
'tours.collection.listsFailed': 'No se pudieron cargar las colecciones.',
|
||||
'tours.collection.toursFailed': 'No se pudieron cargar las rutas de esta lista.',
|
||||
'tours.collection.points': '{count} puntos de ruta',
|
||||
'tours.collection.points.one': '{count} punto de ruta',
|
||||
'tours.collection.savedFrom': 'Guardada desde',
|
||||
'tours.collection.source': 'Guardada desde «{tour}» en «{trip}»',
|
||||
'tours.collection.keptBy': 'Guardada por {name}',
|
||||
'tours.collection.add': 'Añadir a un viaje',
|
||||
'tours.collection.addHint': 'Crea una ruta nueva y propia en el viaje que elijas',
|
||||
'tours.collection.remove': 'Quitar de la colección',
|
||||
'tours.collection.removeTitle': '¿Quitar esta ruta de la colección?',
|
||||
'tours.collection.removeBody': 'Las rutas ya creadas a partir de ella en tus viajes se quedan como están.',
|
||||
'tours.collection.removed': 'La ruta se quitó de la colección.',
|
||||
'tours.collection.removeFailed': 'No se pudo quitar la ruta.',
|
||||
'tours.collection.takeEyebrow': 'Desde la colección',
|
||||
'tours.collection.takeSub':
|
||||
'Pasa a ser una ruta propia del viaje que elijas, sin días. La colección se queda como está.',
|
||||
'tours.collection.intoTrip': 'Al viaje',
|
||||
'tours.collection.noPermission': 'No puedes añadir rutas a este viaje',
|
||||
'tours.collection.noTrips': 'Todavía no tienes ningún viaje al que añadirla.',
|
||||
'tours.collection.withPoints': 'Con {count} puntos de ruta',
|
||||
'tours.collection.withPoints.one': 'Con {count} punto de ruta',
|
||||
'tours.collection.withPointsHint': 'Inicio, paradas y final vienen en su orden.',
|
||||
'tours.collection.lineOnly': 'Solo la línea',
|
||||
'tours.collection.lineOnlyHint': 'La línea queda como se guardó. No se añaden puntos de ruta.',
|
||||
'tours.collection.needsPoints': 'Esta ruta aún no tiene línea, así que sus puntos de ruta tienen que venir.',
|
||||
'tours.collection.noLine': 'Aún sin línea, solo sus puntos de paso',
|
||||
'tours.collection.nameInTrip': 'Nombre en el viaje',
|
||||
'tours.collection.taken': '«{name}» ahora es una ruta de «{trip}».',
|
||||
'tours.collection.takeFailed': 'No se pudo añadir la ruta al viaje.',
|
||||
'tours.collection.openTrip': 'Abrir viaje',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1320,48 +1320,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Ruta completa',
|
||||
'tours.stages.totalPartial': 'conocido para {known} de {of} etapas',
|
||||
'tours.stages.openInPlanner': 'Abrir esta etapa en el planificador',
|
||||
'tours.collection.save': 'Guardar en una colección',
|
||||
'tours.collection.saveHint': 'Guarda una copia independiente de esta ruta en una de tus colecciones',
|
||||
'tours.collection.saveFirst': 'Guarda primero la ruta para conservarla en una colección',
|
||||
'tours.collection.saveSub': 'Una copia independiente. Los cambios posteriores en esta ruta no le llegan.',
|
||||
'tours.collection.list': 'Colección',
|
||||
'tours.collection.readOnly': 'Solo puedes leer esta lista',
|
||||
'tours.collection.noLists': 'Todavía no tienes ninguna colección.',
|
||||
'tours.collection.openCollections': 'Abrir colecciones',
|
||||
'tours.collection.nameThere': 'Nombre en la colección',
|
||||
'tours.collection.keep': 'Guardar',
|
||||
'tours.collection.kept': '«{name}» ahora está guardada en «{list}».',
|
||||
'tours.collection.keepFailed': 'No se pudo guardar la ruta.',
|
||||
'tours.collection.offline': 'Las colecciones necesitan conexión.',
|
||||
'tours.collection.listsFailed': 'No se pudieron cargar las colecciones.',
|
||||
'tours.collection.toursFailed': 'No se pudieron cargar las rutas de esta lista.',
|
||||
'tours.collection.points': '{count} puntos de ruta',
|
||||
'tours.collection.points.one': '{count} punto de ruta',
|
||||
'tours.collection.savedFrom': 'Guardada desde',
|
||||
'tours.collection.source': 'Guardada desde «{tour}» en «{trip}»',
|
||||
'tours.collection.keptBy': 'Guardada por {name}',
|
||||
'tours.collection.add': 'Añadir a un viaje',
|
||||
'tours.collection.addHint': 'Crea una ruta nueva y propia en el viaje que elijas',
|
||||
'tours.collection.remove': 'Quitar de la colección',
|
||||
'tours.collection.removeTitle': '¿Quitar esta ruta de la colección?',
|
||||
'tours.collection.removeBody': 'Las rutas ya creadas a partir de ella en tus viajes se quedan como están.',
|
||||
'tours.collection.removed': 'La ruta se quitó de la colección.',
|
||||
'tours.collection.removeFailed': 'No se pudo quitar la ruta.',
|
||||
'tours.collection.takeEyebrow': 'Desde la colección',
|
||||
'tours.collection.takeSub':
|
||||
'Pasa a ser una ruta propia del viaje que elijas, sin días. La colección se queda como está.',
|
||||
'tours.collection.intoTrip': 'Al viaje',
|
||||
'tours.collection.noPermission': 'No puedes añadir rutas a este viaje',
|
||||
'tours.collection.noTrips': 'Todavía no tienes ningún viaje al que añadirla.',
|
||||
'tours.collection.withPoints': 'Con {count} puntos de ruta',
|
||||
'tours.collection.withPoints.one': 'Con {count} punto de ruta',
|
||||
'tours.collection.withPointsHint': 'Inicio, paradas y final vienen en su orden.',
|
||||
'tours.collection.lineOnly': 'Solo la línea',
|
||||
'tours.collection.lineOnlyHint': 'La línea queda como se guardó. No se añaden puntos de ruta.',
|
||||
'tours.collection.needsPoints': 'Esta ruta aún no tiene línea, así que sus puntos de ruta tienen que venir.',
|
||||
'tours.collection.nameInTrip': 'Nombre en el viaje',
|
||||
'tours.collection.taken': '«{name}» ahora es una ruta de «{trip}».',
|
||||
'tours.collection.takeFailed': 'No se pudo añadir la ruta al viaje.',
|
||||
'tours.collection.openTrip': 'Abrir viaje',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -71,6 +72,7 @@ const locale = {
|
||||
...atlas,
|
||||
...trip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...places,
|
||||
...inspector,
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Hoia kogumikus',
|
||||
'tours.collection.saveHint': 'Hoiab selle matka iseseisvat koopiat ühes sinu kogumikus',
|
||||
'tours.collection.saveFirst': 'Salvesta matk esmalt, et seda kogumikus hoida',
|
||||
'tours.collection.saveSub': 'Iseseisev koopia. Hilisemad muudatused matkas seda ei mõjuta.',
|
||||
'tours.collection.list': 'Kogumik',
|
||||
'tours.collection.readOnly': 'Seda loendit saad ainult lugeda',
|
||||
'tours.collection.noLists': 'Sul pole veel ühtegi kogumikku.',
|
||||
'tours.collection.openCollections': 'Ava kogumikud',
|
||||
'tours.collection.nameThere': 'Nimi kogumikus',
|
||||
'tours.collection.keep': 'Hoia',
|
||||
'tours.collection.kept': '„{name}“ on nüüd kogumikus „{list}“.',
|
||||
'tours.collection.keepFailed': 'Matka ei õnnestunud hoida.',
|
||||
'tours.collection.offline': 'Kogumikud vajavad ühendust.',
|
||||
'tours.collection.listsFailed': 'Kogumikke ei õnnestunud laadida.',
|
||||
'tours.collection.toursFailed': 'Selle loendi matku ei õnnestunud laadida.',
|
||||
'tours.collection.points': '{count} teekonnapunkti',
|
||||
'tours.collection.points.one': '{count} teekonnapunkt',
|
||||
'tours.collection.savedFrom': 'Hoitud kohast',
|
||||
'tours.collection.source': 'Hoitud matkast „{tour}“ reisil „{trip}“',
|
||||
'tours.collection.keptBy': 'Hoidis {name}',
|
||||
'tours.collection.add': 'Lisa reisile',
|
||||
'tours.collection.addHint': 'Loob valitud reisile oma uue matka',
|
||||
'tours.collection.remove': 'Eemalda kogumikust',
|
||||
'tours.collection.removeTitle': 'Kas eemaldada see matk kogumikust?',
|
||||
'tours.collection.removeBody': 'Matkad, mis sinu reisidel juba sellest tehti, jäävad samaks.',
|
||||
'tours.collection.removed': 'Matk eemaldati kogumikust.',
|
||||
'tours.collection.removeFailed': 'Matka ei õnnestunud eemaldada.',
|
||||
'tours.collection.takeEyebrow': 'Kogumikust',
|
||||
'tours.collection.takeSub': 'Saab valitud reisil omaette matkaks, ilma päevadeta. Kogumik jääb samaks.',
|
||||
'tours.collection.intoTrip': 'Reisile',
|
||||
'tours.collection.noPermission': 'Sa ei tohi sellele reisile matku lisada',
|
||||
'tours.collection.noTrips': 'Sul pole veel reisi, kuhu seda lisada.',
|
||||
'tours.collection.withPoints': '{count} teekonnapunktiga',
|
||||
'tours.collection.withPoints.one': '{count} teekonnapunktiga',
|
||||
'tours.collection.withPointsHint': 'Algus, peatused ja lõpp tulevad kaasa oma järjekorras.',
|
||||
'tours.collection.lineOnly': 'Ainult joon',
|
||||
'tours.collection.lineOnlyHint': 'Joon jääb nii, nagu see salvestati. Teekonnapunkte ei lisata.',
|
||||
'tours.collection.needsPoints': 'Sellel matkal pole veel joont, seega peavad selle teekonnapunktid kaasa tulema.',
|
||||
'tours.collection.noLine': 'Joont veel pole, ainult teekonnapunktid',
|
||||
'tours.collection.nameInTrip': 'Nimi reisil',
|
||||
'tours.collection.taken': '„{name}“ on nüüd reisi „{trip}“ matk.',
|
||||
'tours.collection.takeFailed': 'Matka ei õnnestunud reisile lisada.',
|
||||
'tours.collection.openTrip': 'Ava reis',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1304,47 +1304,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Kogu matk',
|
||||
'tours.stages.totalPartial': 'teada {known} etapi kohta {of}-st',
|
||||
'tours.stages.openInPlanner': 'Ava see etapp planeerijas',
|
||||
'tours.collection.save': 'Hoia kogumikus',
|
||||
'tours.collection.saveHint': 'Hoiab selle matka iseseisvat koopiat ühes sinu kogumikus',
|
||||
'tours.collection.saveFirst': 'Salvesta matk esmalt, et seda kogumikus hoida',
|
||||
'tours.collection.saveSub': 'Iseseisev koopia. Hilisemad muudatused matkas seda ei mõjuta.',
|
||||
'tours.collection.list': 'Kogumik',
|
||||
'tours.collection.readOnly': 'Seda loendit saad ainult lugeda',
|
||||
'tours.collection.noLists': 'Sul pole veel ühtegi kogumikku.',
|
||||
'tours.collection.openCollections': 'Ava kogumikud',
|
||||
'tours.collection.nameThere': 'Nimi kogumikus',
|
||||
'tours.collection.keep': 'Hoia',
|
||||
'tours.collection.kept': '„{name}“ on nüüd kogumikus „{list}“.',
|
||||
'tours.collection.keepFailed': 'Matka ei õnnestunud hoida.',
|
||||
'tours.collection.offline': 'Kogumikud vajavad ühendust.',
|
||||
'tours.collection.listsFailed': 'Kogumikke ei õnnestunud laadida.',
|
||||
'tours.collection.toursFailed': 'Selle loendi matku ei õnnestunud laadida.',
|
||||
'tours.collection.points': '{count} teekonnapunkti',
|
||||
'tours.collection.points.one': '{count} teekonnapunkt',
|
||||
'tours.collection.savedFrom': 'Hoitud kohast',
|
||||
'tours.collection.source': 'Hoitud matkast „{tour}“ reisil „{trip}“',
|
||||
'tours.collection.keptBy': 'Hoidis {name}',
|
||||
'tours.collection.add': 'Lisa reisile',
|
||||
'tours.collection.addHint': 'Loob valitud reisile oma uue matka',
|
||||
'tours.collection.remove': 'Eemalda kogumikust',
|
||||
'tours.collection.removeTitle': 'Kas eemaldada see matk kogumikust?',
|
||||
'tours.collection.removeBody': 'Matkad, mis sinu reisidel juba sellest tehti, jäävad samaks.',
|
||||
'tours.collection.removed': 'Matk eemaldati kogumikust.',
|
||||
'tours.collection.removeFailed': 'Matka ei õnnestunud eemaldada.',
|
||||
'tours.collection.takeEyebrow': 'Kogumikust',
|
||||
'tours.collection.takeSub': 'Saab valitud reisil omaette matkaks, ilma päevadeta. Kogumik jääb samaks.',
|
||||
'tours.collection.intoTrip': 'Reisile',
|
||||
'tours.collection.noPermission': 'Sa ei tohi sellele reisile matku lisada',
|
||||
'tours.collection.noTrips': 'Sul pole veel reisi, kuhu seda lisada.',
|
||||
'tours.collection.withPoints': '{count} teekonnapunktiga',
|
||||
'tours.collection.withPoints.one': '{count} teekonnapunktiga',
|
||||
'tours.collection.withPointsHint': 'Algus, peatused ja lõpp tulevad kaasa oma järjekorras.',
|
||||
'tours.collection.lineOnly': 'Ainult joon',
|
||||
'tours.collection.lineOnlyHint': 'Joon jääb nii, nagu see salvestati. Teekonnapunkte ei lisata.',
|
||||
'tours.collection.needsPoints': 'Sellel matkal pole veel joont, seega peavad selle teekonnapunktid kaasa tulema.',
|
||||
'tours.collection.nameInTrip': 'Nimi reisil',
|
||||
'tours.collection.taken': '„{name}“ on nüüd reisi „{trip}“ matk.',
|
||||
'tours.collection.takeFailed': 'Matka ei õnnestunud reisile lisada.',
|
||||
'tours.collection.openTrip': 'Ava reis',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Garder dans une collection',
|
||||
'tours.collection.saveHint': 'Garde une copie indépendante de cet itinéraire dans une de vos collections',
|
||||
'tours.collection.saveFirst': "Enregistrez d'abord l'itinéraire pour le garder dans une collection",
|
||||
'tours.collection.saveSub':
|
||||
"Une copie indépendante. Les modifications ultérieures de cet itinéraire ne l'atteignent pas.",
|
||||
'tours.collection.list': 'Collection', // same-as-en
|
||||
'tours.collection.readOnly': 'Vous pouvez seulement lire cette liste',
|
||||
'tours.collection.noLists': "Vous n'avez encore aucune collection.",
|
||||
'tours.collection.openCollections': 'Ouvrir les collections',
|
||||
'tours.collection.nameThere': 'Nom dans la collection',
|
||||
'tours.collection.keep': 'Garder',
|
||||
'tours.collection.kept': '« {name} » est maintenant gardé dans « {list} ».',
|
||||
'tours.collection.keepFailed': "L'itinéraire n'a pas pu être gardé.",
|
||||
'tours.collection.offline': "Les collections ont besoin d'une connexion.",
|
||||
'tours.collection.listsFailed': "Les collections n'ont pas pu être chargées.",
|
||||
'tours.collection.toursFailed': "Les itinéraires de cette liste n'ont pas pu être chargés.",
|
||||
'tours.collection.points': '{count} points de passage',
|
||||
'tours.collection.points.one': '{count} point de passage',
|
||||
'tours.collection.savedFrom': 'Gardé depuis',
|
||||
'tours.collection.source': 'Gardé depuis « {tour} » dans « {trip} »',
|
||||
'tours.collection.keptBy': 'Gardé par {name}',
|
||||
'tours.collection.add': 'Ajouter à un voyage',
|
||||
'tours.collection.addHint': 'Crée un nouvel itinéraire à part entière dans le voyage de votre choix',
|
||||
'tours.collection.remove': 'Retirer de la collection',
|
||||
'tours.collection.removeTitle': 'Retirer cet itinéraire de la collection ?',
|
||||
'tours.collection.removeBody': 'Les itinéraires déjà créés à partir de celui-ci dans vos voyages restent tels quels.',
|
||||
'tours.collection.removed': "L'itinéraire a été retiré de la collection.",
|
||||
'tours.collection.removeFailed': "L'itinéraire n'a pas pu être retiré.",
|
||||
'tours.collection.takeEyebrow': 'Depuis la collection',
|
||||
'tours.collection.takeSub':
|
||||
'Devient un itinéraire à part entière dans le voyage choisi, sans jours. La collection reste telle quelle.',
|
||||
'tours.collection.intoTrip': 'Dans le voyage',
|
||||
'tours.collection.noPermission': "Vous ne pouvez pas ajouter d'itinéraires à ce voyage",
|
||||
'tours.collection.noTrips': "Vous n'avez encore aucun voyage où l'ajouter.",
|
||||
'tours.collection.withPoints': 'Avec {count} points de passage',
|
||||
'tours.collection.withPoints.one': 'Avec {count} point de passage',
|
||||
'tours.collection.withPointsHint': 'Départ, étapes et arrivée suivent dans leur ordre.',
|
||||
'tours.collection.lineOnly': 'Tracé seul',
|
||||
'tours.collection.lineOnlyHint': "Le tracé reste tel qu'il a été enregistré. Aucun point de passage n'est ajouté.",
|
||||
'tours.collection.needsPoints': "Cet itinéraire n'a pas encore de tracé, ses points de passage doivent donc suivre.",
|
||||
'tours.collection.noLine': 'Pas encore de tracé, seulement ses points de passage',
|
||||
'tours.collection.nameInTrip': 'Nom dans le voyage',
|
||||
'tours.collection.taken': '« {name} » est maintenant un itinéraire de « {trip} ».',
|
||||
'tours.collection.takeFailed': "L'itinéraire n'a pas pu être ajouté au voyage.",
|
||||
'tours.collection.openTrip': 'Ouvrir le voyage',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1347,49 +1347,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Itinéraire complet',
|
||||
'tours.stages.totalPartial': 'connu pour {known} étapes sur {of}',
|
||||
'tours.stages.openInPlanner': 'Ouvrir cette étape dans le planificateur',
|
||||
'tours.collection.save': 'Garder dans une collection',
|
||||
'tours.collection.saveHint': 'Garde une copie indépendante de cet itinéraire dans une de vos collections',
|
||||
'tours.collection.saveFirst': "Enregistrez d'abord l'itinéraire pour le garder dans une collection",
|
||||
'tours.collection.saveSub':
|
||||
"Une copie indépendante. Les modifications ultérieures de cet itinéraire ne l'atteignent pas.",
|
||||
'tours.collection.list': 'Collection', // same-as-en
|
||||
'tours.collection.readOnly': 'Vous pouvez seulement lire cette liste',
|
||||
'tours.collection.noLists': "Vous n'avez encore aucune collection.",
|
||||
'tours.collection.openCollections': 'Ouvrir les collections',
|
||||
'tours.collection.nameThere': 'Nom dans la collection',
|
||||
'tours.collection.keep': 'Garder',
|
||||
'tours.collection.kept': '« {name} » est maintenant gardé dans « {list} ».',
|
||||
'tours.collection.keepFailed': "L'itinéraire n'a pas pu être gardé.",
|
||||
'tours.collection.offline': "Les collections ont besoin d'une connexion.",
|
||||
'tours.collection.listsFailed': "Les collections n'ont pas pu être chargées.",
|
||||
'tours.collection.toursFailed': "Les itinéraires de cette liste n'ont pas pu être chargés.",
|
||||
'tours.collection.points': '{count} points de passage',
|
||||
'tours.collection.points.one': '{count} point de passage',
|
||||
'tours.collection.savedFrom': 'Gardé depuis',
|
||||
'tours.collection.source': 'Gardé depuis « {tour} » dans « {trip} »',
|
||||
'tours.collection.keptBy': 'Gardé par {name}',
|
||||
'tours.collection.add': 'Ajouter à un voyage',
|
||||
'tours.collection.addHint': 'Crée un nouvel itinéraire à part entière dans le voyage de votre choix',
|
||||
'tours.collection.remove': 'Retirer de la collection',
|
||||
'tours.collection.removeTitle': 'Retirer cet itinéraire de la collection ?',
|
||||
'tours.collection.removeBody': 'Les itinéraires déjà créés à partir de celui-ci dans vos voyages restent tels quels.',
|
||||
'tours.collection.removed': "L'itinéraire a été retiré de la collection.",
|
||||
'tours.collection.removeFailed': "L'itinéraire n'a pas pu être retiré.",
|
||||
'tours.collection.takeEyebrow': 'Depuis la collection',
|
||||
'tours.collection.takeSub':
|
||||
'Devient un itinéraire à part entière dans le voyage choisi, sans jours. La collection reste telle quelle.',
|
||||
'tours.collection.intoTrip': 'Dans le voyage',
|
||||
'tours.collection.noPermission': "Vous ne pouvez pas ajouter d'itinéraires à ce voyage",
|
||||
'tours.collection.noTrips': "Vous n'avez encore aucun voyage où l'ajouter.",
|
||||
'tours.collection.withPoints': 'Avec {count} points de passage',
|
||||
'tours.collection.withPoints.one': 'Avec {count} point de passage',
|
||||
'tours.collection.withPointsHint': 'Départ, étapes et arrivée suivent dans leur ordre.',
|
||||
'tours.collection.lineOnly': 'Tracé seul',
|
||||
'tours.collection.lineOnlyHint': "Le tracé reste tel qu'il a été enregistré. Aucun point de passage n'est ajouté.",
|
||||
'tours.collection.needsPoints': "Cet itinéraire n'a pas encore de tracé, ses points de passage doivent donc suivre.",
|
||||
'tours.collection.nameInTrip': 'Nom dans le voyage',
|
||||
'tours.collection.taken': '« {name} » est maintenant un itinéraire de « {trip} ».',
|
||||
'tours.collection.takeFailed': "L'itinéraire n'a pas pu être ajouté au voyage.",
|
||||
'tours.collection.openTrip': 'Ouvrir le voyage',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Φύλαξη σε συλλογή',
|
||||
'tours.collection.saveHint': 'Φυλάει ένα ανεξάρτητο αντίγραφο αυτής της διαδρομής σε μία από τις συλλογές σου',
|
||||
'tours.collection.saveFirst': 'Αποθήκευσε πρώτα τη διαδρομή για να τη φυλάξεις σε συλλογή',
|
||||
'tours.collection.saveSub': 'Ένα ανεξάρτητο αντίγραφο. Μεταγενέστερες αλλαγές στη διαδρομή δεν το επηρεάζουν.',
|
||||
'tours.collection.list': 'Συλλογή',
|
||||
'tours.collection.readOnly': 'Μπορείς μόνο να διαβάσεις αυτή τη λίστα',
|
||||
'tours.collection.noLists': 'Δεν έχεις ακόμη καμία συλλογή.',
|
||||
'tours.collection.openCollections': 'Άνοιγμα συλλογών',
|
||||
'tours.collection.nameThere': 'Όνομα στη συλλογή',
|
||||
'tours.collection.keep': 'Φύλαξη',
|
||||
'tours.collection.kept': 'Το «{name}» φυλάσσεται τώρα στο «{list}».',
|
||||
'tours.collection.keepFailed': 'Δεν ήταν δυνατή η φύλαξη της διαδρομής.',
|
||||
'tours.collection.offline': 'Οι συλλογές χρειάζονται σύνδεση.',
|
||||
'tours.collection.listsFailed': 'Δεν ήταν δυνατή η φόρτωση των συλλογών.',
|
||||
'tours.collection.toursFailed': 'Δεν ήταν δυνατή η φόρτωση των διαδρομών αυτής της λίστας.',
|
||||
'tours.collection.points': '{count} σημεία διαδρομής',
|
||||
'tours.collection.points.one': '{count} σημείο διαδρομής',
|
||||
'tours.collection.savedFrom': 'Φυλάχτηκε από',
|
||||
'tours.collection.source': 'Φυλάχτηκε από «{tour}» στο «{trip}»',
|
||||
'tours.collection.keptBy': 'Φυλάχτηκε από {name}',
|
||||
'tours.collection.add': 'Προσθήκη σε ταξίδι',
|
||||
'tours.collection.addHint': 'Δημιουργεί μια νέα, δική της διαδρομή σε ταξίδι της επιλογής σου',
|
||||
'tours.collection.remove': 'Αφαίρεση από τη συλλογή',
|
||||
'tours.collection.removeTitle': 'Αφαίρεση αυτής της διαδρομής από τη συλλογή;',
|
||||
'tours.collection.removeBody': 'Οι διαδρομές που έχουν ήδη φτιαχτεί από αυτή στα ταξίδια σου μένουν ως έχουν.',
|
||||
'tours.collection.removed': 'Η διαδρομή αφαιρέθηκε από τη συλλογή.',
|
||||
'tours.collection.removeFailed': 'Δεν ήταν δυνατή η αφαίρεση της διαδρομής.',
|
||||
'tours.collection.takeEyebrow': 'Από τη συλλογή',
|
||||
'tours.collection.takeSub':
|
||||
'Γίνεται δική της διαδρομή στο ταξίδι που επιλέγεις, χωρίς ημέρες. Η συλλογή μένει ως έχει.',
|
||||
'tours.collection.intoTrip': 'Στο ταξίδι',
|
||||
'tours.collection.noPermission': 'Δεν μπορείς να προσθέσεις διαδρομές σε αυτό το ταξίδι',
|
||||
'tours.collection.noTrips': 'Δεν έχεις ακόμη ταξίδι για να την προσθέσεις.',
|
||||
'tours.collection.withPoints': 'Με {count} σημεία διαδρομής',
|
||||
'tours.collection.withPoints.one': 'Με {count} σημείο διαδρομής',
|
||||
'tours.collection.withPointsHint': 'Αφετηρία, στάσεις και τέλος έρχονται με τη σειρά τους.',
|
||||
'tours.collection.lineOnly': 'Μόνο η γραμμή',
|
||||
'tours.collection.lineOnlyHint': 'Η γραμμή μένει όπως αποθηκεύτηκε. Δεν προστίθενται σημεία διαδρομής.',
|
||||
'tours.collection.needsPoints': 'Αυτή η διαδρομή δεν έχει ακόμη γραμμή, οπότε τα σημεία της πρέπει να έρθουν μαζί.',
|
||||
'tours.collection.noLine': 'Δεν υπάρχει ακόμη γραμμή, μόνο τα σημεία διαδρομής',
|
||||
'tours.collection.nameInTrip': 'Όνομα στο ταξίδι',
|
||||
'tours.collection.taken': 'Το «{name}» είναι τώρα διαδρομή του «{trip}».',
|
||||
'tours.collection.takeFailed': 'Δεν ήταν δυνατή η προσθήκη της διαδρομής στο ταξίδι.',
|
||||
'tours.collection.openTrip': 'Άνοιγμα ταξιδιού',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1349,48 +1349,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Όλη η διαδρομή',
|
||||
'tours.stages.totalPartial': 'γνωστό για {known} από {of} σκέλη',
|
||||
'tours.stages.openInPlanner': 'Άνοιγμα αυτού του σκέλους στον σχεδιαστή',
|
||||
'tours.collection.save': 'Φύλαξη σε συλλογή',
|
||||
'tours.collection.saveHint': 'Φυλάει ένα ανεξάρτητο αντίγραφο αυτής της διαδρομής σε μία από τις συλλογές σου',
|
||||
'tours.collection.saveFirst': 'Αποθήκευσε πρώτα τη διαδρομή για να τη φυλάξεις σε συλλογή',
|
||||
'tours.collection.saveSub': 'Ένα ανεξάρτητο αντίγραφο. Μεταγενέστερες αλλαγές στη διαδρομή δεν το επηρεάζουν.',
|
||||
'tours.collection.list': 'Συλλογή',
|
||||
'tours.collection.readOnly': 'Μπορείς μόνο να διαβάσεις αυτή τη λίστα',
|
||||
'tours.collection.noLists': 'Δεν έχεις ακόμη καμία συλλογή.',
|
||||
'tours.collection.openCollections': 'Άνοιγμα συλλογών',
|
||||
'tours.collection.nameThere': 'Όνομα στη συλλογή',
|
||||
'tours.collection.keep': 'Φύλαξη',
|
||||
'tours.collection.kept': 'Το «{name}» φυλάσσεται τώρα στο «{list}».',
|
||||
'tours.collection.keepFailed': 'Δεν ήταν δυνατή η φύλαξη της διαδρομής.',
|
||||
'tours.collection.offline': 'Οι συλλογές χρειάζονται σύνδεση.',
|
||||
'tours.collection.listsFailed': 'Δεν ήταν δυνατή η φόρτωση των συλλογών.',
|
||||
'tours.collection.toursFailed': 'Δεν ήταν δυνατή η φόρτωση των διαδρομών αυτής της λίστας.',
|
||||
'tours.collection.points': '{count} σημεία διαδρομής',
|
||||
'tours.collection.points.one': '{count} σημείο διαδρομής',
|
||||
'tours.collection.savedFrom': 'Φυλάχτηκε από',
|
||||
'tours.collection.source': 'Φυλάχτηκε από «{tour}» στο «{trip}»',
|
||||
'tours.collection.keptBy': 'Φυλάχτηκε από {name}',
|
||||
'tours.collection.add': 'Προσθήκη σε ταξίδι',
|
||||
'tours.collection.addHint': 'Δημιουργεί μια νέα, δική της διαδρομή σε ταξίδι της επιλογής σου',
|
||||
'tours.collection.remove': 'Αφαίρεση από τη συλλογή',
|
||||
'tours.collection.removeTitle': 'Αφαίρεση αυτής της διαδρομής από τη συλλογή;',
|
||||
'tours.collection.removeBody': 'Οι διαδρομές που έχουν ήδη φτιαχτεί από αυτή στα ταξίδια σου μένουν ως έχουν.',
|
||||
'tours.collection.removed': 'Η διαδρομή αφαιρέθηκε από τη συλλογή.',
|
||||
'tours.collection.removeFailed': 'Δεν ήταν δυνατή η αφαίρεση της διαδρομής.',
|
||||
'tours.collection.takeEyebrow': 'Από τη συλλογή',
|
||||
'tours.collection.takeSub':
|
||||
'Γίνεται δική της διαδρομή στο ταξίδι που επιλέγεις, χωρίς ημέρες. Η συλλογή μένει ως έχει.',
|
||||
'tours.collection.intoTrip': 'Στο ταξίδι',
|
||||
'tours.collection.noPermission': 'Δεν μπορείς να προσθέσεις διαδρομές σε αυτό το ταξίδι',
|
||||
'tours.collection.noTrips': 'Δεν έχεις ακόμη ταξίδι για να την προσθέσεις.',
|
||||
'tours.collection.withPoints': 'Με {count} σημεία διαδρομής',
|
||||
'tours.collection.withPoints.one': 'Με {count} σημείο διαδρομής',
|
||||
'tours.collection.withPointsHint': 'Αφετηρία, στάσεις και τέλος έρχονται με τη σειρά τους.',
|
||||
'tours.collection.lineOnly': 'Μόνο η γραμμή',
|
||||
'tours.collection.lineOnlyHint': 'Η γραμμή μένει όπως αποθηκεύτηκε. Δεν προστίθενται σημεία διαδρομής.',
|
||||
'tours.collection.needsPoints': 'Αυτή η διαδρομή δεν έχει ακόμη γραμμή, οπότε τα σημεία της πρέπει να έρθουν μαζί.',
|
||||
'tours.collection.nameInTrip': 'Όνομα στο ταξίδι',
|
||||
'tours.collection.taken': 'Το «{name}» είναι τώρα διαδρομή του «{trip}».',
|
||||
'tours.collection.takeFailed': 'Δεν ήταν δυνατή η προσθήκη της διαδρομής στο ταξίδι.',
|
||||
'tours.collection.openTrip': 'Άνοιγμα ταξιδιού',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Megőrzés gyűjteményben',
|
||||
'tours.collection.saveHint': 'A túra önálló másolatát az egyik gyűjteményedbe teszi',
|
||||
'tours.collection.saveFirst': 'Előbb mentsd a túrát, hogy gyűjteménybe tehesd',
|
||||
'tours.collection.saveSub': 'Önálló másolat. A túra későbbi módosításai nem érik el.',
|
||||
'tours.collection.list': 'Gyűjtemény',
|
||||
'tours.collection.readOnly': 'Ezt a listát csak olvasni tudod',
|
||||
'tours.collection.noLists': 'Még nincs gyűjteményed.',
|
||||
'tours.collection.openCollections': 'Gyűjtemények megnyitása',
|
||||
'tours.collection.nameThere': 'Név a gyűjteményben',
|
||||
'tours.collection.keep': 'Megőrzés',
|
||||
'tours.collection.kept': 'A(z) „{name}” most a(z) „{list}” gyűjteményben van.',
|
||||
'tours.collection.keepFailed': 'A túrát nem sikerült megőrizni.',
|
||||
'tours.collection.offline': 'A gyűjteményekhez kapcsolat kell.',
|
||||
'tours.collection.listsFailed': 'A gyűjteményeket nem sikerült betölteni.',
|
||||
'tours.collection.toursFailed': 'A lista túráit nem sikerült betölteni.',
|
||||
'tours.collection.points': '{count} útpont',
|
||||
'tours.collection.points.one': '{count} útpont',
|
||||
'tours.collection.savedFrom': 'Megőrizve innen',
|
||||
'tours.collection.source': 'Megőrizve innen: „{tour}”, „{trip}”',
|
||||
'tours.collection.keptBy': 'Megőrizte: {name}',
|
||||
'tours.collection.add': 'Hozzáadás egy úthoz',
|
||||
'tours.collection.addHint': 'Önálló új túrát hoz létre egy általad választott útban',
|
||||
'tours.collection.remove': 'Eltávolítás a gyűjteményből',
|
||||
'tours.collection.removeTitle': 'Eltávolítod ezt a túrát a gyűjteményből?',
|
||||
'tours.collection.removeBody': 'Az útjaidban belőle már készült túrák változatlanok maradnak.',
|
||||
'tours.collection.removed': 'A túra kikerült a gyűjteményből.',
|
||||
'tours.collection.removeFailed': 'A túrát nem sikerült eltávolítani.',
|
||||
'tours.collection.takeEyebrow': 'A gyűjteményből',
|
||||
'tours.collection.takeSub': 'Önálló túra lesz a választott útban, napok nélkül. A gyűjtemény változatlan marad.',
|
||||
'tours.collection.intoTrip': 'Az útba',
|
||||
'tours.collection.noPermission': 'Ehhez az úthoz nem adhatsz túrát',
|
||||
'tours.collection.noTrips': 'Még nincs utad, amelyhez hozzáadhatnád.',
|
||||
'tours.collection.withPoints': '{count} útponttal',
|
||||
'tours.collection.withPoints.one': '{count} útponttal',
|
||||
'tours.collection.withPointsHint': 'A kezdőpont, a megállók és a végpont a sorrendjükben jönnek.',
|
||||
'tours.collection.lineOnly': 'Csak a vonal',
|
||||
'tours.collection.lineOnlyHint': 'A vonal a mentett formájában marad. Útpontok nem kerülnek hozzá.',
|
||||
'tours.collection.needsPoints': 'Ennek a túrának még nincs vonala, ezért az útpontjainak is jönniük kell.',
|
||||
'tours.collection.noLine': 'Még nincs vonal, csak az útpontok',
|
||||
'tours.collection.nameInTrip': 'Név az útban',
|
||||
'tours.collection.taken': 'A(z) „{name}” most a(z) „{trip}” túrája.',
|
||||
'tours.collection.takeFailed': 'A túrát nem sikerült hozzáadni az úthoz.',
|
||||
'tours.collection.openTrip': 'Út megnyitása',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1326,47 +1326,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Teljes túra',
|
||||
'tours.stages.totalPartial': 'ismert {known} szakasznál a {of} közül',
|
||||
'tours.stages.openInPlanner': 'A szakasz megnyitása a tervezőben',
|
||||
'tours.collection.save': 'Megőrzés gyűjteményben',
|
||||
'tours.collection.saveHint': 'A túra önálló másolatát az egyik gyűjteményedbe teszi',
|
||||
'tours.collection.saveFirst': 'Előbb mentsd a túrát, hogy gyűjteménybe tehesd',
|
||||
'tours.collection.saveSub': 'Önálló másolat. A túra későbbi módosításai nem érik el.',
|
||||
'tours.collection.list': 'Gyűjtemény',
|
||||
'tours.collection.readOnly': 'Ezt a listát csak olvasni tudod',
|
||||
'tours.collection.noLists': 'Még nincs gyűjteményed.',
|
||||
'tours.collection.openCollections': 'Gyűjtemények megnyitása',
|
||||
'tours.collection.nameThere': 'Név a gyűjteményben',
|
||||
'tours.collection.keep': 'Megőrzés',
|
||||
'tours.collection.kept': 'A(z) „{name}” most a(z) „{list}” gyűjteményben van.',
|
||||
'tours.collection.keepFailed': 'A túrát nem sikerült megőrizni.',
|
||||
'tours.collection.offline': 'A gyűjteményekhez kapcsolat kell.',
|
||||
'tours.collection.listsFailed': 'A gyűjteményeket nem sikerült betölteni.',
|
||||
'tours.collection.toursFailed': 'A lista túráit nem sikerült betölteni.',
|
||||
'tours.collection.points': '{count} útpont',
|
||||
'tours.collection.points.one': '{count} útpont',
|
||||
'tours.collection.savedFrom': 'Megőrizve innen',
|
||||
'tours.collection.source': 'Megőrizve innen: „{tour}”, „{trip}”',
|
||||
'tours.collection.keptBy': 'Megőrizte: {name}',
|
||||
'tours.collection.add': 'Hozzáadás egy úthoz',
|
||||
'tours.collection.addHint': 'Önálló új túrát hoz létre egy általad választott útban',
|
||||
'tours.collection.remove': 'Eltávolítás a gyűjteményből',
|
||||
'tours.collection.removeTitle': 'Eltávolítod ezt a túrát a gyűjteményből?',
|
||||
'tours.collection.removeBody': 'Az útjaidban belőle már készült túrák változatlanok maradnak.',
|
||||
'tours.collection.removed': 'A túra kikerült a gyűjteményből.',
|
||||
'tours.collection.removeFailed': 'A túrát nem sikerült eltávolítani.',
|
||||
'tours.collection.takeEyebrow': 'A gyűjteményből',
|
||||
'tours.collection.takeSub': 'Önálló túra lesz a választott útban, napok nélkül. A gyűjtemény változatlan marad.',
|
||||
'tours.collection.intoTrip': 'Az útba',
|
||||
'tours.collection.noPermission': 'Ehhez az úthoz nem adhatsz túrát',
|
||||
'tours.collection.noTrips': 'Még nincs utad, amelyhez hozzáadhatnád.',
|
||||
'tours.collection.withPoints': '{count} útponttal',
|
||||
'tours.collection.withPoints.one': '{count} útponttal',
|
||||
'tours.collection.withPointsHint': 'A kezdőpont, a megállók és a végpont a sorrendjükben jönnek.',
|
||||
'tours.collection.lineOnly': 'Csak a vonal',
|
||||
'tours.collection.lineOnlyHint': 'A vonal a mentett formájában marad. Útpontok nem kerülnek hozzá.',
|
||||
'tours.collection.needsPoints': 'Ennek a túrának még nincs vonala, ezért az útpontjainak is jönniük kell.',
|
||||
'tours.collection.nameInTrip': 'Név az útban',
|
||||
'tours.collection.taken': 'A(z) „{name}” most a(z) „{trip}” túrája.',
|
||||
'tours.collection.takeFailed': 'A túrát nem sikerült hozzáadni az úthoz.',
|
||||
'tours.collection.openTrip': 'Út megnyitása',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Simpan di koleksi',
|
||||
'tours.collection.saveHint': 'Menyimpan salinan mandiri tur ini di salah satu koleksi Anda',
|
||||
'tours.collection.saveFirst': 'Simpan tur terlebih dahulu untuk menaruhnya di koleksi',
|
||||
'tours.collection.saveSub': 'Salinan mandiri. Perubahan berikutnya pada tur ini tidak memengaruhinya.',
|
||||
'tours.collection.list': 'Koleksi',
|
||||
'tours.collection.readOnly': 'Anda hanya dapat membaca daftar ini',
|
||||
'tours.collection.noLists': 'Anda belum punya koleksi.',
|
||||
'tours.collection.openCollections': 'Buka koleksi',
|
||||
'tours.collection.nameThere': 'Nama di koleksi',
|
||||
'tours.collection.keep': 'Simpan',
|
||||
'tours.collection.kept': '“{name}” kini tersimpan di “{list}”.',
|
||||
'tours.collection.keepFailed': 'Tur tidak dapat disimpan.',
|
||||
'tours.collection.offline': 'Koleksi memerlukan koneksi.',
|
||||
'tours.collection.listsFailed': 'Koleksi tidak dapat dimuat.',
|
||||
'tours.collection.toursFailed': 'Tur di daftar ini tidak dapat dimuat.',
|
||||
'tours.collection.points': '{count} titik rute',
|
||||
'tours.collection.savedFrom': 'Disimpan dari',
|
||||
'tours.collection.source': 'Disimpan dari “{tour}” di “{trip}”',
|
||||
'tours.collection.keptBy': 'Disimpan oleh {name}',
|
||||
'tours.collection.add': 'Tambahkan ke perjalanan',
|
||||
'tours.collection.addHint': 'Membuat tur baru tersendiri di perjalanan pilihan Anda',
|
||||
'tours.collection.remove': 'Hapus dari koleksi',
|
||||
'tours.collection.removeTitle': 'Hapus tur ini dari koleksi?',
|
||||
'tours.collection.removeBody': 'Tur yang sudah dibuat darinya di perjalanan Anda tetap seperti semula.',
|
||||
'tours.collection.removed': 'Tur dihapus dari koleksi.',
|
||||
'tours.collection.removeFailed': 'Tur tidak dapat dihapus.',
|
||||
'tours.collection.takeEyebrow': 'Dari koleksi',
|
||||
'tours.collection.takeSub':
|
||||
'Menjadi tur tersendiri di perjalanan pilihan Anda, tanpa hari. Koleksi tetap seperti semula.',
|
||||
'tours.collection.intoTrip': 'Ke perjalanan',
|
||||
'tours.collection.noPermission': 'Anda tidak boleh menambahkan tur ke perjalanan ini',
|
||||
'tours.collection.noTrips': 'Anda belum punya perjalanan untuk menambahkannya.',
|
||||
'tours.collection.withPoints': 'Dengan {count} titik rute',
|
||||
'tours.collection.withPointsHint': 'Awal, perhentian, dan akhir ikut sesuai urutannya.',
|
||||
'tours.collection.lineOnly': 'Hanya garis',
|
||||
'tours.collection.lineOnlyHint': 'Garis tetap seperti saat disimpan. Tidak ada titik rute yang ditambahkan.',
|
||||
'tours.collection.needsPoints': 'Tur ini belum punya garis, jadi titik rutenya harus ikut.',
|
||||
'tours.collection.noLine': 'Belum ada garis, hanya titik jalannya',
|
||||
'tours.collection.nameInTrip': 'Nama di perjalanan',
|
||||
'tours.collection.taken': '“{name}” kini menjadi tur di “{trip}”.',
|
||||
'tours.collection.takeFailed': 'Tur tidak dapat ditambahkan ke perjalanan.',
|
||||
'tours.collection.openTrip': 'Buka perjalanan',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1300,46 +1300,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Seluruh tur',
|
||||
'tours.stages.totalPartial': 'diketahui untuk {known} dari {of} etape',
|
||||
'tours.stages.openInPlanner': 'Buka etape ini di perencana',
|
||||
'tours.collection.save': 'Simpan di koleksi',
|
||||
'tours.collection.saveHint': 'Menyimpan salinan mandiri tur ini di salah satu koleksi Anda',
|
||||
'tours.collection.saveFirst': 'Simpan tur terlebih dahulu untuk menaruhnya di koleksi',
|
||||
'tours.collection.saveSub': 'Salinan mandiri. Perubahan berikutnya pada tur ini tidak memengaruhinya.',
|
||||
'tours.collection.list': 'Koleksi',
|
||||
'tours.collection.readOnly': 'Anda hanya dapat membaca daftar ini',
|
||||
'tours.collection.noLists': 'Anda belum punya koleksi.',
|
||||
'tours.collection.openCollections': 'Buka koleksi',
|
||||
'tours.collection.nameThere': 'Nama di koleksi',
|
||||
'tours.collection.keep': 'Simpan',
|
||||
'tours.collection.kept': '“{name}” kini tersimpan di “{list}”.',
|
||||
'tours.collection.keepFailed': 'Tur tidak dapat disimpan.',
|
||||
'tours.collection.offline': 'Koleksi memerlukan koneksi.',
|
||||
'tours.collection.listsFailed': 'Koleksi tidak dapat dimuat.',
|
||||
'tours.collection.toursFailed': 'Tur di daftar ini tidak dapat dimuat.',
|
||||
'tours.collection.points': '{count} titik rute',
|
||||
'tours.collection.savedFrom': 'Disimpan dari',
|
||||
'tours.collection.source': 'Disimpan dari “{tour}” di “{trip}”',
|
||||
'tours.collection.keptBy': 'Disimpan oleh {name}',
|
||||
'tours.collection.add': 'Tambahkan ke perjalanan',
|
||||
'tours.collection.addHint': 'Membuat tur baru tersendiri di perjalanan pilihan Anda',
|
||||
'tours.collection.remove': 'Hapus dari koleksi',
|
||||
'tours.collection.removeTitle': 'Hapus tur ini dari koleksi?',
|
||||
'tours.collection.removeBody': 'Tur yang sudah dibuat darinya di perjalanan Anda tetap seperti semula.',
|
||||
'tours.collection.removed': 'Tur dihapus dari koleksi.',
|
||||
'tours.collection.removeFailed': 'Tur tidak dapat dihapus.',
|
||||
'tours.collection.takeEyebrow': 'Dari koleksi',
|
||||
'tours.collection.takeSub':
|
||||
'Menjadi tur tersendiri di perjalanan pilihan Anda, tanpa hari. Koleksi tetap seperti semula.',
|
||||
'tours.collection.intoTrip': 'Ke perjalanan',
|
||||
'tours.collection.noPermission': 'Anda tidak boleh menambahkan tur ke perjalanan ini',
|
||||
'tours.collection.noTrips': 'Anda belum punya perjalanan untuk menambahkannya.',
|
||||
'tours.collection.withPoints': 'Dengan {count} titik rute',
|
||||
'tours.collection.withPointsHint': 'Awal, perhentian, dan akhir ikut sesuai urutannya.',
|
||||
'tours.collection.lineOnly': 'Hanya garis',
|
||||
'tours.collection.lineOnlyHint': 'Garis tetap seperti saat disimpan. Tidak ada titik rute yang ditambahkan.',
|
||||
'tours.collection.needsPoints': 'Tur ini belum punya garis, jadi titik rutenya harus ikut.',
|
||||
'tours.collection.nameInTrip': 'Nama di perjalanan',
|
||||
'tours.collection.taken': '“{name}” kini menjadi tur di “{trip}”.',
|
||||
'tours.collection.takeFailed': 'Tur tidak dapat ditambahkan ke perjalanan.',
|
||||
'tours.collection.openTrip': 'Buka perjalanan',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Tieni in una raccolta',
|
||||
'tours.collection.saveHint': 'Tiene una copia indipendente di questo percorso in una delle tue raccolte',
|
||||
'tours.collection.saveFirst': 'Salva prima il percorso per tenerlo in una raccolta',
|
||||
'tours.collection.saveSub': 'Una copia indipendente. Le modifiche successive a questo percorso non la raggiungono.',
|
||||
'tours.collection.list': 'Raccolta',
|
||||
'tours.collection.readOnly': 'Puoi solo leggere questa lista',
|
||||
'tours.collection.noLists': 'Non hai ancora nessuna raccolta.',
|
||||
'tours.collection.openCollections': 'Apri le raccolte',
|
||||
'tours.collection.nameThere': 'Nome nella raccolta',
|
||||
'tours.collection.keep': 'Tieni',
|
||||
'tours.collection.kept': '“{name}” ora è tenuto in “{list}”.',
|
||||
'tours.collection.keepFailed': 'Non è stato possibile tenere il percorso.',
|
||||
'tours.collection.offline': 'Le raccolte hanno bisogno di una connessione.',
|
||||
'tours.collection.listsFailed': 'Non è stato possibile caricare le raccolte.',
|
||||
'tours.collection.toursFailed': 'Non è stato possibile caricare i percorsi di questa lista.',
|
||||
'tours.collection.points': '{count} punti di passaggio',
|
||||
'tours.collection.points.one': '{count} punto di passaggio',
|
||||
'tours.collection.savedFrom': 'Tenuto da',
|
||||
'tours.collection.source': 'Tenuto da “{tour}” in “{trip}”',
|
||||
'tours.collection.keptBy': 'Tenuto da {name}',
|
||||
'tours.collection.add': 'Aggiungi a un viaggio',
|
||||
'tours.collection.addHint': 'Crea un nuovo percorso a sé nel viaggio che scegli',
|
||||
'tours.collection.remove': 'Togli dalla raccolta',
|
||||
'tours.collection.removeTitle': 'Togliere questo percorso dalla raccolta?',
|
||||
'tours.collection.removeBody': 'I percorsi già creati da questo nei tuoi viaggi restano come sono.',
|
||||
'tours.collection.removed': 'Il percorso è stato tolto dalla raccolta.',
|
||||
'tours.collection.removeFailed': 'Non è stato possibile togliere il percorso.',
|
||||
'tours.collection.takeEyebrow': 'Dalla raccolta',
|
||||
'tours.collection.takeSub': 'Diventa un percorso a sé nel viaggio scelto, senza giorni. La raccolta resta com’è.',
|
||||
'tours.collection.intoTrip': 'Nel viaggio',
|
||||
'tours.collection.noPermission': 'Non puoi aggiungere percorsi a questo viaggio',
|
||||
'tours.collection.noTrips': 'Non hai ancora nessun viaggio a cui aggiungerlo.',
|
||||
'tours.collection.withPoints': 'Con {count} punti di passaggio',
|
||||
'tours.collection.withPoints.one': 'Con {count} punto di passaggio',
|
||||
'tours.collection.withPointsHint': 'Partenza, tappe e arrivo seguono nel loro ordine.',
|
||||
'tours.collection.lineOnly': 'Solo la linea',
|
||||
'tours.collection.lineOnlyHint': 'La linea resta come è stata salvata. Nessun punto di passaggio viene aggiunto.',
|
||||
'tours.collection.needsPoints':
|
||||
'Questo percorso non ha ancora una linea, quindi i suoi punti di passaggio devono seguire.',
|
||||
'tours.collection.noLine': 'Ancora nessuna linea, solo i suoi punti di passaggio',
|
||||
'tours.collection.nameInTrip': 'Nome nel viaggio',
|
||||
'tours.collection.taken': '“{name}” ora è un percorso di “{trip}”.',
|
||||
'tours.collection.takeFailed': 'Non è stato possibile aggiungere il percorso al viaggio.',
|
||||
'tours.collection.openTrip': 'Apri il viaggio',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1334,48 +1334,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Tour completo',
|
||||
'tours.stages.totalPartial': 'noto per {known} tappe su {of}',
|
||||
'tours.stages.openInPlanner': 'Apri questa tappa nel pianificatore',
|
||||
'tours.collection.save': 'Tieni in una raccolta',
|
||||
'tours.collection.saveHint': 'Tiene una copia indipendente di questo percorso in una delle tue raccolte',
|
||||
'tours.collection.saveFirst': 'Salva prima il percorso per tenerlo in una raccolta',
|
||||
'tours.collection.saveSub': 'Una copia indipendente. Le modifiche successive a questo percorso non la raggiungono.',
|
||||
'tours.collection.list': 'Raccolta',
|
||||
'tours.collection.readOnly': 'Puoi solo leggere questa lista',
|
||||
'tours.collection.noLists': 'Non hai ancora nessuna raccolta.',
|
||||
'tours.collection.openCollections': 'Apri le raccolte',
|
||||
'tours.collection.nameThere': 'Nome nella raccolta',
|
||||
'tours.collection.keep': 'Tieni',
|
||||
'tours.collection.kept': '“{name}” ora è tenuto in “{list}”.',
|
||||
'tours.collection.keepFailed': 'Non è stato possibile tenere il percorso.',
|
||||
'tours.collection.offline': 'Le raccolte hanno bisogno di una connessione.',
|
||||
'tours.collection.listsFailed': 'Non è stato possibile caricare le raccolte.',
|
||||
'tours.collection.toursFailed': 'Non è stato possibile caricare i percorsi di questa lista.',
|
||||
'tours.collection.points': '{count} punti di passaggio',
|
||||
'tours.collection.points.one': '{count} punto di passaggio',
|
||||
'tours.collection.savedFrom': 'Tenuto da',
|
||||
'tours.collection.source': 'Tenuto da “{tour}” in “{trip}”',
|
||||
'tours.collection.keptBy': 'Tenuto da {name}',
|
||||
'tours.collection.add': 'Aggiungi a un viaggio',
|
||||
'tours.collection.addHint': 'Crea un nuovo percorso a sé nel viaggio che scegli',
|
||||
'tours.collection.remove': 'Togli dalla raccolta',
|
||||
'tours.collection.removeTitle': 'Togliere questo percorso dalla raccolta?',
|
||||
'tours.collection.removeBody': 'I percorsi già creati da questo nei tuoi viaggi restano come sono.',
|
||||
'tours.collection.removed': 'Il percorso è stato tolto dalla raccolta.',
|
||||
'tours.collection.removeFailed': 'Non è stato possibile togliere il percorso.',
|
||||
'tours.collection.takeEyebrow': 'Dalla raccolta',
|
||||
'tours.collection.takeSub': 'Diventa un percorso a sé nel viaggio scelto, senza giorni. La raccolta resta com’è.',
|
||||
'tours.collection.intoTrip': 'Nel viaggio',
|
||||
'tours.collection.noPermission': 'Non puoi aggiungere percorsi a questo viaggio',
|
||||
'tours.collection.noTrips': 'Non hai ancora nessun viaggio a cui aggiungerlo.',
|
||||
'tours.collection.withPoints': 'Con {count} punti di passaggio',
|
||||
'tours.collection.withPoints.one': 'Con {count} punto di passaggio',
|
||||
'tours.collection.withPointsHint': 'Partenza, tappe e arrivo seguono nel loro ordine.',
|
||||
'tours.collection.lineOnly': 'Solo la linea',
|
||||
'tours.collection.lineOnlyHint': 'La linea resta come è stata salvata. Nessun punto di passaggio viene aggiunto.',
|
||||
'tours.collection.needsPoints':
|
||||
'Questo percorso non ha ancora una linea, quindi i suoi punti di passaggio devono seguire.',
|
||||
'tours.collection.nameInTrip': 'Nome nel viaggio',
|
||||
'tours.collection.taken': '“{name}” ora è un percorso di “{trip}”.',
|
||||
'tours.collection.takeFailed': 'Non è stato possibile aggiungere il percorso al viaggio.',
|
||||
'tours.collection.openTrip': 'Apri il viaggio',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'コレクションに保存',
|
||||
'tours.collection.saveHint': 'このツアーの独立したコピーをコレクションのひとつに保存します',
|
||||
'tours.collection.saveFirst': 'コレクションに保存する前にツアーを保存してください',
|
||||
'tours.collection.saveSub': '独立したコピーです。このツアーを後で変更しても反映されません。',
|
||||
'tours.collection.list': 'コレクション',
|
||||
'tours.collection.readOnly': 'このリストは閲覧のみできます',
|
||||
'tours.collection.noLists': 'まだコレクションがありません。',
|
||||
'tours.collection.openCollections': 'コレクションを開く',
|
||||
'tours.collection.nameThere': 'コレクションでの名前',
|
||||
'tours.collection.keep': '保存',
|
||||
'tours.collection.kept': '「{name}」を「{list}」に保存しました。',
|
||||
'tours.collection.keepFailed': 'ツアーを保存できませんでした。',
|
||||
'tours.collection.offline': 'コレクションには接続が必要です。',
|
||||
'tours.collection.listsFailed': 'コレクションを読み込めませんでした。',
|
||||
'tours.collection.toursFailed': 'このリストのツアーを読み込めませんでした。',
|
||||
'tours.collection.points': '経由地 {count} 件',
|
||||
'tours.collection.savedFrom': '保存元',
|
||||
'tours.collection.source': '「{trip}」の「{tour}」から保存',
|
||||
'tours.collection.keptBy': '{name} が保存',
|
||||
'tours.collection.add': '旅に追加',
|
||||
'tours.collection.addHint': '選んだ旅に独立した新しいツアーを作成します',
|
||||
'tours.collection.remove': 'コレクションから削除',
|
||||
'tours.collection.removeTitle': 'このツアーをコレクションから削除しますか?',
|
||||
'tours.collection.removeBody': 'これから旅に作成済みのツアーはそのまま残ります。',
|
||||
'tours.collection.removed': 'ツアーをコレクションから削除しました。',
|
||||
'tours.collection.removeFailed': 'ツアーを削除できませんでした。',
|
||||
'tours.collection.takeEyebrow': 'コレクションから',
|
||||
'tours.collection.takeSub': '選んだ旅の独立したツアーになります(日程なし)。コレクションは変わりません。',
|
||||
'tours.collection.intoTrip': '追加先の旅',
|
||||
'tours.collection.noPermission': 'この旅にはツアーを追加できません',
|
||||
'tours.collection.noTrips': '追加できる旅がまだありません。',
|
||||
'tours.collection.withPoints': '経由地 {count} 件と一緒に',
|
||||
'tours.collection.withPointsHint': '出発点、途中の地点、終点が順番どおりに移ります。',
|
||||
'tours.collection.lineOnly': '線のみ',
|
||||
'tours.collection.lineOnlyHint': '線は保存時のままです。経由地は追加されません。',
|
||||
'tours.collection.needsPoints': 'このツアーにはまだ線がないため、経由地も一緒に移す必要があります。',
|
||||
'tours.collection.noLine': 'まだラインはなく、経由地だけです',
|
||||
'tours.collection.nameInTrip': '旅での名前',
|
||||
'tours.collection.taken': '「{name}」は「{trip}」のツアーになりました。',
|
||||
'tours.collection.takeFailed': 'ツアーを旅に追加できませんでした。',
|
||||
'tours.collection.openTrip': '旅を開く',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1262,45 +1262,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'ツアー全体',
|
||||
'tours.stages.totalPartial': '{of} 件中 {known} 件のステージで判明',
|
||||
'tours.stages.openInPlanner': 'このステージをプランナーで開く',
|
||||
'tours.collection.save': 'コレクションに保存',
|
||||
'tours.collection.saveHint': 'このツアーの独立したコピーをコレクションのひとつに保存します',
|
||||
'tours.collection.saveFirst': 'コレクションに保存する前にツアーを保存してください',
|
||||
'tours.collection.saveSub': '独立したコピーです。このツアーを後で変更しても反映されません。',
|
||||
'tours.collection.list': 'コレクション',
|
||||
'tours.collection.readOnly': 'このリストは閲覧のみできます',
|
||||
'tours.collection.noLists': 'まだコレクションがありません。',
|
||||
'tours.collection.openCollections': 'コレクションを開く',
|
||||
'tours.collection.nameThere': 'コレクションでの名前',
|
||||
'tours.collection.keep': '保存',
|
||||
'tours.collection.kept': '「{name}」を「{list}」に保存しました。',
|
||||
'tours.collection.keepFailed': 'ツアーを保存できませんでした。',
|
||||
'tours.collection.offline': 'コレクションには接続が必要です。',
|
||||
'tours.collection.listsFailed': 'コレクションを読み込めませんでした。',
|
||||
'tours.collection.toursFailed': 'このリストのツアーを読み込めませんでした。',
|
||||
'tours.collection.points': '経由地 {count} 件',
|
||||
'tours.collection.savedFrom': '保存元',
|
||||
'tours.collection.source': '「{trip}」の「{tour}」から保存',
|
||||
'tours.collection.keptBy': '{name} が保存',
|
||||
'tours.collection.add': '旅に追加',
|
||||
'tours.collection.addHint': '選んだ旅に独立した新しいツアーを作成します',
|
||||
'tours.collection.remove': 'コレクションから削除',
|
||||
'tours.collection.removeTitle': 'このツアーをコレクションから削除しますか?',
|
||||
'tours.collection.removeBody': 'これから旅に作成済みのツアーはそのまま残ります。',
|
||||
'tours.collection.removed': 'ツアーをコレクションから削除しました。',
|
||||
'tours.collection.removeFailed': 'ツアーを削除できませんでした。',
|
||||
'tours.collection.takeEyebrow': 'コレクションから',
|
||||
'tours.collection.takeSub': '選んだ旅の独立したツアーになります(日程なし)。コレクションは変わりません。',
|
||||
'tours.collection.intoTrip': '追加先の旅',
|
||||
'tours.collection.noPermission': 'この旅にはツアーを追加できません',
|
||||
'tours.collection.noTrips': '追加できる旅がまだありません。',
|
||||
'tours.collection.withPoints': '経由地 {count} 件と一緒に',
|
||||
'tours.collection.withPointsHint': '出発点、途中の地点、終点が順番どおりに移ります。',
|
||||
'tours.collection.lineOnly': '線のみ',
|
||||
'tours.collection.lineOnlyHint': '線は保存時のままです。経由地は追加されません。',
|
||||
'tours.collection.needsPoints': 'このツアーにはまだ線がないため、経由地も一緒に移す必要があります。',
|
||||
'tours.collection.nameInTrip': '旅での名前',
|
||||
'tours.collection.taken': '「{name}」は「{trip}」のツアーになりました。',
|
||||
'tours.collection.takeFailed': 'ツアーを旅に追加できませんでした。',
|
||||
'tours.collection.openTrip': '旅を開く',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': '컬렉션에 보관',
|
||||
'tours.collection.saveHint': '이 투어의 독립된 사본을 내 컬렉션 중 하나에 보관합니다',
|
||||
'tours.collection.saveFirst': '컬렉션에 보관하려면 먼저 투어를 저장하세요',
|
||||
'tours.collection.saveSub': '독립된 사본입니다. 이후 이 투어를 바꿔도 반영되지 않습니다.',
|
||||
'tours.collection.list': '컬렉션',
|
||||
'tours.collection.readOnly': '이 목록은 읽기만 할 수 있습니다',
|
||||
'tours.collection.noLists': '아직 컬렉션이 없습니다.',
|
||||
'tours.collection.openCollections': '컬렉션 열기',
|
||||
'tours.collection.nameThere': '컬렉션에서의 이름',
|
||||
'tours.collection.keep': '보관',
|
||||
'tours.collection.kept': '“{name}”을(를) “{list}”에 보관했습니다.',
|
||||
'tours.collection.keepFailed': '투어를 보관하지 못했습니다.',
|
||||
'tours.collection.offline': '컬렉션에는 연결이 필요합니다.',
|
||||
'tours.collection.listsFailed': '컬렉션을 불러오지 못했습니다.',
|
||||
'tours.collection.toursFailed': '이 목록의 투어를 불러오지 못했습니다.',
|
||||
'tours.collection.points': '경유지 {count}개',
|
||||
'tours.collection.savedFrom': '보관 출처',
|
||||
'tours.collection.source': '“{trip}”의 “{tour}”에서 보관',
|
||||
'tours.collection.keptBy': '{name} 님이 보관',
|
||||
'tours.collection.add': '여행에 추가',
|
||||
'tours.collection.addHint': '선택한 여행에 독립된 새 투어를 만듭니다',
|
||||
'tours.collection.remove': '컬렉션에서 제거',
|
||||
'tours.collection.removeTitle': '이 투어를 컬렉션에서 제거할까요?',
|
||||
'tours.collection.removeBody': '이미 여행에서 이것으로 만든 투어는 그대로 남습니다.',
|
||||
'tours.collection.removed': '투어를 컬렉션에서 제거했습니다.',
|
||||
'tours.collection.removeFailed': '투어를 제거하지 못했습니다.',
|
||||
'tours.collection.takeEyebrow': '컬렉션에서',
|
||||
'tours.collection.takeSub': '선택한 여행의 독립된 투어가 되며 일정은 없습니다. 컬렉션은 그대로입니다.',
|
||||
'tours.collection.intoTrip': '추가할 여행',
|
||||
'tours.collection.noPermission': '이 여행에는 투어를 추가할 수 없습니다',
|
||||
'tours.collection.noTrips': '아직 추가할 여행이 없습니다.',
|
||||
'tours.collection.withPoints': '경유지 {count}개와 함께',
|
||||
'tours.collection.withPointsHint': '출발지, 중간 지점, 도착지가 순서대로 함께 옵니다.',
|
||||
'tours.collection.lineOnly': '선만',
|
||||
'tours.collection.lineOnlyHint': '선은 저장된 그대로입니다. 경유지는 추가되지 않습니다.',
|
||||
'tours.collection.needsPoints': '이 투어는 아직 선이 없어 경유지도 함께 가져와야 합니다.',
|
||||
'tours.collection.noLine': '아직 경로선이 없고 경유지만 있습니다',
|
||||
'tours.collection.nameInTrip': '여행에서의 이름',
|
||||
'tours.collection.taken': '“{name}”이(가) 이제 “{trip}”의 투어입니다.',
|
||||
'tours.collection.takeFailed': '투어를 여행에 추가하지 못했습니다.',
|
||||
'tours.collection.openTrip': '여행 열기',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1260,45 +1260,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': '전체 투어',
|
||||
'tours.stages.totalPartial': '{of}개 구간 중 {known}개에서 알려짐',
|
||||
'tours.stages.openInPlanner': '이 구간을 플래너에서 열기',
|
||||
'tours.collection.save': '컬렉션에 보관',
|
||||
'tours.collection.saveHint': '이 투어의 독립된 사본을 내 컬렉션 중 하나에 보관합니다',
|
||||
'tours.collection.saveFirst': '컬렉션에 보관하려면 먼저 투어를 저장하세요',
|
||||
'tours.collection.saveSub': '독립된 사본입니다. 이후 이 투어를 바꿔도 반영되지 않습니다.',
|
||||
'tours.collection.list': '컬렉션',
|
||||
'tours.collection.readOnly': '이 목록은 읽기만 할 수 있습니다',
|
||||
'tours.collection.noLists': '아직 컬렉션이 없습니다.',
|
||||
'tours.collection.openCollections': '컬렉션 열기',
|
||||
'tours.collection.nameThere': '컬렉션에서의 이름',
|
||||
'tours.collection.keep': '보관',
|
||||
'tours.collection.kept': '“{name}”을(를) “{list}”에 보관했습니다.',
|
||||
'tours.collection.keepFailed': '투어를 보관하지 못했습니다.',
|
||||
'tours.collection.offline': '컬렉션에는 연결이 필요합니다.',
|
||||
'tours.collection.listsFailed': '컬렉션을 불러오지 못했습니다.',
|
||||
'tours.collection.toursFailed': '이 목록의 투어를 불러오지 못했습니다.',
|
||||
'tours.collection.points': '경유지 {count}개',
|
||||
'tours.collection.savedFrom': '보관 출처',
|
||||
'tours.collection.source': '“{trip}”의 “{tour}”에서 보관',
|
||||
'tours.collection.keptBy': '{name} 님이 보관',
|
||||
'tours.collection.add': '여행에 추가',
|
||||
'tours.collection.addHint': '선택한 여행에 독립된 새 투어를 만듭니다',
|
||||
'tours.collection.remove': '컬렉션에서 제거',
|
||||
'tours.collection.removeTitle': '이 투어를 컬렉션에서 제거할까요?',
|
||||
'tours.collection.removeBody': '이미 여행에서 이것으로 만든 투어는 그대로 남습니다.',
|
||||
'tours.collection.removed': '투어를 컬렉션에서 제거했습니다.',
|
||||
'tours.collection.removeFailed': '투어를 제거하지 못했습니다.',
|
||||
'tours.collection.takeEyebrow': '컬렉션에서',
|
||||
'tours.collection.takeSub': '선택한 여행의 독립된 투어가 되며 일정은 없습니다. 컬렉션은 그대로입니다.',
|
||||
'tours.collection.intoTrip': '추가할 여행',
|
||||
'tours.collection.noPermission': '이 여행에는 투어를 추가할 수 없습니다',
|
||||
'tours.collection.noTrips': '아직 추가할 여행이 없습니다.',
|
||||
'tours.collection.withPoints': '경유지 {count}개와 함께',
|
||||
'tours.collection.withPointsHint': '출발지, 중간 지점, 도착지가 순서대로 함께 옵니다.',
|
||||
'tours.collection.lineOnly': '선만',
|
||||
'tours.collection.lineOnlyHint': '선은 저장된 그대로입니다. 경유지는 추가되지 않습니다.',
|
||||
'tours.collection.needsPoints': '이 투어는 아직 선이 없어 경유지도 함께 가져와야 합니다.',
|
||||
'tours.collection.nameInTrip': '여행에서의 이름',
|
||||
'tours.collection.taken': '“{name}”이(가) 이제 “{trip}”의 투어입니다.',
|
||||
'tours.collection.takeFailed': '투어를 여행에 추가하지 못했습니다.',
|
||||
'tours.collection.openTrip': '여행 열기',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'In een collectie bewaren',
|
||||
'tours.collection.saveHint': 'Bewaart een zelfstandige kopie van deze tocht in een van je collecties',
|
||||
'tours.collection.saveFirst': 'Sla de tocht eerst op om hem in een collectie te bewaren',
|
||||
'tours.collection.saveSub': 'Een zelfstandige kopie. Latere wijzigingen aan deze tocht bereiken haar niet.',
|
||||
'tours.collection.list': 'Collectie',
|
||||
'tours.collection.readOnly': 'Je kunt deze lijst alleen lezen',
|
||||
'tours.collection.noLists': 'Je hebt nog geen collectie.',
|
||||
'tours.collection.openCollections': 'Collecties openen',
|
||||
'tours.collection.nameThere': 'Naam in de collectie',
|
||||
'tours.collection.keep': 'Bewaren',
|
||||
'tours.collection.kept': '‘{name}’ staat nu in ‘{list}’.',
|
||||
'tours.collection.keepFailed': 'De tocht kon niet worden bewaard.',
|
||||
'tours.collection.offline': 'Collecties hebben een verbinding nodig.',
|
||||
'tours.collection.listsFailed': 'De collecties konden niet worden geladen.',
|
||||
'tours.collection.toursFailed': 'De tochten van deze lijst konden niet worden geladen.',
|
||||
'tours.collection.points': '{count} routepunten',
|
||||
'tours.collection.points.one': '{count} routepunt',
|
||||
'tours.collection.savedFrom': 'Bewaard uit',
|
||||
'tours.collection.source': 'Bewaard uit ‘{tour}’ in ‘{trip}’',
|
||||
'tours.collection.keptBy': 'Bewaard door {name}',
|
||||
'tours.collection.add': 'Aan een reis toevoegen',
|
||||
'tours.collection.addHint': 'Maakt een eigen nieuwe tocht in een reis naar keuze',
|
||||
'tours.collection.remove': 'Uit de collectie halen',
|
||||
'tours.collection.removeTitle': 'Deze tocht uit de collectie halen?',
|
||||
'tours.collection.removeBody': 'Tochten die er al in je reizen van gemaakt zijn, blijven zoals ze zijn.',
|
||||
'tours.collection.removed': 'De tocht is uit de collectie gehaald.',
|
||||
'tours.collection.removeFailed': 'De tocht kon niet worden verwijderd.',
|
||||
'tours.collection.takeEyebrow': 'Uit de collectie',
|
||||
'tours.collection.takeSub':
|
||||
'Wordt een eigen tocht in de gekozen reis, zonder dagen. De collectie blijft zoals ze is.',
|
||||
'tours.collection.intoTrip': 'In de reis',
|
||||
'tours.collection.noPermission': 'Je mag aan deze reis geen tochten toevoegen',
|
||||
'tours.collection.noTrips': 'Je hebt nog geen reis om hem aan toe te voegen.',
|
||||
'tours.collection.withPoints': 'Met {count} routepunten',
|
||||
'tours.collection.withPoints.one': 'Met {count} routepunt',
|
||||
'tours.collection.withPointsHint': 'Start, tussenstops en einde komen mee in hun volgorde.',
|
||||
'tours.collection.lineOnly': 'Alleen de lijn',
|
||||
'tours.collection.lineOnlyHint': 'De lijn blijft zoals ze is opgeslagen. Er komen geen routepunten bij.',
|
||||
'tours.collection.needsPoints': 'Deze tocht heeft nog geen lijn, dus zijn routepunten moeten meekomen.',
|
||||
'tours.collection.noLine': 'Nog geen lijn, alleen de routepunten',
|
||||
'tours.collection.nameInTrip': 'Naam in de reis',
|
||||
'tours.collection.taken': '‘{name}’ is nu een tocht van ‘{trip}’.',
|
||||
'tours.collection.takeFailed': 'De tocht kon niet aan de reis worden toegevoegd.',
|
||||
'tours.collection.openTrip': 'Reis openen',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1330,48 +1330,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Hele tocht',
|
||||
'tours.stages.totalPartial': 'bekend voor {known} van {of} etappes',
|
||||
'tours.stages.openInPlanner': 'Deze etappe openen in de planner',
|
||||
'tours.collection.save': 'In een collectie bewaren',
|
||||
'tours.collection.saveHint': 'Bewaart een zelfstandige kopie van deze tocht in een van je collecties',
|
||||
'tours.collection.saveFirst': 'Sla de tocht eerst op om hem in een collectie te bewaren',
|
||||
'tours.collection.saveSub': 'Een zelfstandige kopie. Latere wijzigingen aan deze tocht bereiken haar niet.',
|
||||
'tours.collection.list': 'Collectie',
|
||||
'tours.collection.readOnly': 'Je kunt deze lijst alleen lezen',
|
||||
'tours.collection.noLists': 'Je hebt nog geen collectie.',
|
||||
'tours.collection.openCollections': 'Collecties openen',
|
||||
'tours.collection.nameThere': 'Naam in de collectie',
|
||||
'tours.collection.keep': 'Bewaren',
|
||||
'tours.collection.kept': '‘{name}’ staat nu in ‘{list}’.',
|
||||
'tours.collection.keepFailed': 'De tocht kon niet worden bewaard.',
|
||||
'tours.collection.offline': 'Collecties hebben een verbinding nodig.',
|
||||
'tours.collection.listsFailed': 'De collecties konden niet worden geladen.',
|
||||
'tours.collection.toursFailed': 'De tochten van deze lijst konden niet worden geladen.',
|
||||
'tours.collection.points': '{count} routepunten',
|
||||
'tours.collection.points.one': '{count} routepunt',
|
||||
'tours.collection.savedFrom': 'Bewaard uit',
|
||||
'tours.collection.source': 'Bewaard uit ‘{tour}’ in ‘{trip}’',
|
||||
'tours.collection.keptBy': 'Bewaard door {name}',
|
||||
'tours.collection.add': 'Aan een reis toevoegen',
|
||||
'tours.collection.addHint': 'Maakt een eigen nieuwe tocht in een reis naar keuze',
|
||||
'tours.collection.remove': 'Uit de collectie halen',
|
||||
'tours.collection.removeTitle': 'Deze tocht uit de collectie halen?',
|
||||
'tours.collection.removeBody': 'Tochten die er al in je reizen van gemaakt zijn, blijven zoals ze zijn.',
|
||||
'tours.collection.removed': 'De tocht is uit de collectie gehaald.',
|
||||
'tours.collection.removeFailed': 'De tocht kon niet worden verwijderd.',
|
||||
'tours.collection.takeEyebrow': 'Uit de collectie',
|
||||
'tours.collection.takeSub':
|
||||
'Wordt een eigen tocht in de gekozen reis, zonder dagen. De collectie blijft zoals ze is.',
|
||||
'tours.collection.intoTrip': 'In de reis',
|
||||
'tours.collection.noPermission': 'Je mag aan deze reis geen tochten toevoegen',
|
||||
'tours.collection.noTrips': 'Je hebt nog geen reis om hem aan toe te voegen.',
|
||||
'tours.collection.withPoints': 'Met {count} routepunten',
|
||||
'tours.collection.withPoints.one': 'Met {count} routepunt',
|
||||
'tours.collection.withPointsHint': 'Start, tussenstops en einde komen mee in hun volgorde.',
|
||||
'tours.collection.lineOnly': 'Alleen de lijn',
|
||||
'tours.collection.lineOnlyHint': 'De lijn blijft zoals ze is opgeslagen. Er komen geen routepunten bij.',
|
||||
'tours.collection.needsPoints': 'Deze tocht heeft nog geen lijn, dus zijn routepunten moeten meekomen.',
|
||||
'tours.collection.nameInTrip': 'Naam in de reis',
|
||||
'tours.collection.taken': '‘{name}’ is nu een tocht van ‘{trip}’.',
|
||||
'tours.collection.takeFailed': 'De tocht kon niet aan de reis worden toegevoegd.',
|
||||
'tours.collection.openTrip': 'Reis openen',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Zachowaj w kolekcji',
|
||||
'tours.collection.saveHint': 'Zachowuje niezależną kopię tej trasy w jednej z twoich kolekcji',
|
||||
'tours.collection.saveFirst': 'Najpierw zapisz trasę, aby zachować ją w kolekcji',
|
||||
'tours.collection.saveSub': 'Niezależna kopia. Późniejsze zmiany tej trasy do niej nie trafiają.',
|
||||
'tours.collection.list': 'Kolekcja',
|
||||
'tours.collection.readOnly': 'Tę listę możesz tylko czytać',
|
||||
'tours.collection.noLists': 'Nie masz jeszcze żadnej kolekcji.',
|
||||
'tours.collection.openCollections': 'Otwórz kolekcje',
|
||||
'tours.collection.nameThere': 'Nazwa w kolekcji',
|
||||
'tours.collection.keep': 'Zachowaj',
|
||||
'tours.collection.kept': '„{name}” jest teraz w „{list}”.',
|
||||
'tours.collection.keepFailed': 'Nie udało się zachować trasy.',
|
||||
'tours.collection.offline': 'Kolekcje wymagają połączenia.',
|
||||
'tours.collection.listsFailed': 'Nie udało się wczytać kolekcji.',
|
||||
'tours.collection.toursFailed': 'Nie udało się wczytać tras tej listy.',
|
||||
'tours.collection.points': '{count} punktu trasy',
|
||||
'tours.collection.points.one': '{count} punkt trasy',
|
||||
'tours.collection.points.few': '{count} punkty trasy',
|
||||
'tours.collection.points.many': '{count} punktów trasy',
|
||||
'tours.collection.savedFrom': 'Zachowano z',
|
||||
'tours.collection.source': 'Zachowano z „{tour}” w „{trip}”',
|
||||
'tours.collection.keptBy': 'Zachował(a): {name}',
|
||||
'tours.collection.add': 'Dodaj do podróży',
|
||||
'tours.collection.addHint': 'Tworzy nową, własną trasę w wybranej podróży',
|
||||
'tours.collection.remove': 'Usuń z kolekcji',
|
||||
'tours.collection.removeTitle': 'Usunąć tę trasę z kolekcji?',
|
||||
'tours.collection.removeBody': 'Trasy już z niej utworzone w twoich podróżach pozostają bez zmian.',
|
||||
'tours.collection.removed': 'Trasę usunięto z kolekcji.',
|
||||
'tours.collection.removeFailed': 'Nie udało się usunąć trasy.',
|
||||
'tours.collection.takeEyebrow': 'Z kolekcji',
|
||||
'tours.collection.takeSub': 'Staje się własną trasą wybranej podróży, bez dni. Kolekcja pozostaje bez zmian.',
|
||||
'tours.collection.intoTrip': 'Do podróży',
|
||||
'tours.collection.noPermission': 'Nie możesz dodawać tras do tej podróży',
|
||||
'tours.collection.noTrips': 'Nie masz jeszcze podróży, do której można ją dodać.',
|
||||
'tours.collection.withPoints': 'Z {count} punktu trasy',
|
||||
'tours.collection.withPoints.one': 'Z {count} punktem trasy',
|
||||
'tours.collection.withPoints.few': 'Z {count} punktami trasy',
|
||||
'tours.collection.withPoints.many': 'Z {count} punktami trasy',
|
||||
'tours.collection.withPointsHint': 'Start, przystanki i meta przechodzą w swojej kolejności.',
|
||||
'tours.collection.lineOnly': 'Tylko linia',
|
||||
'tours.collection.lineOnlyHint': 'Linia zostaje taka, jak ją zapisano. Nie dochodzą żadne punkty trasy.',
|
||||
'tours.collection.needsPoints': 'Ta trasa nie ma jeszcze linii, więc jej punkty trasy muszą przejść razem z nią.',
|
||||
'tours.collection.noLine': 'Jeszcze bez linii, tylko punkty trasy',
|
||||
'tours.collection.nameInTrip': 'Nazwa w podróży',
|
||||
'tours.collection.taken': '„{name}” jest teraz trasą podróży „{trip}”.',
|
||||
'tours.collection.takeFailed': 'Nie udało się dodać trasy do podróży.',
|
||||
'tours.collection.openTrip': 'Otwórz podróż',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1363,51 +1363,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Cała trasa',
|
||||
'tours.stages.totalPartial': 'znane dla {known} z {of} etapów',
|
||||
'tours.stages.openInPlanner': 'Otwórz ten etap w planerze',
|
||||
'tours.collection.save': 'Zachowaj w kolekcji',
|
||||
'tours.collection.saveHint': 'Zachowuje niezależną kopię tej trasy w jednej z twoich kolekcji',
|
||||
'tours.collection.saveFirst': 'Najpierw zapisz trasę, aby zachować ją w kolekcji',
|
||||
'tours.collection.saveSub': 'Niezależna kopia. Późniejsze zmiany tej trasy do niej nie trafiają.',
|
||||
'tours.collection.list': 'Kolekcja',
|
||||
'tours.collection.readOnly': 'Tę listę możesz tylko czytać',
|
||||
'tours.collection.noLists': 'Nie masz jeszcze żadnej kolekcji.',
|
||||
'tours.collection.openCollections': 'Otwórz kolekcje',
|
||||
'tours.collection.nameThere': 'Nazwa w kolekcji',
|
||||
'tours.collection.keep': 'Zachowaj',
|
||||
'tours.collection.kept': '„{name}” jest teraz w „{list}”.',
|
||||
'tours.collection.keepFailed': 'Nie udało się zachować trasy.',
|
||||
'tours.collection.offline': 'Kolekcje wymagają połączenia.',
|
||||
'tours.collection.listsFailed': 'Nie udało się wczytać kolekcji.',
|
||||
'tours.collection.toursFailed': 'Nie udało się wczytać tras tej listy.',
|
||||
'tours.collection.points': '{count} punktu trasy',
|
||||
'tours.collection.points.one': '{count} punkt trasy',
|
||||
'tours.collection.points.few': '{count} punkty trasy',
|
||||
'tours.collection.points.many': '{count} punktów trasy',
|
||||
'tours.collection.savedFrom': 'Zachowano z',
|
||||
'tours.collection.source': 'Zachowano z „{tour}” w „{trip}”',
|
||||
'tours.collection.keptBy': 'Zachował(a): {name}',
|
||||
'tours.collection.add': 'Dodaj do podróży',
|
||||
'tours.collection.addHint': 'Tworzy nową, własną trasę w wybranej podróży',
|
||||
'tours.collection.remove': 'Usuń z kolekcji',
|
||||
'tours.collection.removeTitle': 'Usunąć tę trasę z kolekcji?',
|
||||
'tours.collection.removeBody': 'Trasy już z niej utworzone w twoich podróżach pozostają bez zmian.',
|
||||
'tours.collection.removed': 'Trasę usunięto z kolekcji.',
|
||||
'tours.collection.removeFailed': 'Nie udało się usunąć trasy.',
|
||||
'tours.collection.takeEyebrow': 'Z kolekcji',
|
||||
'tours.collection.takeSub': 'Staje się własną trasą wybranej podróży, bez dni. Kolekcja pozostaje bez zmian.',
|
||||
'tours.collection.intoTrip': 'Do podróży',
|
||||
'tours.collection.noPermission': 'Nie możesz dodawać tras do tej podróży',
|
||||
'tours.collection.noTrips': 'Nie masz jeszcze podróży, do której można ją dodać.',
|
||||
'tours.collection.withPoints': 'Z {count} punktu trasy',
|
||||
'tours.collection.withPoints.one': 'Z {count} punktem trasy',
|
||||
'tours.collection.withPoints.few': 'Z {count} punktami trasy',
|
||||
'tours.collection.withPoints.many': 'Z {count} punktami trasy',
|
||||
'tours.collection.withPointsHint': 'Start, przystanki i meta przechodzą w swojej kolejności.',
|
||||
'tours.collection.lineOnly': 'Tylko linia',
|
||||
'tours.collection.lineOnlyHint': 'Linia zostaje taka, jak ją zapisano. Nie dochodzą żadne punkty trasy.',
|
||||
'tours.collection.needsPoints': 'Ta trasa nie ma jeszcze linii, więc jej punkty trasy muszą przejść razem z nią.',
|
||||
'tours.collection.nameInTrip': 'Nazwa w podróży',
|
||||
'tours.collection.taken': '„{name}” jest teraz trasą podróży „{trip}”.',
|
||||
'tours.collection.takeFailed': 'Nie udało się dodać trasy do podróży.',
|
||||
'tours.collection.openTrip': 'Otwórz podróż',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Сохранить в коллекции',
|
||||
'tours.collection.saveHint': 'Сохраняет независимую копию этого маршрута в одной из ваших коллекций',
|
||||
'tours.collection.saveFirst': 'Сначала сохраните маршрут, чтобы положить его в коллекцию',
|
||||
'tours.collection.saveSub': 'Независимая копия. Последующие изменения маршрута её не затронут.',
|
||||
'tours.collection.list': 'Коллекция',
|
||||
'tours.collection.readOnly': 'Этот список доступен вам только для чтения',
|
||||
'tours.collection.noLists': 'У вас пока нет ни одной коллекции.',
|
||||
'tours.collection.openCollections': 'Открыть коллекции',
|
||||
'tours.collection.nameThere': 'Название в коллекции',
|
||||
'tours.collection.keep': 'Сохранить',
|
||||
'tours.collection.kept': '«{name}» теперь хранится в «{list}».',
|
||||
'tours.collection.keepFailed': 'Не удалось сохранить маршрут.',
|
||||
'tours.collection.offline': 'Для коллекций нужно подключение.',
|
||||
'tours.collection.listsFailed': 'Не удалось загрузить коллекции.',
|
||||
'tours.collection.toursFailed': 'Не удалось загрузить маршруты этого списка.',
|
||||
'tours.collection.points': 'Точек маршрута: {count}',
|
||||
'tours.collection.points.one': '{count} точка маршрута',
|
||||
'tours.collection.points.few': '{count} точки маршрута',
|
||||
'tours.collection.points.many': '{count} точек маршрута',
|
||||
'tours.collection.savedFrom': 'Сохранён из',
|
||||
'tours.collection.source': 'Сохранён из «{tour}» в «{trip}»',
|
||||
'tours.collection.keptBy': 'Сохранил(а): {name}',
|
||||
'tours.collection.add': 'Добавить в поездку',
|
||||
'tours.collection.addHint': 'Создаёт новый собственный маршрут в выбранной поездке',
|
||||
'tours.collection.remove': 'Убрать из коллекции',
|
||||
'tours.collection.removeTitle': 'Убрать этот маршрут из коллекции?',
|
||||
'tours.collection.removeBody': 'Маршруты, уже созданные из него в ваших поездках, останутся как есть.',
|
||||
'tours.collection.removed': 'Маршрут убран из коллекции.',
|
||||
'tours.collection.removeFailed': 'Не удалось убрать маршрут.',
|
||||
'tours.collection.takeEyebrow': 'Из коллекции',
|
||||
'tours.collection.takeSub': 'Станет собственным маршрутом выбранной поездки, без дней. Коллекция останется как есть.',
|
||||
'tours.collection.intoTrip': 'В поездку',
|
||||
'tours.collection.noPermission': 'Вы не можете добавлять маршруты в эту поездку',
|
||||
'tours.collection.noTrips': 'У вас пока нет поездки, куда его добавить.',
|
||||
'tours.collection.withPoints': 'Точек маршрута: {count}',
|
||||
'tours.collection.withPoints.one': 'С {count} точкой маршрута',
|
||||
'tours.collection.withPoints.few': 'С {count} точками маршрута',
|
||||
'tours.collection.withPoints.many': 'С {count} точками маршрута',
|
||||
'tours.collection.withPointsHint': 'Старт, остановки и финиш переходят в своём порядке.',
|
||||
'tours.collection.lineOnly': 'Только линия',
|
||||
'tours.collection.lineOnlyHint': 'Линия остаётся такой, как была сохранена. Точки маршрута не добавляются.',
|
||||
'tours.collection.needsPoints': 'У этого маршрута ещё нет линии, поэтому его точки должны перейти вместе с ним.',
|
||||
'tours.collection.noLine': 'Линии пока нет, только точки маршрута',
|
||||
'tours.collection.nameInTrip': 'Название в поездке',
|
||||
'tours.collection.taken': '«{name}» теперь маршрут поездки «{trip}».',
|
||||
'tours.collection.takeFailed': 'Не удалось добавить маршрут в поездку.',
|
||||
'tours.collection.openTrip': 'Открыть поездку',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1369,51 +1369,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Весь маршрут',
|
||||
'tours.stages.totalPartial': 'известно для {known} из {of} этапов',
|
||||
'tours.stages.openInPlanner': 'Открыть этот этап в планировщике',
|
||||
'tours.collection.save': 'Сохранить в коллекции',
|
||||
'tours.collection.saveHint': 'Сохраняет независимую копию этого маршрута в одной из ваших коллекций',
|
||||
'tours.collection.saveFirst': 'Сначала сохраните маршрут, чтобы положить его в коллекцию',
|
||||
'tours.collection.saveSub': 'Независимая копия. Последующие изменения маршрута её не затронут.',
|
||||
'tours.collection.list': 'Коллекция',
|
||||
'tours.collection.readOnly': 'Этот список доступен вам только для чтения',
|
||||
'tours.collection.noLists': 'У вас пока нет ни одной коллекции.',
|
||||
'tours.collection.openCollections': 'Открыть коллекции',
|
||||
'tours.collection.nameThere': 'Название в коллекции',
|
||||
'tours.collection.keep': 'Сохранить',
|
||||
'tours.collection.kept': '«{name}» теперь хранится в «{list}».',
|
||||
'tours.collection.keepFailed': 'Не удалось сохранить маршрут.',
|
||||
'tours.collection.offline': 'Для коллекций нужно подключение.',
|
||||
'tours.collection.listsFailed': 'Не удалось загрузить коллекции.',
|
||||
'tours.collection.toursFailed': 'Не удалось загрузить маршруты этого списка.',
|
||||
'tours.collection.points': 'Точек маршрута: {count}',
|
||||
'tours.collection.points.one': '{count} точка маршрута',
|
||||
'tours.collection.points.few': '{count} точки маршрута',
|
||||
'tours.collection.points.many': '{count} точек маршрута',
|
||||
'tours.collection.savedFrom': 'Сохранён из',
|
||||
'tours.collection.source': 'Сохранён из «{tour}» в «{trip}»',
|
||||
'tours.collection.keptBy': 'Сохранил(а): {name}',
|
||||
'tours.collection.add': 'Добавить в поездку',
|
||||
'tours.collection.addHint': 'Создаёт новый собственный маршрут в выбранной поездке',
|
||||
'tours.collection.remove': 'Убрать из коллекции',
|
||||
'tours.collection.removeTitle': 'Убрать этот маршрут из коллекции?',
|
||||
'tours.collection.removeBody': 'Маршруты, уже созданные из него в ваших поездках, останутся как есть.',
|
||||
'tours.collection.removed': 'Маршрут убран из коллекции.',
|
||||
'tours.collection.removeFailed': 'Не удалось убрать маршрут.',
|
||||
'tours.collection.takeEyebrow': 'Из коллекции',
|
||||
'tours.collection.takeSub': 'Станет собственным маршрутом выбранной поездки, без дней. Коллекция останется как есть.',
|
||||
'tours.collection.intoTrip': 'В поездку',
|
||||
'tours.collection.noPermission': 'Вы не можете добавлять маршруты в эту поездку',
|
||||
'tours.collection.noTrips': 'У вас пока нет поездки, куда его добавить.',
|
||||
'tours.collection.withPoints': 'Точек маршрута: {count}',
|
||||
'tours.collection.withPoints.one': 'С {count} точкой маршрута',
|
||||
'tours.collection.withPoints.few': 'С {count} точками маршрута',
|
||||
'tours.collection.withPoints.many': 'С {count} точками маршрута',
|
||||
'tours.collection.withPointsHint': 'Старт, остановки и финиш переходят в своём порядке.',
|
||||
'tours.collection.lineOnly': 'Только линия',
|
||||
'tours.collection.lineOnlyHint': 'Линия остаётся такой, как была сохранена. Точки маршрута не добавляются.',
|
||||
'tours.collection.needsPoints': 'У этого маршрута ещё нет линии, поэтому его точки должны перейти вместе с ним.',
|
||||
'tours.collection.nameInTrip': 'Название в поездке',
|
||||
'tours.collection.taken': '«{name}» теперь маршрут поездки «{trip}».',
|
||||
'tours.collection.takeFailed': 'Не удалось добавить маршрут в поездку.',
|
||||
'tours.collection.openTrip': 'Открыть поездку',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -71,6 +72,7 @@ const locale = {
|
||||
...atlas,
|
||||
...trip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...places,
|
||||
...inspector,
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Uložiť do zbierky',
|
||||
'tours.collection.saveHint': 'Uloží nezávislú kópiu tejto túry do jednej z tvojich zbierok',
|
||||
'tours.collection.saveFirst': 'Najprv túru ulož, aby si ju mohol dať do zbierky',
|
||||
'tours.collection.saveSub': 'Nezávislá kópia. Neskoršie zmeny tejto túry sa jej nedotknú.',
|
||||
'tours.collection.list': 'Zbierka',
|
||||
'tours.collection.readOnly': 'Tento zoznam môžeš len čítať',
|
||||
'tours.collection.noLists': 'Zatiaľ nemáš žiadnu zbierku.',
|
||||
'tours.collection.openCollections': 'Otvoriť zbierky',
|
||||
'tours.collection.nameThere': 'Názov v zbierke',
|
||||
'tours.collection.keep': 'Uložiť',
|
||||
'tours.collection.kept': '„{name}“ je teraz v zbierke „{list}“.',
|
||||
'tours.collection.keepFailed': 'Túru sa nepodarilo uložiť.',
|
||||
'tours.collection.offline': 'Zbierky potrebujú pripojenie.',
|
||||
'tours.collection.listsFailed': 'Zbierky sa nepodarilo načítať.',
|
||||
'tours.collection.toursFailed': 'Túry tohto zoznamu sa nepodarilo načítať.',
|
||||
'tours.collection.points': '{count} bodov trasy',
|
||||
'tours.collection.points.one': '{count} bod trasy',
|
||||
'tours.collection.points.few': '{count} body trasy',
|
||||
'tours.collection.savedFrom': 'Uložené z',
|
||||
'tours.collection.source': 'Uložené z „{tour}“ v „{trip}“',
|
||||
'tours.collection.keptBy': 'Uložil(a) {name}',
|
||||
'tours.collection.add': 'Pridať do cesty',
|
||||
'tours.collection.addHint': 'Vytvorí vlastnú novú túru v ceste, ktorú zvolíš',
|
||||
'tours.collection.remove': 'Odobrať zo zbierky',
|
||||
'tours.collection.removeTitle': 'Odobrať túto túru zo zbierky?',
|
||||
'tours.collection.removeBody': 'Túry, ktoré už z nej v tvojich cestách vznikli, zostanú, ako sú.',
|
||||
'tours.collection.removed': 'Túra bola odobratá zo zbierky.',
|
||||
'tours.collection.removeFailed': 'Túru sa nepodarilo odobrať.',
|
||||
'tours.collection.takeEyebrow': 'Zo zbierky',
|
||||
'tours.collection.takeSub': 'Stane sa vlastnou túrou zvolenej cesty, bez dní. Zbierka zostane, ako je.',
|
||||
'tours.collection.intoTrip': 'Do cesty',
|
||||
'tours.collection.noPermission': 'Do tejto cesty nemôžeš pridávať túry',
|
||||
'tours.collection.noTrips': 'Zatiaľ nemáš žiadnu cestu, kam ju pridať.',
|
||||
'tours.collection.withPoints': 'S {count} bodmi trasy',
|
||||
'tours.collection.withPoints.one': 'S {count} bodom trasy',
|
||||
'tours.collection.withPoints.few': 'S {count} bodmi trasy',
|
||||
'tours.collection.withPointsHint': 'Štart, zastávky a cieľ prejdú vo svojom poradí.',
|
||||
'tours.collection.lineOnly': 'Len línia',
|
||||
'tours.collection.lineOnlyHint': 'Línia zostane, ako bola uložená. Nepridajú sa žiadne body trasy.',
|
||||
'tours.collection.needsPoints': 'Táto túra zatiaľ nemá líniu, preto musia jej body trasy prejsť s ňou.',
|
||||
'tours.collection.noLine': 'Zatiaľ bez trasy, len prejazdové body',
|
||||
'tours.collection.nameInTrip': 'Názov v ceste',
|
||||
'tours.collection.taken': '„{name}“ je teraz túrou cesty „{trip}“.',
|
||||
'tours.collection.takeFailed': 'Túru sa nepodarilo pridať do cesty.',
|
||||
'tours.collection.openTrip': 'Otvoriť cestu',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1317,49 +1317,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Celá trasa',
|
||||
'tours.stages.totalPartial': 'známe pre {known} z {of} etáp',
|
||||
'tours.stages.openInPlanner': 'Otvoriť túto etapu v plánovači',
|
||||
'tours.collection.save': 'Uložiť do zbierky',
|
||||
'tours.collection.saveHint': 'Uloží nezávislú kópiu tejto túry do jednej z tvojich zbierok',
|
||||
'tours.collection.saveFirst': 'Najprv túru ulož, aby si ju mohol dať do zbierky',
|
||||
'tours.collection.saveSub': 'Nezávislá kópia. Neskoršie zmeny tejto túry sa jej nedotknú.',
|
||||
'tours.collection.list': 'Zbierka',
|
||||
'tours.collection.readOnly': 'Tento zoznam môžeš len čítať',
|
||||
'tours.collection.noLists': 'Zatiaľ nemáš žiadnu zbierku.',
|
||||
'tours.collection.openCollections': 'Otvoriť zbierky',
|
||||
'tours.collection.nameThere': 'Názov v zbierke',
|
||||
'tours.collection.keep': 'Uložiť',
|
||||
'tours.collection.kept': '„{name}“ je teraz v zbierke „{list}“.',
|
||||
'tours.collection.keepFailed': 'Túru sa nepodarilo uložiť.',
|
||||
'tours.collection.offline': 'Zbierky potrebujú pripojenie.',
|
||||
'tours.collection.listsFailed': 'Zbierky sa nepodarilo načítať.',
|
||||
'tours.collection.toursFailed': 'Túry tohto zoznamu sa nepodarilo načítať.',
|
||||
'tours.collection.points': '{count} bodov trasy',
|
||||
'tours.collection.points.one': '{count} bod trasy',
|
||||
'tours.collection.points.few': '{count} body trasy',
|
||||
'tours.collection.savedFrom': 'Uložené z',
|
||||
'tours.collection.source': 'Uložené z „{tour}“ v „{trip}“',
|
||||
'tours.collection.keptBy': 'Uložil(a) {name}',
|
||||
'tours.collection.add': 'Pridať do cesty',
|
||||
'tours.collection.addHint': 'Vytvorí vlastnú novú túru v ceste, ktorú zvolíš',
|
||||
'tours.collection.remove': 'Odobrať zo zbierky',
|
||||
'tours.collection.removeTitle': 'Odobrať túto túru zo zbierky?',
|
||||
'tours.collection.removeBody': 'Túry, ktoré už z nej v tvojich cestách vznikli, zostanú, ako sú.',
|
||||
'tours.collection.removed': 'Túra bola odobratá zo zbierky.',
|
||||
'tours.collection.removeFailed': 'Túru sa nepodarilo odobrať.',
|
||||
'tours.collection.takeEyebrow': 'Zo zbierky',
|
||||
'tours.collection.takeSub': 'Stane sa vlastnou túrou zvolenej cesty, bez dní. Zbierka zostane, ako je.',
|
||||
'tours.collection.intoTrip': 'Do cesty',
|
||||
'tours.collection.noPermission': 'Do tejto cesty nemôžeš pridávať túry',
|
||||
'tours.collection.noTrips': 'Zatiaľ nemáš žiadnu cestu, kam ju pridať.',
|
||||
'tours.collection.withPoints': 'S {count} bodmi trasy',
|
||||
'tours.collection.withPoints.one': 'S {count} bodom trasy',
|
||||
'tours.collection.withPoints.few': 'S {count} bodmi trasy',
|
||||
'tours.collection.withPointsHint': 'Štart, zastávky a cieľ prejdú vo svojom poradí.',
|
||||
'tours.collection.lineOnly': 'Len línia',
|
||||
'tours.collection.lineOnlyHint': 'Línia zostane, ako bola uložená. Nepridajú sa žiadne body trasy.',
|
||||
'tours.collection.needsPoints': 'Táto túra zatiaľ nemá líniu, preto musia jej body trasy prejsť s ňou.',
|
||||
'tours.collection.nameInTrip': 'Názov v ceste',
|
||||
'tours.collection.taken': '„{name}“ je teraz túrou cesty „{trip}“.',
|
||||
'tours.collection.takeFailed': 'Túru sa nepodarilo pridať do cesty.',
|
||||
'tours.collection.openTrip': 'Otvoriť cestu',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Spara i en samling',
|
||||
'tours.collection.saveHint': 'Sparar en fristående kopia av den här turen i en av dina samlingar',
|
||||
'tours.collection.saveFirst': 'Spara turen först för att lägga den i en samling',
|
||||
'tours.collection.saveSub': 'En fristående kopia. Senare ändringar av turen når den inte.',
|
||||
'tours.collection.list': 'Samling',
|
||||
'tours.collection.readOnly': 'Du kan bara läsa den här listan',
|
||||
'tours.collection.noLists': 'Du har ingen samling än.',
|
||||
'tours.collection.openCollections': 'Öppna samlingar',
|
||||
'tours.collection.nameThere': 'Namn i samlingen',
|
||||
'tours.collection.keep': 'Spara',
|
||||
'tours.collection.kept': '”{name}” finns nu i ”{list}”.',
|
||||
'tours.collection.keepFailed': 'Turen kunde inte sparas.',
|
||||
'tours.collection.offline': 'Samlingar behöver en anslutning.',
|
||||
'tours.collection.listsFailed': 'Samlingarna kunde inte läsas in.',
|
||||
'tours.collection.toursFailed': 'Turerna i den här listan kunde inte läsas in.',
|
||||
'tours.collection.points': '{count} vägpunkter',
|
||||
'tours.collection.points.one': '{count} vägpunkt',
|
||||
'tours.collection.savedFrom': 'Sparad från',
|
||||
'tours.collection.source': 'Sparad från ”{tour}” i ”{trip}”',
|
||||
'tours.collection.keptBy': 'Sparad av {name}',
|
||||
'tours.collection.add': 'Lägg till i en resa',
|
||||
'tours.collection.addHint': 'Skapar en egen ny tur i en resa du väljer',
|
||||
'tours.collection.remove': 'Ta bort från samlingen',
|
||||
'tours.collection.removeTitle': 'Ta bort den här turen från samlingen?',
|
||||
'tours.collection.removeBody': 'Turer som redan gjorts av den i dina resor blir kvar som de är.',
|
||||
'tours.collection.removed': 'Turen togs bort från samlingen.',
|
||||
'tours.collection.removeFailed': 'Turen kunde inte tas bort.',
|
||||
'tours.collection.takeEyebrow': 'Från samlingen',
|
||||
'tours.collection.takeSub': 'Blir en egen tur i resan du väljer, utan dagar. Samlingen förblir som den är.',
|
||||
'tours.collection.intoTrip': 'Till resan',
|
||||
'tours.collection.noPermission': 'Du får inte lägga till turer i den här resan',
|
||||
'tours.collection.noTrips': 'Du har ingen resa att lägga den i än.',
|
||||
'tours.collection.withPoints': 'Med {count} vägpunkter',
|
||||
'tours.collection.withPoints.one': 'Med {count} vägpunkt',
|
||||
'tours.collection.withPointsHint': 'Start, stopp och mål följer med i sin ordning.',
|
||||
'tours.collection.lineOnly': 'Bara linjen',
|
||||
'tours.collection.lineOnlyHint': 'Linjen blir kvar som den sparades. Inga vägpunkter läggs till.',
|
||||
'tours.collection.needsPoints': 'Turen har ingen linje än, så dess vägpunkter måste följa med.',
|
||||
'tours.collection.noLine': 'Ingen linje ännu, bara vägpunkterna',
|
||||
'tours.collection.nameInTrip': 'Namn i resan',
|
||||
'tours.collection.taken': '”{name}” är nu en tur i ”{trip}”.',
|
||||
'tours.collection.takeFailed': 'Turen kunde inte läggas till i resan.',
|
||||
'tours.collection.openTrip': 'Öppna resan',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1299,47 +1299,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Hela turen',
|
||||
'tours.stages.totalPartial': 'känt för {known} av {of} etapper',
|
||||
'tours.stages.openInPlanner': 'Öppna etappen i planeraren',
|
||||
'tours.collection.save': 'Spara i en samling',
|
||||
'tours.collection.saveHint': 'Sparar en fristående kopia av den här turen i en av dina samlingar',
|
||||
'tours.collection.saveFirst': 'Spara turen först för att lägga den i en samling',
|
||||
'tours.collection.saveSub': 'En fristående kopia. Senare ändringar av turen når den inte.',
|
||||
'tours.collection.list': 'Samling',
|
||||
'tours.collection.readOnly': 'Du kan bara läsa den här listan',
|
||||
'tours.collection.noLists': 'Du har ingen samling än.',
|
||||
'tours.collection.openCollections': 'Öppna samlingar',
|
||||
'tours.collection.nameThere': 'Namn i samlingen',
|
||||
'tours.collection.keep': 'Spara',
|
||||
'tours.collection.kept': '”{name}” finns nu i ”{list}”.',
|
||||
'tours.collection.keepFailed': 'Turen kunde inte sparas.',
|
||||
'tours.collection.offline': 'Samlingar behöver en anslutning.',
|
||||
'tours.collection.listsFailed': 'Samlingarna kunde inte läsas in.',
|
||||
'tours.collection.toursFailed': 'Turerna i den här listan kunde inte läsas in.',
|
||||
'tours.collection.points': '{count} vägpunkter',
|
||||
'tours.collection.points.one': '{count} vägpunkt',
|
||||
'tours.collection.savedFrom': 'Sparad från',
|
||||
'tours.collection.source': 'Sparad från ”{tour}” i ”{trip}”',
|
||||
'tours.collection.keptBy': 'Sparad av {name}',
|
||||
'tours.collection.add': 'Lägg till i en resa',
|
||||
'tours.collection.addHint': 'Skapar en egen ny tur i en resa du väljer',
|
||||
'tours.collection.remove': 'Ta bort från samlingen',
|
||||
'tours.collection.removeTitle': 'Ta bort den här turen från samlingen?',
|
||||
'tours.collection.removeBody': 'Turer som redan gjorts av den i dina resor blir kvar som de är.',
|
||||
'tours.collection.removed': 'Turen togs bort från samlingen.',
|
||||
'tours.collection.removeFailed': 'Turen kunde inte tas bort.',
|
||||
'tours.collection.takeEyebrow': 'Från samlingen',
|
||||
'tours.collection.takeSub': 'Blir en egen tur i resan du väljer, utan dagar. Samlingen förblir som den är.',
|
||||
'tours.collection.intoTrip': 'Till resan',
|
||||
'tours.collection.noPermission': 'Du får inte lägga till turer i den här resan',
|
||||
'tours.collection.noTrips': 'Du har ingen resa att lägga den i än.',
|
||||
'tours.collection.withPoints': 'Med {count} vägpunkter',
|
||||
'tours.collection.withPoints.one': 'Med {count} vägpunkt',
|
||||
'tours.collection.withPointsHint': 'Start, stopp och mål följer med i sin ordning.',
|
||||
'tours.collection.lineOnly': 'Bara linjen',
|
||||
'tours.collection.lineOnlyHint': 'Linjen blir kvar som den sparades. Inga vägpunkter läggs till.',
|
||||
'tours.collection.needsPoints': 'Turen har ingen linje än, så dess vägpunkter måste följa med.',
|
||||
'tours.collection.nameInTrip': 'Namn i resan',
|
||||
'tours.collection.taken': '”{name}” är nu en tur i ”{trip}”.',
|
||||
'tours.collection.takeFailed': 'Turen kunde inte läggas till i resan.',
|
||||
'tours.collection.openTrip': 'Öppna resan',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -71,6 +72,7 @@ const locale = {
|
||||
...atlas,
|
||||
...trip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...places,
|
||||
...inspector,
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'เก็บไว้ในคอลเลกชัน',
|
||||
'tours.collection.saveHint': 'เก็บสำเนาที่แยกเป็นอิสระของทัวร์นี้ไว้ในคอลเลกชันหนึ่งของคุณ',
|
||||
'tours.collection.saveFirst': 'บันทึกทัวร์ก่อนเพื่อเก็บไว้ในคอลเลกชัน',
|
||||
'tours.collection.saveSub': 'สำเนาที่แยกเป็นอิสระ การเปลี่ยนแปลงทัวร์นี้ภายหลังจะไม่ส่งผลถึงสำเนา',
|
||||
'tours.collection.list': 'คอลเลกชัน',
|
||||
'tours.collection.readOnly': 'คุณอ่านรายการนี้ได้อย่างเดียว',
|
||||
'tours.collection.noLists': 'คุณยังไม่มีคอลเลกชัน',
|
||||
'tours.collection.openCollections': 'เปิดคอลเลกชัน',
|
||||
'tours.collection.nameThere': 'ชื่อในคอลเลกชัน',
|
||||
'tours.collection.keep': 'เก็บ',
|
||||
'tours.collection.kept': 'เก็บ “{name}” ไว้ใน “{list}” แล้ว',
|
||||
'tours.collection.keepFailed': 'เก็บทัวร์ไม่ได้',
|
||||
'tours.collection.offline': 'คอลเลกชันต้องใช้การเชื่อมต่อ',
|
||||
'tours.collection.listsFailed': 'โหลดคอลเลกชันไม่ได้',
|
||||
'tours.collection.toursFailed': 'โหลดทัวร์ของรายการนี้ไม่ได้',
|
||||
'tours.collection.points': 'จุดแวะ {count} จุด',
|
||||
'tours.collection.savedFrom': 'เก็บมาจาก',
|
||||
'tours.collection.source': 'เก็บมาจาก “{tour}” ใน “{trip}”',
|
||||
'tours.collection.keptBy': '{name} เป็นผู้เก็บ',
|
||||
'tours.collection.add': 'เพิ่มลงในทริป',
|
||||
'tours.collection.addHint': 'สร้างทัวร์ใหม่ของตัวเองในทริปที่คุณเลือก',
|
||||
'tours.collection.remove': 'นำออกจากคอลเลกชัน',
|
||||
'tours.collection.removeTitle': 'นำทัวร์นี้ออกจากคอลเลกชันหรือไม่',
|
||||
'tours.collection.removeBody': 'ทัวร์ที่สร้างจากรายการนี้ในทริปของคุณแล้วจะยังคงเหมือนเดิม',
|
||||
'tours.collection.removed': 'นำทัวร์ออกจากคอลเลกชันแล้ว',
|
||||
'tours.collection.removeFailed': 'นำทัวร์ออกไม่ได้',
|
||||
'tours.collection.takeEyebrow': 'จากคอลเลกชัน',
|
||||
'tours.collection.takeSub': 'กลายเป็นทัวร์ของตัวเองในทริปที่คุณเลือก โดยไม่มีวัน คอลเลกชันยังคงเหมือนเดิม',
|
||||
'tours.collection.intoTrip': 'ลงในทริป',
|
||||
'tours.collection.noPermission': 'คุณเพิ่มทัวร์ลงในทริปนี้ไม่ได้',
|
||||
'tours.collection.noTrips': 'คุณยังไม่มีทริปที่จะเพิ่มลงไป',
|
||||
'tours.collection.withPoints': 'พร้อมจุดแวะ {count} จุด',
|
||||
'tours.collection.withPointsHint': 'จุดเริ่ม จุดพัก และจุดสิ้นสุดมาตามลำดับเดิม',
|
||||
'tours.collection.lineOnly': 'เฉพาะเส้นทาง',
|
||||
'tours.collection.lineOnlyHint': 'เส้นทางคงเดิมตามที่บันทึกไว้ ไม่มีการเพิ่มจุดแวะ',
|
||||
'tours.collection.needsPoints': 'ทัวร์นี้ยังไม่มีเส้นทาง จึงต้องนำจุดแวะมาด้วย',
|
||||
'tours.collection.noLine': 'ยังไม่มีเส้นทาง มีเพียงจุดแวะ',
|
||||
'tours.collection.nameInTrip': 'ชื่อในทริป',
|
||||
'tours.collection.taken': '“{name}” เป็นทัวร์ของ “{trip}” แล้ว',
|
||||
'tours.collection.takeFailed': 'เพิ่มทัวร์ลงในทริปไม่ได้',
|
||||
'tours.collection.openTrip': 'เปิดทริป',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1244,45 +1244,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'ทั้งเส้นทาง',
|
||||
'tours.stages.totalPartial': 'ทราบสำหรับ {known} จาก {of} ช่วง',
|
||||
'tours.stages.openInPlanner': 'เปิดช่วงนี้ในตัววางแผน',
|
||||
'tours.collection.save': 'เก็บไว้ในคอลเลกชัน',
|
||||
'tours.collection.saveHint': 'เก็บสำเนาที่แยกเป็นอิสระของทัวร์นี้ไว้ในคอลเลกชันหนึ่งของคุณ',
|
||||
'tours.collection.saveFirst': 'บันทึกทัวร์ก่อนเพื่อเก็บไว้ในคอลเลกชัน',
|
||||
'tours.collection.saveSub': 'สำเนาที่แยกเป็นอิสระ การเปลี่ยนแปลงทัวร์นี้ภายหลังจะไม่ส่งผลถึงสำเนา',
|
||||
'tours.collection.list': 'คอลเลกชัน',
|
||||
'tours.collection.readOnly': 'คุณอ่านรายการนี้ได้อย่างเดียว',
|
||||
'tours.collection.noLists': 'คุณยังไม่มีคอลเลกชัน',
|
||||
'tours.collection.openCollections': 'เปิดคอลเลกชัน',
|
||||
'tours.collection.nameThere': 'ชื่อในคอลเลกชัน',
|
||||
'tours.collection.keep': 'เก็บ',
|
||||
'tours.collection.kept': 'เก็บ “{name}” ไว้ใน “{list}” แล้ว',
|
||||
'tours.collection.keepFailed': 'เก็บทัวร์ไม่ได้',
|
||||
'tours.collection.offline': 'คอลเลกชันต้องใช้การเชื่อมต่อ',
|
||||
'tours.collection.listsFailed': 'โหลดคอลเลกชันไม่ได้',
|
||||
'tours.collection.toursFailed': 'โหลดทัวร์ของรายการนี้ไม่ได้',
|
||||
'tours.collection.points': 'จุดแวะ {count} จุด',
|
||||
'tours.collection.savedFrom': 'เก็บมาจาก',
|
||||
'tours.collection.source': 'เก็บมาจาก “{tour}” ใน “{trip}”',
|
||||
'tours.collection.keptBy': '{name} เป็นผู้เก็บ',
|
||||
'tours.collection.add': 'เพิ่มลงในทริป',
|
||||
'tours.collection.addHint': 'สร้างทัวร์ใหม่ของตัวเองในทริปที่คุณเลือก',
|
||||
'tours.collection.remove': 'นำออกจากคอลเลกชัน',
|
||||
'tours.collection.removeTitle': 'นำทัวร์นี้ออกจากคอลเลกชันหรือไม่',
|
||||
'tours.collection.removeBody': 'ทัวร์ที่สร้างจากรายการนี้ในทริปของคุณแล้วจะยังคงเหมือนเดิม',
|
||||
'tours.collection.removed': 'นำทัวร์ออกจากคอลเลกชันแล้ว',
|
||||
'tours.collection.removeFailed': 'นำทัวร์ออกไม่ได้',
|
||||
'tours.collection.takeEyebrow': 'จากคอลเลกชัน',
|
||||
'tours.collection.takeSub': 'กลายเป็นทัวร์ของตัวเองในทริปที่คุณเลือก โดยไม่มีวัน คอลเลกชันยังคงเหมือนเดิม',
|
||||
'tours.collection.intoTrip': 'ลงในทริป',
|
||||
'tours.collection.noPermission': 'คุณเพิ่มทัวร์ลงในทริปนี้ไม่ได้',
|
||||
'tours.collection.noTrips': 'คุณยังไม่มีทริปที่จะเพิ่มลงไป',
|
||||
'tours.collection.withPoints': 'พร้อมจุดแวะ {count} จุด',
|
||||
'tours.collection.withPointsHint': 'จุดเริ่ม จุดพัก และจุดสิ้นสุดมาตามลำดับเดิม',
|
||||
'tours.collection.lineOnly': 'เฉพาะเส้นทาง',
|
||||
'tours.collection.lineOnlyHint': 'เส้นทางคงเดิมตามที่บันทึกไว้ ไม่มีการเพิ่มจุดแวะ',
|
||||
'tours.collection.needsPoints': 'ทัวร์นี้ยังไม่มีเส้นทาง จึงต้องนำจุดแวะมาด้วย',
|
||||
'tours.collection.nameInTrip': 'ชื่อในทริป',
|
||||
'tours.collection.taken': '“{name}” เป็นทัวร์ของ “{trip}” แล้ว',
|
||||
'tours.collection.takeFailed': 'เพิ่มทัวร์ลงในทริปไม่ได้',
|
||||
'tours.collection.openTrip': 'เปิดทริป',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -9,18 +9,28 @@ import { fileURLToPath } from 'node:url';
|
||||
import ts from 'typescript';
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
const domains = import.meta.glob<{ default: TranslationStrings }>('./*/tours.ts', { eager: true });
|
||||
type DomainModules = Record<string, { default: TranslationStrings }>;
|
||||
|
||||
const toursModules = import.meta.glob<{ default: TranslationStrings }>('./*/tours.ts', { eager: true });
|
||||
|
||||
// The tours strings live in more than one file per locale, so that none of
|
||||
// them grows past the size limit: `tours.ts` holds the planner, and
|
||||
// `tourCollection.ts` the tours kept in a collection. Each file is held to
|
||||
// its own count.
|
||||
const TOUR_DOMAINS: { file: string; generalKeyCount: number; modules: DomainModules }[] = [
|
||||
{
|
||||
file: 'tours',
|
||||
generalKeyCount: 1182,
|
||||
modules: toursModules,
|
||||
},
|
||||
{
|
||||
file: 'tourCollection',
|
||||
generalKeyCount: 41,
|
||||
modules: import.meta.glob<{ default: TranslationStrings }>('./*/tourCollection.ts', { eager: true }),
|
||||
},
|
||||
];
|
||||
const aggregates = import.meta.glob<{ default: TranslationStrings }>('./*/index.ts', { eager: true });
|
||||
const englishModule = domains['./en/tours.ts'];
|
||||
if (!englishModule) throw new Error('Missing English Tours domain');
|
||||
const english = englishModule.default;
|
||||
const tokens = (value: string) => [...value.matchAll(/\{[^{}]+\}/g)].map((match) => match[0]).sort();
|
||||
// Plural forms (`tours.import.success.one`) differ by language on purpose:
|
||||
// Japanese has none, Arabic five. They are compared by the parity CLI and the
|
||||
// placeholder spec; here only the general keys are.
|
||||
const groups = pluralGroups(Object.keys(english));
|
||||
const generalKeys = (keys: string[]) => keys.filter((key) => !pluralFormOf(key, groups));
|
||||
const GENERAL_KEY_COUNT = 1222;
|
||||
|
||||
function literalKeys(source: string): string[] {
|
||||
const tree = ts.createSourceFile('locale.ts', source, ts.ScriptTarget.Latest, true);
|
||||
@@ -33,54 +43,80 @@ function literalKeys(source: string): string[] {
|
||||
return keys;
|
||||
}
|
||||
|
||||
describe('Tours locale contracts', () => {
|
||||
it('covers all 27 supported locales with 698 general source keys', () => {
|
||||
expect(Object.keys(domains)).toHaveLength(27);
|
||||
expect(Object.keys(domains).sort()).toEqual(SUPPORTED_LANGUAGE_CODES.map((code) => `./${code}/tours.ts`).sort());
|
||||
expect(generalKeys(Object.keys(english))).toHaveLength(GENERAL_KEY_COUNT);
|
||||
});
|
||||
function registeredKeysOf(indexPath: string): string[] {
|
||||
const indexSource = readFileSync(fileURLToPath(new URL(indexPath, import.meta.url)), 'utf8');
|
||||
const indexTree = ts.createSourceFile(indexPath, indexSource, ts.ScriptTarget.Latest, true);
|
||||
const registeredKeys: string[] = [];
|
||||
for (const statement of indexTree.statements) {
|
||||
if (!ts.isImportDeclaration(statement) || !ts.isStringLiteral(statement.moduleSpecifier)) continue;
|
||||
const relativePath = statement.moduleSpecifier.text;
|
||||
if (!relativePath.startsWith('./')) continue;
|
||||
const domainUrl = new URL(`${relativePath}.ts`, new URL(indexPath, import.meta.url));
|
||||
registeredKeys.push(...literalKeys(readFileSync(fileURLToPath(domainUrl), 'utf8')));
|
||||
}
|
||||
return registeredKeys;
|
||||
}
|
||||
|
||||
for (const [path, { default: strings }] of Object.entries(domains)) {
|
||||
it(`${path} imports, preserves placeholders and registers every key exactly once`, () => {
|
||||
const domainSource = readFileSync(fileURLToPath(new URL(path, import.meta.url)), 'utf8');
|
||||
const domainKeys = literalKeys(domainSource);
|
||||
expect(generalKeys(domainKeys)).toHaveLength(GENERAL_KEY_COUNT);
|
||||
expect(new Set(domainKeys).size).toBe(domainKeys.length);
|
||||
expect(generalKeys(Object.keys(strings)).sort()).toEqual(generalKeys(Object.keys(english)).sort());
|
||||
expect(domainSource).not.toMatch(/export\s*\{\s*default\s*\}\s*from/);
|
||||
const indexPath = path.replace('/tours.ts', '/index.ts');
|
||||
const indexSource = readFileSync(fileURLToPath(new URL(indexPath, import.meta.url)), 'utf8');
|
||||
const indexTree = ts.createSourceFile(indexPath, indexSource, ts.ScriptTarget.Latest, true);
|
||||
expect(indexSource.match(/import tours from ['"]\.\/tours['"]/g)).toHaveLength(1);
|
||||
expect(indexSource.match(/\.\.\.tours\b/g)).toHaveLength(1);
|
||||
const registeredKeys: string[] = [];
|
||||
for (const statement of indexTree.statements) {
|
||||
if (!ts.isImportDeclaration(statement) || !ts.isStringLiteral(statement.moduleSpecifier)) continue;
|
||||
const relativePath = statement.moduleSpecifier.text;
|
||||
if (!relativePath.startsWith('./')) continue;
|
||||
const domainUrl = new URL(`${relativePath}.ts`, new URL(indexPath, import.meta.url));
|
||||
registeredKeys.push(...literalKeys(readFileSync(fileURLToPath(domainUrl), 'utf8')));
|
||||
}
|
||||
for (const [key, reference] of Object.entries(english)) {
|
||||
if (pluralFormOf(key, groups)) continue;
|
||||
expect(typeof strings[key], key).toBe('string');
|
||||
const value = strings[key] as string;
|
||||
expect(value.trim(), key).not.toBe('');
|
||||
expect(value, key).not.toBe(key);
|
||||
expect(tokens(value), key).toEqual(tokens(reference as string));
|
||||
expect(
|
||||
registeredKeys.filter((registered) => registered === key),
|
||||
key,
|
||||
).toHaveLength(1);
|
||||
expect(aggregates[indexPath]?.default[key], key).toBe(value);
|
||||
}
|
||||
for (const key of domainKeys.filter((domainKey) => pluralFormOf(domainKey, groups))) {
|
||||
expect(
|
||||
registeredKeys.filter((registered) => registered === key),
|
||||
key,
|
||||
).toHaveLength(1);
|
||||
expect(aggregates[indexPath]?.default[key], key).toBe(strings[key]);
|
||||
}
|
||||
for (const { file, generalKeyCount, modules } of TOUR_DOMAINS) {
|
||||
const englishModule = modules[`./en/${file}.ts`];
|
||||
if (!englishModule) throw new Error(`Missing English ${file} domain`);
|
||||
const english = englishModule.default;
|
||||
// Plural forms (`tours.import.success.one`) differ by language on purpose:
|
||||
// Japanese has none, Arabic five. They are compared by the parity CLI and the
|
||||
// placeholder spec; here only the general keys are.
|
||||
const groups = pluralGroups(Object.keys(english));
|
||||
const generalKeys = (keys: string[]) => keys.filter((key) => !pluralFormOf(key, groups));
|
||||
|
||||
describe(`Tours locale contracts: ${file}.ts`, () => {
|
||||
it(`covers all 27 supported locales with ${generalKeyCount} general source keys`, () => {
|
||||
expect(Object.keys(modules)).toHaveLength(27);
|
||||
expect(Object.keys(modules).sort()).toEqual(
|
||||
SUPPORTED_LANGUAGE_CODES.map((code) => `./${code}/${file}.ts`).sort(),
|
||||
);
|
||||
expect(generalKeys(Object.keys(english))).toHaveLength(generalKeyCount);
|
||||
});
|
||||
|
||||
for (const [path, { default: strings }] of Object.entries(modules)) {
|
||||
it(`${path} imports, preserves placeholders and registers every key exactly once`, () => {
|
||||
const domainSource = readFileSync(fileURLToPath(new URL(path, import.meta.url)), 'utf8');
|
||||
const domainKeys = literalKeys(domainSource);
|
||||
expect(generalKeys(domainKeys)).toHaveLength(generalKeyCount);
|
||||
expect(new Set(domainKeys).size).toBe(domainKeys.length);
|
||||
expect(generalKeys(Object.keys(strings)).sort()).toEqual(generalKeys(Object.keys(english)).sort());
|
||||
expect(domainSource).not.toMatch(/export\s*\{\s*default\s*\}\s*from/);
|
||||
const indexPath = path.replace(`/${file}.ts`, '/index.ts');
|
||||
const indexSource = readFileSync(fileURLToPath(new URL(indexPath, import.meta.url)), 'utf8');
|
||||
expect(indexSource.match(new RegExp(`import ${file} from ['"]\\./${file}['"]`, 'g'))).toHaveLength(1);
|
||||
expect(indexSource.match(new RegExp(`\\.\\.\\.${file}\\b`, 'g'))).toHaveLength(1);
|
||||
const registeredKeys = registeredKeysOf(indexPath);
|
||||
for (const [key, reference] of Object.entries(english)) {
|
||||
if (pluralFormOf(key, groups)) continue;
|
||||
expect(typeof strings[key], key).toBe('string');
|
||||
const value = strings[key] as string;
|
||||
expect(value.trim(), key).not.toBe('');
|
||||
expect(value, key).not.toBe(key);
|
||||
expect(tokens(value), key).toEqual(tokens(reference as string));
|
||||
expect(
|
||||
registeredKeys.filter((registered) => registered === key),
|
||||
key,
|
||||
).toHaveLength(1);
|
||||
expect(aggregates[indexPath]?.default[key], key).toBe(value);
|
||||
}
|
||||
for (const key of domainKeys.filter((domainKey) => pluralFormOf(domainKey, groups))) {
|
||||
expect(
|
||||
registeredKeys.filter((registered) => registered === key),
|
||||
key,
|
||||
).toHaveLength(1);
|
||||
expect(aggregates[indexPath]?.default[key], key).toBe(strings[key]);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
describe('Tours locale contracts: safety strings', () => {
|
||||
for (const [path, { default: strings }] of Object.entries(toursModules)) {
|
||||
it(`${path} carries the safety notes`, () => {
|
||||
for (const key of [
|
||||
'tours.planner.safetyNote',
|
||||
'tours.planner.difficulty.t3Warning',
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Bir koleksiyonda sakla',
|
||||
'tours.collection.saveHint': 'Bu turun bağımsız bir kopyasını koleksiyonlarınızdan birinde saklar',
|
||||
'tours.collection.saveFirst': 'Koleksiyonda saklamak için önce turu kaydedin',
|
||||
'tours.collection.saveSub': 'Bağımsız bir kopya. Bu turdaki sonraki değişiklikler ona ulaşmaz.',
|
||||
'tours.collection.list': 'Koleksiyon',
|
||||
'tours.collection.readOnly': 'Bu listeyi yalnızca okuyabilirsiniz',
|
||||
'tours.collection.noLists': 'Henüz bir koleksiyonunuz yok.',
|
||||
'tours.collection.openCollections': 'Koleksiyonları aç',
|
||||
'tours.collection.nameThere': 'Koleksiyondaki ad',
|
||||
'tours.collection.keep': 'Sakla',
|
||||
'tours.collection.kept': '“{name}” artık “{list}” içinde.',
|
||||
'tours.collection.keepFailed': 'Tur saklanamadı.',
|
||||
'tours.collection.offline': 'Koleksiyonlar bağlantı gerektirir.',
|
||||
'tours.collection.listsFailed': 'Koleksiyonlar yüklenemedi.',
|
||||
'tours.collection.toursFailed': 'Bu listenin turları yüklenemedi.',
|
||||
'tours.collection.points': '{count} ara nokta',
|
||||
'tours.collection.points.one': '{count} ara nokta',
|
||||
'tours.collection.savedFrom': 'Nereden saklandı',
|
||||
'tours.collection.source': '“{trip}” gezisindeki “{tour}” turundan saklandı',
|
||||
'tours.collection.keptBy': 'Saklayan: {name}',
|
||||
'tours.collection.add': 'Bir geziye ekle',
|
||||
'tours.collection.addHint': 'Seçtiğiniz bir gezide kendine ait yeni bir tur oluşturur',
|
||||
'tours.collection.remove': 'Koleksiyondan çıkar',
|
||||
'tours.collection.removeTitle': 'Bu tur koleksiyondan çıkarılsın mı?',
|
||||
'tours.collection.removeBody': 'Gezilerinizde ondan daha önce oluşturulan turlar olduğu gibi kalır.',
|
||||
'tours.collection.removed': 'Tur koleksiyondan çıkarıldı.',
|
||||
'tours.collection.removeFailed': 'Tur çıkarılamadı.',
|
||||
'tours.collection.takeEyebrow': 'Koleksiyondan',
|
||||
'tours.collection.takeSub':
|
||||
'Seçtiğiniz gezide günler olmadan kendine ait bir tur olur. Koleksiyon olduğu gibi kalır.',
|
||||
'tours.collection.intoTrip': 'Geziye',
|
||||
'tours.collection.noPermission': 'Bu geziye tur ekleyemezsiniz',
|
||||
'tours.collection.noTrips': 'Henüz ekleyebileceğiniz bir geziniz yok.',
|
||||
'tours.collection.withPoints': '{count} ara noktayla',
|
||||
'tours.collection.withPoints.one': '{count} ara noktayla',
|
||||
'tours.collection.withPointsHint': 'Başlangıç, duraklar ve bitiş kendi sıralarıyla gelir.',
|
||||
'tours.collection.lineOnly': 'Yalnızca çizgi',
|
||||
'tours.collection.lineOnlyHint': 'Çizgi kaydedildiği gibi kalır. Ara nokta eklenmez.',
|
||||
'tours.collection.needsPoints': 'Bu turun henüz çizgisi yok, bu yüzden ara noktaları da gelmeli.',
|
||||
'tours.collection.noLine': 'Henüz çizgi yok, yalnızca ara noktaları var',
|
||||
'tours.collection.nameInTrip': 'Gezideki ad',
|
||||
'tours.collection.taken': '“{name}” artık “{trip}” gezisinin bir turu.',
|
||||
'tours.collection.takeFailed': 'Tur geziye eklenemedi.',
|
||||
'tours.collection.openTrip': 'Geziyi aç',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1306,48 +1306,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Tüm tur',
|
||||
'tours.stages.totalPartial': '{of} etabın {known} tanesi için biliniyor',
|
||||
'tours.stages.openInPlanner': 'Bu etabı planlayıcıda aç',
|
||||
'tours.collection.save': 'Bir koleksiyonda sakla',
|
||||
'tours.collection.saveHint': 'Bu turun bağımsız bir kopyasını koleksiyonlarınızdan birinde saklar',
|
||||
'tours.collection.saveFirst': 'Koleksiyonda saklamak için önce turu kaydedin',
|
||||
'tours.collection.saveSub': 'Bağımsız bir kopya. Bu turdaki sonraki değişiklikler ona ulaşmaz.',
|
||||
'tours.collection.list': 'Koleksiyon',
|
||||
'tours.collection.readOnly': 'Bu listeyi yalnızca okuyabilirsiniz',
|
||||
'tours.collection.noLists': 'Henüz bir koleksiyonunuz yok.',
|
||||
'tours.collection.openCollections': 'Koleksiyonları aç',
|
||||
'tours.collection.nameThere': 'Koleksiyondaki ad',
|
||||
'tours.collection.keep': 'Sakla',
|
||||
'tours.collection.kept': '“{name}” artık “{list}” içinde.',
|
||||
'tours.collection.keepFailed': 'Tur saklanamadı.',
|
||||
'tours.collection.offline': 'Koleksiyonlar bağlantı gerektirir.',
|
||||
'tours.collection.listsFailed': 'Koleksiyonlar yüklenemedi.',
|
||||
'tours.collection.toursFailed': 'Bu listenin turları yüklenemedi.',
|
||||
'tours.collection.points': '{count} ara nokta',
|
||||
'tours.collection.points.one': '{count} ara nokta',
|
||||
'tours.collection.savedFrom': 'Nereden saklandı',
|
||||
'tours.collection.source': '“{trip}” gezisindeki “{tour}” turundan saklandı',
|
||||
'tours.collection.keptBy': 'Saklayan: {name}',
|
||||
'tours.collection.add': 'Bir geziye ekle',
|
||||
'tours.collection.addHint': 'Seçtiğiniz bir gezide kendine ait yeni bir tur oluşturur',
|
||||
'tours.collection.remove': 'Koleksiyondan çıkar',
|
||||
'tours.collection.removeTitle': 'Bu tur koleksiyondan çıkarılsın mı?',
|
||||
'tours.collection.removeBody': 'Gezilerinizde ondan daha önce oluşturulan turlar olduğu gibi kalır.',
|
||||
'tours.collection.removed': 'Tur koleksiyondan çıkarıldı.',
|
||||
'tours.collection.removeFailed': 'Tur çıkarılamadı.',
|
||||
'tours.collection.takeEyebrow': 'Koleksiyondan',
|
||||
'tours.collection.takeSub':
|
||||
'Seçtiğiniz gezide günler olmadan kendine ait bir tur olur. Koleksiyon olduğu gibi kalır.',
|
||||
'tours.collection.intoTrip': 'Geziye',
|
||||
'tours.collection.noPermission': 'Bu geziye tur ekleyemezsiniz',
|
||||
'tours.collection.noTrips': 'Henüz ekleyebileceğiniz bir geziniz yok.',
|
||||
'tours.collection.withPoints': '{count} ara noktayla',
|
||||
'tours.collection.withPoints.one': '{count} ara noktayla',
|
||||
'tours.collection.withPointsHint': 'Başlangıç, duraklar ve bitiş kendi sıralarıyla gelir.',
|
||||
'tours.collection.lineOnly': 'Yalnızca çizgi',
|
||||
'tours.collection.lineOnlyHint': 'Çizgi kaydedildiği gibi kalır. Ara nokta eklenmez.',
|
||||
'tours.collection.needsPoints': 'Bu turun henüz çizgisi yok, bu yüzden ara noktaları da gelmeli.',
|
||||
'tours.collection.nameInTrip': 'Gezideki ad',
|
||||
'tours.collection.taken': '“{name}” artık “{trip}” gezisinin bir turu.',
|
||||
'tours.collection.takeFailed': 'Tur geziye eklenemedi.',
|
||||
'tours.collection.openTrip': 'Geziyi aç',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Зберегти в колекції',
|
||||
'tours.collection.saveHint': 'Зберігає незалежну копію цього маршруту в одній із ваших колекцій',
|
||||
'tours.collection.saveFirst': 'Спочатку збережіть маршрут, щоб покласти його в колекцію',
|
||||
'tours.collection.saveSub': 'Незалежна копія. Подальші зміни маршруту її не торкнуться.',
|
||||
'tours.collection.list': 'Колекція',
|
||||
'tours.collection.readOnly': 'Цей список ви можете лише переглядати',
|
||||
'tours.collection.noLists': 'У вас ще немає жодної колекції.',
|
||||
'tours.collection.openCollections': 'Відкрити колекції',
|
||||
'tours.collection.nameThere': 'Назва в колекції',
|
||||
'tours.collection.keep': 'Зберегти',
|
||||
'tours.collection.kept': '«{name}» тепер зберігається в «{list}».',
|
||||
'tours.collection.keepFailed': 'Не вдалося зберегти маршрут.',
|
||||
'tours.collection.offline': 'Для колекцій потрібне підключення.',
|
||||
'tours.collection.listsFailed': 'Не вдалося завантажити колекції.',
|
||||
'tours.collection.toursFailed': 'Не вдалося завантажити маршрути цього списку.',
|
||||
'tours.collection.points': 'Точок маршруту: {count}',
|
||||
'tours.collection.points.one': '{count} точка маршруту',
|
||||
'tours.collection.points.few': '{count} точки маршруту',
|
||||
'tours.collection.points.many': '{count} точок маршруту',
|
||||
'tours.collection.savedFrom': 'Збережено з',
|
||||
'tours.collection.source': 'Збережено з «{tour}» у «{trip}»',
|
||||
'tours.collection.keptBy': 'Зберіг(ла): {name}',
|
||||
'tours.collection.add': 'Додати до подорожі',
|
||||
'tours.collection.addHint': 'Створює новий власний маршрут у вибраній подорожі',
|
||||
'tours.collection.remove': 'Прибрати з колекції',
|
||||
'tours.collection.removeTitle': 'Прибрати цей маршрут із колекції?',
|
||||
'tours.collection.removeBody': 'Маршрути, вже створені з нього у ваших подорожах, залишаться як є.',
|
||||
'tours.collection.removed': 'Маршрут прибрано з колекції.',
|
||||
'tours.collection.removeFailed': 'Не вдалося прибрати маршрут.',
|
||||
'tours.collection.takeEyebrow': 'З колекції',
|
||||
'tours.collection.takeSub': 'Стане власним маршрутом вибраної подорожі, без днів. Колекція залишиться як є.',
|
||||
'tours.collection.intoTrip': 'До подорожі',
|
||||
'tours.collection.noPermission': 'Ви не можете додавати маршрути до цієї подорожі',
|
||||
'tours.collection.noTrips': 'У вас ще немає подорожі, куди його додати.',
|
||||
'tours.collection.withPoints': 'Точок маршруту: {count}',
|
||||
'tours.collection.withPoints.one': 'З {count} точкою маршруту',
|
||||
'tours.collection.withPoints.few': 'З {count} точками маршруту',
|
||||
'tours.collection.withPoints.many': 'З {count} точками маршруту',
|
||||
'tours.collection.withPointsHint': 'Старт, зупинки й фініш переходять у своєму порядку.',
|
||||
'tours.collection.lineOnly': 'Лише лінія',
|
||||
'tours.collection.lineOnlyHint': 'Лінія залишається такою, як її збережено. Точки маршруту не додаються.',
|
||||
'tours.collection.needsPoints': 'Цей маршрут ще не має лінії, тому його точки мають перейти разом із ним.',
|
||||
'tours.collection.noLine': 'Лінії ще немає, лише точки маршруту',
|
||||
'tours.collection.nameInTrip': 'Назва в подорожі',
|
||||
'tours.collection.taken': '«{name}» тепер маршрут подорожі «{trip}».',
|
||||
'tours.collection.takeFailed': 'Не вдалося додати маршрут до подорожі.',
|
||||
'tours.collection.openTrip': 'Відкрити подорож',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1355,51 +1355,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Увесь маршрут',
|
||||
'tours.stages.totalPartial': 'відомо для {known} з {of} етапів',
|
||||
'tours.stages.openInPlanner': 'Відкрити цей етап у планувальнику',
|
||||
'tours.collection.save': 'Зберегти в колекції',
|
||||
'tours.collection.saveHint': 'Зберігає незалежну копію цього маршруту в одній із ваших колекцій',
|
||||
'tours.collection.saveFirst': 'Спочатку збережіть маршрут, щоб покласти його в колекцію',
|
||||
'tours.collection.saveSub': 'Незалежна копія. Подальші зміни маршруту її не торкнуться.',
|
||||
'tours.collection.list': 'Колекція',
|
||||
'tours.collection.readOnly': 'Цей список ви можете лише переглядати',
|
||||
'tours.collection.noLists': 'У вас ще немає жодної колекції.',
|
||||
'tours.collection.openCollections': 'Відкрити колекції',
|
||||
'tours.collection.nameThere': 'Назва в колекції',
|
||||
'tours.collection.keep': 'Зберегти',
|
||||
'tours.collection.kept': '«{name}» тепер зберігається в «{list}».',
|
||||
'tours.collection.keepFailed': 'Не вдалося зберегти маршрут.',
|
||||
'tours.collection.offline': 'Для колекцій потрібне підключення.',
|
||||
'tours.collection.listsFailed': 'Не вдалося завантажити колекції.',
|
||||
'tours.collection.toursFailed': 'Не вдалося завантажити маршрути цього списку.',
|
||||
'tours.collection.points': 'Точок маршруту: {count}',
|
||||
'tours.collection.points.one': '{count} точка маршруту',
|
||||
'tours.collection.points.few': '{count} точки маршруту',
|
||||
'tours.collection.points.many': '{count} точок маршруту',
|
||||
'tours.collection.savedFrom': 'Збережено з',
|
||||
'tours.collection.source': 'Збережено з «{tour}» у «{trip}»',
|
||||
'tours.collection.keptBy': 'Зберіг(ла): {name}',
|
||||
'tours.collection.add': 'Додати до подорожі',
|
||||
'tours.collection.addHint': 'Створює новий власний маршрут у вибраній подорожі',
|
||||
'tours.collection.remove': 'Прибрати з колекції',
|
||||
'tours.collection.removeTitle': 'Прибрати цей маршрут із колекції?',
|
||||
'tours.collection.removeBody': 'Маршрути, вже створені з нього у ваших подорожах, залишаться як є.',
|
||||
'tours.collection.removed': 'Маршрут прибрано з колекції.',
|
||||
'tours.collection.removeFailed': 'Не вдалося прибрати маршрут.',
|
||||
'tours.collection.takeEyebrow': 'З колекції',
|
||||
'tours.collection.takeSub': 'Стане власним маршрутом вибраної подорожі, без днів. Колекція залишиться як є.',
|
||||
'tours.collection.intoTrip': 'До подорожі',
|
||||
'tours.collection.noPermission': 'Ви не можете додавати маршрути до цієї подорожі',
|
||||
'tours.collection.noTrips': 'У вас ще немає подорожі, куди його додати.',
|
||||
'tours.collection.withPoints': 'Точок маршруту: {count}',
|
||||
'tours.collection.withPoints.one': 'З {count} точкою маршруту',
|
||||
'tours.collection.withPoints.few': 'З {count} точками маршруту',
|
||||
'tours.collection.withPoints.many': 'З {count} точками маршруту',
|
||||
'tours.collection.withPointsHint': 'Старт, зупинки й фініш переходять у своєму порядку.',
|
||||
'tours.collection.lineOnly': 'Лише лінія',
|
||||
'tours.collection.lineOnlyHint': 'Лінія залишається такою, як її збережено. Точки маршруту не додаються.',
|
||||
'tours.collection.needsPoints': 'Цей маршрут ще не має лінії, тому його точки мають перейти разом із ним.',
|
||||
'tours.collection.nameInTrip': 'Назва в подорожі',
|
||||
'tours.collection.taken': '«{name}» тепер маршрут подорожі «{trip}».',
|
||||
'tours.collection.takeFailed': 'Не вдалося додати маршрут до подорожі.',
|
||||
'tours.collection.openTrip': 'Відкрити подорож',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': 'Giữ trong bộ sưu tập',
|
||||
'tours.collection.saveHint': 'Giữ một bản sao độc lập của chuyến này trong một bộ sưu tập của bạn',
|
||||
'tours.collection.saveFirst': 'Hãy lưu chuyến trước để giữ nó trong bộ sưu tập',
|
||||
'tours.collection.saveSub': 'Một bản sao độc lập. Các thay đổi sau này của chuyến không ảnh hưởng đến nó.',
|
||||
'tours.collection.list': 'Bộ sưu tập',
|
||||
'tours.collection.readOnly': 'Bạn chỉ có thể xem danh sách này',
|
||||
'tours.collection.noLists': 'Bạn chưa có bộ sưu tập nào.',
|
||||
'tours.collection.openCollections': 'Mở bộ sưu tập',
|
||||
'tours.collection.nameThere': 'Tên trong bộ sưu tập',
|
||||
'tours.collection.keep': 'Giữ',
|
||||
'tours.collection.kept': '“{name}” giờ được giữ trong “{list}”.',
|
||||
'tours.collection.keepFailed': 'Không giữ được chuyến.',
|
||||
'tours.collection.offline': 'Bộ sưu tập cần kết nối mạng.',
|
||||
'tours.collection.listsFailed': 'Không tải được các bộ sưu tập.',
|
||||
'tours.collection.toursFailed': 'Không tải được các chuyến của danh sách này.',
|
||||
'tours.collection.points': '{count} điểm tham chiếu',
|
||||
'tours.collection.savedFrom': 'Giữ từ',
|
||||
'tours.collection.source': 'Giữ từ “{tour}” trong “{trip}”',
|
||||
'tours.collection.keptBy': 'Do {name} giữ',
|
||||
'tours.collection.add': 'Thêm vào chuyến đi',
|
||||
'tours.collection.addHint': 'Tạo một chuyến mới riêng trong chuyến đi bạn chọn',
|
||||
'tours.collection.remove': 'Bỏ khỏi bộ sưu tập',
|
||||
'tours.collection.removeTitle': 'Bỏ chuyến này khỏi bộ sưu tập?',
|
||||
'tours.collection.removeBody': 'Các chuyến đã tạo từ nó trong các chuyến đi của bạn vẫn giữ nguyên.',
|
||||
'tours.collection.removed': 'Đã bỏ chuyến khỏi bộ sưu tập.',
|
||||
'tours.collection.removeFailed': 'Không bỏ được chuyến.',
|
||||
'tours.collection.takeEyebrow': 'Từ bộ sưu tập',
|
||||
'tours.collection.takeSub':
|
||||
'Trở thành một chuyến riêng trong chuyến đi bạn chọn, không có ngày. Bộ sưu tập giữ nguyên.',
|
||||
'tours.collection.intoTrip': 'Vào chuyến đi',
|
||||
'tours.collection.noPermission': 'Bạn không được thêm chuyến vào chuyến đi này',
|
||||
'tours.collection.noTrips': 'Bạn chưa có chuyến đi nào để thêm vào.',
|
||||
'tours.collection.withPoints': 'Kèm {count} điểm tham chiếu',
|
||||
'tours.collection.withPointsHint': 'Điểm đầu, các điểm dừng và điểm cuối đi theo đúng thứ tự.',
|
||||
'tours.collection.lineOnly': 'Chỉ đường nét',
|
||||
'tours.collection.lineOnlyHint': 'Đường nét giữ như khi lưu. Không thêm điểm tham chiếu nào.',
|
||||
'tours.collection.needsPoints': 'Chuyến này chưa có đường nét, nên các điểm tham chiếu phải đi cùng.',
|
||||
'tours.collection.noLine': 'Chưa có tuyến, chỉ có các điểm dừng',
|
||||
'tours.collection.nameInTrip': 'Tên trong chuyến đi',
|
||||
'tours.collection.taken': '“{name}” giờ là một chuyến của “{trip}”.',
|
||||
'tours.collection.takeFailed': 'Không thêm được chuyến vào chuyến đi.',
|
||||
'tours.collection.openTrip': 'Mở chuyến đi',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1288,46 +1288,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': 'Cả hành trình',
|
||||
'tours.stages.totalPartial': 'đã biết cho {known} trên {of} chặng',
|
||||
'tours.stages.openInPlanner': 'Mở chặng này trong trình lập kế hoạch',
|
||||
'tours.collection.save': 'Giữ trong bộ sưu tập',
|
||||
'tours.collection.saveHint': 'Giữ một bản sao độc lập của chuyến này trong một bộ sưu tập của bạn',
|
||||
'tours.collection.saveFirst': 'Hãy lưu chuyến trước để giữ nó trong bộ sưu tập',
|
||||
'tours.collection.saveSub': 'Một bản sao độc lập. Các thay đổi sau này của chuyến không ảnh hưởng đến nó.',
|
||||
'tours.collection.list': 'Bộ sưu tập',
|
||||
'tours.collection.readOnly': 'Bạn chỉ có thể xem danh sách này',
|
||||
'tours.collection.noLists': 'Bạn chưa có bộ sưu tập nào.',
|
||||
'tours.collection.openCollections': 'Mở bộ sưu tập',
|
||||
'tours.collection.nameThere': 'Tên trong bộ sưu tập',
|
||||
'tours.collection.keep': 'Giữ',
|
||||
'tours.collection.kept': '“{name}” giờ được giữ trong “{list}”.',
|
||||
'tours.collection.keepFailed': 'Không giữ được chuyến.',
|
||||
'tours.collection.offline': 'Bộ sưu tập cần kết nối mạng.',
|
||||
'tours.collection.listsFailed': 'Không tải được các bộ sưu tập.',
|
||||
'tours.collection.toursFailed': 'Không tải được các chuyến của danh sách này.',
|
||||
'tours.collection.points': '{count} điểm tham chiếu',
|
||||
'tours.collection.savedFrom': 'Giữ từ',
|
||||
'tours.collection.source': 'Giữ từ “{tour}” trong “{trip}”',
|
||||
'tours.collection.keptBy': 'Do {name} giữ',
|
||||
'tours.collection.add': 'Thêm vào chuyến đi',
|
||||
'tours.collection.addHint': 'Tạo một chuyến mới riêng trong chuyến đi bạn chọn',
|
||||
'tours.collection.remove': 'Bỏ khỏi bộ sưu tập',
|
||||
'tours.collection.removeTitle': 'Bỏ chuyến này khỏi bộ sưu tập?',
|
||||
'tours.collection.removeBody': 'Các chuyến đã tạo từ nó trong các chuyến đi của bạn vẫn giữ nguyên.',
|
||||
'tours.collection.removed': 'Đã bỏ chuyến khỏi bộ sưu tập.',
|
||||
'tours.collection.removeFailed': 'Không bỏ được chuyến.',
|
||||
'tours.collection.takeEyebrow': 'Từ bộ sưu tập',
|
||||
'tours.collection.takeSub':
|
||||
'Trở thành một chuyến riêng trong chuyến đi bạn chọn, không có ngày. Bộ sưu tập giữ nguyên.',
|
||||
'tours.collection.intoTrip': 'Vào chuyến đi',
|
||||
'tours.collection.noPermission': 'Bạn không được thêm chuyến vào chuyến đi này',
|
||||
'tours.collection.noTrips': 'Bạn chưa có chuyến đi nào để thêm vào.',
|
||||
'tours.collection.withPoints': 'Kèm {count} điểm tham chiếu',
|
||||
'tours.collection.withPointsHint': 'Điểm đầu, các điểm dừng và điểm cuối đi theo đúng thứ tự.',
|
||||
'tours.collection.lineOnly': 'Chỉ đường nét',
|
||||
'tours.collection.lineOnlyHint': 'Đường nét giữ như khi lưu. Không thêm điểm tham chiếu nào.',
|
||||
'tours.collection.needsPoints': 'Chuyến này chưa có đường nét, nên các điểm tham chiếu phải đi cùng.',
|
||||
'tours.collection.nameInTrip': 'Tên trong chuyến đi',
|
||||
'tours.collection.taken': '“{name}” giờ là một chuyến của “{trip}”.',
|
||||
'tours.collection.takeFailed': 'Không thêm được chuyến vào chuyến đi.',
|
||||
'tours.collection.openTrip': 'Mở chuyến đi',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': '保存到收藏',
|
||||
'tours.collection.saveHint': '將這條路線的獨立副本保存到你的某個收藏中',
|
||||
'tours.collection.saveFirst': '請先儲存路線,再放入收藏',
|
||||
'tours.collection.saveSub': '獨立副本。之後對這條路線的修改不會影響它。',
|
||||
'tours.collection.list': '收藏',
|
||||
'tours.collection.readOnly': '你只能檢視此清單',
|
||||
'tours.collection.noLists': '你還沒有任何收藏。',
|
||||
'tours.collection.openCollections': '開啟收藏',
|
||||
'tours.collection.nameThere': '在收藏中的名稱',
|
||||
'tours.collection.keep': '保存',
|
||||
'tours.collection.kept': '「{name}」已保存到「{list}」。',
|
||||
'tours.collection.keepFailed': '無法保存路線。',
|
||||
'tours.collection.offline': '收藏需要網路連線。',
|
||||
'tours.collection.listsFailed': '無法載入收藏。',
|
||||
'tours.collection.toursFailed': '無法載入此清單的路線。',
|
||||
'tours.collection.points': '{count} 個途經點',
|
||||
'tours.collection.savedFrom': '保存自',
|
||||
'tours.collection.source': '保存自「{trip}」中的「{tour}」',
|
||||
'tours.collection.keptBy': '由 {name} 保存',
|
||||
'tours.collection.add': '加入行程',
|
||||
'tours.collection.addHint': '在你選擇的行程中新增一條獨立路線',
|
||||
'tours.collection.remove': '從收藏中移除',
|
||||
'tours.collection.removeTitle': '要從收藏中移除這條路線嗎?',
|
||||
'tours.collection.removeBody': '已在你的行程中由它建立的路線保持不變。',
|
||||
'tours.collection.removed': '已從收藏中移除路線。',
|
||||
'tours.collection.removeFailed': '無法移除路線。',
|
||||
'tours.collection.takeEyebrow': '來自收藏',
|
||||
'tours.collection.takeSub': '在所選行程中成為一條獨立路線,不分配日期。收藏保持不變。',
|
||||
'tours.collection.intoTrip': '加入的行程',
|
||||
'tours.collection.noPermission': '你不能在此行程加入路線',
|
||||
'tours.collection.noTrips': '你還沒有可以加入的行程。',
|
||||
'tours.collection.withPoints': '連同 {count} 個途經點',
|
||||
'tours.collection.withPointsHint': '起點、中途點和終點依原順序一起帶入。',
|
||||
'tours.collection.lineOnly': '僅線路',
|
||||
'tours.collection.lineOnlyHint': '線路維持儲存時的樣子,不加入任何途經點。',
|
||||
'tours.collection.needsPoints': '這條路線還沒有線路,因此必須帶上它的途經點。',
|
||||
'tours.collection.noLine': '還沒有路線,只有途經點',
|
||||
'tours.collection.nameInTrip': '在行程中的名稱',
|
||||
'tours.collection.taken': '「{name}」現在是「{trip}」的一條路線。',
|
||||
'tours.collection.takeFailed': '無法將路線加入行程。',
|
||||
'tours.collection.openTrip': '開啟行程',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1203,45 +1203,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': '整條路線',
|
||||
'tours.stages.totalPartial': '{of} 個階段中 {known} 個已知',
|
||||
'tours.stages.openInPlanner': '在規劃器中開啟此階段',
|
||||
'tours.collection.save': '保存到收藏',
|
||||
'tours.collection.saveHint': '將這條路線的獨立副本保存到你的某個收藏中',
|
||||
'tours.collection.saveFirst': '請先儲存路線,再放入收藏',
|
||||
'tours.collection.saveSub': '獨立副本。之後對這條路線的修改不會影響它。',
|
||||
'tours.collection.list': '收藏',
|
||||
'tours.collection.readOnly': '你只能檢視此清單',
|
||||
'tours.collection.noLists': '你還沒有任何收藏。',
|
||||
'tours.collection.openCollections': '開啟收藏',
|
||||
'tours.collection.nameThere': '在收藏中的名稱',
|
||||
'tours.collection.keep': '保存',
|
||||
'tours.collection.kept': '「{name}」已保存到「{list}」。',
|
||||
'tours.collection.keepFailed': '無法保存路線。',
|
||||
'tours.collection.offline': '收藏需要網路連線。',
|
||||
'tours.collection.listsFailed': '無法載入收藏。',
|
||||
'tours.collection.toursFailed': '無法載入此清單的路線。',
|
||||
'tours.collection.points': '{count} 個途經點',
|
||||
'tours.collection.savedFrom': '保存自',
|
||||
'tours.collection.source': '保存自「{trip}」中的「{tour}」',
|
||||
'tours.collection.keptBy': '由 {name} 保存',
|
||||
'tours.collection.add': '加入行程',
|
||||
'tours.collection.addHint': '在你選擇的行程中新增一條獨立路線',
|
||||
'tours.collection.remove': '從收藏中移除',
|
||||
'tours.collection.removeTitle': '要從收藏中移除這條路線嗎?',
|
||||
'tours.collection.removeBody': '已在你的行程中由它建立的路線保持不變。',
|
||||
'tours.collection.removed': '已從收藏中移除路線。',
|
||||
'tours.collection.removeFailed': '無法移除路線。',
|
||||
'tours.collection.takeEyebrow': '來自收藏',
|
||||
'tours.collection.takeSub': '在所選行程中成為一條獨立路線,不分配日期。收藏保持不變。',
|
||||
'tours.collection.intoTrip': '加入的行程',
|
||||
'tours.collection.noPermission': '你不能在此行程加入路線',
|
||||
'tours.collection.noTrips': '你還沒有可以加入的行程。',
|
||||
'tours.collection.withPoints': '連同 {count} 個途經點',
|
||||
'tours.collection.withPointsHint': '起點、中途點和終點依原順序一起帶入。',
|
||||
'tours.collection.lineOnly': '僅線路',
|
||||
'tours.collection.lineOnlyHint': '線路維持儲存時的樣子,不加入任何途經點。',
|
||||
'tours.collection.needsPoints': '這條路線還沒有線路,因此必須帶上它的途經點。',
|
||||
'tours.collection.nameInTrip': '在行程中的名稱',
|
||||
'tours.collection.taken': '「{name}」現在是「{trip}」的一條路線。',
|
||||
'tours.collection.takeFailed': '無法將路線加入行程。',
|
||||
'tours.collection.openTrip': '開啟行程',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
@@ -46,6 +46,7 @@ import shared from './shared';
|
||||
import storage from './storage';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
import tours from './tours';
|
||||
import transport from './transport';
|
||||
import trip from './trip';
|
||||
@@ -61,6 +62,7 @@ const locale = {
|
||||
...dashboard,
|
||||
...roadtrip,
|
||||
...tours,
|
||||
...tourCollection,
|
||||
...wanderer,
|
||||
...settings,
|
||||
...admin,
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
const tourCollection: TranslationStrings = {
|
||||
'tours.collection.save': '保存到收藏',
|
||||
'tours.collection.saveHint': '将这条路线的独立副本保存到你的某个收藏中',
|
||||
'tours.collection.saveFirst': '请先保存路线,再放入收藏',
|
||||
'tours.collection.saveSub': '独立副本。之后对这条路线的修改不会影响它。',
|
||||
'tours.collection.list': '收藏',
|
||||
'tours.collection.readOnly': '你只能查看此列表',
|
||||
'tours.collection.noLists': '你还没有任何收藏。',
|
||||
'tours.collection.openCollections': '打开收藏',
|
||||
'tours.collection.nameThere': '在收藏中的名称',
|
||||
'tours.collection.keep': '保存',
|
||||
'tours.collection.kept': '“{name}”已保存到“{list}”。',
|
||||
'tours.collection.keepFailed': '无法保存路线。',
|
||||
'tours.collection.offline': '收藏需要网络连接。',
|
||||
'tours.collection.listsFailed': '无法加载收藏。',
|
||||
'tours.collection.toursFailed': '无法加载此列表的路线。',
|
||||
'tours.collection.points': '{count} 个途经点',
|
||||
'tours.collection.savedFrom': '保存自',
|
||||
'tours.collection.source': '保存自“{trip}”中的“{tour}”',
|
||||
'tours.collection.keptBy': '由 {name} 保存',
|
||||
'tours.collection.add': '添加到行程',
|
||||
'tours.collection.addHint': '在你选择的行程中新建一条独立路线',
|
||||
'tours.collection.remove': '从收藏中移除',
|
||||
'tours.collection.removeTitle': '要从收藏中移除这条路线吗?',
|
||||
'tours.collection.removeBody': '已在你的行程中由它创建的路线保持不变。',
|
||||
'tours.collection.removed': '已从收藏中移除路线。',
|
||||
'tours.collection.removeFailed': '无法移除路线。',
|
||||
'tours.collection.takeEyebrow': '来自收藏',
|
||||
'tours.collection.takeSub': '在所选行程中成为一条独立路线,不分配日期。收藏保持不变。',
|
||||
'tours.collection.intoTrip': '添加到的行程',
|
||||
'tours.collection.noPermission': '你不能向此行程添加路线',
|
||||
'tours.collection.noTrips': '你还没有可以添加的行程。',
|
||||
'tours.collection.withPoints': '连同 {count} 个途经点',
|
||||
'tours.collection.withPointsHint': '起点、中途点和终点按原顺序一起带入。',
|
||||
'tours.collection.lineOnly': '仅线路',
|
||||
'tours.collection.lineOnlyHint': '线路保持保存时的样子,不添加任何途经点。',
|
||||
'tours.collection.needsPoints': '这条路线还没有线路,因此必须带上它的途经点。',
|
||||
'tours.collection.noLine': '还没有线路,只有途经点',
|
||||
'tours.collection.nameInTrip': '在行程中的名称',
|
||||
'tours.collection.taken': '“{name}”现在是“{trip}”的一条路线。',
|
||||
'tours.collection.takeFailed': '无法将路线添加到行程。',
|
||||
'tours.collection.openTrip': '打开行程',
|
||||
};
|
||||
export default tourCollection;
|
||||
@@ -1204,45 +1204,5 @@ const tours: TranslationStrings = {
|
||||
'tours.stages.wholeTour': '整条路线',
|
||||
'tours.stages.totalPartial': '{of} 个阶段中 {known} 个已知',
|
||||
'tours.stages.openInPlanner': '在规划器中打开此阶段',
|
||||
'tours.collection.save': '保存到收藏',
|
||||
'tours.collection.saveHint': '将这条路线的独立副本保存到你的某个收藏中',
|
||||
'tours.collection.saveFirst': '请先保存路线,再放入收藏',
|
||||
'tours.collection.saveSub': '独立副本。之后对这条路线的修改不会影响它。',
|
||||
'tours.collection.list': '收藏',
|
||||
'tours.collection.readOnly': '你只能查看此列表',
|
||||
'tours.collection.noLists': '你还没有任何收藏。',
|
||||
'tours.collection.openCollections': '打开收藏',
|
||||
'tours.collection.nameThere': '在收藏中的名称',
|
||||
'tours.collection.keep': '保存',
|
||||
'tours.collection.kept': '“{name}”已保存到“{list}”。',
|
||||
'tours.collection.keepFailed': '无法保存路线。',
|
||||
'tours.collection.offline': '收藏需要网络连接。',
|
||||
'tours.collection.listsFailed': '无法加载收藏。',
|
||||
'tours.collection.toursFailed': '无法加载此列表的路线。',
|
||||
'tours.collection.points': '{count} 个途经点',
|
||||
'tours.collection.savedFrom': '保存自',
|
||||
'tours.collection.source': '保存自“{trip}”中的“{tour}”',
|
||||
'tours.collection.keptBy': '由 {name} 保存',
|
||||
'tours.collection.add': '添加到行程',
|
||||
'tours.collection.addHint': '在你选择的行程中新建一条独立路线',
|
||||
'tours.collection.remove': '从收藏中移除',
|
||||
'tours.collection.removeTitle': '要从收藏中移除这条路线吗?',
|
||||
'tours.collection.removeBody': '已在你的行程中由它创建的路线保持不变。',
|
||||
'tours.collection.removed': '已从收藏中移除路线。',
|
||||
'tours.collection.removeFailed': '无法移除路线。',
|
||||
'tours.collection.takeEyebrow': '来自收藏',
|
||||
'tours.collection.takeSub': '在所选行程中成为一条独立路线,不分配日期。收藏保持不变。',
|
||||
'tours.collection.intoTrip': '添加到的行程',
|
||||
'tours.collection.noPermission': '你不能向此行程添加路线',
|
||||
'tours.collection.noTrips': '你还没有可以添加的行程。',
|
||||
'tours.collection.withPoints': '连同 {count} 个途经点',
|
||||
'tours.collection.withPointsHint': '起点、中途点和终点按原顺序一起带入。',
|
||||
'tours.collection.lineOnly': '仅线路',
|
||||
'tours.collection.lineOnlyHint': '线路保持保存时的样子,不添加任何途经点。',
|
||||
'tours.collection.needsPoints': '这条路线还没有线路,因此必须带上它的途经点。',
|
||||
'tours.collection.nameInTrip': '在行程中的名称',
|
||||
'tours.collection.taken': '“{name}”现在是“{trip}”的一条路线。',
|
||||
'tours.collection.takeFailed': '无法将路线添加到行程。',
|
||||
'tours.collection.openTrip': '打开行程',
|
||||
};
|
||||
export default tours;
|
||||
|
||||
Reference in New Issue
Block a user