feat(assistant): chat, note and poll cards drawn like the Collab tab

This commit is contained in:
Maurice
2026-10-22 15:50:51 +02:00
parent b4e188fbfc
commit 6e92c2777c
63 changed files with 5147 additions and 251 deletions
+62 -3
View File
@@ -1,8 +1,67 @@
import { idSchema } from '../../common/primitives.schema';
import { cardInstantSchema, cardPersonSchema, cardText } from './card-parts';
import { z } from 'zod';
/**
* Messages of the trip chat, as the chat shows them. Only its kind so far; the trip chat cards give it
* its fields.
* Messages of the trip chat, drawn the way the chat draws them: a bubble per
* message, the others on one side with their face and name, the user's own on
* the other in the accent. An answer shows the last few messages a read
* returned and counts the older ones; a held write shows the one message it
* sends, removes or reacts to, as it will look afterwards. A file travels as
* its id only, which the client turns into TREK's own download path.
*/
export const collabChatCardSchema = z.object({ kind: z.literal('collabChat') });
/** One emoji of a message's reactions; `mine` says the signed-in user is among them, which only the server knows. */
const chatReactionSchema = z.object({
emoji: z.string().min(1).max(16),
count: z.number().int().min(1).max(999),
mine: z.boolean(),
/** The first names behind it, for the tooltip the chat shows. */
names: z.array(cardText(80)).max(6),
});
/** A file sent with a message: an image is drawn in the bubble, any other file named. */
const chatFileSchema = z.object({
fileId: idSchema,
image: z.boolean(),
name: cardText(120).nullable(),
});
/** The message a bubble answers, quoted on top of it. */
const chatReplySchema = z.object({
name: cardText(80),
text: cardText(120),
});
export const COLLAB_BUBBLE_CHANGES = ['none', 'send', 'remove', 'react'] as const;
export const collabBubbleCardSchema = z.object({
/** Null while a send waits for its decision. */
id: idSchema.nullable(),
author: cardPersonSchema,
/** Line breaks kept; empty only for a message that is an image alone. */
text: z.string().max(4000),
/** The text was cut: an excerpt of a long message, or a send longer than the bubble holds. */
cut: z.boolean(),
/** Null while a send waits for its decision. */
at: cardInstantSchema.nullable(),
reply: chatReplySchema.nullable(),
reactions: z.array(chatReactionSchema).max(8),
files: z.array(chatFileSchema).max(4),
/** Shared from an assistant answer: the chat marks it so. */
fromAssistant: z.boolean(),
change: z.enum(COLLAB_BUBBLE_CHANGES),
/** The emoji a held reaction toggles. */
reactEmoji: z.string().min(1).max(16).nullable(),
});
export type CollabBubbleCard = z.infer<typeof collabBubbleCardSchema>;
export const collabChatCardSchema = z.object({
kind: z.literal('collabChat'),
/** Oldest first, as the chat lists them. */
messages: z.array(collabBubbleCardSchema).min(1).max(6),
/** Older messages of the read that are not shown. */
earlier: z.number().int().min(0).max(10_000),
});
export type CollabChatCard = z.infer<typeof collabChatCardSchema>;
@@ -1,5 +1,44 @@
import { idSchema } from '../../common/primitives.schema';
import { cardCountSchema, cardHexColorSchema, cardPersonSchema, cardText } from './card-parts';
import { z } from 'zod';
/** Shared notes of the trip. Only its kind so far; the trip chat cards give it its fields. */
export const collabNotesCardSchema = z.object({ kind: z.literal('collabNotes') });
/**
* Shared notes of the trip, drawn like the note cards of the Collab tab: a
* head band tinted by the category's colour with its title, and the start of
* its text under it. An answer holds up to four notes of a read (pinned
* first) and counts the rest; a held write holds the one note it adds,
* changes or deletes, as it will look afterwards. A note's link travels as
* its host only, never as an address the chat could open.
*/
export const COLLAB_NOTE_CHANGES = ['none', 'create', 'update', 'remove'] as const;
/** The parts of a note a held change sets to something new. */
export const COLLAB_NOTE_FIELDS = ['title', 'body', 'category', 'color', 'website', 'pinned'] as const;
export const collabNoteCardSchema = z.object({
/** Null while a new note waits for its decision. */
noteId: idSchema.nullable(),
title: cardText(200),
/** Markdown with its line breaks, shown in three lines as the note card does. */
body: z.string().min(1).max(600).nullable(),
category: cardText(100).nullable(),
color: cardHexColorSchema.nullable(),
pinned: z.boolean(),
/** "example.org": the host of the note's link. */
websiteHost: z.string().min(1).max(253).nullable(),
files: z.number().int().min(0).max(999),
author: cardPersonSchema.nullable(),
change: z.enum(COLLAB_NOTE_CHANGES),
changed: z.array(z.enum(COLLAB_NOTE_FIELDS)).max(6),
});
export type CollabNoteCard = z.infer<typeof collabNoteCardSchema>;
export const collabNotesCardSchema = z.object({
kind: z.literal('collabNotes'),
notes: z.array(collabNoteCardSchema).min(1).max(4),
/** Notes of the read that are not shown. */
more: cardCountSchema,
});
export type CollabNotesCard = z.infer<typeof collabNotesCardSchema>;
@@ -1,8 +1,54 @@
import { idSchema } from '../../common/primitives.schema';
import { cardCountSchema, cardInstantSchema, cardPersonSchema, cardText } from './card-parts';
import { z } from 'zod';
/**
* Polls of the trip chat with their options. Only its kind so far; the trip chat cards give it its
* fields.
* Polls of the trip, drawn like the poll cards of the Collab tab: the
* question, what kind of poll it is, and its options with their bars. An
* answer holds up to four polls of a read (open ones first) and counts the
* rest; a held write holds the one poll it starts, votes in, closes or
* deletes, as it will look afterwards. Whether the signed-in user voted for
* an option is something only the server knows, so it travels as `mine`.
*/
export const collabPollsCardSchema = z.object({ kind: z.literal('collabPolls') });
const pollOptionCardSchema = z.object({
text: cardText(160),
votes: z.number().int().min(0).max(9999),
mine: z.boolean(),
/** The first three voters, as the poll card shows them. */
voters: z.array(cardPersonSchema).max(3),
});
export const COLLAB_POLL_CHANGES = ['none', 'create', 'vote', 'close', 'remove'] as const;
/** Why the server would refuse a held vote: the poll is closed, or it has no such option. */
export const COLLAB_POLL_WARNINGS = ['closed', 'unknownOption'] as const;
export const collabPollCardSchema = z.object({
/** Null while a new poll waits for its decision. */
pollId: idSchema.nullable(),
question: cardText(300),
options: z.array(pollOptionCardSchema).min(1).max(12),
moreOptions: z.number().int().min(0).max(500),
multiple: z.boolean(),
/** Closed by hand; the client adds the deadline, as the Collab tab does. */
closed: z.boolean(),
deadline: cardInstantSchema.nullable(),
author: cardPersonSchema.nullable(),
change: z.enum(COLLAB_POLL_CHANGES),
/** The option a held vote toggles. */
votedIndex: z.number().int().min(0).max(499).nullable(),
/** True when the held vote is cast, false when it is taken back. */
votedAdds: z.boolean(),
warning: z.enum(COLLAB_POLL_WARNINGS).nullable(),
});
export type CollabPollCard = z.infer<typeof collabPollCardSchema>;
export const collabPollsCardSchema = z.object({
kind: z.literal('collabPolls'),
polls: z.array(collabPollCardSchema).min(1).max(4),
/** Polls of the read that are not shown. */
more: cardCountSchema,
});
export type CollabPollsCard = z.infer<typeof collabPollsCardSchema>;
@@ -0,0 +1,130 @@
import { assistantAppliedSchema } from '../assistant.schema';
import {
COLLAB_APPLIED_ENTITIES,
COLLAB_VERB_KEYS,
type CollabChatCard,
type CollabNotesCard,
type CollabPollsCard,
} from './collab.contract';
import { storedTrekCardSchema, trekCardSchema } from './index';
import { describe, expect, it } from 'vitest';
const ANNA = { id: 7, name: 'Anna', avatarKey: 'anna.png' };
/** A message as the trip chat shows it. */
const bubble = (over: Partial<CollabChatCard['messages'][number]> = {}): CollabChatCard['messages'][number] => ({
id: 11,
author: ANNA,
text: 'Shall we take\nthe early train?',
cut: false,
at: '2026-10-21T09:12:00Z',
reply: null,
reactions: [{ emoji: '❤️', count: 2, mine: true, names: ['Anna', 'Jon'] }],
files: [{ fileId: 4, image: true, name: 'ticket.jpg' }],
fromAssistant: false,
change: 'none',
reactEmoji: null,
...over,
});
const chat = (over: Partial<CollabChatCard> = {}): CollabChatCard => ({
kind: 'collabChat',
messages: [bubble()],
earlier: 3,
...over,
});
const poll = (over: Partial<CollabPollsCard['polls'][number]> = {}): CollabPollsCard['polls'][number] => ({
pollId: 5,
question: 'Where do we eat on Friday?',
options: [
{ text: 'Trattoria Roma', votes: 2, mine: true, voters: [ANNA] },
{ text: 'Night market', votes: 0, mine: false, voters: [] },
],
moreOptions: 0,
multiple: false,
closed: false,
deadline: '2026-10-24T18:00:00Z',
author: ANNA,
change: 'none',
votedIndex: null,
votedAdds: false,
warning: null,
...over,
});
const note = (over: Partial<CollabNotesCard['notes'][number]> = {}): CollabNotesCard['notes'][number] => ({
noteId: 9,
title: 'Restaurants to try',
body: 'Pasta at **Luigi**\nthe rooftop bar',
category: 'Ideas',
color: '#10b981',
pinned: true,
websiteHost: 'luigis.it',
files: 2,
author: ANNA,
change: 'none',
changed: [],
...over,
});
describe('the trip chat cards', () => {
it('CARDS-COLLAB-001: a chat, a poll and a note card read as themselves in the union', () => {
for (const card of [
chat(),
{ kind: 'collabPolls', polls: [poll()], more: 2 },
{ kind: 'collabNotes', notes: [note()], more: 0 },
]) {
expect(trekCardSchema.parse(card)).toEqual(card);
}
});
it('CARDS-COLLAB-002: a held send has no id and no time yet, and an image alone has no text', () => {
const held = chat({ messages: [bubble({ id: null, at: null, change: 'send', reactions: [], files: [] })] });
expect(trekCardSchema.parse(held)).toEqual(held);
expect(trekCardSchema.safeParse(chat({ messages: [bubble({ text: '' })] })).success).toBe(true);
});
it('CARDS-COLLAB-003: an avatar is a stored file name, never an address or a way up', () => {
for (const avatarKey of ['https://idp.test/me.png', '../secret.png', '/uploads/avatars/a.png']) {
const card = chat({ messages: [bubble({ author: { ...ANNA, avatarKey } })] });
expect(trekCardSchema.safeParse(card).success).toBe(false);
expect(storedTrekCardSchema.parse(card)).toBeNull();
}
});
it('CARDS-COLLAB-004: a time is a UTC moment to the second, as the server normalises it', () => {
expect(trekCardSchema.safeParse(chat({ messages: [bubble({ at: '2026-10-21 09:12:00' })] })).success).toBe(false);
expect(trekCardSchema.safeParse(chat({ messages: [bubble({ at: '2026-10-21T09:12Z' })] })).success).toBe(false);
const late = { kind: 'collabPolls', polls: [poll({ deadline: '2026-10-24' })], more: 0 };
expect(trekCardSchema.safeParse(late).success).toBe(false);
});
it('CARDS-COLLAB-005: lists past their bounds read as null', () => {
const seven = Array.from({ length: 7 }, (_, index) => bubble({ id: index + 1 }));
expect(storedTrekCardSchema.parse(chat({ messages: seven }))).toBeNull();
expect(storedTrekCardSchema.parse(chat({ messages: [] }))).toBeNull();
const five = [1, 2, 3, 4, 5].map((pollId) => poll({ pollId }));
expect(storedTrekCardSchema.parse({ kind: 'collabPolls', polls: five, more: 0 })).toBeNull();
expect(storedTrekCardSchema.parse({ kind: 'collabNotes', notes: [], more: 0 })).toBeNull();
const many = Array.from({ length: 13 }, (_, index) => ({ text: `#${index}`, votes: 0, mine: false, voters: [] }));
expect(storedTrekCardSchema.parse({ kind: 'collabPolls', polls: [poll({ options: many })], more: 0 })).toBeNull();
expect(storedTrekCardSchema.parse(chat({ messages: [bubble({ text: 'x'.repeat(4001) })] }))).toBeNull();
});
it('CARDS-COLLAB-006: a note colour is a hex colour and its link only a host', () => {
const tinted = { kind: 'collabNotes', notes: [note({ color: 'url(https://x.test/p)' })], more: 0 };
expect(trekCardSchema.safeParse(tinted).success).toBe(false);
const linked = { kind: 'collabNotes', notes: [{ ...note(), website: 'https://x.test' }], more: 0 };
expect(trekCardSchema.parse(linked)).toEqual({ kind: 'collabNotes', notes: [note()], more: 0 });
});
it('CARDS-COLLAB-007: the trip chat adds three applied entities and no verb', () => {
expect(COLLAB_VERB_KEYS).toEqual([]);
for (const entity of COLLAB_APPLIED_ENTITIES) {
const receipt = { toolCallId: 'call_1', entity, ids: [3], dayId: null, undoUntil: null };
expect(assistantAppliedSchema.parse(receipt).entity).toBe(entity);
}
});
});
@@ -8,11 +8,12 @@ export * from './collab-polls.card';
/**
* What the trip chat brings to the assistant chat: the kinds of card it draws,
* the verbs of its change cards and what an applied change of its
* touches, beyond the core ones. cards/index.ts and assistant.schema.ts
* the verbs of its change cards and the entities its applied changes touch,
* beyond the core ones. cards/index.ts and assistant.schema.ts
* spread these into the card union and the shared enums, so a new kind, verb
* or entity is added here and nowhere else.
* or entity is added here and nowhere else. Its changes keep the generic
* verbs (add, change, remove) and name their tool instead.
*/
export const COLLAB_CARD_SCHEMAS = [collabChatCardSchema, collabPollsCardSchema, collabNotesCardSchema] as const;
export const COLLAB_VERB_KEYS = [] as const;
export const COLLAB_APPLIED_ENTITIES = [] as const;
export const COLLAB_APPLIED_ENTITIES = ['collab_message', 'collab_poll', 'collab_note'] as const;
+61 -1
View File
@@ -1,4 +1,64 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'محادثة الرحلة',
'assistant.card.collab.openChat': 'فتح المحادثة',
'assistant.card.collab.openPolls': 'فتح الاستطلاعات',
'assistant.card.collab.openNotes': 'فتح الملاحظات',
'assistant.card.collab.earlier': '{count} رسالة أقدم',
'assistant.card.collab.earlier.zero': '{count} رسائل أقدم',
'assistant.card.collab.earlier.one': '{count} رسالة أقدم',
'assistant.card.collab.earlier.two': '{count} رسالتان أقدم',
'assistant.card.collab.earlier.few': '{count} رسائل أقدم',
'assistant.card.collab.earlier.many': '{count} رسالة أقدم',
'assistant.card.collab.notSent': 'لم تُرسل بعد',
'assistant.card.collab.sent': 'أُرسلت',
'assistant.card.collab.failed': 'لم تُرسل',
'assistant.card.collab.continues': 'تكملة في المحادثة',
'assistant.card.collab.youDeleted': 'لقد حذفت رسالة',
'assistant.card.collab.newPoll': 'جديد',
'assistant.card.collab.yourVote': 'صوتك',
'assistant.card.collab.voteTakenBack': 'تم سحب الصوت',
'assistant.card.collab.pollClosedWarning': 'هذا الاستطلاع مغلق',
'assistant.card.collab.unknownOption': 'لا يوجد هذا الخيار في الاستطلاع',
'assistant.card.collab.moreOptions': '{count} خيار آخر',
'assistant.card.collab.moreOptions.zero': '{count} خيارات أخرى',
'assistant.card.collab.moreOptions.one': '{count} خيار آخر',
'assistant.card.collab.moreOptions.two': '{count} خياران آخران',
'assistant.card.collab.moreOptions.few': '{count} خيارات أخرى',
'assistant.card.collab.moreOptions.many': '{count} خيارًا آخر',
'assistant.card.collab.morePolls': '{count} استطلاع آخر',
'assistant.card.collab.morePolls.zero': '{count} استطلاعات أخرى',
'assistant.card.collab.morePolls.one': '{count} استطلاع آخر',
'assistant.card.collab.morePolls.two': '{count} استطلاعان آخران',
'assistant.card.collab.morePolls.few': '{count} استطلاعات أخرى',
'assistant.card.collab.morePolls.many': '{count} استطلاعًا آخر',
'assistant.card.collab.moreNotes': '{count} ملاحظة أخرى',
'assistant.card.collab.moreNotes.zero': '{count} ملاحظات أخرى',
'assistant.card.collab.moreNotes.one': '{count} ملاحظة أخرى',
'assistant.card.collab.moreNotes.two': '{count} ملاحظتان أخريان',
'assistant.card.collab.moreNotes.few': '{count} ملاحظات أخرى',
'assistant.card.collab.moreNotes.many': '{count} ملاحظة أخرى',
'assistant.card.collab.files': '{count} ملف',
'assistant.card.collab.files.zero': '{count} ملفات',
'assistant.card.collab.files.one': '{count} ملف',
'assistant.card.collab.files.two': '{count} ملفان',
'assistant.card.collab.files.few': '{count} ملفات',
'assistant.card.collab.files.many': '{count} ملفًا',
'assistant.card.collab.pinned': 'مثبتة',
'assistant.card.collab.unpinned': 'لم تعد مثبتة',
'assistant.card.collab.reactionRemoved': 'تم سحب التفاعل {emoji}',
'assistant.tool.delete_collab_message': 'حذف رسالة المحادثة',
'assistant.tool.react_collab_message': 'التفاعل في محادثة الرحلة',
'assistant.tool.create_collab_poll': 'بدء استطلاع',
'assistant.tool.vote_collab_poll': 'التصويت في الاستطلاع',
'assistant.tool.close_collab_poll': 'إغلاق الاستطلاع',
'assistant.tool.delete_collab_poll': 'حذف الاستطلاع',
'assistant.tool.create_collab_note': 'إضافة ملاحظة مشتركة',
'assistant.tool.update_collab_note': 'تغيير الملاحظة المشتركة',
'assistant.tool.delete_collab_note': 'حذف الملاحظة المشتركة',
'assistant.step.collabChat': 'قراءة محادثة الرحلة',
'assistant.step.collabPolls': 'قراءة الاستطلاعات',
'assistant.step.collabNotes': 'قراءة الملاحظات المشتركة',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Səyahət söhbəti',
'assistant.card.collab.openChat': 'Söhbəti aç',
'assistant.card.collab.openPolls': 'Sorğuları aç',
'assistant.card.collab.openNotes': 'Qeydləri aç',
'assistant.card.collab.earlier': '{count} köhnə mesaj',
'assistant.card.collab.earlier.one': '{count} köhnə mesaj',
'assistant.card.collab.notSent': 'Hələ göndərilməyib',
'assistant.card.collab.sent': 'Göndərildi',
'assistant.card.collab.failed': 'Göndərilmədi',
'assistant.card.collab.continues': 'Söhbətdə davam edir',
'assistant.card.collab.youDeleted': 'Bir mesajı sildin',
'assistant.card.collab.newPoll': 'Yeni',
'assistant.card.collab.yourVote': 'Səsin',
'assistant.card.collab.voteTakenBack': 'Səs geri götürüldü',
'assistant.card.collab.pollClosedWarning': 'Bu sorğu bağlanıb',
'assistant.card.collab.unknownOption': 'Bu sorğuda belə seçim yoxdur',
'assistant.card.collab.moreOptions': 'Daha {count} seçim',
'assistant.card.collab.moreOptions.one': 'Daha {count} seçim',
'assistant.card.collab.morePolls': 'Daha {count} sorğu',
'assistant.card.collab.morePolls.one': 'Daha {count} sorğu',
'assistant.card.collab.moreNotes': 'Daha {count} qeyd',
'assistant.card.collab.moreNotes.one': 'Daha {count} qeyd',
'assistant.card.collab.files': '{count} fayl',
'assistant.card.collab.files.one': '{count} fayl',
'assistant.card.collab.pinned': 'Bərkidilib',
'assistant.card.collab.unpinned': 'Artıq bərkidilməyib',
'assistant.card.collab.reactionRemoved': '{emoji} reaksiyası geri götürüldü',
'assistant.tool.delete_collab_message': 'Söhbət mesajını sil',
'assistant.tool.react_collab_message': 'Səyahət söhbətində reaksiya ver',
'assistant.tool.create_collab_poll': 'Sorğu başlat',
'assistant.tool.vote_collab_poll': 'Sorğuda səs ver',
'assistant.tool.close_collab_poll': 'Sorğunu bağla',
'assistant.tool.delete_collab_poll': 'Sorğunu sil',
'assistant.tool.create_collab_note': 'Ortaq qeyd əlavə et',
'assistant.tool.update_collab_note': 'Ortaq qeydi dəyiş',
'assistant.tool.delete_collab_note': 'Ortaq qeydi sil',
'assistant.step.collabChat': 'Səyahət söhbəti oxunur',
'assistant.step.collabPolls': 'Sorğular oxunur',
'assistant.step.collabNotes': 'Ortaq qeydlər oxunur',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Chat da viagem',
'assistant.card.collab.openChat': 'Abrir o chat',
'assistant.card.collab.openPolls': 'Abrir as enquetes',
'assistant.card.collab.openNotes': 'Abrir as notas',
'assistant.card.collab.earlier': '{count} mensagens anteriores',
'assistant.card.collab.earlier.one': '{count} mensagem anterior',
'assistant.card.collab.notSent': 'Ainda não enviada',
'assistant.card.collab.sent': 'Enviada',
'assistant.card.collab.failed': 'Não enviada',
'assistant.card.collab.continues': 'Continua no chat',
'assistant.card.collab.youDeleted': 'Você apagou uma mensagem',
'assistant.card.collab.newPoll': 'Nova',
'assistant.card.collab.yourVote': 'Seu voto',
'assistant.card.collab.voteTakenBack': 'Voto retirado',
'assistant.card.collab.pollClosedWarning': 'Esta enquete está encerrada',
'assistant.card.collab.unknownOption': 'Esta enquete não tem essa opção',
'assistant.card.collab.moreOptions': 'Mais {count} opções',
'assistant.card.collab.moreOptions.one': 'Mais {count} opção',
'assistant.card.collab.morePolls': 'Mais {count} enquetes',
'assistant.card.collab.morePolls.one': 'Mais {count} enquete',
'assistant.card.collab.moreNotes': 'Mais {count} notas',
'assistant.card.collab.moreNotes.one': 'Mais {count} nota',
'assistant.card.collab.files': '{count} arquivos',
'assistant.card.collab.files.one': '{count} arquivo',
'assistant.card.collab.pinned': 'Fixada',
'assistant.card.collab.unpinned': 'Não está mais fixada',
'assistant.card.collab.reactionRemoved': 'Reação {emoji} retirada',
'assistant.tool.delete_collab_message': 'Apagar a mensagem',
'assistant.tool.react_collab_message': 'Reagir no chat da viagem',
'assistant.tool.create_collab_poll': 'Criar uma enquete',
'assistant.tool.vote_collab_poll': 'Votar na enquete',
'assistant.tool.close_collab_poll': 'Encerrar a enquete',
'assistant.tool.delete_collab_poll': 'Apagar a enquete',
'assistant.tool.create_collab_note': 'Adicionar uma nota compartilhada',
'assistant.tool.update_collab_note': 'Alterar a nota compartilhada',
'assistant.tool.delete_collab_note': 'Apagar a nota compartilhada',
'assistant.step.collabChat': 'Lendo o chat da viagem',
'assistant.step.collabPolls': 'Lendo as enquetes',
'assistant.step.collabNotes': 'Lendo as notas compartilhadas',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Xat del viatge',
'assistant.card.collab.openChat': 'Obre el xat',
'assistant.card.collab.openPolls': 'Obre les enquestes',
'assistant.card.collab.openNotes': 'Obre les notes',
'assistant.card.collab.earlier': '{count} missatges anteriors',
'assistant.card.collab.earlier.one': '{count} missatge anterior',
'assistant.card.collab.notSent': 'Encara no enviat',
'assistant.card.collab.sent': 'Enviat',
'assistant.card.collab.failed': 'No enviat',
'assistant.card.collab.continues': 'Continua al xat',
'assistant.card.collab.youDeleted': 'Has esborrat un missatge',
'assistant.card.collab.newPoll': 'Nova',
'assistant.card.collab.yourVote': 'El teu vot',
'assistant.card.collab.voteTakenBack': 'Vot retirat',
'assistant.card.collab.pollClosedWarning': 'Aquesta enquesta està tancada',
'assistant.card.collab.unknownOption': 'Aquesta enquesta no té aquesta opció',
'assistant.card.collab.moreOptions': '{count} opcions més',
'assistant.card.collab.moreOptions.one': '{count} opció més',
'assistant.card.collab.morePolls': '{count} enquestes més',
'assistant.card.collab.morePolls.one': '{count} enquesta més',
'assistant.card.collab.moreNotes': '{count} notes més',
'assistant.card.collab.moreNotes.one': '{count} nota més',
'assistant.card.collab.files': '{count} fitxers',
'assistant.card.collab.files.one': '{count} fitxer',
'assistant.card.collab.pinned': 'Fixada',
'assistant.card.collab.unpinned': 'Ja no està fixada',
'assistant.card.collab.reactionRemoved': 'Reacció {emoji} retirada',
'assistant.tool.delete_collab_message': 'Esborra el missatge',
'assistant.tool.react_collab_message': 'Reacciona al xat del viatge',
'assistant.tool.create_collab_poll': 'Crea una enquesta',
'assistant.tool.vote_collab_poll': 'Vota a l’enquesta',
'assistant.tool.close_collab_poll': 'Tanca l’enquesta',
'assistant.tool.delete_collab_poll': 'Esborra l’enquesta',
'assistant.tool.create_collab_note': 'Afegeix una nota compartida',
'assistant.tool.update_collab_note': 'Canvia la nota compartida',
'assistant.tool.delete_collab_note': 'Esborra la nota compartida',
'assistant.step.collabChat': 'Llegint el xat del viatge',
'assistant.step.collabPolls': 'Llegint les enquestes',
'assistant.step.collabNotes': 'Llegint les notes compartides',
};
export default assistantCollab;
+46 -1
View File
@@ -1,4 +1,49 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Chat cesty',
'assistant.card.collab.openChat': 'Otevřít chat',
'assistant.card.collab.openPolls': 'Otevřít hlasování',
'assistant.card.collab.openNotes': 'Otevřít poznámky',
'assistant.card.collab.earlier': '{count} starších zpráv',
'assistant.card.collab.earlier.one': '{count} starší zpráva',
'assistant.card.collab.earlier.few': '{count} starší zprávy',
'assistant.card.collab.notSent': 'Zatím neodesláno',
'assistant.card.collab.sent': 'Odesláno',
'assistant.card.collab.failed': 'Neodesláno',
'assistant.card.collab.continues': 'Pokračuje v chatu',
'assistant.card.collab.youDeleted': 'Smazal(a) jsi zprávu',
'assistant.card.collab.newPoll': 'Nové',
'assistant.card.collab.yourVote': 'Tvůj hlas',
'assistant.card.collab.voteTakenBack': 'Hlas vzat zpět',
'assistant.card.collab.pollClosedWarning': 'Toto hlasování je uzavřené',
'assistant.card.collab.unknownOption': 'Toto hlasování takovou možnost nemá',
'assistant.card.collab.moreOptions': 'Dalších {count} možností',
'assistant.card.collab.moreOptions.one': 'Další {count} možnost',
'assistant.card.collab.moreOptions.few': 'Další {count} možnosti',
'assistant.card.collab.morePolls': 'Dalších {count} hlasování',
'assistant.card.collab.morePolls.one': 'Další {count} hlasování',
'assistant.card.collab.morePolls.few': 'Další {count} hlasování',
'assistant.card.collab.moreNotes': 'Dalších {count} poznámek',
'assistant.card.collab.moreNotes.one': 'Další {count} poznámka',
'assistant.card.collab.moreNotes.few': 'Další {count} poznámky',
'assistant.card.collab.files': '{count} souborů',
'assistant.card.collab.files.one': '{count} soubor',
'assistant.card.collab.files.few': '{count} soubory',
'assistant.card.collab.pinned': 'Připnuto',
'assistant.card.collab.unpinned': 'Už není připnuto',
'assistant.card.collab.reactionRemoved': 'Reakce {emoji} vzata zpět',
'assistant.tool.delete_collab_message': 'Smazat zprávu',
'assistant.tool.react_collab_message': 'Reagovat v chatu cesty',
'assistant.tool.create_collab_poll': 'Zahájit hlasování',
'assistant.tool.vote_collab_poll': 'Hlasovat',
'assistant.tool.close_collab_poll': 'Uzavřít hlasování',
'assistant.tool.delete_collab_poll': 'Smazat hlasování',
'assistant.tool.create_collab_note': 'Přidat sdílenou poznámku',
'assistant.tool.update_collab_note': 'Změnit sdílenou poznámku',
'assistant.tool.delete_collab_note': 'Smazat sdílenou poznámku',
'assistant.step.collabChat': 'Čtu chat cesty',
'assistant.step.collabPolls': 'Čtu hlasování',
'assistant.step.collabNotes': 'Čtu sdílené poznámky',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Trip-Chat',
'assistant.card.collab.openChat': 'Chat öffnen',
'assistant.card.collab.openPolls': 'Umfragen öffnen',
'assistant.card.collab.openNotes': 'Notizen öffnen',
'assistant.card.collab.earlier': '{count} ältere Nachrichten',
'assistant.card.collab.earlier.one': '{count} ältere Nachricht',
'assistant.card.collab.notSent': 'Noch nicht gesendet',
'assistant.card.collab.sent': 'Gesendet',
'assistant.card.collab.failed': 'Nicht gesendet',
'assistant.card.collab.continues': 'Geht im Chat weiter',
'assistant.card.collab.youDeleted': 'Du hast eine Nachricht gelöscht',
'assistant.card.collab.newPoll': 'Neu',
'assistant.card.collab.yourVote': 'Deine Stimme',
'assistant.card.collab.voteTakenBack': 'Stimme zurückgenommen',
'assistant.card.collab.pollClosedWarning': 'Diese Umfrage ist geschlossen',
'assistant.card.collab.unknownOption': 'Diese Antwort gibt es in der Umfrage nicht',
'assistant.card.collab.moreOptions': '{count} weitere Antworten',
'assistant.card.collab.moreOptions.one': '{count} weitere Antwort',
'assistant.card.collab.morePolls': '{count} weitere Umfragen',
'assistant.card.collab.morePolls.one': '{count} weitere Umfrage',
'assistant.card.collab.moreNotes': '{count} weitere Notizen',
'assistant.card.collab.moreNotes.one': '{count} weitere Notiz',
'assistant.card.collab.files': '{count} Dateien',
'assistant.card.collab.files.one': '{count} Datei',
'assistant.card.collab.pinned': 'Angeheftet',
'assistant.card.collab.unpinned': 'Nicht mehr angeheftet',
'assistant.card.collab.reactionRemoved': 'Reaktion {emoji} zurückgenommen',
'assistant.tool.delete_collab_message': 'Chatnachricht löschen',
'assistant.tool.react_collab_message': 'Im Trip-Chat reagieren',
'assistant.tool.create_collab_poll': 'Umfrage starten',
'assistant.tool.vote_collab_poll': 'In der Umfrage abstimmen',
'assistant.tool.close_collab_poll': 'Umfrage schließen',
'assistant.tool.delete_collab_poll': 'Umfrage löschen',
'assistant.tool.create_collab_note': 'Gemeinsame Notiz hinzufügen',
'assistant.tool.update_collab_note': 'Gemeinsame Notiz ändern',
'assistant.tool.delete_collab_note': 'Gemeinsame Notiz löschen',
'assistant.step.collabChat': 'Liest den Trip-Chat',
'assistant.step.collabPolls': 'Liest die Umfragen',
'assistant.step.collabNotes': 'Liest die gemeinsamen Notizen',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Trip chat',
'assistant.card.collab.openChat': 'Open the chat',
'assistant.card.collab.openPolls': 'Open the polls',
'assistant.card.collab.openNotes': 'Open the notes',
'assistant.card.collab.earlier': '{count} earlier messages',
'assistant.card.collab.earlier.one': '{count} earlier message',
'assistant.card.collab.notSent': 'Not sent yet',
'assistant.card.collab.sent': 'Sent',
'assistant.card.collab.failed': 'Not sent',
'assistant.card.collab.continues': 'Continues in the chat',
'assistant.card.collab.youDeleted': 'You deleted a message',
'assistant.card.collab.newPoll': 'New',
'assistant.card.collab.yourVote': 'Your vote',
'assistant.card.collab.voteTakenBack': 'Vote taken back',
'assistant.card.collab.pollClosedWarning': 'This poll is closed',
'assistant.card.collab.unknownOption': 'This poll has no such option',
'assistant.card.collab.moreOptions': '{count} more options',
'assistant.card.collab.moreOptions.one': '{count} more option',
'assistant.card.collab.morePolls': '{count} more polls',
'assistant.card.collab.morePolls.one': '{count} more poll',
'assistant.card.collab.moreNotes': '{count} more notes',
'assistant.card.collab.moreNotes.one': '{count} more note',
'assistant.card.collab.files': '{count} files',
'assistant.card.collab.files.one': '{count} file',
'assistant.card.collab.pinned': 'Pinned',
'assistant.card.collab.unpinned': 'No longer pinned',
'assistant.card.collab.reactionRemoved': 'Reaction {emoji} taken back',
'assistant.tool.delete_collab_message': 'Delete the chat message',
'assistant.tool.react_collab_message': 'React in the trip chat',
'assistant.tool.create_collab_poll': 'Start a poll',
'assistant.tool.vote_collab_poll': 'Vote in the poll',
'assistant.tool.close_collab_poll': 'Close the poll',
'assistant.tool.delete_collab_poll': 'Delete the poll',
'assistant.tool.create_collab_note': 'Add a shared note',
'assistant.tool.update_collab_note': 'Change the shared note',
'assistant.tool.delete_collab_note': 'Delete the shared note',
'assistant.step.collabChat': 'Reading the trip chat',
'assistant.step.collabPolls': 'Reading the polls',
'assistant.step.collabNotes': 'Reading the shared notes',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Chat del viaje',
'assistant.card.collab.openChat': 'Abrir el chat',
'assistant.card.collab.openPolls': 'Abrir las encuestas',
'assistant.card.collab.openNotes': 'Abrir las notas',
'assistant.card.collab.earlier': '{count} mensajes anteriores',
'assistant.card.collab.earlier.one': '{count} mensaje anterior',
'assistant.card.collab.notSent': 'Aún no enviado',
'assistant.card.collab.sent': 'Enviado',
'assistant.card.collab.failed': 'No enviado',
'assistant.card.collab.continues': 'Sigue en el chat',
'assistant.card.collab.youDeleted': 'Has borrado un mensaje',
'assistant.card.collab.newPoll': 'Nueva',
'assistant.card.collab.yourVote': 'Tu voto',
'assistant.card.collab.voteTakenBack': 'Voto retirado',
'assistant.card.collab.pollClosedWarning': 'Esta encuesta está cerrada',
'assistant.card.collab.unknownOption': 'Esta encuesta no tiene esa opción',
'assistant.card.collab.moreOptions': '{count} opciones más',
'assistant.card.collab.moreOptions.one': '{count} opción más',
'assistant.card.collab.morePolls': '{count} encuestas más',
'assistant.card.collab.morePolls.one': '{count} encuesta más',
'assistant.card.collab.moreNotes': '{count} notas más',
'assistant.card.collab.moreNotes.one': '{count} nota más',
'assistant.card.collab.files': '{count} archivos',
'assistant.card.collab.files.one': '{count} archivo',
'assistant.card.collab.pinned': 'Fijada',
'assistant.card.collab.unpinned': 'Ya no está fijada',
'assistant.card.collab.reactionRemoved': 'Reacción {emoji} retirada',
'assistant.tool.delete_collab_message': 'Eliminar el mensaje',
'assistant.tool.react_collab_message': 'Reaccionar en el chat del viaje',
'assistant.tool.create_collab_poll': 'Crear una encuesta',
'assistant.tool.vote_collab_poll': 'Votar en la encuesta',
'assistant.tool.close_collab_poll': 'Cerrar la encuesta',
'assistant.tool.delete_collab_poll': 'Eliminar la encuesta',
'assistant.tool.create_collab_note': 'Añadir una nota compartida',
'assistant.tool.update_collab_note': 'Cambiar la nota compartida',
'assistant.tool.delete_collab_note': 'Eliminar la nota compartida',
'assistant.step.collabChat': 'Leyendo el chat del viaje',
'assistant.step.collabPolls': 'Leyendo las encuestas',
'assistant.step.collabNotes': 'Leyendo las notas compartidas',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Reisivestlus',
'assistant.card.collab.openChat': 'Ava vestlus',
'assistant.card.collab.openPolls': 'Ava küsitlused',
'assistant.card.collab.openNotes': 'Ava märkmed',
'assistant.card.collab.earlier': '{count} varasemat sõnumit',
'assistant.card.collab.earlier.one': '{count} varasem sõnum',
'assistant.card.collab.notSent': 'Pole veel saadetud',
'assistant.card.collab.sent': 'Saadetud',
'assistant.card.collab.failed': 'Saatmata',
'assistant.card.collab.continues': 'Jätkub vestluses',
'assistant.card.collab.youDeleted': 'Sa kustutasid sõnumi',
'assistant.card.collab.newPoll': 'Uus',
'assistant.card.collab.yourVote': 'Sinu hääl',
'assistant.card.collab.voteTakenBack': 'Hääl võetud tagasi',
'assistant.card.collab.pollClosedWarning': 'See küsitlus on suletud',
'assistant.card.collab.unknownOption': 'Selles küsitluses pole sellist valikut',
'assistant.card.collab.moreOptions': 'Veel {count} valikut',
'assistant.card.collab.moreOptions.one': 'Veel {count} valik',
'assistant.card.collab.morePolls': 'Veel {count} küsitlust',
'assistant.card.collab.morePolls.one': 'Veel {count} küsitlus',
'assistant.card.collab.moreNotes': 'Veel {count} märget',
'assistant.card.collab.moreNotes.one': 'Veel {count} märge',
'assistant.card.collab.files': '{count} faili',
'assistant.card.collab.files.one': '{count} fail',
'assistant.card.collab.pinned': 'Kinnitatud',
'assistant.card.collab.unpinned': 'Pole enam kinnitatud',
'assistant.card.collab.reactionRemoved': 'Reaktsioon {emoji} võetud tagasi',
'assistant.tool.delete_collab_message': 'Kustuta vestlussõnum',
'assistant.tool.react_collab_message': 'Reageeri reisivestluses',
'assistant.tool.create_collab_poll': 'Alusta küsitlust',
'assistant.tool.vote_collab_poll': 'Hääleta küsitluses',
'assistant.tool.close_collab_poll': 'Sulge küsitlus',
'assistant.tool.delete_collab_poll': 'Kustuta küsitlus',
'assistant.tool.create_collab_note': 'Lisa jagatud märge',
'assistant.tool.update_collab_note': 'Muuda jagatud märget',
'assistant.tool.delete_collab_note': 'Kustuta jagatud märge',
'assistant.step.collabChat': 'Loen reisivestlust',
'assistant.step.collabPolls': 'Loen küsitlusi',
'assistant.step.collabNotes': 'Loen jagatud märkmeid',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Discussion du voyage',
'assistant.card.collab.openChat': 'Ouvrir la discussion',
'assistant.card.collab.openPolls': 'Ouvrir les sondages',
'assistant.card.collab.openNotes': 'Ouvrir les notes',
'assistant.card.collab.earlier': '{count} messages plus anciens',
'assistant.card.collab.earlier.one': '{count} message plus ancien',
'assistant.card.collab.notSent': 'Pas encore envoyé',
'assistant.card.collab.sent': 'Envoyé',
'assistant.card.collab.failed': 'Non envoyé',
'assistant.card.collab.continues': 'La suite est dans la discussion',
'assistant.card.collab.youDeleted': 'Vous avez supprimé un message',
'assistant.card.collab.newPoll': 'Nouveau',
'assistant.card.collab.yourVote': 'Votre vote',
'assistant.card.collab.voteTakenBack': 'Vote retiré',
'assistant.card.collab.pollClosedWarning': 'Ce sondage est fermé',
'assistant.card.collab.unknownOption': 'Ce sondage n’a pas cette option',
'assistant.card.collab.moreOptions': '{count} autres options',
'assistant.card.collab.moreOptions.one': '{count} autre option',
'assistant.card.collab.morePolls': '{count} autres sondages',
'assistant.card.collab.morePolls.one': '{count} autre sondage',
'assistant.card.collab.moreNotes': '{count} autres notes',
'assistant.card.collab.moreNotes.one': '{count} autre note',
'assistant.card.collab.files': '{count} fichiers',
'assistant.card.collab.files.one': '{count} fichier',
'assistant.card.collab.pinned': 'Épinglée',
'assistant.card.collab.unpinned': 'N’est plus épinglée',
'assistant.card.collab.reactionRemoved': 'Réaction {emoji} retirée',
'assistant.tool.delete_collab_message': 'Supprimer le message',
'assistant.tool.react_collab_message': 'Réagir dans la discussion du voyage',
'assistant.tool.create_collab_poll': 'Lancer un sondage',
'assistant.tool.vote_collab_poll': 'Voter dans le sondage',
'assistant.tool.close_collab_poll': 'Fermer le sondage',
'assistant.tool.delete_collab_poll': 'Supprimer le sondage',
'assistant.tool.create_collab_note': 'Ajouter une note partagée',
'assistant.tool.update_collab_note': 'Modifier la note partagée',
'assistant.tool.delete_collab_note': 'Supprimer la note partagée',
'assistant.step.collabChat': 'Lecture de la discussion du voyage',
'assistant.step.collabPolls': 'Lecture des sondages',
'assistant.step.collabNotes': 'Lecture des notes partagées',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Συνομιλία ταξιδιού',
'assistant.card.collab.openChat': 'Άνοιγμα συνομιλίας',
'assistant.card.collab.openPolls': 'Άνοιγμα δημοσκοπήσεων',
'assistant.card.collab.openNotes': 'Άνοιγμα σημειώσεων',
'assistant.card.collab.earlier': '{count} παλαιότερα μηνύματα',
'assistant.card.collab.earlier.one': '{count} παλαιότερο μήνυμα',
'assistant.card.collab.notSent': 'Δεν στάλθηκε ακόμα',
'assistant.card.collab.sent': 'Στάλθηκε',
'assistant.card.collab.failed': 'Δεν στάλθηκε',
'assistant.card.collab.continues': 'Συνεχίζεται στη συνομιλία',
'assistant.card.collab.youDeleted': 'Διέγραψες ένα μήνυμα',
'assistant.card.collab.newPoll': 'Νέα',
'assistant.card.collab.yourVote': 'Η ψήφος σου',
'assistant.card.collab.voteTakenBack': 'Η ψήφος αποσύρθηκε',
'assistant.card.collab.pollClosedWarning': 'Αυτή η δημοσκόπηση έχει κλείσει',
'assistant.card.collab.unknownOption': 'Αυτή η δημοσκόπηση δεν έχει τέτοια επιλογή',
'assistant.card.collab.moreOptions': 'Ακόμα {count} επιλογές',
'assistant.card.collab.moreOptions.one': 'Ακόμα {count} επιλογή',
'assistant.card.collab.morePolls': 'Ακόμα {count} δημοσκοπήσεις',
'assistant.card.collab.morePolls.one': 'Ακόμα {count} δημοσκόπηση',
'assistant.card.collab.moreNotes': 'Ακόμα {count} σημειώσεις',
'assistant.card.collab.moreNotes.one': 'Ακόμα {count} σημείωση',
'assistant.card.collab.files': '{count} αρχεία',
'assistant.card.collab.files.one': '{count} αρχείο',
'assistant.card.collab.pinned': 'Καρφιτσωμένη',
'assistant.card.collab.unpinned': 'Δεν είναι πια καρφιτσωμένη',
'assistant.card.collab.reactionRemoved': 'Η αντίδραση {emoji} αποσύρθηκε',
'assistant.tool.delete_collab_message': 'Διαγραφή μηνύματος',
'assistant.tool.react_collab_message': 'Αντίδραση στη συνομιλία ταξιδιού',
'assistant.tool.create_collab_poll': 'Έναρξη δημοσκόπησης',
'assistant.tool.vote_collab_poll': 'Ψήφος στη δημοσκόπηση',
'assistant.tool.close_collab_poll': 'Κλείσιμο δημοσκόπησης',
'assistant.tool.delete_collab_poll': 'Διαγραφή δημοσκόπησης',
'assistant.tool.create_collab_note': 'Προσθήκη κοινής σημείωσης',
'assistant.tool.update_collab_note': 'Αλλαγή κοινής σημείωσης',
'assistant.tool.delete_collab_note': 'Διαγραφή κοινής σημείωσης',
'assistant.step.collabChat': 'Διαβάζω τη συνομιλία ταξιδιού',
'assistant.step.collabPolls': 'Διαβάζω τις δημοσκοπήσεις',
'assistant.step.collabNotes': 'Διαβάζω τις κοινές σημειώσεις',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Utazási csevegés',
'assistant.card.collab.openChat': 'Csevegés megnyitása',
'assistant.card.collab.openPolls': 'Szavazások megnyitása',
'assistant.card.collab.openNotes': 'Jegyzetek megnyitása',
'assistant.card.collab.earlier': '{count} korábbi üzenet',
'assistant.card.collab.earlier.one': '{count} korábbi üzenet',
'assistant.card.collab.notSent': 'Még nincs elküldve',
'assistant.card.collab.sent': 'Elküldve',
'assistant.card.collab.failed': 'Nincs elküldve',
'assistant.card.collab.continues': 'A csevegésben folytatódik',
'assistant.card.collab.youDeleted': 'Töröltél egy üzenetet',
'assistant.card.collab.newPoll': 'Új',
'assistant.card.collab.yourVote': 'A szavazatod',
'assistant.card.collab.voteTakenBack': 'Szavazat visszavonva',
'assistant.card.collab.pollClosedWarning': 'Ez a szavazás lezárult',
'assistant.card.collab.unknownOption': 'Ebben a szavazásban nincs ilyen lehetőség',
'assistant.card.collab.moreOptions': 'Még {count} lehetőség',
'assistant.card.collab.moreOptions.one': 'Még {count} lehetőség',
'assistant.card.collab.morePolls': 'Még {count} szavazás',
'assistant.card.collab.morePolls.one': 'Még {count} szavazás',
'assistant.card.collab.moreNotes': 'Még {count} jegyzet',
'assistant.card.collab.moreNotes.one': 'Még {count} jegyzet',
'assistant.card.collab.files': '{count} fájl',
'assistant.card.collab.files.one': '{count} fájl',
'assistant.card.collab.pinned': 'Kitűzve',
'assistant.card.collab.unpinned': 'Már nincs kitűzve',
'assistant.card.collab.reactionRemoved': '{emoji} reakció visszavonva',
'assistant.tool.delete_collab_message': 'Csevegőüzenet törlése',
'assistant.tool.react_collab_message': 'Reagálás az utazási csevegésben',
'assistant.tool.create_collab_poll': 'Szavazás indítása',
'assistant.tool.vote_collab_poll': 'Szavazás leadása',
'assistant.tool.close_collab_poll': 'Szavazás lezárása',
'assistant.tool.delete_collab_poll': 'Szavazás törlése',
'assistant.tool.create_collab_note': 'Közös jegyzet hozzáadása',
'assistant.tool.update_collab_note': 'Közös jegyzet módosítása',
'assistant.tool.delete_collab_note': 'Közös jegyzet törlése',
'assistant.step.collabChat': 'Az utazási csevegés olvasása',
'assistant.step.collabPolls': 'A szavazások olvasása',
'assistant.step.collabNotes': 'A közös jegyzetek olvasása',
};
export default assistantCollab;
+36 -1
View File
@@ -1,4 +1,39 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Obrolan perjalanan',
'assistant.card.collab.openChat': 'Buka obrolan',
'assistant.card.collab.openPolls': 'Buka polling',
'assistant.card.collab.openNotes': 'Buka catatan',
'assistant.card.collab.earlier': '{count} pesan sebelumnya',
'assistant.card.collab.notSent': 'Belum terkirim',
'assistant.card.collab.sent': 'Terkirim',
'assistant.card.collab.failed': 'Tidak terkirim',
'assistant.card.collab.continues': 'Berlanjut di obrolan',
'assistant.card.collab.youDeleted': 'Kamu menghapus pesan',
'assistant.card.collab.newPoll': 'Baru',
'assistant.card.collab.yourVote': 'Suaramu',
'assistant.card.collab.voteTakenBack': 'Suara ditarik',
'assistant.card.collab.pollClosedWarning': 'Polling ini sudah ditutup',
'assistant.card.collab.unknownOption': 'Polling ini tidak punya pilihan itu',
'assistant.card.collab.moreOptions': '{count} pilihan lagi',
'assistant.card.collab.morePolls': '{count} polling lagi',
'assistant.card.collab.moreNotes': '{count} catatan lagi',
'assistant.card.collab.files': '{count} berkas',
'assistant.card.collab.pinned': 'Disematkan',
'assistant.card.collab.unpinned': 'Tidak lagi disematkan',
'assistant.card.collab.reactionRemoved': 'Reaksi {emoji} ditarik',
'assistant.tool.delete_collab_message': 'Hapus pesan obrolan',
'assistant.tool.react_collab_message': 'Beri reaksi di obrolan perjalanan',
'assistant.tool.create_collab_poll': 'Mulai polling',
'assistant.tool.vote_collab_poll': 'Pilih di polling',
'assistant.tool.close_collab_poll': 'Tutup polling',
'assistant.tool.delete_collab_poll': 'Hapus polling',
'assistant.tool.create_collab_note': 'Tambah catatan bersama',
'assistant.tool.update_collab_note': 'Ubah catatan bersama',
'assistant.tool.delete_collab_note': 'Hapus catatan bersama',
'assistant.step.collabChat': 'Membaca obrolan perjalanan',
'assistant.step.collabPolls': 'Membaca polling',
'assistant.step.collabNotes': 'Membaca catatan bersama',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Chat del viaggio',
'assistant.card.collab.openChat': 'Apri la chat',
'assistant.card.collab.openPolls': 'Apri i sondaggi',
'assistant.card.collab.openNotes': 'Apri le note',
'assistant.card.collab.earlier': '{count} messaggi precedenti',
'assistant.card.collab.earlier.one': '{count} messaggio precedente',
'assistant.card.collab.notSent': 'Non ancora inviato',
'assistant.card.collab.sent': 'Inviato',
'assistant.card.collab.failed': 'Non inviato',
'assistant.card.collab.continues': 'Continua nella chat',
'assistant.card.collab.youDeleted': 'Hai eliminato un messaggio',
'assistant.card.collab.newPoll': 'Nuovo',
'assistant.card.collab.yourVote': 'Il tuo voto',
'assistant.card.collab.voteTakenBack': 'Voto ritirato',
'assistant.card.collab.pollClosedWarning': 'Questo sondaggio è chiuso',
'assistant.card.collab.unknownOption': 'Questo sondaggio non ha questa opzione',
'assistant.card.collab.moreOptions': 'Ancora {count} opzioni',
'assistant.card.collab.moreOptions.one': 'Ancora {count} opzione',
'assistant.card.collab.morePolls': 'Ancora {count} sondaggi',
'assistant.card.collab.morePolls.one': 'Ancora {count} sondaggio',
'assistant.card.collab.moreNotes': 'Ancora {count} note',
'assistant.card.collab.moreNotes.one': 'Ancora {count} nota',
'assistant.card.collab.files': '{count} file allegati',
'assistant.card.collab.files.one': '{count} file allegato',
'assistant.card.collab.pinned': 'Fissata',
'assistant.card.collab.unpinned': 'Non più fissata',
'assistant.card.collab.reactionRemoved': 'Reazione {emoji} ritirata',
'assistant.tool.delete_collab_message': 'Elimina il messaggio',
'assistant.tool.react_collab_message': 'Reagisci nella chat del viaggio',
'assistant.tool.create_collab_poll': 'Avvia un sondaggio',
'assistant.tool.vote_collab_poll': 'Vota nel sondaggio',
'assistant.tool.close_collab_poll': 'Chiudi il sondaggio',
'assistant.tool.delete_collab_poll': 'Elimina il sondaggio',
'assistant.tool.create_collab_note': 'Aggiungi una nota condivisa',
'assistant.tool.update_collab_note': 'Modifica la nota condivisa',
'assistant.tool.delete_collab_note': 'Elimina la nota condivisa',
'assistant.step.collabChat': 'Leggo la chat del viaggio',
'assistant.step.collabPolls': 'Leggo i sondaggi',
'assistant.step.collabNotes': 'Leggo le note condivise',
};
export default assistantCollab;
+36 -1
View File
@@ -1,4 +1,39 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': '旅行チャット',
'assistant.card.collab.openChat': 'チャットを開く',
'assistant.card.collab.openPolls': '投票を開く',
'assistant.card.collab.openNotes': 'ノートを開く',
'assistant.card.collab.earlier': 'それ以前のメッセージ {count} 件',
'assistant.card.collab.notSent': '未送信',
'assistant.card.collab.sent': '送信済み',
'assistant.card.collab.failed': '送信できませんでした',
'assistant.card.collab.continues': '続きはチャットで',
'assistant.card.collab.youDeleted': 'メッセージを削除しました',
'assistant.card.collab.newPoll': '新規',
'assistant.card.collab.yourVote': 'あなたの票',
'assistant.card.collab.voteTakenBack': '投票を取り消しました',
'assistant.card.collab.pollClosedWarning': 'この投票は終了しています',
'assistant.card.collab.unknownOption': 'この投票にその選択肢はありません',
'assistant.card.collab.moreOptions': 'ほかに {count} 個の選択肢',
'assistant.card.collab.morePolls': 'ほかに {count} 件の投票',
'assistant.card.collab.moreNotes': 'ほかに {count} 件のノート',
'assistant.card.collab.files': 'ファイル {count} 件',
'assistant.card.collab.pinned': 'ピン留め',
'assistant.card.collab.unpinned': 'ピン留めを解除',
'assistant.card.collab.reactionRemoved': 'リアクション {emoji} を取り消しました',
'assistant.tool.delete_collab_message': 'チャットのメッセージを削除',
'assistant.tool.react_collab_message': '旅行チャットでリアクション',
'assistant.tool.create_collab_poll': '投票を作成',
'assistant.tool.vote_collab_poll': '投票する',
'assistant.tool.close_collab_poll': '投票を締め切る',
'assistant.tool.delete_collab_poll': '投票を削除',
'assistant.tool.create_collab_note': '共有ノートを追加',
'assistant.tool.update_collab_note': '共有ノートを変更',
'assistant.tool.delete_collab_note': '共有ノートを削除',
'assistant.step.collabChat': '旅行チャットを読み込み中',
'assistant.step.collabPolls': '投票を読み込み中',
'assistant.step.collabNotes': '共有ノートを読み込み中',
};
export default assistantCollab;
+36 -1
View File
@@ -1,4 +1,39 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': '여행 채팅',
'assistant.card.collab.openChat': '채팅 열기',
'assistant.card.collab.openPolls': '투표 열기',
'assistant.card.collab.openNotes': '메모 열기',
'assistant.card.collab.earlier': '이전 메시지 {count}개',
'assistant.card.collab.notSent': '아직 보내지 않음',
'assistant.card.collab.sent': '보냄',
'assistant.card.collab.failed': '보내지 못함',
'assistant.card.collab.continues': '채팅에서 이어집니다',
'assistant.card.collab.youDeleted': '메시지를 삭제했습니다',
'assistant.card.collab.newPoll': '새 투표',
'assistant.card.collab.yourVote': '내 표',
'assistant.card.collab.voteTakenBack': '투표를 취소함',
'assistant.card.collab.pollClosedWarning': '이 투표는 종료되었습니다',
'assistant.card.collab.unknownOption': '이 투표에는 그런 선택지가 없습니다',
'assistant.card.collab.moreOptions': '선택지 {count}개 더',
'assistant.card.collab.morePolls': '투표 {count}개 더',
'assistant.card.collab.moreNotes': '메모 {count}개 더',
'assistant.card.collab.files': '파일 {count}개',
'assistant.card.collab.pinned': '고정됨',
'assistant.card.collab.unpinned': '고정 해제됨',
'assistant.card.collab.reactionRemoved': '{emoji} 반응을 취소함',
'assistant.tool.delete_collab_message': '채팅 메시지 삭제',
'assistant.tool.react_collab_message': '여행 채팅에서 반응하기',
'assistant.tool.create_collab_poll': '투표 만들기',
'assistant.tool.vote_collab_poll': '투표하기',
'assistant.tool.close_collab_poll': '투표 마감',
'assistant.tool.delete_collab_poll': '투표 삭제',
'assistant.tool.create_collab_note': '공유 메모 추가',
'assistant.tool.update_collab_note': '공유 메모 변경',
'assistant.tool.delete_collab_note': '공유 메모 삭제',
'assistant.step.collabChat': '여행 채팅을 읽는 중',
'assistant.step.collabPolls': '투표를 읽는 중',
'assistant.step.collabNotes': '공유 메모를 읽는 중',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Reischat',
'assistant.card.collab.openChat': 'Chat openen',
'assistant.card.collab.openPolls': 'Peilingen openen',
'assistant.card.collab.openNotes': 'Notities openen',
'assistant.card.collab.earlier': '{count} oudere berichten',
'assistant.card.collab.earlier.one': '{count} ouder bericht',
'assistant.card.collab.notSent': 'Nog niet verstuurd',
'assistant.card.collab.sent': 'Verstuurd',
'assistant.card.collab.failed': 'Niet verstuurd',
'assistant.card.collab.continues': 'Gaat verder in de chat',
'assistant.card.collab.youDeleted': 'Je hebt een bericht verwijderd',
'assistant.card.collab.newPoll': 'Nieuw',
'assistant.card.collab.yourVote': 'Jouw stem',
'assistant.card.collab.voteTakenBack': 'Stem ingetrokken',
'assistant.card.collab.pollClosedWarning': 'Deze peiling is gesloten',
'assistant.card.collab.unknownOption': 'Deze peiling heeft die optie niet',
'assistant.card.collab.moreOptions': 'Nog {count} opties',
'assistant.card.collab.moreOptions.one': 'Nog {count} optie',
'assistant.card.collab.morePolls': 'Nog {count} peilingen',
'assistant.card.collab.morePolls.one': 'Nog {count} peiling',
'assistant.card.collab.moreNotes': 'Nog {count} notities',
'assistant.card.collab.moreNotes.one': 'Nog {count} notitie',
'assistant.card.collab.files': '{count} bestanden',
'assistant.card.collab.files.one': '{count} bestand',
'assistant.card.collab.pinned': 'Vastgezet',
'assistant.card.collab.unpinned': 'Niet meer vastgezet',
'assistant.card.collab.reactionRemoved': 'Reactie {emoji} ingetrokken',
'assistant.tool.delete_collab_message': 'Chatbericht verwijderen',
'assistant.tool.react_collab_message': 'Reageren in de reischat',
'assistant.tool.create_collab_poll': 'Peiling starten',
'assistant.tool.vote_collab_poll': 'Stemmen in de peiling',
'assistant.tool.close_collab_poll': 'Peiling sluiten',
'assistant.tool.delete_collab_poll': 'Peiling verwijderen',
'assistant.tool.create_collab_note': 'Gedeelde notitie toevoegen',
'assistant.tool.update_collab_note': 'Gedeelde notitie wijzigen',
'assistant.tool.delete_collab_note': 'Gedeelde notitie verwijderen',
'assistant.step.collabChat': 'De reischat lezen',
'assistant.step.collabPolls': 'De peilingen lezen',
'assistant.step.collabNotes': 'De gedeelde notities lezen',
};
export default assistantCollab;
+51 -1
View File
@@ -1,4 +1,54 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Czat podróży',
'assistant.card.collab.openChat': 'Otwórz czat',
'assistant.card.collab.openPolls': 'Otwórz ankiety',
'assistant.card.collab.openNotes': 'Otwórz notatki',
'assistant.card.collab.earlier': '{count} starszej wiadomości',
'assistant.card.collab.earlier.one': '{count} starsza wiadomość',
'assistant.card.collab.earlier.few': '{count} starsze wiadomości',
'assistant.card.collab.earlier.many': '{count} starszych wiadomości',
'assistant.card.collab.notSent': 'Jeszcze nie wysłano',
'assistant.card.collab.sent': 'Wysłano',
'assistant.card.collab.failed': 'Nie wysłano',
'assistant.card.collab.continues': 'Ciąg dalszy na czacie',
'assistant.card.collab.youDeleted': 'Usunąłeś(-aś) wiadomość',
'assistant.card.collab.newPoll': 'Nowa',
'assistant.card.collab.yourVote': 'Twój głos',
'assistant.card.collab.voteTakenBack': 'Głos wycofany',
'assistant.card.collab.pollClosedWarning': 'Ta ankieta jest zamknięta',
'assistant.card.collab.unknownOption': 'Ta ankieta nie ma takiej opcji',
'assistant.card.collab.moreOptions': 'Jeszcze {count} opcji',
'assistant.card.collab.moreOptions.one': 'Jeszcze {count} opcja',
'assistant.card.collab.moreOptions.few': 'Jeszcze {count} opcje',
'assistant.card.collab.moreOptions.many': 'Jeszcze {count} opcji',
'assistant.card.collab.morePolls': 'Jeszcze {count} ankiety',
'assistant.card.collab.morePolls.one': 'Jeszcze {count} ankieta',
'assistant.card.collab.morePolls.few': 'Jeszcze {count} ankiety',
'assistant.card.collab.morePolls.many': 'Jeszcze {count} ankiet',
'assistant.card.collab.moreNotes': 'Jeszcze {count} notatki',
'assistant.card.collab.moreNotes.one': 'Jeszcze {count} notatka',
'assistant.card.collab.moreNotes.few': 'Jeszcze {count} notatki',
'assistant.card.collab.moreNotes.many': 'Jeszcze {count} notatek',
'assistant.card.collab.files': '{count} pliku',
'assistant.card.collab.files.one': '{count} plik',
'assistant.card.collab.files.few': '{count} pliki',
'assistant.card.collab.files.many': '{count} plików',
'assistant.card.collab.pinned': 'Przypięta',
'assistant.card.collab.unpinned': 'Już nie przypięta',
'assistant.card.collab.reactionRemoved': 'Reakcja {emoji} wycofana',
'assistant.tool.delete_collab_message': 'Usuń wiadomość',
'assistant.tool.react_collab_message': 'Zareaguj na czacie podróży',
'assistant.tool.create_collab_poll': 'Utwórz ankietę',
'assistant.tool.vote_collab_poll': 'Zagłosuj w ankiecie',
'assistant.tool.close_collab_poll': 'Zamknij ankietę',
'assistant.tool.delete_collab_poll': 'Usuń ankietę',
'assistant.tool.create_collab_note': 'Dodaj wspólną notatkę',
'assistant.tool.update_collab_note': 'Zmień wspólną notatkę',
'assistant.tool.delete_collab_note': 'Usuń wspólną notatkę',
'assistant.step.collabChat': 'Czytam czat podróży',
'assistant.step.collabPolls': 'Czytam ankiety',
'assistant.step.collabNotes': 'Czytam wspólne notatki',
};
export default assistantCollab;
+51 -1
View File
@@ -1,4 +1,54 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Чат поездки',
'assistant.card.collab.openChat': 'Открыть чат',
'assistant.card.collab.openPolls': 'Открыть опросы',
'assistant.card.collab.openNotes': 'Открыть заметки',
'assistant.card.collab.earlier': '{count} более ранних сообщения',
'assistant.card.collab.earlier.one': '{count} более раннее сообщение',
'assistant.card.collab.earlier.few': '{count} более ранних сообщения',
'assistant.card.collab.earlier.many': '{count} более ранних сообщений',
'assistant.card.collab.notSent': 'Ещё не отправлено',
'assistant.card.collab.sent': 'Отправлено',
'assistant.card.collab.failed': 'Не отправлено',
'assistant.card.collab.continues': 'Продолжение в чате',
'assistant.card.collab.youDeleted': 'Вы удалили сообщение',
'assistant.card.collab.newPoll': 'Новый',
'assistant.card.collab.yourVote': 'Ваш голос',
'assistant.card.collab.voteTakenBack': 'Голос отозван',
'assistant.card.collab.pollClosedWarning': 'Этот опрос закрыт',
'assistant.card.collab.unknownOption': 'В этом опросе нет такого варианта',
'assistant.card.collab.moreOptions': 'Ещё {count} варианта',
'assistant.card.collab.moreOptions.one': 'Ещё {count} вариант',
'assistant.card.collab.moreOptions.few': 'Ещё {count} варианта',
'assistant.card.collab.moreOptions.many': 'Ещё {count} вариантов',
'assistant.card.collab.morePolls': 'Ещё {count} опроса',
'assistant.card.collab.morePolls.one': 'Ещё {count} опрос',
'assistant.card.collab.morePolls.few': 'Ещё {count} опроса',
'assistant.card.collab.morePolls.many': 'Ещё {count} опросов',
'assistant.card.collab.moreNotes': 'Ещё {count} заметки',
'assistant.card.collab.moreNotes.one': 'Ещё {count} заметка',
'assistant.card.collab.moreNotes.few': 'Ещё {count} заметки',
'assistant.card.collab.moreNotes.many': 'Ещё {count} заметок',
'assistant.card.collab.files': '{count} файла',
'assistant.card.collab.files.one': '{count} файл',
'assistant.card.collab.files.few': '{count} файла',
'assistant.card.collab.files.many': '{count} файлов',
'assistant.card.collab.pinned': 'Закреплена',
'assistant.card.collab.unpinned': 'Больше не закреплена',
'assistant.card.collab.reactionRemoved': 'Реакция {emoji} отозвана',
'assistant.tool.delete_collab_message': 'Удалить сообщение',
'assistant.tool.react_collab_message': 'Отреагировать в чате поездки',
'assistant.tool.create_collab_poll': 'Создать опрос',
'assistant.tool.vote_collab_poll': 'Проголосовать в опросе',
'assistant.tool.close_collab_poll': 'Закрыть опрос',
'assistant.tool.delete_collab_poll': 'Удалить опрос',
'assistant.tool.create_collab_note': 'Добавить общую заметку',
'assistant.tool.update_collab_note': 'Изменить общую заметку',
'assistant.tool.delete_collab_note': 'Удалить общую заметку',
'assistant.step.collabChat': 'Читаю чат поездки',
'assistant.step.collabPolls': 'Читаю опросы',
'assistant.step.collabNotes': 'Читаю общие заметки',
};
export default assistantCollab;
+46 -1
View File
@@ -1,4 +1,49 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Chat cesty',
'assistant.card.collab.openChat': 'Otvoriť chat',
'assistant.card.collab.openPolls': 'Otvoriť ankety',
'assistant.card.collab.openNotes': 'Otvoriť poznámky',
'assistant.card.collab.earlier': '{count} starších správ',
'assistant.card.collab.earlier.one': '{count} staršia správa',
'assistant.card.collab.earlier.few': '{count} staršie správy',
'assistant.card.collab.notSent': 'Zatiaľ neodoslané',
'assistant.card.collab.sent': 'Odoslané',
'assistant.card.collab.failed': 'Neodoslané',
'assistant.card.collab.continues': 'Pokračuje v chate',
'assistant.card.collab.youDeleted': 'Vymazal(a) si správu',
'assistant.card.collab.newPoll': 'Nová',
'assistant.card.collab.yourVote': 'Tvoj hlas',
'assistant.card.collab.voteTakenBack': 'Hlas vzatý späť',
'assistant.card.collab.pollClosedWarning': 'Táto anketa je uzavretá',
'assistant.card.collab.unknownOption': 'Táto anketa takú možnosť nemá',
'assistant.card.collab.moreOptions': 'Ďalších {count} možností',
'assistant.card.collab.moreOptions.one': 'Ďalšia {count} možnosť',
'assistant.card.collab.moreOptions.few': 'Ďalšie {count} možnosti',
'assistant.card.collab.morePolls': 'Ďalších {count} ankiet',
'assistant.card.collab.morePolls.one': 'Ďalšia {count} anketa',
'assistant.card.collab.morePolls.few': 'Ďalšie {count} ankety',
'assistant.card.collab.moreNotes': 'Ďalších {count} poznámok',
'assistant.card.collab.moreNotes.one': 'Ďalšia {count} poznámka',
'assistant.card.collab.moreNotes.few': 'Ďalšie {count} poznámky',
'assistant.card.collab.files': '{count} súborov',
'assistant.card.collab.files.one': '{count} súbor',
'assistant.card.collab.files.few': '{count} súbory',
'assistant.card.collab.pinned': 'Pripnuté',
'assistant.card.collab.unpinned': 'Už nie je pripnuté',
'assistant.card.collab.reactionRemoved': 'Reakcia {emoji} vzatá späť',
'assistant.tool.delete_collab_message': 'Vymazať správu',
'assistant.tool.react_collab_message': 'Reagovať v chate cesty',
'assistant.tool.create_collab_poll': 'Spustiť anketu',
'assistant.tool.vote_collab_poll': 'Hlasovať v ankete',
'assistant.tool.close_collab_poll': 'Uzavrieť anketu',
'assistant.tool.delete_collab_poll': 'Vymazať anketu',
'assistant.tool.create_collab_note': 'Pridať zdieľanú poznámku',
'assistant.tool.update_collab_note': 'Zmeniť zdieľanú poznámku',
'assistant.tool.delete_collab_note': 'Vymazať zdieľanú poznámku',
'assistant.step.collabChat': 'Čítam chat cesty',
'assistant.step.collabPolls': 'Čítam ankety',
'assistant.step.collabNotes': 'Čítam zdieľané poznámky',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Reschatt',
'assistant.card.collab.openChat': 'Öppna chatten',
'assistant.card.collab.openPolls': 'Öppna omröstningarna',
'assistant.card.collab.openNotes': 'Öppna noteringarna',
'assistant.card.collab.earlier': '{count} äldre meddelanden',
'assistant.card.collab.earlier.one': '{count} äldre meddelande',
'assistant.card.collab.notSent': 'Inte skickat än',
'assistant.card.collab.sent': 'Skickat',
'assistant.card.collab.failed': 'Inte skickat',
'assistant.card.collab.continues': 'Fortsätter i chatten',
'assistant.card.collab.youDeleted': 'Du raderade ett meddelande',
'assistant.card.collab.newPoll': 'Ny',
'assistant.card.collab.yourVote': 'Din röst',
'assistant.card.collab.voteTakenBack': 'Rösten återtagen',
'assistant.card.collab.pollClosedWarning': 'Den här omröstningen är stängd',
'assistant.card.collab.unknownOption': 'Omröstningen har inget sådant alternativ',
'assistant.card.collab.moreOptions': '{count} alternativ till',
'assistant.card.collab.moreOptions.one': '{count} alternativ till',
'assistant.card.collab.morePolls': '{count} omröstningar till',
'assistant.card.collab.morePolls.one': '{count} omröstning till',
'assistant.card.collab.moreNotes': '{count} noteringar till',
'assistant.card.collab.moreNotes.one': '{count} notering till',
'assistant.card.collab.files': '{count} filer',
'assistant.card.collab.files.one': '{count} fil',
'assistant.card.collab.pinned': 'Fäst',
'assistant.card.collab.unpinned': 'Inte längre fäst',
'assistant.card.collab.reactionRemoved': 'Reaktionen {emoji} återtagen',
'assistant.tool.delete_collab_message': 'Radera chattmeddelandet',
'assistant.tool.react_collab_message': 'Reagera i reschatten',
'assistant.tool.create_collab_poll': 'Starta en omröstning',
'assistant.tool.vote_collab_poll': 'Rösta i omröstningen',
'assistant.tool.close_collab_poll': 'Stäng omröstningen',
'assistant.tool.delete_collab_poll': 'Radera omröstningen',
'assistant.tool.create_collab_note': 'Lägg till en delad notering',
'assistant.tool.update_collab_note': 'Ändra den delade noteringen',
'assistant.tool.delete_collab_note': 'Radera den delade noteringen',
'assistant.step.collabChat': 'Läser reschatten',
'assistant.step.collabPolls': 'Läser omröstningarna',
'assistant.step.collabNotes': 'Läser de delade noteringarna',
};
export default assistantCollab;
+36 -1
View File
@@ -1,4 +1,39 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'แชตทริป',
'assistant.card.collab.openChat': 'เปิดแชต',
'assistant.card.collab.openPolls': 'เปิดโพล',
'assistant.card.collab.openNotes': 'เปิดหมายเหตุ',
'assistant.card.collab.earlier': 'ข้อความก่อนหน้า {count} ข้อความ',
'assistant.card.collab.notSent': 'ยังไม่ได้ส่ง',
'assistant.card.collab.sent': 'ส่งแล้ว',
'assistant.card.collab.failed': 'ส่งไม่สำเร็จ',
'assistant.card.collab.continues': 'อ่านต่อในแชต',
'assistant.card.collab.youDeleted': 'คุณลบข้อความหนึ่งข้อความ',
'assistant.card.collab.newPoll': 'ใหม่',
'assistant.card.collab.yourVote': 'คะแนนของคุณ',
'assistant.card.collab.voteTakenBack': 'ถอนคะแนนแล้ว',
'assistant.card.collab.pollClosedWarning': 'โพลนี้ปิดแล้ว',
'assistant.card.collab.unknownOption': 'โพลนี้ไม่มีตัวเลือกนั้น',
'assistant.card.collab.moreOptions': 'อีก {count} ตัวเลือก',
'assistant.card.collab.morePolls': 'อีก {count} โพล',
'assistant.card.collab.moreNotes': 'อีก {count} หมายเหตุ',
'assistant.card.collab.files': '{count} ไฟล์',
'assistant.card.collab.pinned': 'ปักหมุดแล้ว',
'assistant.card.collab.unpinned': 'เลิกปักหมุดแล้ว',
'assistant.card.collab.reactionRemoved': 'ถอนรีแอ็กชัน {emoji} แล้ว',
'assistant.tool.delete_collab_message': 'ลบข้อความแชต',
'assistant.tool.react_collab_message': 'แสดงความรู้สึกในแชตทริป',
'assistant.tool.create_collab_poll': 'เริ่มโพล',
'assistant.tool.vote_collab_poll': 'โหวตในโพล',
'assistant.tool.close_collab_poll': 'ปิดโพล',
'assistant.tool.delete_collab_poll': 'ลบโพล',
'assistant.tool.create_collab_note': 'เพิ่มหมายเหตุที่แชร์',
'assistant.tool.update_collab_note': 'แก้ไขหมายเหตุที่แชร์',
'assistant.tool.delete_collab_note': 'ลบหมายเหตุที่แชร์',
'assistant.step.collabChat': 'กำลังอ่านแชตทริป',
'assistant.step.collabPolls': 'กำลังอ่านโพล',
'assistant.step.collabNotes': 'กำลังอ่านหมายเหตุที่แชร์',
};
export default assistantCollab;
+41 -1
View File
@@ -1,4 +1,44 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Gezi sohbeti',
'assistant.card.collab.openChat': 'Sohbeti aç',
'assistant.card.collab.openPolls': 'Anketleri aç',
'assistant.card.collab.openNotes': 'Notları aç',
'assistant.card.collab.earlier': '{count} eski mesaj',
'assistant.card.collab.earlier.one': '{count} eski mesaj',
'assistant.card.collab.notSent': 'Henüz gönderilmedi',
'assistant.card.collab.sent': 'Gönderildi',
'assistant.card.collab.failed': 'Gönderilmedi',
'assistant.card.collab.continues': 'Sohbette devam ediyor',
'assistant.card.collab.youDeleted': 'Bir mesajı sildin',
'assistant.card.collab.newPoll': 'Yeni',
'assistant.card.collab.yourVote': 'Oyun',
'assistant.card.collab.voteTakenBack': 'Oy geri alındı',
'assistant.card.collab.pollClosedWarning': 'Bu anket kapalı',
'assistant.card.collab.unknownOption': 'Bu ankette böyle bir seçenek yok',
'assistant.card.collab.moreOptions': '{count} seçenek daha',
'assistant.card.collab.moreOptions.one': '{count} seçenek daha',
'assistant.card.collab.morePolls': '{count} anket daha',
'assistant.card.collab.morePolls.one': '{count} anket daha',
'assistant.card.collab.moreNotes': '{count} not daha',
'assistant.card.collab.moreNotes.one': '{count} not daha',
'assistant.card.collab.files': '{count} dosya',
'assistant.card.collab.files.one': '{count} dosya',
'assistant.card.collab.pinned': 'Sabitlendi',
'assistant.card.collab.unpinned': 'Artık sabitli değil',
'assistant.card.collab.reactionRemoved': '{emoji} tepkisi geri alındı',
'assistant.tool.delete_collab_message': 'Sohbet mesajını sil',
'assistant.tool.react_collab_message': 'Gezi sohbetinde tepki ver',
'assistant.tool.create_collab_poll': 'Anket başlat',
'assistant.tool.vote_collab_poll': 'Ankette oy ver',
'assistant.tool.close_collab_poll': 'Anketi kapat',
'assistant.tool.delete_collab_poll': 'Anketi sil',
'assistant.tool.create_collab_note': 'Ortak not ekle',
'assistant.tool.update_collab_note': 'Ortak notu değiştir',
'assistant.tool.delete_collab_note': 'Ortak notu sil',
'assistant.step.collabChat': 'Gezi sohbeti okunuyor',
'assistant.step.collabPolls': 'Anketler okunuyor',
'assistant.step.collabNotes': 'Ortak notlar okunuyor',
};
export default assistantCollab;
+51 -1
View File
@@ -1,4 +1,54 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Чат подорожі',
'assistant.card.collab.openChat': 'Відкрити чат',
'assistant.card.collab.openPolls': 'Відкрити опитування',
'assistant.card.collab.openNotes': 'Відкрити нотатки',
'assistant.card.collab.earlier': '{count} давнішого повідомлення',
'assistant.card.collab.earlier.one': '{count} давніше повідомлення',
'assistant.card.collab.earlier.few': '{count} давніші повідомлення',
'assistant.card.collab.earlier.many': '{count} давніших повідомлень',
'assistant.card.collab.notSent': 'Ще не надіслано',
'assistant.card.collab.sent': 'Надіслано',
'assistant.card.collab.failed': 'Не надіслано',
'assistant.card.collab.continues': 'Продовження в чаті',
'assistant.card.collab.youDeleted': 'Ви видалили повідомлення',
'assistant.card.collab.newPoll': 'Нове',
'assistant.card.collab.yourVote': 'Ваш голос',
'assistant.card.collab.voteTakenBack': 'Голос відкликано',
'assistant.card.collab.pollClosedWarning': 'Це опитування закрите',
'assistant.card.collab.unknownOption': 'У цьому опитуванні немає такого варіанта',
'assistant.card.collab.moreOptions': 'Ще {count} варіанта',
'assistant.card.collab.moreOptions.one': 'Ще {count} варіант',
'assistant.card.collab.moreOptions.few': 'Ще {count} варіанти',
'assistant.card.collab.moreOptions.many': 'Ще {count} варіантів',
'assistant.card.collab.morePolls': 'Ще {count} опитування',
'assistant.card.collab.morePolls.one': 'Ще {count} опитування',
'assistant.card.collab.morePolls.few': 'Ще {count} опитування',
'assistant.card.collab.morePolls.many': 'Ще {count} опитувань',
'assistant.card.collab.moreNotes': 'Ще {count} нотатки',
'assistant.card.collab.moreNotes.one': 'Ще {count} нотатка',
'assistant.card.collab.moreNotes.few': 'Ще {count} нотатки',
'assistant.card.collab.moreNotes.many': 'Ще {count} нотаток',
'assistant.card.collab.files': '{count} файлу',
'assistant.card.collab.files.one': '{count} файл',
'assistant.card.collab.files.few': '{count} файли',
'assistant.card.collab.files.many': '{count} файлів',
'assistant.card.collab.pinned': 'Закріплено',
'assistant.card.collab.unpinned': 'Більше не закріплено',
'assistant.card.collab.reactionRemoved': 'Реакцію {emoji} відкликано',
'assistant.tool.delete_collab_message': 'Видалити повідомлення',
'assistant.tool.react_collab_message': 'Відреагувати в чаті подорожі',
'assistant.tool.create_collab_poll': 'Створити опитування',
'assistant.tool.vote_collab_poll': 'Проголосувати в опитуванні',
'assistant.tool.close_collab_poll': 'Закрити опитування',
'assistant.tool.delete_collab_poll': 'Видалити опитування',
'assistant.tool.create_collab_note': 'Додати спільну нотатку',
'assistant.tool.update_collab_note': 'Змінити спільну нотатку',
'assistant.tool.delete_collab_note': 'Видалити спільну нотатку',
'assistant.step.collabChat': 'Читаю чат подорожі',
'assistant.step.collabPolls': 'Читаю опитування',
'assistant.step.collabNotes': 'Читаю спільні нотатки',
};
export default assistantCollab;
+36 -1
View File
@@ -1,4 +1,39 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': 'Trò chuyện chuyến đi',
'assistant.card.collab.openChat': 'Mở trò chuyện',
'assistant.card.collab.openPolls': 'Mở thăm dò ý kiến',
'assistant.card.collab.openNotes': 'Mở ghi chú',
'assistant.card.collab.earlier': '{count} tin nhắn cũ hơn',
'assistant.card.collab.notSent': 'Chưa gửi',
'assistant.card.collab.sent': 'Đã gửi',
'assistant.card.collab.failed': 'Không gửi được',
'assistant.card.collab.continues': 'Còn tiếp trong trò chuyện',
'assistant.card.collab.youDeleted': 'Bạn đã xóa một tin nhắn',
'assistant.card.collab.newPoll': 'Mới',
'assistant.card.collab.yourVote': 'Phiếu của bạn',
'assistant.card.collab.voteTakenBack': 'Đã rút phiếu',
'assistant.card.collab.pollClosedWarning': 'Cuộc thăm dò này đã đóng',
'assistant.card.collab.unknownOption': 'Cuộc thăm dò này không có lựa chọn đó',
'assistant.card.collab.moreOptions': 'Thêm {count} lựa chọn',
'assistant.card.collab.morePolls': 'Thêm {count} cuộc thăm dò',
'assistant.card.collab.moreNotes': 'Thêm {count} ghi chú',
'assistant.card.collab.files': '{count} tệp',
'assistant.card.collab.pinned': 'Đã ghim',
'assistant.card.collab.unpinned': 'Không còn ghim',
'assistant.card.collab.reactionRemoved': 'Đã rút biểu cảm {emoji}',
'assistant.tool.delete_collab_message': 'Xóa tin nhắn',
'assistant.tool.react_collab_message': 'Thả cảm xúc trong trò chuyện chuyến đi',
'assistant.tool.create_collab_poll': 'Tạo cuộc thăm dò',
'assistant.tool.vote_collab_poll': 'Bỏ phiếu',
'assistant.tool.close_collab_poll': 'Đóng cuộc thăm dò',
'assistant.tool.delete_collab_poll': 'Xóa cuộc thăm dò',
'assistant.tool.create_collab_note': 'Thêm ghi chú chung',
'assistant.tool.update_collab_note': 'Sửa ghi chú chung',
'assistant.tool.delete_collab_note': 'Xóa ghi chú chung',
'assistant.step.collabChat': 'Đang đọc trò chuyện chuyến đi',
'assistant.step.collabPolls': 'Đang đọc các cuộc thăm dò',
'assistant.step.collabNotes': 'Đang đọc ghi chú chung',
};
export default assistantCollab;
+36 -1
View File
@@ -1,4 +1,39 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': '行程聊天',
'assistant.card.collab.openChat': '開啟聊天',
'assistant.card.collab.openPolls': '開啟投票',
'assistant.card.collab.openNotes': '開啟筆記',
'assistant.card.collab.earlier': '還有 {count} 則較早的訊息',
'assistant.card.collab.notSent': '尚未傳送',
'assistant.card.collab.sent': '已傳送',
'assistant.card.collab.failed': '未傳送',
'assistant.card.collab.continues': '後續內容在聊天中',
'assistant.card.collab.youDeleted': '你刪除了一則訊息',
'assistant.card.collab.newPoll': '新投票',
'assistant.card.collab.yourVote': '你的投票',
'assistant.card.collab.voteTakenBack': '已撤回投票',
'assistant.card.collab.pollClosedWarning': '此投票已關閉',
'assistant.card.collab.unknownOption': '此投票沒有這個選項',
'assistant.card.collab.moreOptions': '還有 {count} 個選項',
'assistant.card.collab.morePolls': '還有 {count} 個投票',
'assistant.card.collab.moreNotes': '還有 {count} 則筆記',
'assistant.card.collab.files': '{count} 個檔案',
'assistant.card.collab.pinned': '已釘選',
'assistant.card.collab.unpinned': '已取消釘選',
'assistant.card.collab.reactionRemoved': '已撤回表情回應 {emoji}',
'assistant.tool.delete_collab_message': '刪除聊天訊息',
'assistant.tool.react_collab_message': '在行程聊天中回應',
'assistant.tool.create_collab_poll': '發起投票',
'assistant.tool.vote_collab_poll': '在投票中投票',
'assistant.tool.close_collab_poll': '關閉投票',
'assistant.tool.delete_collab_poll': '刪除投票',
'assistant.tool.create_collab_note': '新增共享筆記',
'assistant.tool.update_collab_note': '修改共享筆記',
'assistant.tool.delete_collab_note': '刪除共享筆記',
'assistant.step.collabChat': '正在讀取行程聊天',
'assistant.step.collabPolls': '正在讀取投票',
'assistant.step.collabNotes': '正在讀取共享筆記',
};
export default assistantCollab;
+36 -1
View File
@@ -1,4 +1,39 @@
import type { TranslationStrings } from '../types';
const assistantCollab: TranslationStrings = {};
const assistantCollab: TranslationStrings = {
'assistant.card.collab.chatTitle': '行程聊天',
'assistant.card.collab.openChat': '打开聊天',
'assistant.card.collab.openPolls': '打开投票',
'assistant.card.collab.openNotes': '打开笔记',
'assistant.card.collab.earlier': '还有 {count} 条更早的消息',
'assistant.card.collab.notSent': '尚未发送',
'assistant.card.collab.sent': '已发送',
'assistant.card.collab.failed': '未发送',
'assistant.card.collab.continues': '后续内容在聊天中',
'assistant.card.collab.youDeleted': '你删除了一条消息',
'assistant.card.collab.newPoll': '新投票',
'assistant.card.collab.yourVote': '你的投票',
'assistant.card.collab.voteTakenBack': '已撤回投票',
'assistant.card.collab.pollClosedWarning': '此投票已关闭',
'assistant.card.collab.unknownOption': '此投票没有这个选项',
'assistant.card.collab.moreOptions': '还有 {count} 个选项',
'assistant.card.collab.morePolls': '还有 {count} 个投票',
'assistant.card.collab.moreNotes': '还有 {count} 条笔记',
'assistant.card.collab.files': '{count} 个文件',
'assistant.card.collab.pinned': '已置顶',
'assistant.card.collab.unpinned': '已取消置顶',
'assistant.card.collab.reactionRemoved': '已撤回表情回应 {emoji}',
'assistant.tool.delete_collab_message': '删除聊天消息',
'assistant.tool.react_collab_message': '在行程聊天中回应',
'assistant.tool.create_collab_poll': '发起投票',
'assistant.tool.vote_collab_poll': '在投票中投票',
'assistant.tool.close_collab_poll': '关闭投票',
'assistant.tool.delete_collab_poll': '删除投票',
'assistant.tool.create_collab_note': '添加共享笔记',
'assistant.tool.update_collab_note': '修改共享笔记',
'assistant.tool.delete_collab_note': '删除共享笔记',
'assistant.step.collabChat': '正在读取行程聊天',
'assistant.step.collabPolls': '正在读取投票',
'assistant.step.collabNotes': '正在读取共享笔记',
};
export default assistantCollab;