mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-23 15:36:33 +00:00
feat(assistant): expenses, shares, wind, journey tracks and Dawarich checks as MCP tools
- list_budget_items lists a trip's expenses with their ids, payers and splits, page by page so no page is cut down on its way to a model; get_budget_per_person answers who paid and owes what. Both in a new budget-items.mcp.ts, checked like their REST twins. - get_wind_forecast reads the hourly wind, gusts and direction of a day. - get_journey_tracks lists a journey's GPX tracks; the line for drawing rides under a key the provider never receives. - The Dawarich wishlist scan and the countries the recordings suggest become tools, with their confirming writes, in DawarichAtlasMcp in the Atlas group; the shared time window check refuses alike on REST and MCP, and the model never sees when the user was last seen in a city. - The journal's map, tracks and recorded days load with the journey group instead of riding in the core of every step. - The prompt points at list_budget_items for expense ids (the trip summary never carried them) and names the shares and the wind tools; each new read has its own live step.
This commit is contained in:
@@ -9,6 +9,8 @@ import {
|
||||
budgetUpdateMembersRequestSchema,
|
||||
budgetToggleMemberPaidRequestSchema,
|
||||
budgetReorderItemsRequestSchema,
|
||||
budgetItemsPageSchema,
|
||||
BUDGET_ITEMS_PAGE_DEFAULT,
|
||||
COST_CATEGORIES,
|
||||
typeToCostCategory,
|
||||
} from './budget.schema';
|
||||
@@ -157,3 +159,15 @@ describe('budgetUnconvertedSchema', () => {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('budgetItemsPageSchema', () => {
|
||||
it('takes no paging at all, or an offset and a limit of 1 to 100 whole expenses', () => {
|
||||
expect(budgetItemsPageSchema.safeParse({}).success).toBe(true);
|
||||
expect(budgetItemsPageSchema.safeParse({ offset: 0, limit: 1 }).success).toBe(true);
|
||||
expect(budgetItemsPageSchema.safeParse({ offset: 150, limit: 100 }).success).toBe(true);
|
||||
for (const page of [{ offset: -1 }, { offset: 1.5 }, { limit: 0 }, { limit: 101 }, { limit: '10' }]) {
|
||||
expect(budgetItemsPageSchema.safeParse(page).success, JSON.stringify(page)).toBe(false);
|
||||
}
|
||||
expect(BUDGET_ITEMS_PAGE_DEFAULT).toBe(50);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -421,3 +421,30 @@ export const budgetReorderCategoriesRequestSchema = z.object({
|
||||
orderedCategories: z.array(z.string()),
|
||||
});
|
||||
export type BudgetReorderCategoriesRequest = z.infer<typeof budgetReorderCategoriesRequestSchema>;
|
||||
|
||||
/** How many expenses one page of the MCP expense list holds when the caller does not say. */
|
||||
export const BUDGET_ITEMS_PAGE_DEFAULT = 50;
|
||||
const BUDGET_ITEMS_PAGE_MAX = 100;
|
||||
|
||||
/**
|
||||
* One page of the expense list an MCP client reads (list_budget_items): the
|
||||
* expenses in their list order from `offset`, at most `limit` of them. A
|
||||
* budget of a few hundred rows is too long for one answer to a model, so it
|
||||
* pages; the totals next to the page always cover the whole trip.
|
||||
*/
|
||||
export const budgetItemsPageSchema = z.object({
|
||||
offset: z
|
||||
.number()
|
||||
.int()
|
||||
.min(0)
|
||||
.optional()
|
||||
.describe('How many expenses to skip: the next_offset of the page before (default 0)'),
|
||||
limit: z
|
||||
.number()
|
||||
.int()
|
||||
.min(1)
|
||||
.max(BUDGET_ITEMS_PAGE_MAX)
|
||||
.optional()
|
||||
.describe(`How many expenses at most (default ${BUDGET_ITEMS_PAGE_DEFAULT}, at most ${BUDGET_ITEMS_PAGE_MAX})`),
|
||||
});
|
||||
export type BudgetItemsPage = z.infer<typeof budgetItemsPageSchema>;
|
||||
|
||||
@@ -30,6 +30,8 @@ import {
|
||||
dawarichSuggestionStateSchemaBody,
|
||||
dawarichSuggestionTargetSchema,
|
||||
dawarichSyncStateSchema,
|
||||
dawarichTimeWindowSchema,
|
||||
DAWARICH_WINDOW_MAX_DAYS,
|
||||
dawarichTrackDaySchema,
|
||||
dawarichTrackSchema,
|
||||
dawarichTrackSegmentSchema,
|
||||
@@ -39,7 +41,7 @@ import {
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
/**
|
||||
* DAWARICH-SCHEMA-001..043: the Dawarich contracts.
|
||||
* DAWARICH-SCHEMA-001..044: the Dawarich contracts.
|
||||
*
|
||||
* This is the layer both sides of the integration agree on, and the feature is
|
||||
* built out of things that are deliberately lenient in one place and
|
||||
@@ -734,3 +736,16 @@ describe('the tuning numbers', () => {
|
||||
expect(DAWARICH_SYNC_LOOKAHEAD_DAYS).toBe(1);
|
||||
});
|
||||
});
|
||||
|
||||
describe('dawarichTimeWindowSchema', () => {
|
||||
it('DAWARICH-SCHEMA-044 needs both ends, each a non-empty string, and leaves the order and the 400-day span to the server', () => {
|
||||
// The order and the span are the server's to check (parseTimeWindow), because
|
||||
// the MCP input is this shape's fields and a refinement on the object would
|
||||
// never run there. What the schema itself owes is that neither end is missing.
|
||||
expect(dawarichTimeWindowSchema.safeParse({ from: '2025-01-01', to: '2025-12-31' }).success).toBe(true);
|
||||
expect(dawarichTimeWindowSchema.safeParse({ from: '2025-01-01' }).success).toBe(false);
|
||||
expect(dawarichTimeWindowSchema.safeParse({ from: '', to: '2025-12-31' }).success).toBe(false);
|
||||
expect(dawarichTimeWindowSchema.safeParse({ from: 20250101, to: '2025-12-31' }).success).toBe(false);
|
||||
expect(DAWARICH_WINDOW_MAX_DAYS).toBe(400);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -331,6 +331,30 @@ export const dawarichTrackSchema = z.object({
|
||||
});
|
||||
export type DawarichTrack = z.infer<typeof dawarichTrackSchema>;
|
||||
|
||||
/** The longest window one read of the recordings may span. */
|
||||
export const DAWARICH_WINDOW_MAX_DAYS = 400;
|
||||
|
||||
/**
|
||||
* An explicit window of the recordings, as GET /atlas/suggestions and GET
|
||||
* /track take it in their query and the MCP tools take it as input. Both ends
|
||||
* are required and `to` lies after `from`, within DAWARICH_WINDOW_MAX_DAYS:
|
||||
* a half-open range would read everything since the epoch, the request that
|
||||
* makes an instance time out. The server checks the order and the span.
|
||||
*/
|
||||
export const dawarichTimeWindowSchema = z.object({
|
||||
from: z
|
||||
.string()
|
||||
.min(1)
|
||||
.describe('Start of the window, ISO 8601 (2025-06-01 or 2025-06-01T00:00:00Z); a bare date is its midnight UTC'),
|
||||
to: z
|
||||
.string()
|
||||
.min(1)
|
||||
.describe(
|
||||
`End of the window, ISO 8601, after from and at most ${DAWARICH_WINDOW_MAX_DAYS} days later; a bare date is its midnight UTC, so give the day after the last one to include it`,
|
||||
),
|
||||
});
|
||||
export type DawarichTimeWindow = z.infer<typeof dawarichTimeWindowSchema>;
|
||||
|
||||
// ── Atlas ────────────────────────────────────────────────────────────────────
|
||||
|
||||
/**
|
||||
|
||||
@@ -115,6 +115,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'قراءة الحجز',
|
||||
'assistant.step.planningHike': 'تخطيط رحلة المشي',
|
||||
'assistant.step.planningHikeTo': 'تخطيط رحلة المشي إلى {place}',
|
||||
'assistant.step.expenses': 'قراءة النفقات',
|
||||
'assistant.step.shares': 'حساب الحصص',
|
||||
'assistant.step.wind': 'التحقق من الرياح',
|
||||
'assistant.step.tracks': 'قراءة مسارات GPX',
|
||||
'assistant.step.bucketScan': 'مقارنة قائمة الأمنيات بتسجيلاتك',
|
||||
'assistant.step.atlasCountries': 'البحث عن الدول في تسجيلاتك',
|
||||
'assistant.step.working': 'جارٍ العمل على ذلك',
|
||||
'assistant.step.collapsed': '{count} خطوة',
|
||||
'assistant.step.collapsed.zero': 'لا خطوات',
|
||||
@@ -516,6 +522,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'إضافة وسيلة نقل',
|
||||
'assistant.tool.toggle_vacay_entry': 'تحديد يوم إجازة',
|
||||
'assistant.tool.mark_country_visited': 'تحديد البلد كمُزار',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'الشطب في قائمة الأمنيات',
|
||||
'assistant.tool.clear_bucket_list_visit': 'إلغاء الشطب في قائمة الأمنيات',
|
||||
'assistant.tool.accept_atlas_countries': 'إضافة الدول إلى الأطلس',
|
||||
'assistant.tool.send_collab_message': 'إرسال إلى محادثة الرحلة',
|
||||
'assistant.admin.chatgptShared':
|
||||
'أنت تشارك اشتراكك الشخصي في ChatGPT مع الجميع على هذا الخادم: تُحتسب محادثاتهم من خطتك. تحقّق من أن خطتك وشروط OpenAI تسمح بذلك.',
|
||||
|
||||
@@ -115,6 +115,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Bron oxunur',
|
||||
'assistant.step.planningHike': 'Yürüş planlaşdırılır',
|
||||
'assistant.step.planningHikeTo': '{place} istiqamətində yürüş planlaşdırılır',
|
||||
'assistant.step.expenses': 'Xərclər oxunur',
|
||||
'assistant.step.shares': 'Paylar hesablanır',
|
||||
'assistant.step.wind': 'Külək yoxlanılır',
|
||||
'assistant.step.tracks': 'GPX izləri oxunur',
|
||||
'assistant.step.bucketScan': 'Arzular siyahısı qeydlərinizlə tutuşdurulur',
|
||||
'assistant.step.atlasCountries': 'Qeydlərinizdə ölkələr axtarılır',
|
||||
'assistant.step.working': 'Üzərində işləyirəm',
|
||||
'assistant.step.collapsed': '{count} addım',
|
||||
'assistant.step.collapsed.one': '{count} addım',
|
||||
@@ -436,6 +442,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Nəqliyyat əlavə et',
|
||||
'assistant.tool.toggle_vacay_entry': 'Məzuniyyət günü təyin et',
|
||||
'assistant.tool.mark_country_visited': 'Ölkəni ziyarət edilmiş kimi işarələ',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Arzular siyahısında tamamlandı kimi işarələ',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Arzular siyahısında işarəni geri götür',
|
||||
'assistant.tool.accept_atlas_countries': 'Ölkələri Atlasa əlavə et',
|
||||
'assistant.tool.send_collab_message': 'Səyahət söhbətinə göndər',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Öz ChatGPT abunəliyini bu serverdəki hər kəslə paylaşırsan: onların söhbətləri sənin planından çıxılır. Planının və OpenAI şərtlərinin buna icazə verdiyini yoxla.',
|
||||
|
||||
@@ -116,6 +116,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Lendo a reserva',
|
||||
'assistant.step.planningHike': 'Planejando a trilha',
|
||||
'assistant.step.planningHikeTo': 'Planejando a trilha até {place}',
|
||||
'assistant.step.expenses': 'Lendo as despesas',
|
||||
'assistant.step.shares': 'Calculando a parte de cada um',
|
||||
'assistant.step.wind': 'Verificando o vento',
|
||||
'assistant.step.tracks': 'Lendo as trilhas GPX',
|
||||
'assistant.step.bucketScan': 'Conferindo a lista de desejos com suas gravações',
|
||||
'assistant.step.atlasCountries': 'Procurando países nas suas gravações',
|
||||
'assistant.step.working': 'Trabalhando nisso',
|
||||
'assistant.step.collapsed': '{count} etapas',
|
||||
'assistant.step.collapsed.one': '{count} etapa',
|
||||
@@ -437,6 +443,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Adicionar transporte',
|
||||
'assistant.tool.toggle_vacay_entry': 'Marcar um dia de férias',
|
||||
'assistant.tool.mark_country_visited': 'Marcar o país como visitado',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Riscar na lista de desejos',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Desfazer o risco na lista de desejos',
|
||||
'assistant.tool.accept_atlas_countries': 'Adicionar os países ao Atlas',
|
||||
'assistant.tool.send_collab_message': 'Enviar para o chat da viagem',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Você compartilha seu próprio plano do ChatGPT com todos neste servidor: os chats deles contam no seu plano. Confira se o seu plano e os termos da OpenAI permitem isso.',
|
||||
|
||||
@@ -116,6 +116,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Llegint la reserva',
|
||||
'assistant.step.planningHike': 'Planificant l’excursió',
|
||||
'assistant.step.planningHikeTo': 'Planificant l’excursió fins a {place}',
|
||||
'assistant.step.expenses': 'Llegint les despeses',
|
||||
'assistant.step.shares': 'Calculant la part de cadascú',
|
||||
'assistant.step.wind': 'Consultant el vent',
|
||||
'assistant.step.tracks': 'Llegint les traces GPX',
|
||||
'assistant.step.bucketScan': 'Comprovant la llista de desitjos amb els teus enregistraments',
|
||||
'assistant.step.atlasCountries': 'Cercant països als teus enregistraments',
|
||||
'assistant.step.working': 'Hi estic treballant',
|
||||
'assistant.step.collapsed': '{count} passos',
|
||||
'assistant.step.collapsed.one': '{count} pas',
|
||||
@@ -439,6 +445,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Afegeix transport',
|
||||
'assistant.tool.toggle_vacay_entry': 'Marca un dia de vacances',
|
||||
'assistant.tool.mark_country_visited': 'Marca el país com a visitat',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Marca a la llista de desitjos',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Desmarca a la llista de desitjos',
|
||||
'assistant.tool.accept_atlas_countries': 'Afegeix els països a l’Atlas',
|
||||
'assistant.tool.send_collab_message': 'Envia al xat del viatge',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Comparteixes el teu propi pla de ChatGPT amb tothom en aquest servidor: els seus xats compten contra el teu pla. Comprova que el teu pla i les condicions d’OpenAI ho permeten.',
|
||||
|
||||
@@ -115,6 +115,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Čtu rezervaci',
|
||||
'assistant.step.planningHike': 'Plánuji túru',
|
||||
'assistant.step.planningHikeTo': 'Plánuji túru do místa {place}',
|
||||
'assistant.step.expenses': 'Čtu výdaje',
|
||||
'assistant.step.shares': 'Počítám podíly',
|
||||
'assistant.step.wind': 'Zjišťuji vítr',
|
||||
'assistant.step.tracks': 'Čtu GPX stopy',
|
||||
'assistant.step.bucketScan': 'Porovnávám seznam přání s vašimi záznamy',
|
||||
'assistant.step.atlasCountries': 'Hledám země ve vašich záznamech',
|
||||
'assistant.step.working': 'Pracuji na tom',
|
||||
'assistant.step.collapsed': '{count} kroků',
|
||||
'assistant.step.collapsed.one': '{count} krok',
|
||||
@@ -455,6 +461,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Přidat dopravu',
|
||||
'assistant.tool.toggle_vacay_entry': 'Nastavit den dovolené',
|
||||
'assistant.tool.mark_country_visited': 'Označit zemi jako navštívenou',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Odškrtnout v seznamu přání',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Zrušit odškrtnutí v seznamu přání',
|
||||
'assistant.tool.accept_atlas_countries': 'Přidat země do Atlasu',
|
||||
'assistant.tool.send_collab_message': 'Poslat do chatu cesty',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Sdílíš své vlastní předplatné ChatGPT se všemi na tomto serveru: jejich chaty se počítají do tvého tarifu. Ověř, že to tvůj tarif a podmínky OpenAI dovolují.',
|
||||
|
||||
@@ -115,6 +115,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Liest die Buchung',
|
||||
'assistant.step.planningHike': 'Plant die Wanderung',
|
||||
'assistant.step.planningHikeTo': 'Plant die Wanderung bis {place}',
|
||||
'assistant.step.expenses': 'Liest die Ausgaben',
|
||||
'assistant.step.shares': 'Rechnet die Anteile aus',
|
||||
'assistant.step.wind': 'Prüft den Wind',
|
||||
'assistant.step.tracks': 'Liest die GPX-Tracks',
|
||||
'assistant.step.bucketScan': 'Gleicht die Wunschliste mit deinen Aufzeichnungen ab',
|
||||
'assistant.step.atlasCountries': 'Sucht Länder in deinen Aufzeichnungen',
|
||||
'assistant.step.working': 'Arbeitet daran',
|
||||
'assistant.step.collapsed': '{count} Schritte',
|
||||
'assistant.step.collapsed.one': '{count} Schritt',
|
||||
@@ -436,6 +442,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Verbindung hinzufügen',
|
||||
'assistant.tool.toggle_vacay_entry': 'Urlaubstag setzen',
|
||||
'assistant.tool.mark_country_visited': 'Land als besucht markieren',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Auf der Wunschliste abhaken',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Haken auf der Wunschliste entfernen',
|
||||
'assistant.tool.accept_atlas_countries': 'Länder in den Atlas übernehmen',
|
||||
'assistant.tool.send_collab_message': 'In den Trip-Chat senden',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Du teilst dein eigenes ChatGPT-Abo mit allen auf diesem Server: Ihre Chats zählen gegen dein Kontingent. Prüfe, ob dein Abo und die Bedingungen von OpenAI das erlauben.',
|
||||
|
||||
@@ -112,6 +112,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Reading the booking',
|
||||
'assistant.step.planningHike': 'Planning the hike',
|
||||
'assistant.step.planningHikeTo': 'Planning the hike to {place}',
|
||||
'assistant.step.expenses': 'Reading the expenses',
|
||||
'assistant.step.shares': 'Working out the shares',
|
||||
'assistant.step.wind': 'Checking the wind',
|
||||
'assistant.step.tracks': 'Reading the GPX tracks',
|
||||
'assistant.step.bucketScan': 'Checking your wishlist against your recordings',
|
||||
'assistant.step.atlasCountries': 'Looking for countries in your recordings',
|
||||
'assistant.step.working': 'Working on it',
|
||||
'assistant.step.collapsed': '{count} steps',
|
||||
'assistant.step.collapsed.one': '{count} step',
|
||||
@@ -431,6 +437,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Add transport',
|
||||
'assistant.tool.toggle_vacay_entry': 'Set a vacation day',
|
||||
'assistant.tool.mark_country_visited': 'Mark the country as visited',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Tick off on the wishlist',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Untick on the wishlist',
|
||||
'assistant.tool.accept_atlas_countries': 'Add the countries to the Atlas',
|
||||
'assistant.tool.send_collab_message': 'Send to the trip chat',
|
||||
'assistant.admin.chatgptShared':
|
||||
'You share your own ChatGPT plan with everyone on this server: their chats count against your plan. Check that your plan and OpenAI’s terms allow this.',
|
||||
|
||||
@@ -114,6 +114,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Leyendo la reserva',
|
||||
'assistant.step.planningHike': 'Planificando la excursión',
|
||||
'assistant.step.planningHikeTo': 'Planificando la excursión hasta {place}',
|
||||
'assistant.step.expenses': 'Leyendo los gastos',
|
||||
'assistant.step.shares': 'Calculando la parte de cada uno',
|
||||
'assistant.step.wind': 'Consultando el viento',
|
||||
'assistant.step.tracks': 'Leyendo las rutas GPX',
|
||||
'assistant.step.bucketScan': 'Contrastando la lista de deseos con tus grabaciones',
|
||||
'assistant.step.atlasCountries': 'Buscando países en tus grabaciones',
|
||||
'assistant.step.working': 'Trabajando en ello',
|
||||
'assistant.step.collapsed': '{count} pasos',
|
||||
'assistant.step.collapsed.one': '{count} paso',
|
||||
@@ -434,6 +440,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Añadir transporte',
|
||||
'assistant.tool.toggle_vacay_entry': 'Marcar un día de vacaciones',
|
||||
'assistant.tool.mark_country_visited': 'Marcar el país como visitado',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Tachar de la lista de deseos',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Quitar la marca en la lista de deseos',
|
||||
'assistant.tool.accept_atlas_countries': 'Añadir los países al Atlas',
|
||||
'assistant.tool.send_collab_message': 'Enviar al chat del viaje',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Compartes tu propio plan de ChatGPT con todos en este servidor: sus chats cuentan contra tu plan. Comprueba que tu plan y las condiciones de OpenAI lo permiten.',
|
||||
|
||||
@@ -115,6 +115,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Loen broneeringut',
|
||||
'assistant.step.planningHike': 'Planeerin matka',
|
||||
'assistant.step.planningHikeTo': 'Planeerin matka sihtkohta {place}',
|
||||
'assistant.step.expenses': 'Loen kulusid',
|
||||
'assistant.step.shares': 'Arvutan osasid',
|
||||
'assistant.step.wind': 'Kontrollin tuult',
|
||||
'assistant.step.tracks': 'Loen GPX-radu',
|
||||
'assistant.step.bucketScan': 'Võrdlen soovinimekirja sinu salvestustega',
|
||||
'assistant.step.atlasCountries': 'Otsin riike sinu salvestustest',
|
||||
'assistant.step.working': 'Töötan selle kallal',
|
||||
'assistant.step.collapsed': '{count} sammu',
|
||||
'assistant.step.collapsed.one': '{count} samm',
|
||||
@@ -435,6 +441,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Lisa transport',
|
||||
'assistant.tool.toggle_vacay_entry': 'Määra puhkusepäev',
|
||||
'assistant.tool.mark_country_visited': 'Märgi riik külastatuks',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Märgi soovinimekirjas täidetuks',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Võta soovinimekirjas märge tagasi',
|
||||
'assistant.tool.accept_atlas_countries': 'Lisa riigid Atlasesse',
|
||||
'assistant.tool.send_collab_message': 'Saada reisivestlusesse',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Jagad oma ChatGPT tellimust kõigiga selles serveris: nende vestlused arvestatakse sinu paketist. Kontrolli, kas sinu pakett ja OpenAI tingimused seda lubavad.',
|
||||
|
||||
@@ -116,6 +116,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Lecture de la réservation',
|
||||
'assistant.step.planningHike': 'Planification de la randonnée',
|
||||
'assistant.step.planningHikeTo': 'Planification de la randonnée jusqu’à {place}',
|
||||
'assistant.step.expenses': 'Lecture des dépenses',
|
||||
'assistant.step.shares': 'Calcul des parts',
|
||||
'assistant.step.wind': 'Consultation du vent',
|
||||
'assistant.step.tracks': 'Lecture des traces GPX',
|
||||
'assistant.step.bucketScan': 'Confrontation de la liste de souhaits à vos enregistrements',
|
||||
'assistant.step.atlasCountries': 'Recherche des pays dans vos enregistrements',
|
||||
'assistant.step.working': 'Travail en cours',
|
||||
'assistant.step.collapsed': '{count} étapes',
|
||||
'assistant.step.collapsed.one': '{count} étape',
|
||||
@@ -441,6 +447,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Ajouter un transport',
|
||||
'assistant.tool.toggle_vacay_entry': 'Poser un jour de congé',
|
||||
'assistant.tool.mark_country_visited': 'Marquer le pays comme visité',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Cocher dans la liste de souhaits',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Décocher dans la liste de souhaits',
|
||||
'assistant.tool.accept_atlas_countries': 'Ajouter les pays à l’Atlas',
|
||||
'assistant.tool.send_collab_message': 'Envoyer dans la discussion du voyage',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Vous partagez votre propre abonnement ChatGPT avec tout le monde sur ce serveur : leurs discussions comptent sur votre forfait. Vérifiez que votre forfait et les conditions d’OpenAI le permettent.',
|
||||
|
||||
@@ -118,6 +118,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Διαβάζω την κράτηση',
|
||||
'assistant.step.planningHike': 'Σχεδιάζω την πεζοπορία',
|
||||
'assistant.step.planningHikeTo': 'Σχεδιάζω την πεζοπορία προς {place}',
|
||||
'assistant.step.expenses': 'Διαβάζω τα έξοδα',
|
||||
'assistant.step.shares': 'Υπολογίζω τα μερίδια',
|
||||
'assistant.step.wind': 'Έλεγχος ανέμου',
|
||||
'assistant.step.tracks': 'Διαβάζω τις διαδρομές GPX',
|
||||
'assistant.step.bucketScan': 'Ελέγχω τη λίστα επιθυμιών με τις καταγραφές σας',
|
||||
'assistant.step.atlasCountries': 'Αναζητώ χώρες στις καταγραφές σας',
|
||||
'assistant.step.working': 'Δουλεύω πάνω σε αυτό',
|
||||
'assistant.step.collapsed': '{count} βήματα',
|
||||
'assistant.step.collapsed.one': '{count} βήμα',
|
||||
@@ -440,6 +446,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Προσθήκη μεταφοράς',
|
||||
'assistant.tool.toggle_vacay_entry': 'Ορισμός ημέρας άδειας',
|
||||
'assistant.tool.mark_country_visited': 'Σήμανση χώρας ως επισκεφθείσας',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Σήμανση ως εκπληρωμένων στη λίστα επιθυμιών',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Αναίρεση της σήμανσης στη λίστα επιθυμιών',
|
||||
'assistant.tool.accept_atlas_countries': 'Προσθήκη των χωρών στον Άτλαντα',
|
||||
'assistant.tool.send_collab_message': 'Αποστολή στη συνομιλία ταξιδιού',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Μοιράζεσαι τη δική σου συνδρομή ChatGPT με όλους σε αυτόν τον διακομιστή: οι συνομιλίες τους χρεώνονται στο δικό σου πρόγραμμα. Έλεγξε ότι το πρόγραμμά σου και οι όροι της OpenAI το επιτρέπουν.',
|
||||
|
||||
@@ -117,6 +117,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'A foglalás olvasása',
|
||||
'assistant.step.planningHike': 'A túra tervezése',
|
||||
'assistant.step.planningHikeTo': 'Túra tervezése ide: {place}',
|
||||
'assistant.step.expenses': 'A kiadások olvasása',
|
||||
'assistant.step.shares': 'A részesedések kiszámítása',
|
||||
'assistant.step.wind': 'A szél ellenőrzése',
|
||||
'assistant.step.tracks': 'A GPX-nyomvonalak olvasása',
|
||||
'assistant.step.bucketScan': 'A kívánságlista összevetése a rögzítéseiddel',
|
||||
'assistant.step.atlasCountries': 'Országok keresése a rögzítéseidben',
|
||||
'assistant.step.working': 'Dolgozom rajta',
|
||||
'assistant.step.collapsed': '{count} lépés',
|
||||
'assistant.step.collapsed.one': '{count} lépés',
|
||||
@@ -441,6 +447,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Közlekedés hozzáadása',
|
||||
'assistant.tool.toggle_vacay_entry': 'Szabadnap beállítása',
|
||||
'assistant.tool.mark_country_visited': 'Ország megjelölése meglátogatottként',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Kipipálás a kívánságlistán',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Pipa levétele a kívánságlistán',
|
||||
'assistant.tool.accept_atlas_countries': 'Az országok hozzáadása az Atlaszhoz',
|
||||
'assistant.tool.send_collab_message': 'Küldés az utazási csevegésbe',
|
||||
'assistant.admin.chatgptShared':
|
||||
'A saját ChatGPT-előfizetésedet osztod meg mindenkivel ezen a szerveren: a csevegéseik a te keretedből fogynak. Ellenőrizd, hogy az előfizetésed és az OpenAI feltételei ezt megengedik-e.',
|
||||
|
||||
@@ -113,6 +113,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Membaca pemesanan',
|
||||
'assistant.step.planningHike': 'Merencanakan pendakian',
|
||||
'assistant.step.planningHikeTo': 'Merencanakan pendakian ke {place}',
|
||||
'assistant.step.expenses': 'Membaca pengeluaran',
|
||||
'assistant.step.shares': 'Menghitung bagian masing-masing',
|
||||
'assistant.step.wind': 'Memeriksa angin',
|
||||
'assistant.step.tracks': 'Membaca jalur GPX',
|
||||
'assistant.step.bucketScan': 'Mencocokkan daftar keinginan dengan rekamanmu',
|
||||
'assistant.step.atlasCountries': 'Mencari negara di rekamanmu',
|
||||
'assistant.step.working': 'Sedang dikerjakan',
|
||||
'assistant.step.collapsed': '{count} langkah',
|
||||
'assistant.change.title': 'Perubahan yang disarankan',
|
||||
@@ -416,6 +422,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Tambah transportasi',
|
||||
'assistant.tool.toggle_vacay_entry': 'Tetapkan hari cuti',
|
||||
'assistant.tool.mark_country_visited': 'Tandai negara sebagai dikunjungi',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Coret di daftar keinginan',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Batalkan coretan di daftar keinginan',
|
||||
'assistant.tool.accept_atlas_countries': 'Tambahkan negara ke Atlas',
|
||||
'assistant.tool.send_collab_message': 'Kirim ke obrolan perjalanan',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Kamu membagikan paket ChatGPT milikmu kepada semua orang di server ini: obrolan mereka dihitung dari paketmu. Pastikan paketmu dan ketentuan OpenAI mengizinkannya.',
|
||||
|
||||
@@ -117,6 +117,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Leggo la prenotazione',
|
||||
'assistant.step.planningHike': 'Pianifico l’escursione',
|
||||
'assistant.step.planningHikeTo': 'Pianifico l’escursione fino a {place}',
|
||||
'assistant.step.expenses': 'Leggo le spese',
|
||||
'assistant.step.shares': 'Calcolo le quote',
|
||||
'assistant.step.wind': 'Controllo il vento',
|
||||
'assistant.step.tracks': 'Leggo le tracce GPX',
|
||||
'assistant.step.bucketScan': 'Confronto la lista dei desideri con le tue registrazioni',
|
||||
'assistant.step.atlasCountries': 'Cerco i paesi nelle tue registrazioni',
|
||||
'assistant.step.working': 'Ci sto lavorando',
|
||||
'assistant.step.collapsed': '{count} passaggi',
|
||||
'assistant.step.collapsed.one': '{count} passaggio',
|
||||
@@ -442,6 +448,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Aggiungi trasporto',
|
||||
'assistant.tool.toggle_vacay_entry': 'Segna un giorno di ferie',
|
||||
'assistant.tool.mark_country_visited': 'Segna il paese come visitato',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Spunta nella lista dei desideri',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Togli la spunta nella lista dei desideri',
|
||||
'assistant.tool.accept_atlas_countries': 'Aggiungi i paesi all’Atlas',
|
||||
'assistant.tool.send_collab_message': 'Invia nella chat del viaggio',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Condividi il tuo abbonamento ChatGPT con tutti su questo server: le loro chat contano sul tuo piano. Verifica che il tuo piano e i termini di OpenAI lo consentano.',
|
||||
|
||||
@@ -113,6 +113,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': '予約を読み込み中',
|
||||
'assistant.step.planningHike': 'ハイキングを計画中',
|
||||
'assistant.step.planningHikeTo': '{place}までのハイキングを計画中',
|
||||
'assistant.step.expenses': '支出を読み込み中',
|
||||
'assistant.step.shares': '各自の負担額を計算中',
|
||||
'assistant.step.wind': '風を確認中',
|
||||
'assistant.step.tracks': 'GPX トラックを読み込み中',
|
||||
'assistant.step.bucketScan': 'ウィッシュリストを記録と照合中',
|
||||
'assistant.step.atlasCountries': '記録から訪れた国を探し中',
|
||||
'assistant.step.working': '処理中',
|
||||
'assistant.step.collapsed': '{count} ステップ',
|
||||
'assistant.change.title': '提案された変更',
|
||||
@@ -411,6 +417,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': '交通手段を追加',
|
||||
'assistant.tool.toggle_vacay_entry': '休暇日を設定',
|
||||
'assistant.tool.mark_country_visited': '国を訪問済みにする',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'ウィッシュリストにチェックを付ける',
|
||||
'assistant.tool.clear_bucket_list_visit': 'ウィッシュリストのチェックを外す',
|
||||
'assistant.tool.accept_atlas_countries': '国をアトラスに追加',
|
||||
'assistant.tool.send_collab_message': '旅行チャットに送信',
|
||||
'assistant.admin.chatgptShared':
|
||||
'自分の ChatGPT プランをこのサーバーの全員と共有します。全員のチャットがあなたのプランの利用枠を使います。プランと OpenAI の規約で許可されているか確認してください。',
|
||||
|
||||
@@ -112,6 +112,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': '예약을 읽는 중',
|
||||
'assistant.step.planningHike': '하이킹 계획 중',
|
||||
'assistant.step.planningHikeTo': '{place}까지 하이킹 계획 중',
|
||||
'assistant.step.expenses': '지출을 읽는 중',
|
||||
'assistant.step.shares': '각자의 몫을 계산하는 중',
|
||||
'assistant.step.wind': '바람을 확인하는 중',
|
||||
'assistant.step.tracks': 'GPX 트랙을 읽는 중',
|
||||
'assistant.step.bucketScan': '위시리스트를 기록과 대조하는 중',
|
||||
'assistant.step.atlasCountries': '기록에서 방문한 나라를 찾는 중',
|
||||
'assistant.step.working': '작업 중',
|
||||
'assistant.step.collapsed': '{count}단계',
|
||||
'assistant.change.title': '제안된 변경 사항',
|
||||
@@ -408,6 +414,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': '교통편 추가',
|
||||
'assistant.tool.toggle_vacay_entry': '휴가일 지정',
|
||||
'assistant.tool.mark_country_visited': '국가를 방문함으로 표시',
|
||||
'assistant.tool.confirm_bucket_list_visits': '위시리스트에서 완료 처리',
|
||||
'assistant.tool.clear_bucket_list_visit': '위시리스트 완료 표시 취소',
|
||||
'assistant.tool.accept_atlas_countries': '국가를 아틀라스에 추가',
|
||||
'assistant.tool.send_collab_message': '여행 채팅으로 보내기',
|
||||
'assistant.admin.chatgptShared':
|
||||
'내 ChatGPT 요금제를 이 서버의 모든 사람과 공유합니다. 모든 사람의 채팅이 내 요금제 한도에서 차감됩니다. 요금제와 OpenAI 약관에서 허용되는지 확인하세요.',
|
||||
|
||||
@@ -115,6 +115,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Boeking lezen',
|
||||
'assistant.step.planningHike': 'Wandeling plannen',
|
||||
'assistant.step.planningHikeTo': 'Plant de wandeling naar {place}',
|
||||
'assistant.step.expenses': 'De uitgaven lezen',
|
||||
'assistant.step.shares': 'De aandelen berekenen',
|
||||
'assistant.step.wind': 'De wind controleren',
|
||||
'assistant.step.tracks': 'De GPX-tracks lezen',
|
||||
'assistant.step.bucketScan': 'Je wensenlijst naast je opnames leggen',
|
||||
'assistant.step.atlasCountries': 'Landen zoeken in je opnames',
|
||||
'assistant.step.working': 'Bezig',
|
||||
'assistant.step.collapsed': '{count} stappen',
|
||||
'assistant.step.collapsed.one': '{count} stap',
|
||||
@@ -437,6 +443,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Vervoer toevoegen',
|
||||
'assistant.tool.toggle_vacay_entry': 'Vakantiedag instellen',
|
||||
'assistant.tool.mark_country_visited': 'Land als bezocht markeren',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Afvinken op de wensenlijst',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Vinkje op de wensenlijst weghalen',
|
||||
'assistant.tool.accept_atlas_countries': 'Landen aan de Atlas toevoegen',
|
||||
'assistant.tool.send_collab_message': 'Naar de reischat sturen',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Je deelt je eigen ChatGPT-abonnement met iedereen op deze server: hun chats tellen mee voor jouw abonnement. Controleer of je abonnement en de voorwaarden van OpenAI dit toestaan.',
|
||||
|
||||
@@ -116,6 +116,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Czytam rezerwację',
|
||||
'assistant.step.planningHike': 'Planuję wędrówkę',
|
||||
'assistant.step.planningHikeTo': 'Planuje wędrówkę do celu: {place}',
|
||||
'assistant.step.expenses': 'Czytam wydatki',
|
||||
'assistant.step.shares': 'Liczę udziały',
|
||||
'assistant.step.wind': 'Sprawdzam wiatr',
|
||||
'assistant.step.tracks': 'Czytam ślady GPX',
|
||||
'assistant.step.bucketScan': 'Porównuję listę marzeń z Twoimi zapisami',
|
||||
'assistant.step.atlasCountries': 'Szukam krajów w Twoich zapisach',
|
||||
'assistant.step.working': 'Pracuję nad tym',
|
||||
'assistant.step.collapsed': '{count} kroku',
|
||||
'assistant.step.collapsed.one': '{count} krok',
|
||||
@@ -479,6 +485,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Dodaj transport',
|
||||
'assistant.tool.toggle_vacay_entry': 'Ustaw dzień urlopu',
|
||||
'assistant.tool.mark_country_visited': 'Oznacz kraj jako odwiedzony',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Odhacz na liście marzeń',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Cofnij odhaczenie na liście marzeń',
|
||||
'assistant.tool.accept_atlas_countries': 'Dodaj kraje do Atlasu',
|
||||
'assistant.tool.send_collab_message': 'Wyślij na czat podróży',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Udostępniasz własny plan ChatGPT wszystkim na tym serwerze: ich czaty liczą się do twojego planu. Sprawdź, czy twój plan i warunki OpenAI na to pozwalają.',
|
||||
|
||||
@@ -116,6 +116,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Читаю бронирование',
|
||||
'assistant.step.planningHike': 'Планирую поход',
|
||||
'assistant.step.planningHikeTo': 'Планирую поход, цель: {place}',
|
||||
'assistant.step.expenses': 'Читаю расходы',
|
||||
'assistant.step.shares': 'Считаю доли',
|
||||
'assistant.step.wind': 'Проверяю ветер',
|
||||
'assistant.step.tracks': 'Читаю GPX-треки',
|
||||
'assistant.step.bucketScan': 'Сверяю список желаний с вашими записями',
|
||||
'assistant.step.atlasCountries': 'Ищу страны в ваших записях',
|
||||
'assistant.step.working': 'Работаю над этим',
|
||||
'assistant.step.collapsed': '{count} шага',
|
||||
'assistant.step.collapsed.one': '{count} шаг',
|
||||
@@ -479,6 +485,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Добавить транспорт',
|
||||
'assistant.tool.toggle_vacay_entry': 'Отметить день отпуска',
|
||||
'assistant.tool.mark_country_visited': 'Отметить страну как посещённую',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Отметить в списке желаний',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Снять отметку в списке желаний',
|
||||
'assistant.tool.accept_atlas_countries': 'Добавить страны в Атлас',
|
||||
'assistant.tool.send_collab_message': 'Отправить в чат поездки',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Вы делитесь своей подпиской ChatGPT со всеми на этом сервере: их чаты расходуют ваш лимит. Проверьте, что ваш тариф и условия OpenAI это допускают.',
|
||||
|
||||
@@ -115,6 +115,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Čítam rezerváciu',
|
||||
'assistant.step.planningHike': 'Plánujem túru',
|
||||
'assistant.step.planningHikeTo': 'Plánujem túru do cieľa {place}',
|
||||
'assistant.step.expenses': 'Čítam výdavky',
|
||||
'assistant.step.shares': 'Počítam podiely',
|
||||
'assistant.step.wind': 'Pozerám vietor',
|
||||
'assistant.step.tracks': 'Čítam GPX stopy',
|
||||
'assistant.step.bucketScan': 'Porovnávam zoznam prianí s vašimi záznamami',
|
||||
'assistant.step.atlasCountries': 'Hľadám krajiny vo vašich záznamoch',
|
||||
'assistant.step.working': 'Pracujem na tom',
|
||||
'assistant.step.collapsed': '{count} krokov',
|
||||
'assistant.step.collapsed.one': '{count} krok',
|
||||
@@ -455,6 +461,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Pridať dopravu',
|
||||
'assistant.tool.toggle_vacay_entry': 'Nastaviť deň dovolenky',
|
||||
'assistant.tool.mark_country_visited': 'Označiť krajinu ako navštívenú',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Odškrtnúť v zozname prianí',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Zrušiť odškrtnutie v zozname prianí',
|
||||
'assistant.tool.accept_atlas_countries': 'Pridať krajiny do Atlasu',
|
||||
'assistant.tool.send_collab_message': 'Poslať do chatu cesty',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Zdieľaš svoje vlastné predplatné ChatGPT so všetkými na tomto serveri: ich chaty sa počítajú do tvojho plánu. Over, že to tvoj plán a podmienky OpenAI dovoľujú.',
|
||||
|
||||
@@ -116,6 +116,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Läser bokningen',
|
||||
'assistant.step.planningHike': 'Planerar vandringen',
|
||||
'assistant.step.planningHikeTo': 'Planerar vandringen till {place}',
|
||||
'assistant.step.expenses': 'Läser utgifterna',
|
||||
'assistant.step.shares': 'Räknar ut andelarna',
|
||||
'assistant.step.wind': 'Kollar vinden',
|
||||
'assistant.step.tracks': 'Läser GPX-spåren',
|
||||
'assistant.step.bucketScan': 'Stämmer av önskelistan mot dina inspelningar',
|
||||
'assistant.step.atlasCountries': 'Letar efter länder i dina inspelningar',
|
||||
'assistant.step.working': 'Arbetar på det',
|
||||
'assistant.step.collapsed': '{count} steg',
|
||||
'assistant.step.collapsed.one': '{count} steg',
|
||||
@@ -435,6 +441,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Lägg till transport',
|
||||
'assistant.tool.toggle_vacay_entry': 'Sätt en semesterdag',
|
||||
'assistant.tool.mark_country_visited': 'Markera landet som besökt',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Bocka av på önskelistan',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Ta bort bocken på önskelistan',
|
||||
'assistant.tool.accept_atlas_countries': 'Lägg till länderna i Atlas',
|
||||
'assistant.tool.send_collab_message': 'Skicka till reschatten',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Du delar ditt eget ChatGPT-abonnemang med alla på den här servern: deras chattar räknas mot ditt abonnemang. Kontrollera att ditt abonnemang och OpenAIs villkor tillåter det.',
|
||||
|
||||
@@ -111,6 +111,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'กำลังอ่านการจอง',
|
||||
'assistant.step.planningHike': 'กำลังวางแผนเดินป่า',
|
||||
'assistant.step.planningHikeTo': 'กำลังวางแผนเดินป่าไปยัง {place}',
|
||||
'assistant.step.expenses': 'กำลังอ่านรายจ่าย',
|
||||
'assistant.step.shares': 'กำลังคำนวณส่วนของแต่ละคน',
|
||||
'assistant.step.wind': 'กำลังดูลม',
|
||||
'assistant.step.tracks': 'กำลังอ่านเส้นทาง GPX',
|
||||
'assistant.step.bucketScan': 'กำลังตรวจสอบรายการอยากไปกับบันทึกของคุณ',
|
||||
'assistant.step.atlasCountries': 'กำลังหาประเทศจากบันทึกของคุณ',
|
||||
'assistant.step.working': 'กำลังดำเนินการ',
|
||||
'assistant.step.collapsed': '{count} ขั้นตอน',
|
||||
'assistant.change.title': 'การเปลี่ยนแปลงที่แนะนำ',
|
||||
@@ -408,6 +414,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'เพิ่มการเดินทาง',
|
||||
'assistant.tool.toggle_vacay_entry': 'กำหนดวันลา',
|
||||
'assistant.tool.mark_country_visited': 'ทำเครื่องหมายว่าเคยไปประเทศนี้',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'ทำเครื่องหมายว่าสำเร็จในรายการอยากไป',
|
||||
'assistant.tool.clear_bucket_list_visit': 'ยกเลิกเครื่องหมายสำเร็จในรายการอยากไป',
|
||||
'assistant.tool.accept_atlas_countries': 'เพิ่มประเทศลงในแผนที่โลก',
|
||||
'assistant.tool.send_collab_message': 'ส่งไปยังแชตทริป',
|
||||
'assistant.admin.chatgptShared':
|
||||
'คุณกำลังแชร์แพ็กเกจ ChatGPT ของตัวเองกับทุกคนบนเซิร์ฟเวอร์นี้: แชตของทุกคนจะนับรวมในแพ็กเกจของคุณ ตรวจสอบว่าแพ็กเกจและข้อกำหนดของ OpenAI อนุญาต',
|
||||
|
||||
@@ -114,6 +114,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Rezervasyon okunuyor',
|
||||
'assistant.step.planningHike': 'Yürüyüş planlanıyor',
|
||||
'assistant.step.planningHikeTo': '{place} için yürüyüş planlanıyor',
|
||||
'assistant.step.expenses': 'Harcamalar okunuyor',
|
||||
'assistant.step.shares': 'Paylar hesaplanıyor',
|
||||
'assistant.step.wind': 'Rüzgar kontrol ediliyor',
|
||||
'assistant.step.tracks': 'GPX izleri okunuyor',
|
||||
'assistant.step.bucketScan': 'Dilek listesi kayıtlarınızla karşılaştırılıyor',
|
||||
'assistant.step.atlasCountries': 'Kayıtlarınızda ülkeler aranıyor',
|
||||
'assistant.step.working': 'Üzerinde çalışılıyor',
|
||||
'assistant.step.collapsed': '{count} adım',
|
||||
'assistant.step.collapsed.one': '{count} adım',
|
||||
@@ -435,6 +441,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Ulaşım ekle',
|
||||
'assistant.tool.toggle_vacay_entry': 'İzin günü belirle',
|
||||
'assistant.tool.mark_country_visited': 'Ülkeyi ziyaret edildi olarak işaretle',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Dilek listesinde işaretle',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Dilek listesindeki işareti kaldır',
|
||||
'assistant.tool.accept_atlas_countries': 'Ülkeleri Atlas’a ekle',
|
||||
'assistant.tool.send_collab_message': 'Gezi sohbetine gönder',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Kendi ChatGPT aboneliğini bu sunucudaki herkesle paylaşıyorsun: sohbetleri senin planından düşer. Planının ve OpenAI koşullarının buna izin verip vermediğini kontrol et.',
|
||||
|
||||
@@ -116,6 +116,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Читаю бронювання',
|
||||
'assistant.step.planningHike': 'Планую похід',
|
||||
'assistant.step.planningHikeTo': 'Планую похід, ціль: {place}',
|
||||
'assistant.step.expenses': 'Читаю витрати',
|
||||
'assistant.step.shares': 'Рахую частки',
|
||||
'assistant.step.wind': 'Перевіряю вітер',
|
||||
'assistant.step.tracks': 'Читаю GPX-треки',
|
||||
'assistant.step.bucketScan': 'Звіряю список бажань із вашими записами',
|
||||
'assistant.step.atlasCountries': 'Шукаю країни у ваших записах',
|
||||
'assistant.step.working': 'Працюю над цим',
|
||||
'assistant.step.collapsed': '{count} кроку',
|
||||
'assistant.step.collapsed.one': '{count} крок',
|
||||
@@ -477,6 +483,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Додати транспорт',
|
||||
'assistant.tool.toggle_vacay_entry': 'Позначити день відпустки',
|
||||
'assistant.tool.mark_country_visited': 'Позначити країну як відвідану',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Позначити виконаним у списку бажань',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Зняти позначку в списку бажань',
|
||||
'assistant.tool.accept_atlas_countries': 'Додати країни до Атласу',
|
||||
'assistant.tool.send_collab_message': 'Надіслати в чат подорожі',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Ви ділитеся своєю підпискою ChatGPT з усіма на цьому сервері: їхні чати витрачають ваш ліміт. Перевірте, що ваш тариф і умови OpenAI це дозволяють.',
|
||||
|
||||
@@ -113,6 +113,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': 'Đang đọc đặt chỗ',
|
||||
'assistant.step.planningHike': 'Đang lên kế hoạch đi bộ',
|
||||
'assistant.step.planningHikeTo': 'Đang lên kế hoạch đi bộ đến {place}',
|
||||
'assistant.step.expenses': 'Đang đọc các khoản chi',
|
||||
'assistant.step.shares': 'Đang tính phần của mỗi người',
|
||||
'assistant.step.wind': 'Đang xem gió',
|
||||
'assistant.step.tracks': 'Đang đọc các tuyến GPX',
|
||||
'assistant.step.bucketScan': 'Đang đối chiếu danh sách mong muốn với bản ghi của bạn',
|
||||
'assistant.step.atlasCountries': 'Đang tìm các quốc gia trong bản ghi của bạn',
|
||||
'assistant.step.working': 'Đang xử lý',
|
||||
'assistant.step.collapsed': '{count} bước',
|
||||
'assistant.change.title': 'Thay đổi được đề xuất',
|
||||
@@ -411,6 +417,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': 'Thêm phương tiện',
|
||||
'assistant.tool.toggle_vacay_entry': 'Đặt ngày nghỉ phép',
|
||||
'assistant.tool.mark_country_visited': 'Đánh dấu quốc gia đã đến',
|
||||
'assistant.tool.confirm_bucket_list_visits': 'Đánh dấu hoàn thành trong danh sách mong muốn',
|
||||
'assistant.tool.clear_bucket_list_visit': 'Bỏ đánh dấu trong danh sách mong muốn',
|
||||
'assistant.tool.accept_atlas_countries': 'Thêm các quốc gia vào Atlas',
|
||||
'assistant.tool.send_collab_message': 'Gửi vào trò chuyện chuyến đi',
|
||||
'assistant.admin.chatgptShared':
|
||||
'Bạn đang chia sẻ gói ChatGPT của riêng mình với mọi người trên máy chủ này: các cuộc trò chuyện của họ được tính vào gói của bạn. Hãy kiểm tra gói của bạn và điều khoản của OpenAI có cho phép không.',
|
||||
|
||||
@@ -110,6 +110,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': '正在讀取預訂',
|
||||
'assistant.step.planningHike': '正在規劃健行路線',
|
||||
'assistant.step.planningHikeTo': '正在規劃前往{place}的健行路線',
|
||||
'assistant.step.expenses': '正在讀取支出',
|
||||
'assistant.step.shares': '正在計算各人分攤',
|
||||
'assistant.step.wind': '正在查看風況',
|
||||
'assistant.step.tracks': '正在讀取 GPX 軌跡',
|
||||
'assistant.step.bucketScan': '正在用你的記錄核對願望清單',
|
||||
'assistant.step.atlasCountries': '正在你的記錄中尋找到過的國家',
|
||||
'assistant.step.working': '處理中',
|
||||
'assistant.step.collapsed': '{count} 個步驟',
|
||||
'assistant.change.title': '建議的變更',
|
||||
@@ -405,6 +411,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': '新增交通',
|
||||
'assistant.tool.toggle_vacay_entry': '設為休假日',
|
||||
'assistant.tool.mark_country_visited': '標記國家為已去過',
|
||||
'assistant.tool.confirm_bucket_list_visits': '在願望清單中打勾',
|
||||
'assistant.tool.clear_bucket_list_visit': '取消願望清單中的打勾',
|
||||
'assistant.tool.accept_atlas_countries': '將國家新增到地圖集',
|
||||
'assistant.tool.send_collab_message': '傳送到行程聊天',
|
||||
'assistant.admin.chatgptShared':
|
||||
'你正在與此伺服器上的所有人共用你自己的 ChatGPT 訂閱:他們的聊天會計入你的方案。請確認你的方案和 OpenAI 的條款允許這樣做。',
|
||||
|
||||
@@ -110,6 +110,12 @@ const assistant: TranslationStrings = {
|
||||
'assistant.step.readingBooking': '正在读取预订',
|
||||
'assistant.step.planningHike': '正在规划徒步路线',
|
||||
'assistant.step.planningHikeTo': '正在规划前往{place}的徒步路线',
|
||||
'assistant.step.expenses': '正在读取支出',
|
||||
'assistant.step.shares': '正在计算各人分摊',
|
||||
'assistant.step.wind': '正在查看风况',
|
||||
'assistant.step.tracks': '正在读取 GPX 轨迹',
|
||||
'assistant.step.bucketScan': '正在用你的记录核对愿望清单',
|
||||
'assistant.step.atlasCountries': '正在你的记录中查找去过的国家',
|
||||
'assistant.step.working': '正在处理',
|
||||
'assistant.step.collapsed': '{count} 个步骤',
|
||||
'assistant.change.title': '建议的更改',
|
||||
@@ -405,6 +411,9 @@ const assistant: TranslationStrings = {
|
||||
'assistant.tool.create_transport': '添加交通',
|
||||
'assistant.tool.toggle_vacay_entry': '设为休假日',
|
||||
'assistant.tool.mark_country_visited': '标记国家为已去过',
|
||||
'assistant.tool.confirm_bucket_list_visits': '在愿望清单中勾掉',
|
||||
'assistant.tool.clear_bucket_list_visit': '撤销愿望清单中的勾选',
|
||||
'assistant.tool.accept_atlas_countries': '将国家添加到地图集',
|
||||
'assistant.tool.send_collab_message': '发送到行程聊天',
|
||||
'assistant.admin.chatgptShared':
|
||||
'你正在与此服务器上的所有人共享你自己的 ChatGPT 订阅:他们的聊天会计入你的套餐。请确认你的套餐和 OpenAI 的条款允许这样做。',
|
||||
|
||||
Reference in New Issue
Block a user