mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-11-13 07:40:59 +00:00
feat(assistant): photo changes of a journal get their own card and ways back
The four new photo link tools join the journal's tools: the journey chat offers them to editors, the trip chat loads them with the journey group and the home chat keeps none. A journeyPhotos card shows the photos as thumbnails with the entries they leave and reach, the first one marked as the cover in a new order, and a caption old to new; a library add shows the photos once they landed. A linked photo comes off again, an unlinked one goes back, moved photos go back and a caption is written back, each while nothing changed since. A new order of an entry's photos and a library add have no way back yet. The journal prompt names the photo tools.
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
import { idSchema } from '../../common/primitives.schema';
|
||||
import { cardCountSchema, cardDateSchema, cardText } from './card-parts';
|
||||
|
||||
import { z } from 'zod';
|
||||
|
||||
/**
|
||||
* Photos of a journal as the assistant chat shows a change of them: one put
|
||||
* on an entry or taken off it, photos moved from one entry to another, an
|
||||
* entry's photos in a new order (the first is its cover), a caption changed,
|
||||
* photos added from a library. A photo travels as its TREK photo id, which
|
||||
* the client turns into TREK's own thumbnail address.
|
||||
*/
|
||||
|
||||
/** How much a card carries; the server clips to the same numbers. */
|
||||
export const JOURNEY_PHOTOS_LIMITS = { photos: 8, caption: 160, title: 100 } as const;
|
||||
|
||||
export const JOURNEY_PHOTOS_MODES = ['link', 'unlink', 'move', 'order', 'caption', 'add'] as const;
|
||||
|
||||
/** An entry the photos leave or reach. */
|
||||
export const journeyPhotosEntrySchema = z.object({
|
||||
entryId: idSchema.nullable(),
|
||||
title: cardText(JOURNEY_PHOTOS_LIMITS.title).nullable(),
|
||||
date: cardDateSchema.nullable(),
|
||||
});
|
||||
export type JourneyPhotosEntry = z.infer<typeof journeyPhotosEntrySchema>;
|
||||
|
||||
export const journeyPhotoLookSchema = z.object({
|
||||
/** The TREK photo, for its thumbnail. */
|
||||
photoId: idSchema,
|
||||
video: z.boolean(),
|
||||
caption: cardText(JOURNEY_PHOTOS_LIMITS.caption).nullable(),
|
||||
});
|
||||
export type JourneyPhotoLook = z.infer<typeof journeyPhotoLookSchema>;
|
||||
|
||||
export const journeyPhotosCardSchema = z.object({
|
||||
kind: z.literal('journeyPhotos'),
|
||||
journeyId: idSchema,
|
||||
mode: z.enum(JOURNEY_PHOTOS_MODES),
|
||||
/** The entry the photos leave (a move, an unlink). */
|
||||
from: journeyPhotosEntrySchema.nullable(),
|
||||
/** The entry the photos reach or whose photos change (a link, a move, a new order, an add). */
|
||||
to: journeyPhotosEntrySchema.nullable(),
|
||||
/** In the order the change leaves them; for a new order, the first is the entry's cover. */
|
||||
photos: z.array(journeyPhotoLookSchema).max(JOURNEY_PHOTOS_LIMITS.photos),
|
||||
/** Photos the change concerns that the card does not carry. */
|
||||
more: cardCountSchema,
|
||||
/** A move that leaves the photos on the first entry as well. */
|
||||
kept: z.boolean(),
|
||||
/** A caption change, old to new; null on every other change. */
|
||||
caption: z
|
||||
.object({
|
||||
before: cardText(JOURNEY_PHOTOS_LIMITS.caption).nullable(),
|
||||
after: cardText(JOURNEY_PHOTOS_LIMITS.caption).nullable(),
|
||||
})
|
||||
.nullable(),
|
||||
});
|
||||
export type JourneyPhotosCard = z.infer<typeof journeyPhotosCardSchema>;
|
||||
@@ -1,8 +1,10 @@
|
||||
import { journeyEntriesCardSchema } from './journey-entries.card';
|
||||
import { journeyHeaderCardSchema } from './journey-header.card';
|
||||
import { journeyPhotosCardSchema } from './journey-photos.card';
|
||||
|
||||
export * from './journey-entries.card';
|
||||
export * from './journey-header.card';
|
||||
export * from './journey-photos.card';
|
||||
|
||||
/**
|
||||
* What the travel journal brings to the assistant chat: the kinds of card it draws,
|
||||
@@ -11,11 +13,16 @@ export * from './journey-header.card';
|
||||
* spread these into the card union and the shared enums, so a new kind, verb
|
||||
* or entity is added here and nowhere else.
|
||||
*/
|
||||
export const JOURNEY_CARD_SCHEMAS = [journeyEntriesCardSchema, journeyHeaderCardSchema] as const;
|
||||
export const JOURNEY_CARD_SCHEMAS = [
|
||||
journeyEntriesCardSchema,
|
||||
journeyHeaderCardSchema,
|
||||
journeyPhotosCardSchema,
|
||||
] as const;
|
||||
/**
|
||||
* An entry written, changed or deleted, the entries put in a new order; a journal started, renamed, given
|
||||
* another status or other settings, deleted; a trip linked or unlinked; its
|
||||
* suggestions brought back; the user's own view of it changed.
|
||||
* suggestions brought back; the user's own view of it changed; a photo put on
|
||||
* an entry, taken off, moved, put in order, captioned or added.
|
||||
*/
|
||||
export const JOURNEY_VERB_KEYS = [
|
||||
'addJournalEntry',
|
||||
@@ -31,6 +38,12 @@ export const JOURNEY_VERB_KEYS = [
|
||||
'unlinkJournalTrip',
|
||||
'restoreJournalSuggestions',
|
||||
'setJournalPreferences',
|
||||
'linkJournalPhoto',
|
||||
'unlinkJournalPhoto',
|
||||
'moveJournalPhotos',
|
||||
'orderJournalPhotos',
|
||||
'captionJournalPhoto',
|
||||
'addJournalPhotos',
|
||||
] as const;
|
||||
/** An entry of a journal, or the journal itself; the receipt opens it there. */
|
||||
export const JOURNEY_APPLIED_ENTITIES = ['journey_entry', 'journey'] as const;
|
||||
|
||||
@@ -90,5 +90,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.cons.two': '{count} نقطتان سلبيتان',
|
||||
'assistant.card.journey.cons.few': '{count} نقاط سلبية',
|
||||
'assistant.card.journey.cons.many': '{count} نقطة سلبية',
|
||||
'assistant.change.verb.linkJournalPhoto': 'إضافة صورة إلى المدخل',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'إزالة صورة من المدخل',
|
||||
'assistant.change.verb.moveJournalPhotos': 'نقل الصور إلى مدخل آخر',
|
||||
'assistant.change.verb.orderJournalPhotos': 'إعادة ترتيب صور المدخل',
|
||||
'assistant.change.verb.captionJournalPhoto': 'تغيير تعليق صورة',
|
||||
'assistant.change.verb.addJournalPhotos': 'إضافة صور من المكتبة',
|
||||
'assistant.card.journeyPhotos.cover': 'غلاف المدخل',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'تصبح الصورة الأولى غلاف المدخل.',
|
||||
'assistant.card.journeyPhotos.kept': 'تبقى أيضًا في المدخل الأول.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'تبقى الصور في معرض اليوميات.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'من مكتبة صورك؛ تحتفظ اليوميات بمرجع إليها فقط.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -60,5 +60,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} müsbət cəhət',
|
||||
'assistant.card.journey.cons': '{count} mənfi cəhət',
|
||||
'assistant.card.journey.cons.one': '{count} mənfi cəhət',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Şəkli qeydə əlavə et',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Şəkli qeyddən götür',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Şəkilləri başqa qeydə köçür',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Qeydin şəkillərini yenidən sırala',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Şəklin başlığını dəyiş',
|
||||
'assistant.change.verb.addJournalPhotos': 'Kitabxanadan şəkil əlavə et',
|
||||
'assistant.card.journeyPhotos.cover': 'Qeydin üz şəkli',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'İlk şəkil qeydin üz şəkli olur.',
|
||||
'assistant.card.journeyPhotos.kept': 'Onlar birinci qeyddə də qalır.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Şəkillər gündəliyin qalereyasında qalır.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Şəkil kitabxanandan; gündəlik yalnız istinadı saxlayır.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -58,5 +58,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} ponto positivo',
|
||||
'assistant.card.journey.cons': '{count} pontos negativos',
|
||||
'assistant.card.journey.cons.one': '{count} ponto negativo',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Colocar uma foto na entrada',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Tirar uma foto da entrada',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Mover fotos para outra entrada',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Reordenar as fotos da entrada',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Mudar a legenda de uma foto',
|
||||
'assistant.change.verb.addJournalPhotos': 'Adicionar fotos da biblioteca',
|
||||
'assistant.card.journeyPhotos.cover': 'Capa da entrada',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'A primeira foto vira a capa da entrada.',
|
||||
'assistant.card.journeyPhotos.kept': 'Elas também ficam na primeira entrada.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'As fotos continuam na galeria do diário.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Da sua biblioteca de fotos; o diário guarda só a referência.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -58,5 +58,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} punt fort',
|
||||
'assistant.card.journey.cons': '{count} punts febles',
|
||||
'assistant.card.journey.cons.one': '{count} punt feble',
|
||||
'assistant.change.verb.linkJournalPhoto': "Posar una foto a l'entrada",
|
||||
'assistant.change.verb.unlinkJournalPhoto': "Treure una foto de l'entrada",
|
||||
'assistant.change.verb.moveJournalPhotos': 'Moure fotos a una altra entrada',
|
||||
'assistant.change.verb.orderJournalPhotos': "Reordenar les fotos de l'entrada",
|
||||
'assistant.change.verb.captionJournalPhoto': "Canviar el peu d'una foto",
|
||||
'assistant.change.verb.addJournalPhotos': 'Afegir fotos de la biblioteca',
|
||||
'assistant.card.journeyPhotos.cover': "Portada de l'entrada",
|
||||
'assistant.card.journeyPhotos.firstIsCover': "La primera foto passa a ser la portada de l'entrada.",
|
||||
'assistant.card.journeyPhotos.kept': 'També es queden a la primera entrada.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Les fotos es queden a la galeria del diari.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'De la teva biblioteca de fotos; el diari només en desa la referència.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -66,5 +66,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.cons': '{count} minusů',
|
||||
'assistant.card.journey.cons.one': '{count} minus',
|
||||
'assistant.card.journey.cons.few': '{count} minusy',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Přidat fotku k záznamu',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Odebrat fotku ze záznamu',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Přesunout fotky do jiného záznamu',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Přeuspořádat fotky záznamu',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Změnit popisek fotky',
|
||||
'assistant.change.verb.addJournalPhotos': 'Přidat fotky z knihovny',
|
||||
'assistant.card.journeyPhotos.cover': 'Titulní fotka záznamu',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'První fotka se stane titulní fotkou záznamu.',
|
||||
'assistant.card.journeyPhotos.kept': 'Zůstanou i u prvního záznamu.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Fotky zůstanou v galerii deníku.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Z tvé knihovny fotek; deník si uloží jen odkaz.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -60,5 +60,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} Pluspunkt',
|
||||
'assistant.card.journey.cons': '{count} Minuspunkte',
|
||||
'assistant.card.journey.cons.one': '{count} Minuspunkt',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Foto zum Eintrag legen',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Foto vom Eintrag nehmen',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Fotos in einen anderen Eintrag verschieben',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Fotos des Eintrags neu ordnen',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Bildunterschrift ändern',
|
||||
'assistant.change.verb.addJournalPhotos': 'Fotos aus der Bibliothek hinzufügen',
|
||||
'assistant.card.journeyPhotos.cover': 'Titelbild des Eintrags',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Das erste Foto wird zum Titelbild des Eintrags.',
|
||||
'assistant.card.journeyPhotos.kept': 'Sie bleiben auch beim ersten Eintrag.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Die Fotos bleiben in der Galerie des Journals.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Aus deiner Fotobibliothek; das Journal merkt sich nur den Verweis.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -58,5 +58,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} good point',
|
||||
'assistant.card.journey.cons': '{count} weak points',
|
||||
'assistant.card.journey.cons.one': '{count} weak point',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Put a photo on the entry',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Take a photo off the entry',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Move photos to another entry',
|
||||
'assistant.change.verb.orderJournalPhotos': "Put the entry's photos in a new order",
|
||||
'assistant.change.verb.captionJournalPhoto': "Change a photo's caption",
|
||||
'assistant.change.verb.addJournalPhotos': 'Add photos from the library',
|
||||
'assistant.card.journeyPhotos.cover': 'Entry cover',
|
||||
'assistant.card.journeyPhotos.firstIsCover': "The first photo becomes the entry's cover.",
|
||||
'assistant.card.journeyPhotos.kept': 'They also stay on the first entry.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': "The photos stay in the journal's gallery.",
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'From your photo library; the journal keeps a reference.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -59,5 +59,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} punto a favor',
|
||||
'assistant.card.journey.cons': '{count} puntos en contra',
|
||||
'assistant.card.journey.cons.one': '{count} punto en contra',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Poner una foto en la entrada',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Quitar una foto de la entrada',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Mover fotos a otra entrada',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Reordenar las fotos de la entrada',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Cambiar el pie de una foto',
|
||||
'assistant.change.verb.addJournalPhotos': 'Añadir fotos de la biblioteca',
|
||||
'assistant.card.journeyPhotos.cover': 'Portada de la entrada',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'La primera foto pasa a ser la portada de la entrada.',
|
||||
'assistant.card.journeyPhotos.kept': 'También se quedan en la primera entrada.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Las fotos se quedan en la galería del diario.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'De tu biblioteca de fotos; el diario solo guarda la referencia.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -59,5 +59,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} pluss',
|
||||
'assistant.card.journey.cons': '{count} miinust',
|
||||
'assistant.card.journey.cons.one': '{count} miinus',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Lisa foto sissekandele',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Eemalda foto sissekandelt',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Tõsta fotod teisele sissekandele',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Järjesta sissekande fotod ümber',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Muuda foto pealdist',
|
||||
'assistant.change.verb.addJournalPhotos': 'Lisa fotod kogust',
|
||||
'assistant.card.journeyPhotos.cover': 'Sissekande kaanepilt',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Esimesest fotost saab sissekande kaanepilt.',
|
||||
'assistant.card.journeyPhotos.kept': 'Need jäävad ka esimesele sissekandele.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Fotod jäävad päeviku galeriisse.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Sinu fotokogust; päevik hoiab ainult viidet.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -60,5 +60,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} point fort',
|
||||
'assistant.card.journey.cons': '{count} points faibles',
|
||||
'assistant.card.journey.cons.one': '{count} point faible',
|
||||
'assistant.change.verb.linkJournalPhoto': "Ajouter une photo à l'entrée",
|
||||
'assistant.change.verb.unlinkJournalPhoto': "Retirer une photo de l'entrée",
|
||||
'assistant.change.verb.moveJournalPhotos': 'Déplacer des photos vers une autre entrée',
|
||||
'assistant.change.verb.orderJournalPhotos': "Réordonner les photos de l'entrée",
|
||||
'assistant.change.verb.captionJournalPhoto': "Modifier la légende d'une photo",
|
||||
'assistant.change.verb.addJournalPhotos': 'Ajouter des photos de la photothèque',
|
||||
'assistant.card.journeyPhotos.cover': "Couverture de l'entrée",
|
||||
'assistant.card.journeyPhotos.firstIsCover': "La première photo devient la couverture de l'entrée.",
|
||||
'assistant.card.journeyPhotos.kept': 'Elles restent aussi sur la première entrée.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Les photos restent dans la galerie du journal.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': "Depuis votre photothèque ; le journal ne garde qu'une référence.",
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -60,5 +60,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} θετικό',
|
||||
'assistant.card.journey.cons': '{count} αρνητικά',
|
||||
'assistant.card.journey.cons.one': '{count} αρνητικό',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Προσθήκη φωτογραφίας στην καταχώριση',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Αφαίρεση φωτογραφίας από την καταχώριση',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Μετακίνηση φωτογραφιών σε άλλη καταχώριση',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Αναδιάταξη φωτογραφιών της καταχώρισης',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Αλλαγή λεζάντας φωτογραφίας',
|
||||
'assistant.change.verb.addJournalPhotos': 'Προσθήκη φωτογραφιών από τη βιβλιοθήκη',
|
||||
'assistant.card.journeyPhotos.cover': 'Εξώφυλλο καταχώρισης',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Η πρώτη φωτογραφία γίνεται εξώφυλλο της καταχώρισης.',
|
||||
'assistant.card.journeyPhotos.kept': 'Μένουν και στην πρώτη καταχώριση.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Οι φωτογραφίες μένουν στη συλλογή του ημερολογίου.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Από τη βιβλιοθήκη φωτογραφιών σου· το ημερολόγιο κρατά μόνο αναφορά.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -60,5 +60,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} előny',
|
||||
'assistant.card.journey.cons': '{count} hátrány',
|
||||
'assistant.card.journey.cons.one': '{count} hátrány',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Fotó hozzáadása a bejegyzéshez',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Fotó levétele a bejegyzésről',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Fotók áthelyezése másik bejegyzéshez',
|
||||
'assistant.change.verb.orderJournalPhotos': 'A bejegyzés fotóinak átrendezése',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Fotó feliratának módosítása',
|
||||
'assistant.change.verb.addJournalPhotos': 'Fotók hozzáadása a könyvtárból',
|
||||
'assistant.card.journeyPhotos.cover': 'A bejegyzés borítóképe',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Az első fotó lesz a bejegyzés borítóképe.',
|
||||
'assistant.card.journeyPhotos.kept': 'Az első bejegyzésen is megmaradnak.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'A fotók a napló galériájában maradnak.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'A fotókönyvtáradból; a napló csak hivatkozást tárol.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -51,5 +51,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.change.verb.reorderJournalEntries': 'Urutkan ulang entri',
|
||||
'assistant.card.journey.pros': '{count} hal positif',
|
||||
'assistant.card.journey.cons': '{count} hal negatif',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Taruh foto di entri',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Lepas foto dari entri',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Pindahkan foto ke entri lain',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Urutkan ulang foto entri',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Ubah keterangan foto',
|
||||
'assistant.change.verb.addJournalPhotos': 'Tambahkan foto dari pustaka',
|
||||
'assistant.card.journeyPhotos.cover': 'Sampul entri',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Foto pertama menjadi sampul entri.',
|
||||
'assistant.card.journeyPhotos.kept': 'Foto juga tetap di entri pertama.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Foto tetap ada di galeri jurnal.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Dari pustaka fotomu; jurnal hanya menyimpan rujukannya.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -59,5 +59,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} punto a favore',
|
||||
'assistant.card.journey.cons': '{count} punti a sfavore',
|
||||
'assistant.card.journey.cons.one': '{count} punto a sfavore',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Aggiungi una foto alla voce',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Togli una foto dalla voce',
|
||||
'assistant.change.verb.moveJournalPhotos': "Sposta le foto in un'altra voce",
|
||||
'assistant.change.verb.orderJournalPhotos': 'Riordina le foto della voce',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Cambia la didascalia di una foto',
|
||||
'assistant.change.verb.addJournalPhotos': 'Aggiungi foto dalla libreria',
|
||||
'assistant.card.journeyPhotos.cover': 'Copertina della voce',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'La prima foto diventa la copertina della voce.',
|
||||
'assistant.card.journeyPhotos.kept': 'Restano anche nella prima voce.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Le foto restano nella galleria del diario.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Dalla tua libreria di foto; il diario ne tiene solo il riferimento.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -50,5 +50,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.change.verb.reorderJournalEntries': 'エントリーを並べ替える',
|
||||
'assistant.card.journey.pros': '良い点 {count} 件',
|
||||
'assistant.card.journey.cons': '残念な点 {count} 件',
|
||||
'assistant.change.verb.linkJournalPhoto': 'エントリーに写真を追加',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'エントリーから写真を外す',
|
||||
'assistant.change.verb.moveJournalPhotos': '写真を別のエントリーへ移動',
|
||||
'assistant.change.verb.orderJournalPhotos': 'エントリーの写真を並べ替える',
|
||||
'assistant.change.verb.captionJournalPhoto': '写真のキャプションを変更',
|
||||
'assistant.change.verb.addJournalPhotos': 'ライブラリから写真を追加',
|
||||
'assistant.card.journeyPhotos.cover': 'エントリーのカバー',
|
||||
'assistant.card.journeyPhotos.firstIsCover': '最初の写真がエントリーのカバーになります。',
|
||||
'assistant.card.journeyPhotos.kept': '最初のエントリーにも残ります。',
|
||||
'assistant.card.journeyPhotos.staysInGallery': '写真はジャーナルのギャラリーに残ります。',
|
||||
'assistant.card.journeyPhotos.fromLibrary': '写真ライブラリから。ジャーナルには参照だけが保存されます。',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -50,5 +50,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.change.verb.reorderJournalEntries': '항목 순서 바꾸기',
|
||||
'assistant.card.journey.pros': '좋은 점 {count}개',
|
||||
'assistant.card.journey.cons': '아쉬운 점 {count}개',
|
||||
'assistant.change.verb.linkJournalPhoto': '항목에 사진 넣기',
|
||||
'assistant.change.verb.unlinkJournalPhoto': '항목에서 사진 빼기',
|
||||
'assistant.change.verb.moveJournalPhotos': '사진을 다른 항목으로 옮기기',
|
||||
'assistant.change.verb.orderJournalPhotos': '항목 사진 순서 바꾸기',
|
||||
'assistant.change.verb.captionJournalPhoto': '사진 설명 바꾸기',
|
||||
'assistant.change.verb.addJournalPhotos': '라이브러리에서 사진 추가',
|
||||
'assistant.card.journeyPhotos.cover': '항목 표지',
|
||||
'assistant.card.journeyPhotos.firstIsCover': '첫 번째 사진이 항목 표지가 돼요.',
|
||||
'assistant.card.journeyPhotos.kept': '첫 번째 항목에도 남아요.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': '사진은 저널 갤러리에 남아요.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': '사진 라이브러리에서 가져와요. 저널에는 참조만 저장돼요.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -59,5 +59,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} pluspunt',
|
||||
'assistant.card.journey.cons': '{count} minpunten',
|
||||
'assistant.card.journey.cons.one': '{count} minpunt',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Foto bij het bericht zetten',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Foto van het bericht halen',
|
||||
'assistant.change.verb.moveJournalPhotos': "Foto's naar een ander bericht verplaatsen",
|
||||
'assistant.change.verb.orderJournalPhotos': "Foto's van het bericht opnieuw ordenen",
|
||||
'assistant.change.verb.captionJournalPhoto': 'Bijschrift van een foto wijzigen',
|
||||
'assistant.change.verb.addJournalPhotos': "Foto's uit de bibliotheek toevoegen",
|
||||
'assistant.card.journeyPhotos.cover': 'Omslag van het bericht',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'De eerste foto wordt de omslag van het bericht.',
|
||||
'assistant.card.journeyPhotos.kept': 'Ze blijven ook bij het eerste bericht.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': "De foto's blijven in de galerij van het dagboek.",
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Uit je fotobibliotheek; het dagboek bewaart alleen een verwijzing.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -75,5 +75,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.cons.one': '{count} minus',
|
||||
'assistant.card.journey.cons.few': '{count} minusy',
|
||||
'assistant.card.journey.cons.many': '{count} minusów',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Dodaj zdjęcie do wpisu',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Usuń zdjęcie z wpisu',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Przenieś zdjęcia do innego wpisu',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Zmień kolejność zdjęć wpisu',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Zmień podpis zdjęcia',
|
||||
'assistant.change.verb.addJournalPhotos': 'Dodaj zdjęcia z biblioteki',
|
||||
'assistant.card.journeyPhotos.cover': 'Okładka wpisu',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Pierwsze zdjęcie staje się okładką wpisu.',
|
||||
'assistant.card.journeyPhotos.kept': 'Zostają też przy pierwszym wpisie.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Zdjęcia zostają w galerii dziennika.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Z twojej biblioteki zdjęć; dziennik zapisuje tylko odnośnik.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -75,5 +75,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.cons.one': '{count} минус',
|
||||
'assistant.card.journey.cons.few': '{count} минуса',
|
||||
'assistant.card.journey.cons.many': '{count} минусов',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Добавить фото к записи',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Убрать фото из записи',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Перенести фото в другую запись',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Изменить порядок фото записи',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Изменить подпись к фото',
|
||||
'assistant.change.verb.addJournalPhotos': 'Добавить фото из библиотеки',
|
||||
'assistant.card.journeyPhotos.cover': 'Обложка записи',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Первое фото станет обложкой записи.',
|
||||
'assistant.card.journeyPhotos.kept': 'Они останутся и в первой записи.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Фото останутся в галерее дневника.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Из твоей фотобиблиотеки; дневник хранит только ссылку.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -66,5 +66,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.cons': '{count} mínusov',
|
||||
'assistant.card.journey.cons.one': '{count} mínus',
|
||||
'assistant.card.journey.cons.few': '{count} mínusy',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Pridať fotku k záznamu',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Odobrať fotku zo záznamu',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Presunúť fotky do iného záznamu',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Preusporiadať fotky záznamu',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Zmeniť popis fotky',
|
||||
'assistant.change.verb.addJournalPhotos': 'Pridať fotky z knižnice',
|
||||
'assistant.card.journeyPhotos.cover': 'Titulná fotka záznamu',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Prvá fotka sa stane titulnou fotkou záznamu.',
|
||||
'assistant.card.journeyPhotos.kept': 'Zostanú aj pri prvom zázname.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Fotky zostanú v galérii denníka.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Z tvojej knižnice fotiek; denník si uloží len odkaz.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -58,5 +58,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} fördel',
|
||||
'assistant.card.journey.cons': '{count} nackdelar',
|
||||
'assistant.card.journey.cons.one': '{count} nackdel',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Lägg ett foto på inlägget',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Ta bort ett foto från inlägget',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Flytta foton till ett annat inlägg',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Ordna om inläggets foton',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Ändra ett fotos bildtext',
|
||||
'assistant.change.verb.addJournalPhotos': 'Lägg till foton från biblioteket',
|
||||
'assistant.card.journeyPhotos.cover': 'Inläggets omslag',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Det första fotot blir inläggets omslag.',
|
||||
'assistant.card.journeyPhotos.kept': 'De finns kvar på det första inlägget också.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Fotona finns kvar i dagbokens galleri.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Från ditt fotobibliotek; dagboken sparar bara en hänvisning.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -50,5 +50,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.change.verb.reorderJournalEntries': 'จัดลำดับรายการใหม่',
|
||||
'assistant.card.journey.pros': 'ข้อดี {count} ข้อ',
|
||||
'assistant.card.journey.cons': 'ข้อเสีย {count} ข้อ',
|
||||
'assistant.change.verb.linkJournalPhoto': 'ใส่รูปในรายการ',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'เอารูปออกจากรายการ',
|
||||
'assistant.change.verb.moveJournalPhotos': 'ย้ายรูปไปยังรายการอื่น',
|
||||
'assistant.change.verb.orderJournalPhotos': 'จัดลำดับรูปของรายการใหม่',
|
||||
'assistant.change.verb.captionJournalPhoto': 'เปลี่ยนคำบรรยายรูป',
|
||||
'assistant.change.verb.addJournalPhotos': 'เพิ่มรูปจากคลังภาพ',
|
||||
'assistant.card.journeyPhotos.cover': 'ภาพปกของรายการ',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'รูปแรกจะกลายเป็นภาพปกของรายการ',
|
||||
'assistant.card.journeyPhotos.kept': 'รูปยังคงอยู่ในรายการแรกด้วย',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'รูปยังอยู่ในแกลเลอรีของบันทึก',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'จากคลังภาพของคุณ บันทึกเก็บไว้เพียงลิงก์อ้างอิง',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -59,5 +59,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.pros.one': '{count} artı',
|
||||
'assistant.card.journey.cons': '{count} eksi',
|
||||
'assistant.card.journey.cons.one': '{count} eksi',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Kayda fotoğraf ekle',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Fotoğrafı kayıttan kaldır',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Fotoğrafları başka kayda taşı',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Kaydın fotoğraflarını yeniden sırala',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Fotoğraf açıklamasını değiştir',
|
||||
'assistant.change.verb.addJournalPhotos': 'Kitaplıktan fotoğraf ekle',
|
||||
'assistant.card.journeyPhotos.cover': 'Kayıt kapağı',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'İlk fotoğraf kaydın kapağı olur.',
|
||||
'assistant.card.journeyPhotos.kept': 'İlk kayıtta da kalırlar.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Fotoğraflar günlüğün galerisinde kalır.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Fotoğraf kitaplığından; günlük yalnızca bağlantıyı saklar.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -75,5 +75,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.card.journey.cons.one': '{count} мінус',
|
||||
'assistant.card.journey.cons.few': '{count} мінуси',
|
||||
'assistant.card.journey.cons.many': '{count} мінусів',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Додати фото до запису',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Прибрати фото із запису',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Перенести фото до іншого запису',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Змінити порядок фото запису',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Змінити підпис до фото',
|
||||
'assistant.change.verb.addJournalPhotos': 'Додати фото з бібліотеки',
|
||||
'assistant.card.journeyPhotos.cover': 'Обкладинка запису',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Перше фото стане обкладинкою запису.',
|
||||
'assistant.card.journeyPhotos.kept': 'Вони залишаться і в першому записі.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Фото залишаться в галереї щоденника.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'З твоєї фотобібліотеки; щоденник зберігає лише посилання.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -51,5 +51,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.change.verb.reorderJournalEntries': 'Sắp xếp lại các mục',
|
||||
'assistant.card.journey.pros': '{count} điểm cộng',
|
||||
'assistant.card.journey.cons': '{count} điểm trừ',
|
||||
'assistant.change.verb.linkJournalPhoto': 'Thêm ảnh vào mục',
|
||||
'assistant.change.verb.unlinkJournalPhoto': 'Bỏ ảnh khỏi mục',
|
||||
'assistant.change.verb.moveJournalPhotos': 'Chuyển ảnh sang mục khác',
|
||||
'assistant.change.verb.orderJournalPhotos': 'Sắp xếp lại ảnh của mục',
|
||||
'assistant.change.verb.captionJournalPhoto': 'Đổi chú thích ảnh',
|
||||
'assistant.change.verb.addJournalPhotos': 'Thêm ảnh từ thư viện',
|
||||
'assistant.card.journeyPhotos.cover': 'Ảnh bìa của mục',
|
||||
'assistant.card.journeyPhotos.firstIsCover': 'Ảnh đầu tiên sẽ thành ảnh bìa của mục.',
|
||||
'assistant.card.journeyPhotos.kept': 'Ảnh vẫn được giữ ở mục đầu tiên.',
|
||||
'assistant.card.journeyPhotos.staysInGallery': 'Ảnh vẫn ở trong thư viện ảnh của nhật ký.',
|
||||
'assistant.card.journeyPhotos.fromLibrary': 'Từ thư viện ảnh của bạn; nhật ký chỉ lưu liên kết tham chiếu.',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -50,5 +50,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.change.verb.reorderJournalEntries': '重新排列條目',
|
||||
'assistant.card.journey.pros': '{count} 個優點',
|
||||
'assistant.card.journey.cons': '{count} 個不足',
|
||||
'assistant.change.verb.linkJournalPhoto': '將照片放到條目上',
|
||||
'assistant.change.verb.unlinkJournalPhoto': '從條目上移除照片',
|
||||
'assistant.change.verb.moveJournalPhotos': '將照片移到另一個條目',
|
||||
'assistant.change.verb.orderJournalPhotos': '重新排列條目的照片',
|
||||
'assistant.change.verb.captionJournalPhoto': '變更照片說明',
|
||||
'assistant.change.verb.addJournalPhotos': '從圖庫加入照片',
|
||||
'assistant.card.journeyPhotos.cover': '條目封面',
|
||||
'assistant.card.journeyPhotos.firstIsCover': '第一張照片會成為條目封面。',
|
||||
'assistant.card.journeyPhotos.kept': '它們也會保留在第一個條目上。',
|
||||
'assistant.card.journeyPhotos.staysInGallery': '照片會保留在日誌圖庫中。',
|
||||
'assistant.card.journeyPhotos.fromLibrary': '來自你的照片圖庫,日誌只保存參照。',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
@@ -50,5 +50,16 @@ const assistantJourney: TranslationStrings = {
|
||||
'assistant.change.verb.reorderJournalEntries': '重新排列条目',
|
||||
'assistant.card.journey.pros': '{count} 个优点',
|
||||
'assistant.card.journey.cons': '{count} 个不足',
|
||||
'assistant.change.verb.linkJournalPhoto': '将照片放到条目上',
|
||||
'assistant.change.verb.unlinkJournalPhoto': '从条目上移除照片',
|
||||
'assistant.change.verb.moveJournalPhotos': '将照片移到另一个条目',
|
||||
'assistant.change.verb.orderJournalPhotos': '重新排列条目的照片',
|
||||
'assistant.change.verb.captionJournalPhoto': '更改照片说明',
|
||||
'assistant.change.verb.addJournalPhotos': '从图库添加照片',
|
||||
'assistant.card.journeyPhotos.cover': '条目封面',
|
||||
'assistant.card.journeyPhotos.firstIsCover': '第一张照片会成为条目封面。',
|
||||
'assistant.card.journeyPhotos.kept': '它们也会保留在第一个条目上。',
|
||||
'assistant.card.journeyPhotos.staysInGallery': '照片会保留在日志图库中。',
|
||||
'assistant.card.journeyPhotos.fromLibrary': '来自你的照片图库,日志只保存引用。',
|
||||
};
|
||||
export default assistantJourney;
|
||||
|
||||
Reference in New Issue
Block a user