Compare commits

...

6 Commits

128 changed files with 5055 additions and 139 deletions
+7
View File
@@ -91,6 +91,13 @@ export const MAX_IMPLICIT_MATCHES = 30;
* entry nothing uses any more fails, so the list cannot rot.
*/
export const DYNAMIC_ALLOWED = [
{
file: 'components/Studio/shapes.ts',
template: 'journey.studio.shapeName.${shape}',
because:
'shapeName takes a BookShapeId; shared/src/book/book-shape-catalogue.spec.ts holds an en name for every ' +
'shape of BOOK_SHAPE_GROUPS',
},
{
file: 'components/Trips/TripShareDialog.tsx',
template: '${opt.label}Hint',
@@ -20,7 +20,6 @@ import {
Ungroup,
type LucideIcon,
} from 'lucide-react';
import { useState } from 'react';
import { useStudioStore } from '../../store/studioStore';
import '../../styles/studio-panels.css';
@@ -118,7 +117,8 @@ export function StudioArrangeSection({
const copyStyle = useStudioStore((s) => s.copyStyle);
const pasteStyle = useStudioStore((s) => s.pasteStyle);
const keys = useStudioShortcut();
const [chosenTo, setChosenTo] = useState<BookAlignTo | null>(null);
const chosenTo = useStudioStore((s) => s.alignTo);
const setChosenTo = useStudioStore((s) => s.setAlignTo);
if (!spread || !selection.length) return null;
const sel = spread.elements.filter((e) => selection.includes(e.id));
@@ -2,7 +2,7 @@ import { useId, useState } from 'react'
import { Frame, Minus, Quote, Shapes, Spline, Sparkles, Square, Sticker, Type, type LucideIcon } from 'lucide-react'
import type { BookElement, BookPageSetup, BookShapeId } from '@trek/shared'
import { useStudioStore } from '../../store/studioStore'
import { FRAME_SHAPES, HOLED_SHAPES, SHAPE_GROUPS } from './shapes'
import { FRAME_SHAPES, HOLED_SHAPES, SHAPE_GROUPS, shapeName } from './shapes'
import {
BOOK_GRIDS as GRIDS, MAX_SPREAD_ELEMENTS, bookElementId, bookShapeSize, bookGridElements as gridElements,
defaultBookGridBox as defaultGridBox,
@@ -276,7 +276,8 @@ function ShapesTab({ addShape, t }: { addShape: Adders['addShape']; t: (k: strin
key={shape}
className="st-shape-btn is-glyph"
onClick={() => addShape(shape)}
aria-label={shape}
title={shapeName(shape, t)}
aria-label={shapeName(shape, t)}
>
<ShapeGlyph shape={shape} />
</button>
@@ -315,7 +316,8 @@ function FramesTab({ adders, t }: { adders: Adders; t: (k: string) => string })
key={shape}
className="st-shape-btn is-glyph"
onClick={() => adders.addFrame(shape === 'rect' ? null : shape)}
aria-label={shape}
title={shapeName(shape, t)}
aria-label={shapeName(shape, t)}
>
<ShapeGlyph shape={shape} photo />
</button>
@@ -64,12 +64,19 @@ export function StudioPaintPicker({
channel,
t,
noneLabel,
kinds = KINDS,
}: {
value: BookPaint | null;
channel: PaintChannel;
t: StudioT;
/** What "no paint" is called here: no fill on a shape, the paper on a page. */
noneLabel: string;
/**
* The kinds offered as tabs; all four by default. With one, the row of tabs
* is left out: the letters of a text pick gradient or pattern beside their
* other fills and only need that kind's controls here.
*/
kinds?: readonly PaintKind[];
}) {
const kind = kindOf(value);
// The last paint of each kind shown here, so a kind visited again comes back as it was left.
@@ -96,28 +103,30 @@ export function StudioPaintPicker({
return (
<div className="st-paint">
<div className="st-paint-tabs" role="tablist" aria-label={t('journey.studio.paint.kind')}>
{KINDS.map((k) => (
<button
type="button"
key={k}
role="tab"
aria-selected={k === kind}
className={`st-paint-tab ${k === kind ? 'is-on' : ''}`}
onClick={() => choose(k)}
>
<span
className={`st-paint-tab-chip ${k === 'none' ? 'is-none' : ''} ${k === 'pattern' ? 'is-pattern' : ''}`}
// A pattern's chip keeps its strokes (studio-paint.css) over the ground colour.
style={k === 'pattern' ? { backgroundColor: tabPreview(k) } : { background: tabPreview(k) }}
aria-hidden
{kinds.length > 1 && (
<div className="st-paint-tabs" role="tablist" aria-label={t('journey.studio.paint.kind')}>
{kinds.map((k) => (
<button
type="button"
key={k}
role="tab"
aria-selected={k === kind}
className={`st-paint-tab ${k === kind ? 'is-on' : ''}`}
onClick={() => choose(k)}
>
{k === 'none' && <Ban size={11} strokeWidth={2.2} />}
</span>
<span className="st-paint-tab-label">{k === 'none' ? noneLabel : kindLabel(k, t)}</span>
</button>
))}
</div>
<span
className={`st-paint-tab-chip ${k === 'none' ? 'is-none' : ''} ${k === 'pattern' ? 'is-pattern' : ''}`}
// A pattern's chip keeps its strokes (studio-paint.css) over the ground colour.
style={k === 'pattern' ? { backgroundColor: tabPreview(k) } : { background: tabPreview(k) }}
aria-hidden
>
{k === 'none' && <Ban size={11} strokeWidth={2.2} />}
</span>
<span className="st-paint-tab-label">{k === 'none' ? noneLabel : kindLabel(k, t)}</span>
</button>
))}
</div>
)}
{value?.type === 'solid' && (
<Swatches
@@ -6,7 +6,7 @@ import { fireEvent, render, screen } from '../../../tests/helpers/render';
import { StudioTabPanel, StudioTabs } from './StudioTabs';
/**
* FE-STUDIO-TABS-001 to FE-STUDIO-TABS-004: the tab rows inside Studio's
* FE-STUDIO-TABS-001 to FE-STUDIO-TABS-005: the tab rows inside Studio's
* panels, as a screen reader and a keyboard meet them, and as a long word
* meets them.
*/
@@ -69,6 +69,20 @@ describe('StudioTabs', () => {
expect(three?.tabIndex).toBe(0);
});
it('FE-STUDIO-TABS-005: in a grid of two lines, up and down move to the tab above or below', () => {
render(<Row />);
const [one, two, three] = screen.getAllByRole('tab');
one?.focus();
fireEvent.keyDown(one as HTMLElement, { key: 'ArrowDown' });
expect(document.activeElement).toBe(three);
fireEvent.keyDown(three as HTMLElement, { key: 'ArrowUp' });
expect(document.activeElement).toBe(one);
two?.focus();
// Nothing below the second tab: the focus stays.
fireEvent.keyDown(two as HTMLElement, { key: 'ArrowDown' });
expect(document.activeElement).toBe(two);
});
it('FE-STUDIO-TABS-003: keeps a long word in a cell that breaks it, and the count as plain figures', () => {
const { container } = render(<Row />);
const label = screen.getByText('Klistermärken');
+11 -3
View File
@@ -15,7 +15,8 @@ import { rovingTarget, runsRtl } from './studioRoving';
* label's own colour, quieter than the word, never a pill inside the tab.
*
* The keyboard is the rail's (studioRoving.ts): the arrows move along the row,
* Enter or Space opens the tab.
* Enter or Space opens the tab. In a grid of more than one line, up and down
* move to the tab above or below.
*/
interface StudioTab<T extends string> {
@@ -45,8 +46,15 @@ export function StudioTabs<T extends string>({
columns?: number;
}) {
const buttons = useRef<(HTMLButtonElement | null)[]>([]);
const across = Math.max(1, Math.min(columns, tabs.length));
const onKeyDown = (e: KeyboardEvent<HTMLButtonElement>, index: number) => {
const next = rovingTarget(e.key, index, tabs.length, { vertical: false, rtl: runsRtl(e.currentTarget) });
const below = e.key === 'ArrowDown' ? index + across : e.key === 'ArrowUp' ? index - across : null;
const next =
below !== null && across < tabs.length
? below >= 0 && below < tabs.length
? below
: null
: rovingTarget(e.key, index, tabs.length, { vertical: false, rtl: runsRtl(e.currentTarget) });
if (next === null) return;
e.preventDefault();
buttons.current[next]?.focus();
@@ -56,7 +64,7 @@ export function StudioTabs<T extends string>({
className={`st-subtabs ${tabs.some((tab) => tab.icon) ? 'has-icons' : ''}`}
role="tablist"
aria-label={label}
style={{ gridTemplateColumns: `repeat(${Math.max(1, Math.min(columns, tabs.length))}, minmax(0, 1fr))` }}
style={{ gridTemplateColumns: `repeat(${across}, minmax(0, 1fr))` }}
>
{tabs.map((tab, i) => {
const on = tab.id === value;
@@ -189,6 +189,32 @@ describe('the fill of the letters', () => {
expect(screen.getByText('journey.studio.fx.focalHint')).toBeTruthy();
});
it('turns the letters into a gradient or a pattern from their own colour, edited as a shape is', () => {
const plain = mount(text({ shadow: { dx: 1, dy: 1, color: '#111111' }, color: '#0f766e' }));
fireEvent.click(screen.getByRole('radio', { name: 'journey.studio.paint.gradient' }));
const gradient = plain.set.mock.calls.at(-1)?.[0]?.fillPaint;
expect(gradient?.type).toBe('linear');
expect(gradient?.stops[0]?.color).toBe('#0f766e');
fireEvent.click(screen.getByRole('radio', { name: 'journey.studio.paint.pattern' }));
expect(plain.set.mock.calls.at(-1)?.[0]?.fillPaint?.type).toBe('pattern');
plain.unmount();
const patterned = {
type: 'pattern' as const,
pattern: 'dots' as const,
fg: '#d62828',
bg: '#ffffff',
scale: 1,
angle: 0,
};
mount(text({ fillPaint: patterned }));
expect(screen.getByRole('radio', { name: 'journey.studio.paint.pattern' }).getAttribute('aria-checked')).toBe(
'true'
);
// Only the pattern's own controls: the kind is picked in the row above, so the paint's tabs stay away.
expect(screen.queryByRole('tablist')).toBeNull();
});
it('says so, and offers no photo fill, when the journey has no photos', () => {
mount(text({ shadow: { dx: 1, dy: 1, color: '#111111' } }), []);
expect(screen.getByText('journey.studio.fx.noPhotos')).toBeTruthy();
@@ -8,13 +8,16 @@ import {
} from 'lucide-react';
import type { BookElement, BookSpread, BookTextElement } from '@trek/shared';
import { bookTextIsDrawn } from '@trek/shared';
import { bookTextIsDrawn, bookTextPaintFill } from '@trek/shared';
import '../../styles/studio-text.css';
import { photoSrc } from './bookRender';
import { FocalPad } from './inspector/FocalPad';
import { textEffectsInUse, textPlacementInUse } from './inspector/inspectorModel';
import { paintAs } from './paint/paintEdit';
import type { PaintChannel } from './paint/usePaintChannel';
import { Choice, Line, NumField, Section, Switch } from './StudioControls';
import { StudioPaintPicker } from './StudioPaintPicker';
import { Swatches } from './StudioSwatches';
import { defaultBand, defaultOutline, defaultShadow, firstFillPhoto, isHollow } from './textEffects';
@@ -275,10 +278,13 @@ function CurveControls({ el, set, t }: Pick<Props, 'el' | 'set' | 't'>) {
);
}
type FillKind = 'colour' | 'hollow' | 'photo';
type FillKind = 'colour' | 'hollow' | 'photo' | 'gradient' | 'pattern';
function fillKindOf(el: BookTextElement): FillKind {
if (el.fillPaint?.type === 'photo') return 'photo';
const type = el.fillPaint?.type;
if (type === 'photo') return 'photo';
if (type === 'linear' || type === 'radial') return 'gradient';
if (type === 'pattern') return 'pattern';
return isHollow(el) ? 'hollow' : 'colour';
}
@@ -294,9 +300,18 @@ function FillControls({ el, set, live, photos, spread, t }: Props) {
outline: el.outline ?? { ...defaultOutline(el), color: el.color },
} as Patch);
}
if (next === 'gradient' || next === 'pattern') {
// From the text's own colour, as a shape's paint turns from its solid fill.
return set({ fillPaint: paintAs(next, { type: 'solid', color: el.color }) } as Patch);
}
const photoId = firstFillPhoto(spread, photos);
if (photoId != null) set({ fillPaint: { type: 'photo', photoId, focalX: 0.5, focalY: 0.5, zoom: 1 } } as Patch);
};
const letterPaint = bookTextPaintFill(el);
const channel: PaintChannel = {
live: (paint) => live({ fillPaint: paint } as Patch),
commit: (paint) => set({ fillPaint: paint } as Patch),
};
return (
<div className="st-fx-group">
<Line label={t('journey.studio.fx.letters')}>
@@ -307,11 +322,22 @@ function FillControls({ el, set, live, photos, spread, t }: Props) {
{ value: 'colour' as const, label: t('journey.studio.colour') },
{ value: 'hollow' as const, label: t('journey.studio.fx.hollow') },
{ value: 'photo' as const, label: t('journey.studio.kind.photo'), disabled: !photos.length },
{ value: 'gradient' as const, label: t('journey.studio.paint.gradient') },
{ value: 'pattern' as const, label: t('journey.studio.paint.pattern') },
]}
onPick={pick}
/>
</Line>
{!photos.length && <p className="st-hint st-fx-hint">{t('journey.studio.fx.noPhotos')}</p>}
{letterPaint && (kind === 'gradient' || kind === 'pattern') && (
<StudioPaintPicker
value={letterPaint}
channel={channel}
t={t}
noneLabel={t('journey.studio.colour')}
kinds={[kind]}
/>
)}
{photo && (
<div className="st-fx-body">
<div className="st-fx-photos" role="radiogroup" aria-label={t('journey.studio.fx.pickPhoto')}>
@@ -108,6 +108,40 @@ describe('a text drawn as SVG', () => {
expect(Array.from(clip?.querySelectorAll('tspan') ?? []).map((t) => t.textContent)).toEqual(['LIS', 'BON']);
});
it('fills the letters with a gradient through a gradient of their own frame', () => {
const el = text({
fillPaint: {
type: 'linear',
angle: 90,
stops: [
{ at: 0, color: '#ff6600' },
{ at: 1, color: '#ffcc00' },
],
},
});
const { container } = render(<TextEffectsView el={el} frameStyle={frameStyle} big={false} />);
const gradient = container.querySelector('linearGradient');
expect(gradient?.getAttribute('gradientUnits')).toBe('userSpaceOnUse');
expect(Array.from(gradient?.querySelectorAll('stop') ?? []).map((s) => s.getAttribute('stop-color'))).toEqual([
'#ff6600',
'#ffcc00',
]);
const letters = container.querySelector('svg > text');
expect(letters?.getAttribute('fill')).toBe(`url(#${gradient?.getAttribute('id')})`);
});
it('fills the letters with a pattern, its ground and its marks clipped to them', () => {
const el = text({
fillPaint: { type: 'pattern', pattern: 'stripes', fg: '#d62828', bg: '#ffffff', scale: 1, angle: 0 },
});
const { container } = render(<TextEffectsView el={el} frameStyle={frameStyle} big={false} />);
const clip = container.getElementsByTagName('clipPath')[0];
const group = container.querySelector('g[clip-path]');
expect(group?.getAttribute('clip-path')).toBe(`url(#${clip?.getAttribute('id')})`);
expect(group?.querySelector('rect')?.getAttribute('fill')).toBe('#ffffff');
expect(group?.querySelectorAll('path[fill="#d62828"]').length).toBeGreaterThan(0);
});
it('gives every copy of a page its own ids, so a page drawn twice never clips to the other copy', () => {
const el = text({ fillPaint: { type: 'photo', photoId: 12 }, curve: { type: 'circle' } });
const { container } = render(
@@ -2,10 +2,11 @@ import type { CSSProperties, ReactNode } from 'react';
import { useId } from 'react';
import type { BookTextElement } from '@trek/shared';
import { bookDrawnLines, bookTextCurvePath, bookTextIsDrawn } from '@trek/shared';
import { bookDrawnLines, bookTextCurvePath, bookTextIsDrawn, bookTextPaintFill } from '@trek/shared';
import { fontStack } from './bookFonts';
import { photoSrc } from './bookRender';
import { paintParts } from './paint/paintRender';
import {
caseStyle,
curveAnchor,
@@ -149,11 +150,16 @@ function DrawnText({ el, frameStyle, big }: { el: BookTextElement; frameStyle: C
const reactId = useId();
const pathId = svgId('tp-', reactId);
const clipId = svgId('tc-', reactId);
const paintId = svgId('tf-', reactId);
const { w, h } = el.frame;
const fontMm = ptToMm(el.size);
const lines = bookDrawnLines(el);
const curve = el.curve ? bookTextCurvePath(el.curve, w, h, fontMm) : null;
const photo = el.fillPaint?.type === 'photo' ? el.fillPaint : null;
// A gradient or pattern in the letters, laid out over the frame as a shape's paint is over its box.
const fillPaint = bookTextPaintFill(el);
const letterPaint = fillPaint ? paintParts(fillPaint, { x: 0, y: 0, w, h }, paintId) : null;
const pattern = letterPaint?.pattern ?? null;
const hollow = isHollow(el);
const { outline, shadow } = el;
@@ -211,8 +217,20 @@ function DrawnText({ el, frameStyle, big }: { el: BookTextElement; frameStyle: C
if (photo) {
const cover = photoCover(w, h, photo);
layers.push(<image key="photo" href={photoSrc(photo.photoId, big)} {...cover} clipPath={`url(#${clipId})`} />);
} else if (pattern && letterPaint) {
// The pattern's ground and its marks, clipped to the letters.
layers.push(
<g key="pattern" clipPath={`url(#${clipId})`}>
{letterPaint.fill !== 'none' && <rect width={w} height={h} fill={letterPaint.fill} />}
<g transform={pattern.transform}>
{pattern.layers.map((layer, i) => (
<path key={i} d={layer.d} fill={pattern.ink} fillOpacity={layer.opacity < 1 ? layer.opacity : undefined} />
))}
</g>
</g>
);
} else {
layers.push(glyphs({ fill: letterFill(el) ?? el.color }, 'fill'));
layers.push(glyphs({ fill: letterPaint ? letterPaint.fill : (letterFill(el) ?? el.color) }, 'fill'));
}
return (
@@ -227,7 +245,8 @@ function DrawnText({ el, frameStyle, big }: { el: BookTextElement; frameStyle: C
>
<defs>
{curve && <path id={pathId} d={curve.d} fill="none" />}
{photo && (
{letterPaint?.defs}
{(photo || pattern) && (
<clipPath id={clipId} clipPathUnits="userSpaceOnUse">
{glyphs(null, 'clip')}
</clipPath>
@@ -4,7 +4,7 @@ import type { ReactNode } from 'react';
import { useStudioStore } from '../../../store/studioStore';
import { PhotoCropExtras, PhotoLookSections } from '../photo/StudioPhotoLook';
import { FRAME_SHAPES } from '../shapes';
import { FRAME_SHAPES, shapeName } from '../shapes';
import { Choice, Line, NumField, Section } from '../StudioControls';
import { EdgeSection } from '../StudioEdgeControls';
import { ShapeGlyph } from '../StudioElementsPanel';
@@ -178,7 +178,8 @@ export function StudioPhotoInspector({
key={sh}
className={`st-mini-shape ${el.mask === sh ? 'is-on' : ''}`}
onClick={() => set({ mask: sh })}
aria-label={sh}
title={shapeName(sh, t)}
aria-label={shapeName(sh, t)}
aria-pressed={el.mask === sh}
>
<ShapeGlyph shape={sh} />
@@ -1,7 +1,7 @@
import type { BookElement, BookShapeElement, BookShapeId, BookTheme } from '@trek/shared';
import type { ReactNode } from 'react';
import { SHAPE_GROUPS } from '../shapes';
import { SHAPE_GROUPS, shapeName } from '../shapes';
import { NumField, Section } from '../StudioControls';
import { EdgeSection } from '../StudioEdgeControls';
import { ShapeGlyph } from '../StudioElementsPanel';
@@ -41,7 +41,8 @@ export function StudioShapeInspector({
key={sh}
className={`st-mini-shape ${el.shape === sh ? 'is-on' : ''}`}
onClick={() => set({ shape: sh })}
aria-label={sh}
title={shapeName(sh, t)}
aria-label={shapeName(sh, t)}
aria-pressed={el.shape === sh}
>
<ShapeGlyph shape={sh} />
@@ -42,7 +42,7 @@ function Stops({ stops }: { stops: readonly BookPaintStop[] }) {
}
/** What a painted outline needs: the defs to put in the SVG, and how to fill the outline. */
interface PaintParts {
export interface PaintParts {
defs: ReactNode;
fill: string;
fillOpacity?: number;
@@ -50,7 +50,12 @@ interface PaintParts {
pattern: { clipId: string; layers: { d: string; opacity: number }[]; transform?: string; ink: string } | null;
}
function paintParts(paint: BookPaint, box: PatternBox, id: string): PaintParts {
/**
* What drawing a paint over a box takes: the gradient definition and the fill
* to point at it, or a pattern's geometry to draw clipped to the outline over
* its ground. A shape's outline and the letters of a text both draw from it.
*/
export function paintParts(paint: BookPaint, box: PatternBox, id: string): PaintParts {
switch (paint.type) {
case 'solid':
return {
+41 -8
View File
@@ -46,6 +46,11 @@ interface PatternGeometry {
const r2 = (v: number) => Math.round(v * 100) / 100 || 0;
const f = (v: number) => String(r2(v));
/** Threads per cell each way in linen: fine enough to read as cloth, few enough for a whole page under the cap. */
const LINEN_THREADS = 6;
/** Specks per cell in grain. */
const GRAIN_SPECKS = 3;
/**
* How many primitives a repeat needs over a region: `area` primitives per
* cell squared, `lin` per cell along the width and the height. Read before
@@ -66,6 +71,8 @@ const DENSITY: Record<BookPattern, { area: number; lin: number }> = {
scales: { area: 2, lin: 0 },
sunburst: { area: 0, lin: 0 },
confetti: { area: 1.2, lin: 0 },
linen: { area: 0, lin: 2 * LINEN_THREADS },
grain: { area: GRAIN_SPECKS, lin: 0 },
};
/** A primitive count estimate for a repeat over a region at a cell size. */
@@ -269,6 +276,24 @@ const DRAW: Record<Exclude<BookPattern, 'sunburst'>, Draw> = {
]);
}
},
// Threads of uneven weight both ways, on two half-clear layers: where they cross the cloth reads denser.
linen: (pen, g, s, alt) => {
const rand = mulberry32(Math.round(s * 1000) + 31);
const pitch = s / LINEN_THREADS;
for (const y of steps(g.y0, g.y1, pitch)) pen.rect(g.x0, y, g.x1 - g.x0, pitch * (0.2 + rand() * 0.35));
for (const x of steps(g.x0, g.x1, pitch)) alt.rect(x, g.y0, pitch * (0.2 + rand() * 0.35), g.y1 - g.y0);
},
// Specks of a few sizes, the larger ones fainter, scattered the same way on every render.
grain: (pen, g, s, alt) => {
const rand = mulberry32(Math.round(s * 1000) + 43);
const n = Math.round((((g.x1 - g.x0) * (g.y1 - g.y0)) / (s * s)) * GRAIN_SPECKS);
for (let i = 0; i < n && !pen.full && !alt.full; i++) {
const x = g.x0 + rand() * (g.x1 - g.x0);
const y = g.y0 + rand() * (g.y1 - g.y0);
if (rand() < 0.6) pen.circle(x, y, s * (0.012 + rand() * 0.012));
else alt.circle(x, y, s * (0.025 + rand() * 0.02));
}
},
};
/** A seeded generator, so a confetti page draws the same scatter on every render and in print. */
@@ -307,6 +332,13 @@ function sunburst(pen: Pen, box: PatternBox, cell: number, angle: number) {
}
}
/** The repeats drawn on two layers, and how clear each layer is: textures stay quiet over their ground. */
const LAYER_OPACITY: Partial<Record<BookPattern, readonly [number, number]>> = {
gingham: [0.5, 0.5],
linen: [0.32, 0.32],
grain: [0.5, 0.28],
};
/**
* A repeat over a box. The geometry covers the box however it is turned: the
* region drawn is the square around the box's circumscribed circle, and the
@@ -338,17 +370,18 @@ export function patternGeometry(
return { layers: [{ d: pen.d, opacity: 1 }], count: pen.count, cell };
}
// The second layer only ever holds gingham's cross bands; the cell fitted above keeps both under the cap together.
// The second layer holds gingham's and linen's cross bands and grain's larger specks;
// the cell fitted above keeps both under the cap together.
const alt = new Pen(cap);
DRAW[paint.pattern](pen, region, cell, alt);
const count = pen.count + alt.count;
const layers =
paint.pattern === 'gingham'
? [
{ d: pen.d, opacity: 0.5 },
{ d: alt.d, opacity: 0.5 },
]
: [{ d: pen.d, opacity: 1 }];
const two = LAYER_OPACITY[paint.pattern];
const layers = two
? [
{ d: pen.d, opacity: two[0] },
{ d: alt.d, opacity: two[1] },
]
: [{ d: pen.d, opacity: 1 }];
return {
layers: layers.filter((l) => l.d),
count,
+5
View File
@@ -330,3 +330,8 @@ export const HOLED_SHAPES = new Set<BookShapeId>(['gear', 'postmark', 'label-tab
*/
export const SHAPE_GROUPS = BOOK_SHAPE_GROUPS
export const FRAME_SHAPES = BOOK_FRAME_SHAPES
/** A shape's name in the reader's language, for its tooltip and a screen reader. */
export function shapeName(shape: BookShapeId, t: (k: string) => string): string {
return t(`journey.studio.shapeName.${shape}`)
}
+1 -1
View File
@@ -28,7 +28,7 @@ export function withAlpha(hex: string, alpha = 1): string {
return `rgba(${(n >> 16) & 255}, ${(n >> 8) & 255}, ${n & 255}, ${Math.max(0, alpha)})`;
}
/** The colour the letters are filled with, or null when a photograph fills them. */
/** The colour the letters are filled with, or null when a photograph, a gradient or a pattern fills them. */
export function letterFill(el: BookTextElement): string | null {
const fill = el.fillPaint;
if (!fill) return el.color;
+10 -1
View File
@@ -1,5 +1,5 @@
import { create } from 'zustand'
import type { BookDocument, BookElement, BookFrame, BookLayout, BookSpread } from '@trek/shared'
import type { BookAlignTo, BookDocument, BookElement, BookFrame, BookLayout, BookSpread } from '@trek/shared'
import {
MAX_BOOK_LAYOUTS, MAX_SPREAD_ELEMENTS, applySavedBookLayout as applySavedLayout,
bookLayoutFromSpread as layoutFromSpread, canEditSpread as isMovableSpread, fitBookTexts, innerSpreadBounds as innerBounds,
@@ -35,6 +35,13 @@ interface StudioState extends StudioLayerActions {
gestureBase: BookDocument | null
/** Elements copied for pasting onto any page of the book (#2316). Kept across page switches. */
clipboard: StudioClipboard | null
/**
* What the arrange section lines things up with, as last picked: kept for the
* session, so a new selection or another kind of element does not reset it.
* Null until somebody picks; the section then chooses by how much is selected.
*/
alignTo: BookAlignTo | null
setAlignTo: (to: BookAlignTo) => void
/**
* The page a chat card points at, outlined in the page rail (journey-studio.md
* 4.2). Not part of the book or its history; opening a book clears it.
@@ -147,6 +154,8 @@ export const useStudioStore = create<StudioState>((set, get) => ({
future: [],
gestureBase: null,
clipboard: null,
alignTo: null,
setAlignTo: to => set({ alignTo: to }),
hintSpread: null,
readOnly: false,
@@ -0,0 +1,14 @@
import { describe, expect, it } from 'vitest';
import { useStudioStore } from '../../../src/store/studioStore';
/** FE-STUDIO-ALIGNTO-001: what the arrange section lines things up with stays as picked across selections. */
describe('the align target', () => {
it('FE-STUDIO-ALIGNTO-001: is kept when the selection changes', () => {
useStudioStore.setState({ alignTo: null, selection: [] });
useStudioStore.getState().setAlignTo('safe');
useStudioStore.getState().select(['a']);
useStudioStore.getState().select(['b', 'c']);
expect(useStudioStore.getState().alignTo).toBe('safe');
});
});
+2 -2
View File
@@ -160,7 +160,7 @@ export class JourneyBookMcp {
@Tool({
name: 'add_book_pages',
description: `Add 1 to ${BOOK_OP_LIMITS.pagesPerCall} empty double spreads after afterSpreadId, always kept between the first and the last page, laid out on template when one is named and tied to the journey entry entryId when given. ${WRITE_ANSWER}`,
description: `Add 1 to ${BOOK_OP_LIMITS.pagesPerCall} empty double spreads after afterSpreadId, always kept between the first and the last page, laid out on template when one is named (a built-in or decorated double-spread layout from list_book_layouts) and tied to the journey entry entryId when given. ${WRITE_ANSWER}`,
inputSchema: { journeyId: idSchema, ...addBookPagesArgs },
annotations: TOOL_ANNOTATIONS_NON_IDEMPOTENT,
when: journeyAddonOn,
@@ -208,7 +208,7 @@ export class JourneyBookMcp {
@Tool({
name: 'set_book_cover',
description: `The cover of a journey's book: its layout (a single page template), its photo (from the journey's gallery, into a free frame, else a full bleed one behind everything), its title and its subtitle. A title or subtitle bound to the journey's own stays bound unless other words are given. With returnPrevious the answer also holds the cover as it was, under previous_spreads, and a digest of the cover as the write left it under page_digests (for restore_book_page expectedPages). ${WRITE_ANSWER}`,
description: `The cover of a journey's book: its layout (a built-in or decorated single-page template from list_book_layouts), its photo (from the journey's gallery, into a free frame, else a full bleed one behind everything), its title and its subtitle. A title or subtitle bound to the journey's own stays bound unless other words are given. With returnPrevious the answer also holds the cover as it was, under previous_spreads, and a digest of the cover as the write left it under page_digests (for restore_book_page expectedPages). ${WRITE_ANSWER}`,
inputSchema: { journeyId: idSchema, ...setBookCoverArgs },
annotations: TOOL_ANNOTATIONS_WRITE,
when: journeyAddonOn,
+21 -21
View File
@@ -6,7 +6,7 @@
"common.ts": { "marked": 13, "identical": 0 },
"dayplan.ts": { "marked": 8, "identical": 0 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 284, "identical": 2 },
"journey.ts": { "marked": 268, "identical": 2 },
"login.ts": { "marked": 1, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 19, "identical": 0 },
@@ -43,7 +43,7 @@
"dashboard.ts": { "marked": 0, "identical": 1 },
"day.ts": { "marked": 0, "identical": 2 },
"dayplan.ts": { "marked": 2, "identical": 1 },
"journey.ts": { "marked": 115, "identical": 7 },
"journey.ts": { "marked": 99, "identical": 7 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 1 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
@@ -78,7 +78,7 @@
"files.ts": { "marked": 0, "identical": 3 },
"help.ts": { "marked": 0, "identical": 2 },
"inspector.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 12 },
"journey.ts": { "marked": 94, "identical": 12 },
"map.ts": { "marked": 0, "identical": 1 },
"mobileTrip.ts": { "marked": 0, "identical": 2 },
"nav.ts": { "marked": 0, "identical": 1 },
@@ -106,7 +106,7 @@
"dayplan.ts": { "marked": 2, "identical": 0 },
"docsync.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 115, "identical": 6 },
"journey.ts": { "marked": 99, "identical": 6 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
@@ -172,7 +172,7 @@
"dayplan.ts": { "marked": 2, "identical": 0 },
"docsync.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 115, "identical": 7 },
"journey.ts": { "marked": 99, "identical": 7 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 2 },
@@ -219,7 +219,7 @@
"files.ts": { "marked": 0, "identical": 5 },
"help.ts": { "marked": 0, "identical": 1 },
"inspector.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 115, "identical": 32 },
"journey.ts": { "marked": 99, "identical": 32 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 3 },
"memories.ts": { "marked": 0, "identical": 3 },
@@ -253,7 +253,7 @@
"dashboard.ts": { "marked": 36, "identical": 0 },
"day.ts": { "marked": 0, "identical": 2 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 110, "identical": 2 },
"journey.ts": { "marked": 94, "identical": 2 },
"login.ts": { "marked": 0, "identical": 3 },
"memories.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 1 },
@@ -272,7 +272,7 @@
"common.ts": { "marked": 12, "identical": 0 },
"dayplan.ts": { "marked": 2, "identical": 0 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 115, "identical": 2 },
"journey.ts": { "marked": 99, "identical": 2 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 3 },
"oauth.ts": { "marked": 17, "identical": 1 },
@@ -297,7 +297,7 @@
"dayplan.ts": { "marked": 2, "identical": 1 },
"docsync.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 5 },
"journey.ts": { "marked": 115, "identical": 13 },
"journey.ts": { "marked": 99, "identical": 13 },
"login.ts": { "marked": 0, "identical": 3 },
"memories.ts": { "marked": 0, "identical": 1 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
@@ -329,7 +329,7 @@
"docsync.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 1 },
"inspector.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 115, "identical": 4 },
"journey.ts": { "marked": 99, "identical": 4 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 1 },
"memories.ts": { "marked": 0, "identical": 1 },
@@ -352,7 +352,7 @@
"admin.ts": { "marked": 0, "identical": 9 },
"common.ts": { "marked": 12, "identical": 0 },
"help.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 2 },
"journey.ts": { "marked": 94, "identical": 2 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 0 },
@@ -365,7 +365,7 @@
"admin.ts": { "marked": 0, "identical": 10 },
"common.ts": { "marked": 12, "identical": 0 },
"help.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 3 },
"journey.ts": { "marked": 94, "identical": 3 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
@@ -387,7 +387,7 @@
"dayplan.ts": { "marked": 2, "identical": 5 },
"docsync.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 115, "identical": 17 },
"journey.ts": { "marked": 99, "identical": 17 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 2 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
@@ -419,7 +419,7 @@
"docsync.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 2 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 115, "identical": 5 },
"journey.ts": { "marked": 99, "identical": 5 },
"login.ts": { "marked": 0, "identical": 3 },
"memories.ts": { "marked": 0, "identical": 1 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
@@ -443,7 +443,7 @@
"common.ts": { "marked": 12, "identical": 0 },
"dayplan.ts": { "marked": 2, "identical": 0 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 115, "identical": 1 },
"journey.ts": { "marked": 99, "identical": 1 },
"login.ts": { "marked": 0, "identical": 3 },
"oauth.ts": { "marked": 17, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 15 },
@@ -483,7 +483,7 @@
"files.ts": { "marked": 0, "identical": 2 },
"help.ts": { "marked": 0, "identical": 6 },
"inspector.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 18 },
"journey.ts": { "marked": 94, "identical": 18 },
"login.ts": { "marked": 0, "identical": 3 },
"members.ts": { "marked": 0, "identical": 1 },
"memories.ts": { "marked": 0, "identical": 1 },
@@ -514,7 +514,7 @@
"collab.ts": { "marked": 0, "identical": 1 },
"common.ts": { "marked": 12, "identical": 0 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 110, "identical": 5 },
"journey.ts": { "marked": 94, "identical": 5 },
"login.ts": { "marked": 0, "identical": 6 },
"memories.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 1 },
@@ -534,7 +534,7 @@
"admin.ts": { "marked": 0, "identical": 12 },
"common.ts": { "marked": 12, "identical": 0 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 110, "identical": 3 },
"journey.ts": { "marked": 94, "identical": 3 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
@@ -548,7 +548,7 @@
"admin.ts": { "marked": 0, "identical": 13 },
"common.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 110, "identical": 3 },
"journey.ts": { "marked": 94, "identical": 3 },
"reservations.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 8 },
"storage.ts": { "marked": 0, "identical": 1 },
@@ -559,7 +559,7 @@
"zh": {
"admin.ts": { "marked": 0, "identical": 3 },
"help.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 1 },
"journey.ts": { "marked": 94, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 9 },
"system_notice.ts": { "marked": 0, "identical": 3 },
"vacay.ts": { "marked": 0, "identical": 5 }
@@ -569,7 +569,7 @@
"common.ts": { "marked": 12, "identical": 0 },
"dayplan.ts": { "marked": 2, "identical": 0 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 115, "identical": 1 },
"journey.ts": { "marked": 99, "identical": 1 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
+2 -2
View File
@@ -1,7 +1,7 @@
import {
BOOK_FINDING_CODES,
BOOK_OP_LIMITS,
bookCoverTemplateIdSchema,
bookAnyTemplateIdSchema,
bookPageOpSchema,
bookSpreadIdSchema,
} from '../../book/book-ops.schema';
@@ -63,7 +63,7 @@ export type BookCardLayout = z.infer<typeof bookCardLayoutSchema>;
/** `set_book_cover`'s arguments, null where the call leaves a part of the cover as it is. */
export const bookCardCoverSchema = z.object({
template: bookCoverTemplateIdSchema.nullable(),
template: bookAnyTemplateIdSchema.nullable(),
photoId: idSchema.nullable(),
title: z.string().max(MAX_BOOK_TITLE).nullable(),
subtitle: z.string().max(MAX_BOOK_TITLE).nullable(),
+7 -2
View File
@@ -76,7 +76,12 @@ export function photoDpi(el: BookPhotoElement, info: BookPhotoInfo | undefined):
}
/** Average letter width per em at weight 400, per family: the catalogue's measure (book-fonts.data.ts). */
const letterEm = (font: string) => bookFontFace(font)?.letterEm ?? 0.5;
/** A family's average letter width per em at a weight: its measured bold from 600 on, else a guess a little wider. */
function letterEm(font: string, weight: number): number {
const face = bookFontFace(font);
const regular = face?.letterEm ?? 0.5;
return weight >= 600 ? (face?.boldEm ?? regular * 1.06) : regular;
}
/**
* The headroom on letter width the design engine sizes a text frame with. A
@@ -124,7 +129,7 @@ export function bookLetterMm(el: BookTextElement, headroom = 1): number {
const sizeMm = (orDefault(el.size, 11) * 25.4) / 72;
const tracking = orDefault(el.tracking, 0);
const caps = bookFontFace(el.font)?.caps ? 1 : (CASE_WIDTH[el.transform ?? 'none'] ?? 1);
return sizeMm * (letterEm(el.font) * (el.weight >= 600 ? 1.06 : 1) * caps * headroom + tracking);
return sizeMm * (letterEm(el.font, el.weight) * caps * headroom + tracking);
}
/**
+20
View File
@@ -58,6 +58,11 @@ export interface BookFontFace {
* the face's own advance widths, for the text measure in book-findings.ts.
*/
letterEm: number;
/**
* The same at weight 700, measured the same way, for a family that ships a
* real bold: a condensed bold sets up to a sixth wider than its regular.
*/
boldEm?: number;
/** Set in capitals whatever is typed. */
caps?: true;
}
@@ -81,6 +86,7 @@ export const BOOK_FONT_FACES = {
weights: ALL,
italics: [],
letterEm: 0.507,
boldEm: 0.519,
},
inter: {
name: 'Inter',
@@ -91,6 +97,7 @@ export const BOOK_FONT_FACES = {
weights: ALL,
italics: [],
letterEm: 0.478,
boldEm: 0.491,
},
montserrat: {
name: 'Montserrat',
@@ -101,6 +108,7 @@ export const BOOK_FONT_FACES = {
weights: ALL,
italics: [],
letterEm: 0.507,
boldEm: 0.536,
},
// ── serif ──
serif: {
@@ -112,6 +120,7 @@ export const BOOK_FONT_FACES = {
weights: MID,
italics: MID,
letterEm: 0.469,
boldEm: 0.481,
},
garamond: {
name: 'EB Garamond',
@@ -122,6 +131,7 @@ export const BOOK_FONT_FACES = {
weights: [400, 500, 600, 700, 800],
italics: [400, 500, 600, 700, 800],
letterEm: 0.383,
boldEm: 0.424,
},
// ── elegant display serifs ──
playfair: {
@@ -133,6 +143,7 @@ export const BOOK_FONT_FACES = {
weights: [400, 500, 600, 700, 800, 900],
italics: [400, 500, 600, 700, 800, 900],
letterEm: 0.454,
boldEm: 0.462,
},
fraunces: {
name: 'Fraunces',
@@ -143,6 +154,7 @@ export const BOOK_FONT_FACES = {
weights: ALL,
italics: ALL,
letterEm: 0.467,
boldEm: 0.497,
},
cormorant: {
name: 'Cormorant Garamond',
@@ -153,6 +165,7 @@ export const BOOK_FONT_FACES = {
weights: [300, 400, 500, 600, 700],
italics: [300, 400, 500, 600, 700],
letterEm: 0.393,
boldEm: 0.398,
},
dmserif: {
name: 'DM Serif Display',
@@ -173,6 +186,7 @@ export const BOOK_FONT_FACES = {
weights: [400, 500, 600, 700, 800, 900],
italics: [400, 500, 600, 700, 800, 900],
letterEm: 0.463,
boldEm: 0.488,
},
// ── condensed and poster ──
bebas: {
@@ -205,6 +219,7 @@ export const BOOK_FONT_FACES = {
weights: [200, 300, 400, 500, 600, 700],
italics: [],
letterEm: 0.365,
boldEm: 0.412,
},
league: {
name: 'League Gothic',
@@ -225,6 +240,7 @@ export const BOOK_FONT_FACES = {
weights: ALL,
italics: [],
letterEm: 0.304,
boldEm: 0.355,
},
archivo: {
name: 'Archivo Black',
@@ -246,6 +262,7 @@ export const BOOK_FONT_FACES = {
weights: ALL,
italics: [],
letterEm: 0.492,
boldEm: 0.5,
},
shrikhand: {
name: 'Shrikhand',
@@ -276,6 +293,7 @@ export const BOOK_FONT_FACES = {
weights: [200, 300, 400, 500, 600, 700, 800],
italics: [],
letterEm: 0.471,
boldEm: 0.49,
},
abril: {
name: 'Abril Fatface',
@@ -297,6 +315,7 @@ export const BOOK_FONT_FACES = {
weights: MID,
italics: [],
letterEm: 0.344,
boldEm: 0.349,
},
dancing: {
name: 'Dancing Script',
@@ -307,6 +326,7 @@ export const BOOK_FONT_FACES = {
weights: MID,
italics: [],
letterEm: 0.363,
boldEm: 0.372,
},
pacifico: {
name: 'Pacifico',
+6
View File
@@ -71,6 +71,12 @@ describe('the catalogue', () => {
for (const w of face.italics) expect(face.weights, `${id} italic ${w}`).toContain(w);
expect(face.letterEm, id).toBeGreaterThan(0.2);
expect(face.letterEm, id).toBeLessThan(0.7);
// A measured bold only where the family ships one, and never narrower than its regular.
const bold = (face as { boldEm?: number }).boldEm;
if (bold !== undefined) {
expect(face.weights as readonly number[], id).toContain(700);
expect(bold, id).toBeGreaterThanOrEqual(face.letterEm);
}
expect(face.roles.length, id).toBeGreaterThan(0);
}
});
+4 -13
View File
@@ -7,7 +7,6 @@ import {
bookAddOpInSchema,
} from './book-element-ops.schema';
import { BOOK_GROUP_OP_SCHEMAS } from './book-group-ops.schema';
import { BOOK_COVER_TEMPLATES, BOOK_TEMPLATES } from './book-layouts';
import {
BOOK_BINDING_HINT,
bookFontIdSchema,
@@ -76,16 +75,6 @@ export const BOOK_OP_LIMITS = {
findings: 40,
} as const;
const idsOf = (list: readonly { id: string }[]) => list.map((t) => t.id) as [string, ...string[]];
/** The spread layouts, by id. */
export const bookTemplateIdSchema = z
.enum(idsOf(BOOK_TEMPLATES))
.describe('A built-in double page layout by id; list_book_layouts says what each one holds.');
/** The single-page (cover and back) layouts, by id. */
export const bookCoverTemplateIdSchema = z
.enum(idsOf(BOOK_COVER_TEMPLATES))
.describe('A built-in cover or back layout by id; list_book_layouts says what each one holds.');
/**
* A layout of either set, built-in or decorated: which one fits is the page's
* question, answered when the operation runs. A string checked against the
@@ -278,7 +267,8 @@ export const addBookPagesArgs = {
/** The new pages go after this one, kept inside the covers. */
afterSpreadId: bookSpreadIdSchema,
count: z.number().int().min(1).max(BOOK_OP_LIMITS.pagesPerCall).optional(),
template: bookTemplateIdSchema.optional(),
/** A double-spread layout, built-in or decorated; a single-page one is refused when the page is laid. */
template: bookAnyTemplateIdSchema.optional(),
entryId: idSchema.optional(),
};
export const moveBookPageArgs = {
@@ -296,7 +286,8 @@ export const deleteBookPagesArgs = {
expectedVersion,
};
export const setBookCoverArgs = {
template: bookCoverTemplateIdSchema.optional(),
/** A single-page layout, built-in or decorated; a double-spread one is refused when the cover is laid. */
template: bookAnyTemplateIdSchema.optional(),
photoId: idSchema.optional(),
title: z.string().max(MAX_BOOK_TITLE).optional(),
subtitle: z.string().max(MAX_BOOK_TITLE).optional(),
+20
View File
@@ -108,6 +108,19 @@ describe('add, move and delete', () => {
expect(doc.spreads[3]?.elements.length).toBeGreaterThan(0);
});
it('BOOKPG-029: lays added pages out on a decorated template, and refuses a cover template for a double spread', () => {
const doc = ok(
addBookPages(book(1), { afterSpreadId: 'sp-in1', count: 2, template: 'hero-script-word' }, { newId }),
);
expect(doc.spreads[3]?.elements.length).toBeGreaterThan(0);
expect(doc.spreads[4]?.elements.length).toBe(doc.spreads[3]?.elements.length);
const wrong = addBookPages(book(1), { afterSpreadId: 'sp-in1', template: 'poster-pop-sunburst' }, { newId });
expect(refused(wrong)).toBe('layout_role');
expect(refused(addBookPages(book(1), { afterSpreadId: 'sp-in1', template: 'no-such' }, { newId }))).toBe(
'invalid_op',
);
});
it('BOOKPG-020: ties an added page only to an entry the journey has, when the journey is known', () => {
const journey = { title: 'Iceland', entries: [{ id: 7 }] };
const added = ok(addBookPages(book(1), { afterSpreadId: 'sp-in1', entryId: 7 }, { newId, journey }));
@@ -336,6 +349,13 @@ describe('the cover', () => {
expect(title).toBeDefined();
});
it('BOOKPG-030: lays the cover out on a decorated cover template, and refuses a double-spread one', () => {
const doc = ok(setBookCover(book(1), { template: 'poster-pop-sunburst', title: 'Iceland 2026' }, { newId }));
expect(coverOf(doc).elements.length).toBeGreaterThan(1);
expect(textsOf(doc).some((t) => t.text === 'Iceland 2026')).toBe(true);
expect(refused(setBookCover(book(1), { template: 'hero-script-word' }, { newId }))).toBe('layout_role');
});
it('BOOKPG-016: keeps a bound title bound when the words are what the journey says, and the subtitle apart', () => {
const base = book(1);
const bound = bookTextElementSchema.parse({
+15 -9
View File
@@ -1,5 +1,5 @@
import { bookElementId } from './book-ids';
import { applyBookTemplate, classifyBookTexts, findBookTemplate } from './book-layouts';
import { classifyBookTexts } from './book-layouts';
import { applyBookOps } from './book-ops';
import {
caught,
@@ -62,17 +62,23 @@ export function addBookPages(doc: BookDocument, args: unknown, ctx: BookOpsConte
}
const { first, limit } = innerSpreadBounds(doc.spreads);
const at = Math.min(Math.max(after + 1, first), limit);
const tpl = template === undefined ? undefined : findBookTemplate(template);
const added = Array.from({ length: count }, () => {
const empty = { ...blankSpread('inner', ctx.newId ?? bookElementId), entryId: entryId ?? null };
return checkedSpread(tpl ? applyBookTemplate(empty, tpl, doc.page) : empty, null);
});
const spreads = [...doc.spreads.slice(0, at), ...added, ...doc.spreads.slice(at)];
const added = Array.from({ length: count }, () =>
checkedSpread({ ...blankSpread('inner', ctx.newId ?? bookElementId), entryId: entryId ?? null }, null),
);
let next: BookDocument = { ...doc, spreads: [...doc.spreads.slice(0, at), ...added, ...doc.spreads.slice(at)] };
// Laid out as edit_book_page lays a page, so a decorated template takes the book's theme and words too.
if (template !== undefined) {
for (const spread of added) {
const r = applyBookOps(next, { spreadId: spread.id, ops: [{ op: 'layout', template }] }, ctx);
if (r.ok === false) throw failOp(r.error.code, r.error.message, null, r.error.elementId);
next = r.doc;
}
}
return {
ok: true,
doc: { ...doc, spreads },
doc: next,
spreadIds: added.map((s) => s.id),
created: createdIds(doc.spreads, spreads),
created: createdIds(doc.spreads, next.spreads),
dropped: [],
};
});
+26 -17
View File
@@ -42,6 +42,8 @@ export const BOOK_PATTERNS = [
'scales',
'sunburst',
'confetti',
'linen',
'grain',
] as const;
export type BookPattern = (typeof BOOK_PATTERNS)[number];
@@ -68,32 +70,39 @@ type ObjectFactory = typeof z.object | typeof z.strictObject;
function paintSchemas(obj: ObjectFactory, pattern: z.ZodType<BookPattern, string>) {
const stop = obj({ at: z.number().min(0).max(1), color: hex, alpha: alpha.optional() });
const stops = z.array(stop).min(2).max(MAX_PAINT_STOPS);
const linear = obj({ type: z.literal('linear'), angle, stops });
const radial = obj({
type: z.literal('radial'),
cx: z.number().min(0).max(1),
cy: z.number().min(0).max(1),
r: z.number().min(RADIAL_RADIUS.min).max(RADIAL_RADIUS.max),
stops,
});
const patterned = obj({
type: z.literal('pattern'),
pattern,
fg: hex,
bg: hex.nullable(),
scale: z.number().min(PATTERN_SCALE.min).max(PATTERN_SCALE.max),
angle,
});
const paint = z.discriminatedUnion('type', [
obj({ type: z.literal('solid'), color: hex, alpha: alpha.optional() }),
obj({ type: z.literal('linear'), angle, stops }),
obj({
type: z.literal('radial'),
cx: z.number().min(0).max(1),
cy: z.number().min(0).max(1),
r: z.number().min(RADIAL_RADIUS.min).max(RADIAL_RADIUS.max),
stops,
}),
obj({
type: z.literal('pattern'),
pattern,
fg: hex,
bg: hex.nullable(),
scale: z.number().min(PATTERN_SCALE.min).max(PATTERN_SCALE.max),
angle,
}),
linear,
radial,
patterned,
]);
return { stop, paint };
return { stop, paint, linear, radial, patterned };
}
const docSchemas = paintSchemas(z.object, z.string().pipe(z.enum(BOOK_PATTERNS)));
export const bookPaintStopSchema = docSchemas.stop;
export const bookPaintSchema = docSchemas.paint;
/** The paints that are more than one colour, as the letters of a text take them too (book-text-effects.schema.ts). */
export const bookLinearPaintSchema = docSchemas.linear;
export const bookRadialPaintSchema = docSchemas.radial;
export const bookPatternPaintSchema = docSchemas.patterned;
export type BookPaint = z.infer<typeof bookPaintSchema>;
export type BookPaintStop = z.infer<typeof bookPaintStopSchema>;
export type BookGradientPaint = Extract<BookPaint, { type: 'linear' | 'radial' }>;
+1 -1
View File
@@ -71,7 +71,7 @@ describe('the paint contract', () => {
for (const p of [{ type: 'solid', color: '#abcdef', alpha: 0.4 }, linear, radial, stripes]) {
expect(bookPaintSchema.parse(p)).toEqual(p);
}
expect(BOOK_PATTERNS).toHaveLength(12);
expect(BOOK_PATTERNS).toHaveLength(14);
for (const pattern of BOOK_PATTERNS) expect(bookPaintSchema.safeParse({ ...stripes, pattern }).success).toBe(true);
});
+3 -1
View File
@@ -43,8 +43,10 @@ import type { BookDocument } from './book.schema';
* - 9: text effects and fitting (`transform`, `vAlign`, `outline`, `shadow`, `highlight`,
* `curve`, `fillPaint`, `fit`, `fitMax`, book-text-effects.schema.ts), text up to 400 pt and
* tracking up to 1.5 em.
* - 10: letters filled with a gradient or a pattern (`fillPaint` of type `linear`, `radial`,
* `pattern`, book-text-effects.schema.ts).
*/
export const BOOK_SCHEMA_REV = 9;
export const BOOK_SCHEMA_REV = 10;
/** The `code` a refused save carries in its body when the stored book is newer than the writer. */
export const BOOK_SCHEMA_NEWER_CODE = 'book_schema_newer';
@@ -0,0 +1,17 @@
import en from '../i18n/en';
import { BOOK_FRAME_SHAPES, BOOK_SHAPE_GROUPS } from './book-shape-catalogue';
import { describe, expect, it } from 'vitest';
/**
* Every shape the Studio offers has a name in en, which the client's
* `shapeName` reads for the tooltip and the screen reader of the shape's
* button (client/scripts/i18n-keys.mjs allows the key built from the id).
*/
describe('the shape catalogue', () => {
it('BKSHAPE-001: names every shape of the shelves and every frame shape in en', () => {
const ids = new Set([...BOOK_SHAPE_GROUPS.flatMap((g) => g.shapes), ...BOOK_FRAME_SHAPES]);
const strings = en as Record<string, string>;
for (const id of ids) expect(strings[`journey.studio.shapeName.${id}`], id).toBeTruthy();
});
});
+9
View File
@@ -10,10 +10,19 @@ const n = (v: number) => `${Math.round(v * 10) / 10}`;
const CASES: Record<string, string> = { upper: 'capitals', lower: 'lower case', smallcaps: 'small caps' };
function stopWords(stops: readonly { color: string }[]): string {
return `from ${stops[0]?.color ?? ''} to ${stops[stops.length - 1]?.color ?? ''}`;
}
function fillWords(fill: NonNullable<BookTextEffects['fillPaint']>): string {
if (fill.type === 'photo') {
return `letters filled with photo ${fill.photoId} (focal ${fill.focalX.toFixed(2)}/${fill.focalY.toFixed(2)}, zoom ${n(fill.zoom)})`;
}
if (fill.type === 'linear') return `letters in a linear gradient at ${n(fill.angle)} deg, ${stopWords(fill.stops)}`;
if (fill.type === 'radial') return `letters in a radial gradient, ${stopWords(fill.stops)}`;
if (fill.type === 'pattern') {
return `letters patterned ${fill.pattern} in ${fill.fg} on ${fill.bg ?? 'clear'} at scale ${n(fill.scale)}`;
}
return fill.alpha === 0 ? 'hollow letters (outline only)' : `fill ${fill.color} at alpha ${n(fill.alpha)}`;
}
@@ -1,4 +1,6 @@
import { bookTextIsDrawn } from './book-text-effects.schema';
import { bookTextEffectWords } from './book-text-describe';
import { bookTextIsDrawn, bookTextPaintFill } from './book-text-effects.schema';
import { bookTextHasOwnGround } from './book-text-findings';
import { bookTextElementSchema } from './book.schema';
import { describe, expect, it } from 'vitest';
@@ -75,3 +77,36 @@ describe('the effect fields of a text', () => {
expect(bookTextIsDrawn(parse({ fillPaint: { type: 'photo', photoId: 3 } }))).toBe(true);
});
});
describe('letters filled with a gradient or a pattern', () => {
const gradient = {
type: 'linear',
angle: 90,
stops: [
{ at: 0, color: '#ff6600' },
{ at: 1, color: '#ffcc00' },
],
};
const gingham = { type: 'pattern', pattern: 'gingham', fg: '#d62828', bg: '#ffffff', scale: 1, angle: 0 };
it('BKFX-005: reads a gradient and a pattern in the shape a shape takes them, and draws them as SVG', () => {
const lin = parse({ fillPaint: gradient });
const pat = parse({ fillPaint: gingham });
expect(bookTextPaintFill(lin)).toEqual(gradient);
expect(bookTextPaintFill(pat)).toEqual(gingham);
expect(bookTextIsDrawn(lin)).toBe(true);
expect(bookTextIsDrawn(pat)).toBe(true);
expect(bookTextPaintFill(parse({ fillPaint: { type: 'photo', photoId: 3 } }))).toBeNull();
expect(() => parse({ fillPaint: { ...gingham, pattern: 'plaid' } })).toThrow();
});
it('BKFX-006: names the paint for a model that cannot see the page, and judges no contrast against it', () => {
expect(bookTextEffectWords({ ...parse({ fillPaint: gradient }), size: 40 })).toContain(
'linear gradient at 90 deg, from #ff6600 to #ffcc00',
);
expect(bookTextEffectWords({ ...parse({ fillPaint: gingham }), size: 40 })).toContain(
'patterned gingham in #d62828 on #ffffff',
);
expect(bookTextHasOwnGround(parse({ fillPaint: gingham }))).toBe(true);
});
});
+29 -9
View File
@@ -1,3 +1,10 @@
import {
bookLinearPaintSchema,
bookPatternPaintSchema,
bookRadialPaintSchema,
type BookPaint,
} from './book-paint.schema';
import { z } from 'zod';
/**
@@ -27,10 +34,11 @@ import { z } from 'zod';
*
* ── The fill and the paint system ──────────────────────────────────────────
*
* `fillPaint` takes a solid colour with its own alpha or a photograph today.
* Its solid variant has the shape the book's paint type gives a solid fill, so
* gradients and patterns join this union as further members, without a
* reader of today's fields changing.
* `fillPaint` takes a solid colour with its own alpha, a photograph, or one
* of the book's paints of more than one colour: a linear or radial gradient or
* a pattern, in exactly the shape a shape or a page takes them, so one picker
* and one renderer serve all three. A gradient or pattern fill is drawn as SVG
* like a photo fill, the paint clipped to the letters.
*/
const hex = z.string().regex(/^#[0-9a-fA-F]{6}$/, 'expected #rrggbb');
@@ -84,7 +92,10 @@ export const bookTextCurveSchema = z.object({
});
export type BookTextCurve = z.infer<typeof bookTextCurveSchema>;
/** What fills the letters in place of `color`: a colour with its own alpha (0 leaves an outline only), or a photograph. */
/**
* What fills the letters in place of `color`: a colour with its own alpha (0
* leaves an outline only), a photograph, or a gradient or pattern.
*/
export const bookTextFillSchema = z.discriminatedUnion('type', [
z.object({ type: z.literal('solid'), color: hex, alpha: alpha.default(1) }),
z.object({
@@ -95,9 +106,18 @@ export const bookTextFillSchema = z.discriminatedUnion('type', [
focalY: z.number().min(0).max(1).default(0.5),
zoom: z.number().min(1).max(4).default(1),
}),
bookLinearPaintSchema,
bookRadialPaintSchema,
bookPatternPaintSchema,
]);
export type BookTextFill = z.infer<typeof bookTextFillSchema>;
/** The letters' gradient or pattern, as the paint a shape would take, or null for any other fill. */
export function bookTextPaintFill(el: { fillPaint?: BookTextFill | null }): BookPaint | null {
const fill = el.fillPaint;
return fill && (fill.type === 'linear' || fill.type === 'radial' || fill.type === 'pattern') ? fill : null;
}
/** `shrink` sets the text at the largest size up to `fitMax` that holds the frame, solved on edit and stored in `size`. */
export const BOOK_TEXT_FITS = ['none', 'shrink'] as const;
@@ -133,10 +153,10 @@ export interface BookTextEffects {
/**
* Whether a text is drawn as SVG rather than as a box of HTML type: on a
* curve, or filled with a photograph. Such a text is set line by line as
* written, never wrapped, which is what word art wants and what the checks
* measure it by.
* curve, or filled with a photograph, a gradient or a pattern. Such a text is
* set line by line as written, never wrapped, which is what word art wants and
* what the checks measure it by.
*/
export function bookTextIsDrawn(el: BookTextEffects): boolean {
return !!el.curve || el.fillPaint?.type === 'photo';
return !!el.curve || el.fillPaint?.type === 'photo' || !!bookTextPaintFill(el);
}
+2 -1
View File
@@ -30,7 +30,8 @@ const MIN_FILL_PX_PER_MM = 200 / 25.4;
*/
export function bookTextHasOwnGround(el: BookTextElement): boolean {
if (el.highlight) return true;
if (el.fillPaint && (el.fillPaint.type === 'photo' || el.fillPaint.alpha < 0.5)) return true;
// A photo, a gradient or a pattern in the letters is no one colour the page could be judged against.
if (el.fillPaint && (el.fillPaint.type !== 'solid' || el.fillPaint.alpha < 0.5)) return true;
return !!el.outline && el.outline.width >= ptToMm(el.size) * 0.04;
}
+9 -1
View File
@@ -1,4 +1,4 @@
import { textHeightNeeded } from './book-findings';
import { bookLetterMm, textHeightNeeded } from './book-findings';
import { blankBook } from './book-pages';
import {
bookCasedText,
@@ -138,4 +138,12 @@ describe('fitting a page', () => {
expect((next.spreads[0]?.elements[0] as BookTextElement).size).toBeLessThan(60);
expect(next.spreads[1]).toBe(doc.spreads[1]);
});
it('BKFIT-011: a bold condensed face is measured at its own width, not the regular widened by a guess', () => {
const oswald = (weight: number) => bookLetterMm(text({ font: 'oswald', weight, size: 20 }));
// Oswald's 700 sets about 13% wider than its 400; a flat 6% would let a bold heading overrun its frame.
expect(oswald(700) / oswald(400)).toBeGreaterThan(1.1);
const vibes = (weight: number) => bookLetterMm(text({ font: 'vibes', weight, size: 20 }));
expect(vibes(700) / vibes(400)).toBeCloseTo(1.06, 6);
});
});
+3 -1
View File
@@ -23,7 +23,9 @@ export const TEXT_EFFECT_PROPS = {
shadow: f.shadow.describe('Hard, never blurred; dx, dy in mm.'),
highlight: f.highlight.describe('A marker band behind each line; pads in mm.'),
curve: f.curve.describe('One line on an arc (bend > 0 arches up) or round a circle (start: degrees, 0 top).'),
fillPaint: f.fillPaint.describe('Replaces color: solid (alpha 0 is hollow, with an outline) or a gallery photo.'),
fillPaint: f.fillPaint.describe(
'Replaces color: solid (alpha 0 is hollow, with an outline), a gallery photo, or a linear/radial gradient or pattern shaped as on a shape.',
),
fit: f.fit.describe('shrink: the largest size up to size that holds the frame.'),
};
@@ -138,4 +138,6 @@ export const BOOK_PATTERN_LINES: Readonly<Record<BookPattern, string>> = {
scales: 'Overlapping half circles, fish scales or roof tiles.',
sunburst: 'Rays from a centre, a sunburst.',
confetti: 'Scattered confetti.',
linen: 'Fine woven threads, the texture of a cloth-bound book, best in a colour close to its ground.',
grain: 'Fine scattered specks, the grain of paper or kraft card, best in a colour close to its ground.',
};
@@ -356,6 +356,17 @@ describe('design_book', () => {
expect(JSON.stringify(again.doc)).toBe(JSON.stringify(banded.doc));
});
it('BOOKDSN-032: lays the cover out on a decorated cover template, and leaves a double-spread one out with a note', () => {
const poster = designBook(null, input('rich'), { style: 'minimal', cover: { template: 'poster-pop-sunburst' } });
const cover = poster.doc.spreads[0] as BookSpread;
expect(cover.elements.some((e) => e.kind === 'photo')).toBe(true);
expect(cover.elements.some((e) => e.kind === 'text' && e.binding?.source === 'journey.title')).toBe(true);
const again = designBook(null, input('rich'), { style: 'minimal', cover: { template: 'poster-pop-sunburst' } });
expect(JSON.stringify(again.doc)).toBe(JSON.stringify(poster.doc));
const spread = designBook(null, input('rich'), { style: 'minimal', cover: { template: 'hero-script-word' } });
expect(spread.notes.some((n) => n.includes('hero-script-word'))).toBe(true);
});
it('BOOKDSN-014: stays within the spread cap beside many kept pages, the closing pages kept', () => {
const stored = storedBook();
const lockedPage = stored.spreads[2] as BookSpread;
@@ -1,6 +1,6 @@
import { idSchema } from '../../common/primitives.schema';
import { bookFontIdSchema, bookMetricSchema, bookPagePresetSchema } from '../book-op-enums';
import { bookCoverTemplateIdSchema } from '../book-ops.schema';
import { bookAnyTemplateIdSchema } from '../book-ops.schema';
import { MAX_BOOK_TITLE } from '../book.schema';
import { bookThemeCatalogue } from '../theme/book-theme-describe';
import { BOOK_THEME_IDS } from '../theme/book-theme.schema';
@@ -84,7 +84,7 @@ export const bookDesignDirectivesSchema = z.strictObject({
.optional(),
cover: z
.strictObject({
template: bookCoverTemplateIdSchema.optional(),
template: bookAnyTemplateIdSchema.optional(),
archetype: bookCoverArchetypeSchema.optional(),
lockup: bookCoverLockupSchema.optional(),
title: z.string().max(MAX_BOOK_TITLE).optional(),
+18 -2
View File
@@ -6,6 +6,8 @@ import { formatBookDate } from '../book-text';
import { bookTravelCountries, bookTravelMap, bookTravelStats } from '../book-travel';
import type { BookElement, BookMetric, BookSpread, BookTextElement } from '../book.schema';
import type { JourneyStats } from '../journey-stats.schema';
import { applyDecoratedTemplate } from '../templates/template-apply';
import { findDecoratedTemplate } from '../templates/template-catalogue';
import {
bleedPage,
frameOf,
@@ -90,8 +92,22 @@ export function composeCover(
*/
function withCoverTemplate(c: ComposeCtx, cover: BookSpread): BookSpread {
const wanted = c.directives.cover?.template;
const tpl = wanted ? BOOK_COVER_TEMPLATES.find((t) => t.id === wanted) : undefined;
if (!tpl) return cover;
if (!wanted) return cover;
const decorated = findDecoratedTemplate(wanted);
if (decorated) {
if (decorated.kind !== 'single') {
c.notes.push(`${wanted} is a double-spread template, so cover.template is left out`);
return cover;
}
// A designed page keeps its own faces and colours, in the book's theme, and takes the cover's photo and words.
const opts = { theme: c.look.theme, travel: c.travel, locale: c.locale, newId: c.newId };
return { ...applyDecoratedTemplate(cover, decorated, c.page, opts), parked: [] };
}
const tpl = BOOK_COVER_TEMPLATES.find((t) => t.id === wanted);
if (!tpl) {
c.notes.push(`${wanted} is a double-spread layout, so cover.template is left out`);
return cover;
}
const laid = applyBookTemplate(cover, tpl, c.page);
const elements = laid.elements.map((e): BookElement => {
if (e.kind === 'text') return { ...e, id: c.newId('t'), color: c.look.ink };
+199
View File
@@ -614,4 +614,203 @@ export const ASIA_STICKERS: readonly BookStickerDef[] = [
],
license: 'in-house',
},
{
id: 'tiger',
theme: 'asia',
tags: ['tiger', 'bengal tiger', 'india', 'jungle', 'safari', 'wildlife', 'animal', 'big cat'],
descr:
'A friendly Bengal tiger walking left with its face turned to the viewer, orange fur with black stripes, white cheeks and belly and a curled striped tail.',
box: [110, 80],
slots: [
{ name: 'fur', color: '#f08a24' },
{ name: 'belly', color: '#fbf6ee' },
{ name: 'stripes', color: '#262229' },
{ name: 'nose', color: '#e8828a' },
],
layers: [
{ p: 'shade', d: 'M18 75.5A42 2.6 0 1 0 102 75.5A42 2.6 0 1 0 18 75.5Z', o: 0.12 },
{
p: 0,
d: 'M46 46L48 70C48 73 49.5 74.5 52.5 74.5L57.5 74.5C59.5 74.5 59.5 71.5 57.5 70.5L56 46ZM80 44L86 70C86.6 73 88 74.5 91 74.5L95.5 74.5C97.5 74.5 97.5 71.5 95.5 70.5L91 44Z',
},
{
p: 'shade',
d: 'M46 46L48 70C48 73 49.5 74.5 52.5 74.5L57.5 74.5C59.5 74.5 59.5 71.5 57.5 70.5L56 46ZM80 44L86 70C86.6 73 88 74.5 91 74.5L95.5 74.5C97.5 74.5 97.5 71.5 95.5 70.5L91 44Z',
o: 0.28,
},
{ p: 0, d: 'M88 37C99 34 101 22 99 14C97.8 9 101 5.5 105 7', w: 4.4 },
{
p: 2,
d: 'M96.9 30.4L97.3 29.7L97.6 29.1L98 28.4M99.3 24.1L99.4 23.4L99.5 22.7L99.6 21.9M99.6 17.6L99.5 16.9L99.4 16.2L99.3 15.5M100.1 8.1L100.8 7.4L101.7 6.9L102.7 6.7L103.8 6.7L105 7',
w: 4.4,
},
{ p: 0, d: 'M32 43A30 14.5 0 1 0 92 43A30 14.5 0 1 0 32 43Z' },
{ p: 0, d: 'M34 36C38 31 45 30 50 31.5L50 52L35 52Z' },
{
p: 0,
d: 'M72 36C84 31 95 38 93 50C92.5 53 91 56 89 58L91.5 70C92 73 90.5 74.5 88 74.5L82 74.5C79.5 74.5 79.5 71.5 82 70.5L80.5 58C74 56 69 46 72 36Z',
},
{ p: 0, d: 'M33 42L30.5 70C30.3 73 31.8 74.5 34.8 74.5L41.3 74.5C43.3 74.5 43.3 71.5 41.3 70.5L44.5 44Z' },
{
p: 1,
d: 'M40 52.3L43 53.6L46 54.7L49 55.5L52 56.1L55 56.5L58 56.8L61 56.9L64 56.9L67 56.7L70 56.4L73 55.9L76 55.2L79 54.3L82 53.2L82 53.2L79 53.4L76 53.4L73 53.3L70 53.1L67 52.9L64 52.8L61 52.7L58 52.7L55 52.7L52 52.8L49 52.8L46 52.8L43 52.7L40 52.3Z',
},
{ p: 'light', d: 'M48 33.2C56 31 66 30.8 74 32', w: 1.4, o: 0.3 },
{
p: 2,
d: 'M43.6 32.3L46.4 31.4Q44.9 36.1 43 41.1Q43.3 36.1 43.6 32.3ZM49.1 30.7L52.9 30Q51.1 37 49.4 44.5Q49.5 37 49.1 30.7ZM55.2 29.7L57.8 29.4Q56.9 33.2 55.5 37.7Q55.3 33.2 55.2 29.7ZM60 29.3L64 29.3Q62.7 36.5 61.6 44.5Q61.1 36.5 60 29.3ZM66.1 29.4L68.9 29.7Q68.6 33.7 67.9 38.7Q67 33.7 66.1 29.4ZM71.1 30L74.9 30.7Q74.4 36.5 74 43.5Q72.8 36.5 71.1 30ZM77.2 31.3L79.8 32.1Q80.1 35.4 79.9 39.9Q78.5 35.4 77.2 31.3ZM82.4 33.2L85.6 34.8Q85.9 38.1 86 43.1Q84.3 38.1 82.4 33.2ZM87.9 36.5L90.1 38.7Q90.7 39.7 90.6 42.7Q89.1 39.7 87.9 36.5ZM47 54.6C48.6 51.6 50.4 49.6 53 48.6C51.6 51 51 53 51 55.6ZM58 56.6C59.4 53 61.4 50.6 64.4 49.4C62.8 52.2 62.2 54.6 62.2 57.4ZM69 56.4C70.2 53.2 72 51.2 74.6 50C73.2 52.4 72.8 54.4 72.8 56.8ZM86 40.5C82 43 80 47 80.5 51.5C82 47.5 84.5 44 88.2 42ZM90.4 46C86.8 48.4 85 51.6 85 55C86.8 52 88.6 50 91.6 49ZM32.4 56L37.4 56.6L32.3 58.4Z M31.8 62L37 62.6L31.7 64.4Z M43.6 52L39.6 53L43.5 54.6ZM80.9 62L85.5 62.4L81.1 64.2Z M81.3 66.4L85.4 66.8L81.4 68.4Z M90.3 61L86.6 62L90.6 63.4Z',
},
{ p: 'shade', d: 'M33.6 50C44 57.6 70 59 86.6 52.4C80 56.2 74 57.4 62 57.5C50 57.5 40 55 33.6 50Z', o: 0.12 },
{ p: 'shade', d: 'M35.3 72.6L35.3 74M38.3 72.6L38.3 74M84 72.6L84 74M87 72.6L87 74', w: 0.7, o: 0.35 },
{
p: 0,
d: 'M7.4 23.5A5.6 5.6 0 1 0 18.6 23.5A5.6 5.6 0 1 0 7.4 23.5ZM25.4 23.5A5.6 5.6 0 1 0 36.6 23.5A5.6 5.6 0 1 0 25.4 23.5Z',
},
{
p: 2,
d: 'M9.6 23.5A3.4 3.4 0 1 0 16.4 23.5A3.4 3.4 0 1 0 9.6 23.5ZM27.6 23.5A3.4 3.4 0 1 0 34.4 23.5A3.4 3.4 0 1 0 27.6 23.5Z',
},
{ p: 1, d: 'M11.4 24A2 2 0 1 0 15.4 24A2 2 0 1 0 11.4 24ZM28.6 24A2 2 0 1 0 32.6 24A2 2 0 1 0 28.6 24Z' },
{
p: 0,
d: 'M22 20C30.5 20 36 25.5 36 33C36 35 37.5 37 39 38.4C36.6 38.6 35.6 39.4 35.4 40.6C37 41.8 37.2 43.4 36.4 44.6C34 49 28.6 51.4 22 51.4C15.4 51.4 10 49 7.6 44.6C6.8 43.4 7 41.8 8.6 40.6C8.4 39.4 7.4 38.6 5 38.4C6.5 37 8 35 8 33C8 25.5 13.5 20 22 20Z',
},
{
p: 1,
d: 'M22 38C25.4 34.8 31.6 36.2 32 41C32.4 46.6 27.8 50.6 22 50.6C16.2 50.6 11.6 46.6 12 41C12.4 36.2 18.6 34.8 22 38Z',
},
{
p: 1,
d: 'M12 30.2A3.6 2.2 0 1 0 19.2 30.2A3.6 2.2 0 1 0 12 30.2ZM24.8 30.2A3.6 2.2 0 1 0 32 30.2A3.6 2.2 0 1 0 24.8 30.2Z',
},
{
p: 2,
d: 'M19.2 21.5L22 28L24.8 21.5Q22 21 19.2 21.5ZM15.4 22.6L18.4 26.4L18.6 21.6Z M28.6 22.6L25.6 26.4L25.4 21.6ZM8.2 31.2L13.6 33.6L8.3 34.4Z M35.8 31.2L30.4 33.6L35.7 34.4ZM8.6 37.4L12.6 38.6L9 39.8Z M35.4 37.4L31.4 38.6L35 39.8Z',
},
{
p: 'ink',
d: 'M14.5 33A1.9 1.9 0 1 0 18.3 33A1.9 1.9 0 1 0 14.5 33ZM25.7 33A1.9 1.9 0 1 0 29.5 33A1.9 1.9 0 1 0 25.7 33Z',
},
{
p: 'paper',
d: 'M16.3 32.3A0.7 0.7 0 1 0 17.7 32.3A0.7 0.7 0 1 0 16.3 32.3ZM27.5 32.3A0.7 0.7 0 1 0 28.9 32.3A0.7 0.7 0 1 0 27.5 32.3Z',
},
{ p: 3, d: 'M18.6 39.6C18.6 38.4 25.4 38.4 25.4 39.6C25.4 41 23.4 42.6 22 42.6C20.6 42.6 18.6 41 18.6 39.6Z' },
{ p: 'ink', d: 'M22 42.6L22 44.4M22 44.4C21 46 18.6 46 18 44.6M22 44.4C23 46 25.4 46 26 44.6', w: 0.8 },
{
p: 'shade',
d: 'M15.1 44.5A0.4 0.4 0 1 0 15.9 44.5A0.4 0.4 0 1 0 15.1 44.5ZM13.6 43A0.4 0.4 0 1 0 14.4 43A0.4 0.4 0 1 0 13.6 43ZM28.1 44.5A0.4 0.4 0 1 0 28.9 44.5A0.4 0.4 0 1 0 28.1 44.5ZM29.6 43A0.4 0.4 0 1 0 30.4 43A0.4 0.4 0 1 0 29.6 43Z',
o: 0.35,
},
],
license: 'in-house',
},
{
id: 'monkey',
theme: 'asia',
tags: ['monkey', 'macaque', 'india', 'temple', 'jungle', 'wildlife', 'animal', 'banana'],
descr:
'A cheerful brown macaque sitting with its knees up, holding a yellow banana in both hands, its long tail curling out in a spiral beside it.',
box: [100, 105],
slots: [
{ name: 'fur', color: '#9c6b45' },
{ name: 'belly', color: '#d9b58c' },
{ name: 'skin', color: '#f2c4a8' },
{ name: 'banana', color: '#f5cf45' },
],
layers: [
{ p: 'shade', d: 'M18 98.6A36 2.4 0 1 0 90 98.6A36 2.4 0 1 0 18 98.6Z', o: 0.12 },
{ p: 0, d: 'M60 92C76 98 92 94 93 78C94 66 84 60 77 64C71 68 73 77 80 76', w: 4.4 },
{ p: 'shade', d: 'M60 92C76 98 92 94 93 78C94 66 84 60 77 64C71 68 73 77 80 76', w: 4.4, o: 0.12 },
{ p: 0, d: 'M32 94C25 84 26 64 36 55C42 50 54 50 60 55C70 64 71 84 64 94C56 97 40 97 32 94Z' },
{
p: 'shade',
d: 'M60 55C70 64 71 84 64 94C61 95 58 95.6 56 96C62 86 63 68 56 54C57.6 54 59 54.4 60 55Z',
o: 0.14,
},
{ p: 1, d: 'M38 75A10 13.5 0 1 0 58 75A10 13.5 0 1 0 38 75Z' },
{ p: 0, d: 'M25.5 84A9.5 9.5 0 1 0 44.5 84A9.5 9.5 0 1 0 25.5 84Z' },
{ p: 0, d: 'M51.5 84A9.5 9.5 0 1 0 70.5 84A9.5 9.5 0 1 0 51.5 84Z' },
{
p: 'shade',
d: 'M27 88C29 93 33 94 37 93.4C41 93 44 89.6 44.4 86C42 90 37 91.6 33 91C30 90.6 28 89.4 27 88Z',
o: 0.16,
},
{
p: 'shade',
d: 'M52 88C54 93 58 94 62 93.4C66 93 69 89.6 70.4 86C68 90 63 91.6 59 91C56 90.6 54 89.4 52 88Z',
o: 0.16,
},
{ p: 2, d: 'M24 95A7 3.6 0 1 0 38 95A7 3.6 0 1 0 24 95ZM58 95A7 3.6 0 1 0 72 95A7 3.6 0 1 0 58 95Z' },
{ p: 'shade', d: 'M26.5 94.6L26.5 97M29.5 95L29.5 97.6M62.5 95L62.5 97.6M65.5 94.6L65.5 97', w: 0.7, o: 0.3 },
{
p: 'shade',
d: 'M27.4 80C29 76.4 32 75 35 75C38.4 75 41.6 77 43.2 80.4M52.8 80.4C54.4 77 57.6 75 61 75C64 75 67 76.4 68.6 80',
w: 1,
o: 0.2,
},
{
p: 'shade',
d: 'M39.4 60.4C33.4 65.4 34.6 72.6 42.6 71.6M56.6 60.4C62.6 65.4 61.4 72.6 53.4 71.6',
w: 8.6,
o: 0.22,
},
{ p: 0, d: 'M39.4 60.4C33.4 65.4 34.6 72.6 42.6 71.6M56.6 60.4C62.6 65.4 61.4 72.6 53.4 71.6', w: 7 },
{ p: 3, d: 'M35.4 63.4C39.4 74.6 56.4 76.4 62.4 62.4C58.4 67.6 42.4 69 35.4 63.4Z' },
{ p: 'shade', d: 'M37.2 67.6C42 73.6 53.6 74.8 59.6 68.4C54.6 75.8 41.6 74.6 37.2 67.6Z', o: 0.2 },
{ p: '#6b4a2b', d: 'M62 62.9L63.6 60.4', w: 1.5 },
{ p: '#6b4a2b', d: 'M35 63.9A0.9 0.9 0 1 0 36.8 63.9A0.9 0.9 0 1 0 35 63.9Z' },
{ p: 2, d: 'M39.4 71A3.6 3.6 0 1 0 46.6 71A3.6 3.6 0 1 0 39.4 71Z' },
{ p: 2, d: 'M49.4 71A3.6 3.6 0 1 0 56.6 71A3.6 3.6 0 1 0 49.4 71Z' },
{ p: 'shade', d: 'M41 69.4L44.6 69.8M41 71.8L44.6 72M51.4 69.8L55 69.4M51.4 72L55 71.8', w: 0.6, o: 0.3 },
{
p: 0,
d: 'M23.7 37A6.8 6.8 0 1 0 37.3 37A6.8 6.8 0 1 0 23.7 37ZM58.7 37A6.8 6.8 0 1 0 72.3 37A6.8 6.8 0 1 0 58.7 37Z',
},
{
p: 2,
d: 'M26.6 37.2A4.2 4.2 0 1 0 35 37.2A4.2 4.2 0 1 0 26.6 37.2ZM61 37.2A4.2 4.2 0 1 0 69.4 37.2A4.2 4.2 0 1 0 61 37.2Z',
},
{
p: 'shade',
d: 'M29.4 37.6A2 2 0 1 0 33.4 37.6A2 2 0 1 0 29.4 37.6ZM62.6 37.6A2 2 0 1 0 66.6 37.6A2 2 0 1 0 62.6 37.6Z',
o: 0.15,
},
{
p: 0,
d: 'M42.6 20.6C43.4 17 45.8 15.4 47 13.6C47.6 15.6 48 16.6 49.6 16.4C50.6 14.8 52.6 14 54.4 14.6C53 16.4 54 18.6 54.4 20.6Z',
},
{ p: 0, d: 'M31 36.5A17 17 0 1 0 65 36.5A17 17 0 1 0 31 36.5Z' },
{ p: 'light', d: 'M37 26.6C39.4 23.6 42.8 22 46 21.6', w: 1.6, o: 0.3 },
{
p: 'shade',
d: 'M60.6 25C67.6 33 65.6 47.6 54.4 52.2C50.6 53.8 46 53.8 42 52.6C52 52.6 62 44 60.6 25Z',
o: 0.12,
},
{ p: 2, d: 'M35 35A7.2 7.2 0 1 0 49.4 35A7.2 7.2 0 1 0 35 35Z' },
{ p: 2, d: 'M46.6 35A7.2 7.2 0 1 0 61 35A7.2 7.2 0 1 0 46.6 35Z' },
{ p: 2, d: 'M38 44.2A10 7.8 0 1 0 58 44.2A10 7.8 0 1 0 38 44.2Z' },
{
p: '#e98f8f',
d: 'M36.8 43.6A2.6 1.6 0 1 0 42 43.6A2.6 1.6 0 1 0 36.8 43.6ZM54 43.6A2.6 1.6 0 1 0 59.2 43.6A2.6 1.6 0 1 0 54 43.6Z',
o: 0.45,
},
{
p: 'ink',
d: 'M40.3 35.6A2.3 2.3 0 1 0 44.9 35.6A2.3 2.3 0 1 0 40.3 35.6ZM51.1 35.6A2.3 2.3 0 1 0 55.7 35.6A2.3 2.3 0 1 0 51.1 35.6Z',
},
{
p: 'paper',
d: 'M42.5 34.8A0.8 0.8 0 1 0 44.1 34.8A0.8 0.8 0 1 0 42.5 34.8ZM53.3 34.8A0.8 0.8 0 1 0 54.9 34.8A0.8 0.8 0 1 0 53.3 34.8Z',
},
{ p: 0, d: 'M38.8 30.2C40.8 28.6 43.6 28.4 45.6 29.6M50.4 29.6C52.4 28.4 55.2 28.6 57.2 30.2', w: 1.1 },
{
p: 'ink',
d: 'M45.8 42.2A0.8 1.1 0 1 0 47.4 42.2A0.8 1.1 0 1 0 45.8 42.2ZM48.6 42.2A0.8 1.1 0 1 0 50.2 42.2A0.8 1.1 0 1 0 48.6 42.2Z',
o: 0.8,
},
{ p: 'ink', d: 'M43.4 46.4C46 49.4 50 49.4 52.6 46.4', w: 0.9 },
],
license: 'in-house',
},
];
@@ -208,4 +208,185 @@ export const DOODLES_STICKERS: readonly BookStickerDef[] = [
],
license: 'in-house',
},
{
id: 'doodlePalm',
theme: 'doodles',
tags: ['palm', 'palm tree', 'doodle', 'hand drawn', 'beach', 'tropical', 'island', 'sketch'],
descr:
'A hand-drawn palm tree doodle with a curved ringed trunk, four notched green fronds, three coconuts and a small sandy island line.',
box: [100, 108],
slots: [
{ name: 'leaf', color: '#2a9d5c' },
{ name: 'trunk', color: '#8a5a2b' },
],
layers: [
{
p: 1,
w: 2.4,
d: 'M13.8 101C15.5 100.5 20.1 99 23.8 98C27.6 97.1 32 96 36.4 95.4C40.7 94.8 45.4 94.6 50 94.6C54.6 94.5 59.7 94.6 64 95.2C68.3 95.8 71.7 97.2 75.7 98.2C79.7 99.2 85.8 100.7 87.9 101.2',
},
{
p: 1,
w: 2.2,
d: 'M20 104.6C22.3 104.4 29.4 103.7 33.9 103.8C38.4 103.8 44.8 104.5 46.9 104.7M56 104.4C58.3 104.4 65.8 104 70 104C74.1 104.1 79.1 104.7 81 104.9',
},
{
p: 1,
w: 2.4,
d: 'M41.8 97C41.6 95.7 41.2 92.1 41 89.6C40.7 87.1 40.3 84.5 40.4 82.1C40.5 79.7 41.1 77.4 41.4 75.2C41.6 72.9 41.5 70.7 42 68.5C42.5 66.3 43.5 64.1 44.2 62C44.9 59.9 45.5 57.8 46.3 55.9C47 54 47.8 52.5 48.7 50.8C49.6 49 50.8 46.9 51.7 45.2C52.7 43.6 53.3 42.2 54.4 40.7C55.4 39.2 57.4 36.9 58 36.1',
},
{
p: 1,
w: 2.4,
d: 'M52.2 95C52 93.9 51.1 90.4 50.8 88.2C50.5 86 50.4 83.8 50.3 81.8C50.3 79.7 50.5 78 50.6 76.1C50.7 74.2 50.6 72.2 50.8 70.3C51 68.3 51.2 66.3 51.7 64.5C52.2 62.6 53.1 60.7 53.8 59C54.4 57.2 54.9 55.5 55.6 53.8C56.3 52.1 57.1 50.4 57.9 48.8C58.8 47.3 59.7 46 60.5 44.5C61.4 43.1 62.6 40.7 63 40',
},
{
p: 1,
w: 1.8,
d: 'M41.3 89.4C42 89 44.5 87.5 45.5 87.4C46.6 87.2 47.3 88.5 47.7 88.7M41.1 82.1C41.8 81.9 44.4 80.7 45.4 80.7C46.4 80.7 46.8 81.8 47.1 82.1M41.5 75.2C42.2 75 44.9 74.2 45.9 74.3C46.8 74.4 47 75.5 47.3 75.7M42.7 68.6C43.4 68.5 45.9 67.7 46.8 67.8C47.7 68 47.9 69.3 48.1 69.5M44.3 62.2C44.9 62.1 47.5 61.6 48.3 61.8C49.2 62 49.2 63.3 49.4 63.7M46.5 56.2C47.1 56.3 49.3 56.1 50.1 56.4C50.9 56.7 51 57.7 51.1 58M49 50.7C49.6 50.7 52 50.6 52.7 50.9C53.5 51.2 53.1 52.4 53.2 52.7M51.7 45.6C52.3 45.6 54.7 45.4 55.4 45.8C56.1 46.1 55.7 47.4 55.7 47.7M55 40.7C55.5 40.8 57.4 40.6 58 41C58.6 41.4 58.3 42.7 58.4 43',
},
{
p: 0,
w: 2.3,
d: 'M57.9 33.1C58.2 32.4 57.7 31.2 56.7 30.2C55.7 29.2 53.8 27.9 52.2 27C50.6 26.1 48.7 25.3 47 24.8C45.2 24.3 43.3 24.2 41.5 24.2C39.7 24.2 37.7 24.3 35.9 24.7C34.2 25.2 32.6 26 31 26.9C29.4 27.8 27.9 28.8 26.6 30.1C25.2 31.4 24.1 32.9 23 34.5C21.9 36.1 20.8 37.8 20.1 39.6C19.3 41.5 17.9 45 18.5 45.5C19.2 46 21.9 43.1 23.8 42.7C25.8 42.2 29 43.2 30.4 42.7C31.8 42.1 31.2 39.5 32.4 39.3C33.7 39.2 36.6 42.2 37.8 41.9C38.9 41.6 38.5 37.9 39.3 37.7C40.2 37.4 41.6 40.9 42.8 40.6C43.9 40.3 45 36.5 46.1 36C47.2 35.5 48.1 37.8 49.6 37.6C51.1 37.4 53.7 35.4 55 34.6C56.4 33.9 57.7 33.9 57.9 33.1Z',
},
{
p: 0,
w: 1.9,
d: 'M58.4 33.4C57.3 33 54.1 31.6 51.9 31C49.8 30.4 47.6 30.1 45.5 30C43.4 29.9 41.5 30.1 39.5 30.5C37.5 30.8 35.4 31.4 33.6 32.2C31.8 32.9 30.2 33.7 28.5 34.9C26.8 36.2 24.3 38.8 23.4 39.5',
},
{
p: 0,
w: 2.3,
d: 'M59.9 32.4C60.5 32.1 60.7 31.6 60.8 30.6C60.8 29.6 60.4 27.9 60.1 26.7C59.7 25.5 59.2 24.4 58.8 23.4C58.4 22.5 58.1 21.7 57.7 20.8C57.3 19.9 56.8 18.9 56.3 18.2C55.7 17.4 54.9 16.8 54.3 16.2C53.6 15.7 53.1 15.4 52.4 14.9C51.7 14.5 50.9 13.8 50.1 13.6C49.4 13.4 48.6 13.6 47.9 13.6C47.2 13.6 46.2 13.2 45.8 13.7C45.4 14.2 45.6 15.8 45.6 16.6C45.6 17.4 45.7 18 45.7 18.7C45.8 19.4 45.7 19.9 45.8 20.6C46 21.2 46.5 22 46.7 22.7C47 23.3 47.1 23.9 47.6 24.5C48 25.1 48.6 25.8 49.3 26.4C50 27 50.8 27.4 51.6 28.1C52.5 28.7 53.2 29.7 54.2 30.4C55.1 31.1 56.3 32 57.3 32.4C58.3 32.7 59.3 32.7 59.9 32.4Z',
},
{
p: 0,
w: 1.9,
d: 'M60 32.8C59.7 32.1 58.6 30.1 57.8 28.8C57 27.5 56 26.3 55.3 25.1C54.5 23.9 54.1 22.8 53.4 21.8C52.7 20.8 51.8 20 51.1 19.1C50.4 18.3 49.7 17.4 49.1 16.7C48.5 16.1 47.7 15.5 47.4 15.2',
},
{
p: 0,
w: 2.3,
d: 'M62.1 32.5C61.6 32.2 61.5 31.5 61.4 30.6C61.4 29.6 61.6 28.1 61.8 26.9C62 25.7 62.3 24.5 62.7 23.5C63 22.4 63.5 21.5 63.9 20.6C64.3 19.8 64.6 19 65.1 18.2C65.6 17.4 66.1 16.5 66.7 15.9C67.4 15.3 68.3 14.9 69.1 14.5C69.8 14.1 70.5 13.8 71.2 13.6C71.8 13.3 72.3 12.9 73 12.8C73.8 12.8 75 12.7 75.5 13.2C76 13.7 75.7 15.2 75.8 16C75.8 16.8 75.9 17.5 75.8 18.1C75.8 18.8 75.6 19.4 75.5 20C75.4 20.7 75.4 21.3 75.1 21.9C74.8 22.6 74.2 23.5 73.8 24.2C73.3 24.9 72.9 25.5 72.3 26.1C71.8 26.7 71 27.2 70.2 27.9C69.5 28.5 68.8 29.2 67.9 29.9C66.9 30.6 65.6 31.8 64.7 32.2C63.7 32.6 62.7 32.8 62.1 32.5Z',
},
{
p: 0,
w: 1.9,
d: 'M61.8 32.9C62.2 32.1 63.4 29.8 64.2 28.4C64.9 27.1 65.6 26 66.3 24.9C67 23.7 67.7 22.4 68.4 21.4C69 20.4 69.5 19.4 70.1 18.6C70.7 17.9 71.3 17.3 71.9 16.6C72.6 16 73.5 15 73.8 14.6',
},
{
p: 0,
w: 2.3,
d: 'M63.6 33.2C63.3 32.6 63.8 31.8 64.6 30.9C65.4 30.1 67 28.9 68.5 28.2C69.9 27.5 71.7 27 73.2 26.7C74.8 26.3 76.3 25.9 77.8 26C79.4 26.1 81 26.8 82.4 27.4C83.9 28 85.5 28.7 86.8 29.6C88.1 30.5 89.3 31.5 90.4 32.7C91.5 34 92.3 35.7 93.2 37.3C94 38.8 94.9 40.3 95.5 42.1C96.1 43.8 97.3 47.4 96.8 47.7C96.3 48.1 94 45 92.2 44.3C90.5 43.6 87.6 44.1 86.3 43.4C85 42.6 85.4 40.1 84.3 39.8C83.2 39.5 80.6 41.9 79.7 41.5C78.7 41.1 79.4 37.8 78.7 37.6C78 37.3 76.4 40.2 75.6 39.9C74.7 39.5 74.4 36 73.6 35.5C72.7 35.1 71.7 37.3 70.4 37.1C69.1 37 67.1 35.2 66 34.6C64.8 33.9 63.8 33.8 63.6 33.2Z',
},
{
p: 0,
w: 1.9,
d: 'M63.1 33.4C64.1 33.1 66.9 32 68.8 31.5C70.6 31.1 72.5 30.6 74.2 30.6C75.9 30.6 77.4 31.2 79 31.6C80.6 32.1 82.2 32.5 83.7 33.4C85.3 34.3 86.7 35.6 88.2 37C89.7 38.3 91.9 40.8 92.6 41.5',
},
{
p: 1,
w: 2,
d: 'M59.8 38.7C59.9 39 60.2 40.2 59.9 40.8C59.7 41.4 59 42.1 58.4 42.4C57.8 42.7 56.9 42.7 56.2 42.5C55.6 42.2 54.9 41.6 54.6 41C54.3 40.4 54.2 39.5 54.4 38.9C54.6 38.2 55.3 37.5 55.9 37.2C56.5 36.9 57.5 36.8 58.1 37C58.8 37.2 59.4 37.8 59.8 38.4C60.1 39.1 60 40.3 60.1 40.7M67 39.1C67 39.5 67.2 40.6 67 41.2C66.7 41.8 66.1 42.5 65.5 42.8C64.9 43 64 43.2 63.4 43C62.7 42.7 62 42 61.7 41.4C61.4 40.8 61.4 39.9 61.6 39.3C61.9 38.7 62.5 38 63.1 37.7C63.7 37.3 64.7 37.2 65.3 37.4C66 37.6 66.7 38.2 67 38.8C67.3 39.4 67.1 40.7 67.1 41M63.6 43.3C63.5 43.6 63.7 44.8 63.4 45.4C63.1 46.1 62.6 46.7 62 46.9C61.4 47.2 60.4 47.4 59.8 47.2C59.1 47 58.4 46.3 58.1 45.7C57.8 45.1 57.8 44.1 58 43.5C58.3 42.8 58.9 42.2 59.5 41.9C60.1 41.6 61 41.4 61.7 41.6C62.4 41.8 63.1 42.4 63.4 43C63.7 43.6 63.5 44.9 63.5 45.2',
},
],
license: 'in-house',
},
{
id: 'doodleWaves',
theme: 'doodles',
tags: ['waves', 'sea', 'ocean', 'doodle', 'hand drawn', 'water', 'beach', 'surf'],
descr:
'Three stacked hand-drawn wave lines in blue pen, each crest leaning forward and rolling over into a small spiral curl.',
box: [100, 86],
slots: [
{ name: 'deep', color: '#2b86d1' },
{ name: 'surf', color: '#4fc0e8' },
],
layers: [
{
p: 0,
w: 2.6,
d: 'M4.9 29C5.6 28.8 7.8 28.7 9.1 28.1C10.5 27.6 11.7 26.7 13 25.7C14.3 24.7 15.7 23.1 16.9 22C18.1 21 19 20 20.2 19.3C21.4 18.7 22.9 18.2 24.1 18.2C25.2 18.3 26.6 18.9 27.3 19.5C28 20.2 28.3 21.4 28.3 22.3C28.3 23.2 27.9 24.4 27.3 24.9C26.8 25.5 25.7 25.7 25 25.5C24.4 25.3 23.6 24.4 23.4 23.7C23.2 23.1 23.5 22 24 21.5C24.5 21 25.9 21.1 26.3 21M32.9 29C33.6 28.9 35.7 28.8 37.1 28.2C38.4 27.7 39.8 26.8 41.1 25.7C42.5 24.6 43.8 22.9 45 21.8C46.1 20.6 47 19.4 48.1 18.7C49.2 18 50.5 17.6 51.6 17.8C52.8 17.9 54.3 18.8 55.1 19.5C55.9 20.2 56.3 21.1 56.3 21.9C56.3 22.8 55.8 24.2 55.2 24.8C54.6 25.3 53.4 25.6 52.8 25.3C52.1 25.1 51.5 24.1 51.3 23.4C51.2 22.8 51.6 21.7 52 21.3C52.5 20.8 53.9 20.8 54.3 20.7M60.8 29C61.4 28.9 63.3 28.8 64.7 28.2C66.1 27.6 67.7 26.7 69.1 25.6C70.4 24.6 71.6 22.9 72.8 21.8C74 20.7 74.9 19.8 76.1 19.2C77.2 18.6 78.5 18.3 79.6 18.4C80.8 18.5 82.2 19.1 83 19.7C83.7 20.3 84.2 21.3 84.2 22.1C84.2 22.9 83.6 24 83 24.5C82.5 25.1 81.6 25.5 80.9 25.4C80.2 25.2 79.2 24.3 79 23.6C78.8 22.9 79.2 21.7 79.7 21.2C80.2 20.8 81.7 20.9 82.1 20.9',
},
{
p: 0,
w: 2.4,
d: 'M28.2 21.8C28.3 22.3 28.5 24.1 28.8 25C29.2 25.9 29.8 26.6 30.4 27.2C31 27.9 31.6 28.6 32.3 28.9C33.1 29.2 34.5 29.1 34.9 29.1M56.2 21.8C56.3 22.3 56.3 23.8 56.7 24.8C57.1 25.7 57.8 26.7 58.4 27.4C59 28.1 59.6 28.6 60.4 28.9C61.1 29.1 62.4 29 62.8 29M84.1 21.8C84.2 22.3 84.3 24 84.6 24.9C84.9 25.8 85.4 26.8 86.1 27.3C86.8 27.9 88.2 28.3 88.7 28.5',
},
{
p: 1,
w: 2.6,
d: 'M10.1 54.9C10.8 54.8 12.9 54.7 14.2 54.2C15.6 53.6 16.9 52.7 18.1 51.7C19.4 50.6 20.8 48.9 22 47.8C23.1 46.7 24 45.6 25.1 44.9C26.3 44.3 27.5 43.8 28.7 43.8C29.8 43.9 31.1 44.5 32 45.2C32.8 45.9 33.4 47 33.5 47.9C33.6 48.8 33.1 50.1 32.5 50.6C31.9 51.1 30.6 51.3 29.9 51.2C29.1 51 28.4 50.3 28.2 49.7C28.1 49 28.5 47.7 29 47.2C29.5 46.7 31 46.8 31.4 46.7M38 55.1C38.6 54.9 40.5 54.8 41.9 54.3C43.2 53.8 44.6 53.1 45.9 52C47.2 50.9 48.6 48.9 49.8 47.7C51 46.6 51.8 45.7 53 45.1C54.2 44.5 55.8 44 57 44C58.1 44.1 59.2 44.8 60 45.5C60.8 46.2 61.5 47.4 61.5 48.3C61.6 49.2 61 50.2 60.4 50.7C59.8 51.3 58.7 51.6 58 51.5C57.3 51.3 56.2 50.4 56.1 49.7C55.9 49 56.4 47.6 56.9 47.1C57.4 46.6 58.8 46.8 59.2 46.8M65.8 55.1C66.5 55 68.5 54.9 69.9 54.4C71.3 53.8 72.8 53 74.1 51.9C75.4 50.8 76.6 48.9 77.8 47.7C79 46.6 79.9 45.5 81.1 44.9C82.2 44.3 83.4 43.9 84.6 44C85.7 44 87.3 44.6 88.1 45.3C88.8 46 89 47.3 89 48.2C89.1 49.1 88.9 49.9 88.4 50.4C87.9 51 86.6 51.6 85.9 51.5C85.1 51.3 84.3 50.2 84.1 49.5C83.9 48.8 84.2 47.8 84.7 47.3C85.2 46.9 86.7 46.8 87.1 46.7',
},
{
p: 1,
w: 2.4,
d: 'M33.3 47.8C33.4 48.3 33.6 49.9 33.9 50.9C34.3 51.8 34.8 52.9 35.4 53.5C36 54.1 36.8 54.5 37.6 54.7C38.3 55 39.5 55 39.9 55.1M61.2 47.8C61.3 48.3 61.5 50.1 61.8 51C62.1 51.9 62.6 52.6 63.2 53.2C63.8 53.8 64.6 54.3 65.3 54.6C66.1 54.9 67.4 55 67.8 55.1M89 47.7C89.1 48.3 89.2 50.1 89.6 51C90 51.9 90.7 52.8 91.3 53.3C92 53.9 93.2 54.3 93.6 54.5',
},
{
p: 0,
w: 2.6,
d: 'M3 81C3.6 80.9 5.5 80.8 6.9 80.3C8.3 79.8 9.9 78.9 11.2 77.8C12.5 76.8 13.6 75 14.8 73.9C16 72.8 17.1 71.7 18.3 71.2C19.4 70.6 20.5 70.4 21.7 70.5C22.8 70.6 24.4 71 25.1 71.6C25.9 72.2 26.2 73.3 26.3 74.2C26.4 75.1 26.2 76.5 25.6 77C25 77.5 23.6 77.5 22.9 77.3C22.2 77.1 21.6 76.2 21.4 75.6C21.3 75 21.4 74 21.9 73.6C22.3 73.2 23.9 73.1 24.3 73M30.9 81C31.6 80.9 33.7 80.6 35.1 80.1C36.4 79.5 37.7 78.5 39 77.5C40.3 76.4 41.4 74.9 42.6 73.7C43.8 72.6 44.9 71.2 46.1 70.5C47.3 69.9 48.7 69.8 49.9 69.9C51.1 70 52.4 70.6 53.2 71.2C53.9 71.9 54.4 73.1 54.5 74C54.6 74.9 54.1 75.9 53.6 76.4C53 76.9 51.8 77.4 51.1 77.2C50.4 77 49.5 75.9 49.3 75.2C49.1 74.5 49.5 73.5 50 73C50.5 72.6 51.8 72.6 52.2 72.5M58.8 81C59.5 80.8 61.4 80.6 62.8 80C64.2 79.4 65.7 78.6 67 77.4C68.3 76.3 69.4 74.4 70.6 73.2C71.7 72.1 72.7 71 73.8 70.4C75 69.8 76.5 69.4 77.7 69.5C78.8 69.6 80.3 70.1 81 70.8C81.8 71.5 82.1 72.7 82.1 73.6C82.2 74.6 81.9 75.9 81.3 76.5C80.7 77.1 79.3 77.4 78.6 77.2C77.9 77.1 77.2 76.1 77.1 75.3C76.9 74.6 77.1 73.4 77.6 72.9C78.1 72.4 79.7 72.5 80.1 72.4',
},
{
p: 0,
w: 2.4,
d: 'M26.3 73.8C26.4 74.4 26.6 76 27 76.9C27.3 77.8 27.8 78.6 28.3 79.2C28.9 79.9 29.6 80.5 30.3 80.8C31.1 81.1 32.5 81 33 81.1M54.2 73.8C54.3 74.3 54.5 76.1 54.9 77C55.2 77.9 55.6 78.7 56.2 79.3C56.8 79.9 57.7 80.3 58.4 80.6C59.2 80.9 60.4 81 60.8 81.1M82.1 73.8C82.2 74.3 82.5 76.1 82.8 77C83.1 78 83.5 78.7 84.1 79.2C84.7 79.8 86.2 80.3 86.6 80.5',
},
],
license: 'in-house',
},
{
id: 'doodleSunRays',
theme: 'doodles',
tags: ['sun', 'sunrise', 'sunset', 'doodle', 'hand drawn', 'summer', 'rays', 'riviera'],
descr:
'A hand-drawn half sun rising over a wobbly horizon line, filled yellow with orange outline, long and short rays and sea dashes below.',
box: [100, 82],
slots: [
{ name: 'sun', color: '#ffc93c' },
{ name: 'ray', color: '#f0772b' },
],
layers: [
{
p: 0,
d: 'M28.9 64.4C29.2 63.2 29.6 59.5 30.4 57.3C31.2 55 32.4 52.8 33.9 50.9C35.5 49 37.5 47.3 39.6 46.1C41.7 44.8 44.1 43.7 46.5 43.2C48.9 42.8 51.5 42.8 53.8 43.2C56.1 43.7 58.4 44.6 60.4 45.8C62.5 47.1 64.5 48.9 66.1 50.8C67.7 52.7 69 54.8 69.9 57C70.7 59.3 70.8 63.2 71 64.5L70.5 65.4L29.5 65.4Z',
},
{
p: 1,
w: 2.6,
d: 'M28.9 64.3C29.1 63.1 29.1 59.1 29.9 56.9C30.7 54.6 32.3 52.6 33.9 50.8C35.5 49 37.6 47.3 39.6 46.1C41.6 44.9 43.7 44 46 43.5C48.3 43 51.1 42.7 53.6 43.2C56 43.6 58.7 44.9 60.8 46.2C62.9 47.4 64.5 48.9 66 50.7C67.6 52.4 69.3 54.5 70.1 56.8C71 59.1 70.9 63.3 71 64.6',
},
{
p: 'light',
o: 0.6,
w: 2,
d: 'M38.6 56.7C38.8 56.5 39.5 55.6 40 55.1C40.5 54.6 41 54.1 41.6 53.6C42.2 53.1 42.9 52.5 43.5 52.2C44.1 51.8 44.6 51.7 45.3 51.4C45.9 51.2 47.1 50.9 47.5 50.7',
},
{
p: 1,
w: 2.6,
d: 'M76.3 60.7C77.5 60.4 81.3 59.4 83.8 59.1C86.3 58.8 89.9 58.9 91.1 58.8M71.8 48.9C72.7 48.1 75.4 45.6 77.5 44.2C79.6 42.7 83.3 41 84.5 40.3M62.3 40.5C62.8 39.3 64.2 35.7 65.3 33.5C66.3 31.3 68.1 28.3 68.6 27.2M50 37.5C49.9 36.3 49.5 32.6 49.5 30.1C49.5 27.6 50.1 23.8 50.2 22.5M37.7 40.5C37.1 39.4 34.9 36.1 33.8 33.9C32.7 31.7 31.6 28.3 31.2 27.2M28.2 48.9C27.2 48.2 23.9 46.3 21.9 44.9C19.8 43.5 16.8 41.1 15.8 40.3M23.7 60.7C22.5 60.6 18.9 60.5 16.4 60.2C14 59.9 10.1 59 8.8 58.8',
},
{
p: 1,
w: 2.2,
d: 'M74.7 54.5C75.4 54.2 77.6 53.2 78.9 52.7C80.3 52.1 82.3 51.5 83 51.3M67.5 44.1C68 43.5 69.2 41.4 70.2 40.3C71.3 39.2 73.3 37.9 73.9 37.4M56.3 38.3C56.4 37.5 56.6 35.4 57.1 34C57.5 32.5 58.8 30.3 59.1 29.5M43.7 38.3C43.4 37.6 42.4 35.6 42.1 34.1C41.9 32.7 42.2 30.3 42.2 29.5M32.5 44.1C31.9 43.6 30.1 42.4 29.2 41.3C28.3 40.2 27.3 38 26.9 37.4M25.3 54.5C24.6 54.3 22.5 53.7 21.1 53.2C19.6 52.6 17.5 51.6 16.7 51.3',
},
{
p: 1,
w: 2.6,
d: 'M7 65.5C9.5 65.3 16.5 64.4 21.7 64.4C26.9 64.4 33.4 65.5 38.1 65.5C42.8 65.5 45.7 64.6 50 64.5C54.3 64.4 58.7 64.9 63.7 65C68.6 65 74.9 64.8 79.8 64.9C84.7 65 90.8 65.3 92.9 65.3',
},
{
p: 1,
w: 2.2,
d: 'M24 71.6C25.5 71.5 29.9 71.2 32.9 71.2C35.9 71.2 40.5 71.5 42 71.5M55 71.3C56.7 71.3 61.7 70.9 65 71C68.3 71 73.3 71.4 75 71.5',
},
{ p: 1, w: 2, d: 'M38 77C40 76.9 46.1 76.7 49.9 76.7C53.7 76.7 59.1 77 61 77' },
],
license: 'in-house',
},
];
@@ -843,4 +843,370 @@ export const LANDMARKS_STICKERS: readonly BookStickerDef[] = [
],
license: 'in-house',
},
{
id: 'parthenon',
theme: 'landmarks',
tags: ['parthenon', 'acropolis', 'athens', 'greece', 'temple', 'ancient', 'columns', 'landmark'],
descr:
'The Parthenon on the Acropolis in Athens, a row of fluted Doric columns in warm marble under a low pediment, standing on stepped base and rock with olive shrubs.',
box: [110, 84],
slots: [
{ name: 'marble', color: '#efdfbf' },
{ name: 'rock', color: '#b99a74' },
{ name: 'detail', color: '#a98a62' },
{ name: 'olive', color: '#7f8f4e' },
],
layers: [
{ p: 'shade', d: 'M8 82Q55 84.4 102 82Q55 80.6 8 82Z', o: 0.1 },
{
p: 1,
d: 'M3 81C2.4 77 4 73.5 7 71.5C9 69 11.5 67.5 15 66.8L40 65.4L72 65.4L95 66.8C98.5 67.5 101 69 103 71.5C106 73.5 107.6 77 107 81C90 82.6 20 82.6 3 81Z',
},
{
p: 'shade',
d: 'M3 81C2.4 77 4 73.5 7 71.5C9 69 11.5 67.5 15 66.8L17.5 69.5C15 72 16.5 76 21 81.6C12 81.6 6 81.4 3 81ZM107 81C107.6 77 106 73.5 103 71.5C101 69 98.5 67.5 95 66.8L92.5 69.5C95 72 93.5 76 89 81.6C98 81.6 104 81.4 107 81Z',
o: 0.2,
},
{
p: 'shade',
d: 'M4.2 77.6C25 79.6 85 79.6 105.8 77.6C106.6 78.8 107 79.8 107 81C90 82.6 20 82.6 3 81C3 79.8 3.4 78.6 4.2 77.6Z',
o: 0.14,
},
{
p: 2,
d: 'M26 72.6Q36 71.2 46 72.8M58 75.4Q70 74 84 75.8M31 78.4Q40 77.4 50 78.6M66 79.4Q72 78.8 78 79.6M88 72Q91 71.4 93.5 72',
o: 0.7,
w: 0.9,
},
{ p: 'light', d: 'M12 69Q30 66.9 50 66.9M62 66.9Q82 66.9 98 69', o: 0.35, w: 0.9 },
{
p: 3,
d: 'M5.1 72.7C3.4 69.9 6.2 67.2 8.4 67.9C9.5 65.5 13.4 66.1 13.5 68.8C15.7 69.2 15.7 72.7 13.9 72.7ZM96.5 72.5C95 70 97.5 67.5 99.5 68.2C100.5 66 104 66.5 104.1 69C106.1 69.4 106.1 72.5 104.5 72.5ZM13.5 69.3C12.4 67.5 14.3 65.6 15.8 66.1C16.5 64.5 19.1 64.8 19.2 66.7C20.7 67 20.7 69.3 19.5 69.3ZM90.9 69.4C89.9 67.8 91.6 66.1 92.9 66.6C93.5 65.2 95.8 65.5 95.8 67.1C97.1 67.4 97.1 69.4 96.1 69.4Z',
},
{
p: 'shade',
d: 'M5.5 72.3C7.5 73.4 11.5 73.4 13.6 72.3L13.9 72.6C11.5 73.9 7.5 73.9 5.2 72.6ZM96.8 72.2C98.6 73.2 102.4 73.2 104.2 72.2L104.5 72.5C102.4 73.7 98.6 73.7 96.5 72.5Z',
o: 0.3,
},
{ p: 0, d: 'M12 61.5H98V66.5H12Z' },
{ p: 0, d: 'M14 58H96V63H14Z' },
{ p: 0, d: 'M16 54.5H94V59.5H16Z' },
{ p: 'shade', d: 'M12 65H98V66.5H12ZM14 61.5H96V62.7H14ZM16 58H94V59.2H16Z', o: 0.2 },
{ p: 'light', d: 'M12 61.6H98V62.2H12ZM14 58.1H96V58.7H14ZM16 54.6H94V55.2H16Z', o: 0.5 },
{ p: 0, d: 'M19 26H91V56H19Z' },
{ p: 'shade', d: 'M19 26H91V56H19Z', o: 0.38 },
{
p: 0,
d: 'M19.1 28.5L24.3 28.5L24.9 55.5L18.5 55.5ZM28.6 28.5L33.8 28.5L34.4 55.5L28 55.5ZM38.1 28.5L43.3 28.5L43.9 55.5L37.5 55.5ZM47.6 28.5L52.8 28.5L53.4 55.5L47 55.5ZM57.2 28.5L62.4 28.5L63 55.5L56.6 55.5ZM66.7 28.5L71.9 28.5L72.5 55.5L66.1 55.5ZM76.2 28.5L81.4 28.5L82 55.5L75.6 55.5ZM85.7 28.5L90.9 28.5L91.5 55.5L85.1 55.5Z',
},
{
p: 'shade',
d: 'M22.5 28.5L24.3 28.5L24.9 55.5L22.6 55.5ZM32 28.5L33.8 28.5L34.4 55.5L32.1 55.5ZM41.5 28.5L43.3 28.5L43.9 55.5L41.6 55.5ZM51 28.5L52.8 28.5L53.4 55.5L51.1 55.5ZM60.5 28.5L62.4 28.5L63 55.5L60.7 55.5ZM70 28.5L71.9 28.5L72.5 55.5L70.2 55.5ZM79.6 28.5L81.4 28.5L82 55.5L79.7 55.5ZM89.1 28.5L90.9 28.5L91.5 55.5L89.2 55.5Z',
o: 0.16,
},
{
p: 'shade',
d: 'M20.6 30.5V54M21.7 30.5V54M30.1 30.5V54M31.2 30.5V54M39.6 30.5V54M40.7 30.5V54M49.2 30.5V54M50.2 30.5V54M58.7 30.5V54M59.8 30.5V54M68.2 30.5V54M69.3 30.5V54M77.7 30.5V54M78.8 30.5V54M87.2 30.5V54M88.3 30.5V54',
o: 0.14,
w: 0.45,
},
{
p: 0,
d: 'M17.9 26.3H25.5V28.2Q24.9 29.8 24.2 30H19.2Q18.5 29.8 17.9 28.2ZM27.4 26.3H35V28.2Q34.4 29.8 33.7 30H28.7Q28 29.8 27.4 28.2ZM36.9 26.3H44.5V28.2Q43.9 29.8 43.2 30H38.2Q37.5 29.8 36.9 28.2ZM46.4 26.3H54V28.2Q53.4 29.8 52.7 30H47.7Q47 29.8 46.4 28.2ZM56 26.3H63.6V28.2Q63 29.8 62.3 30H57.3Q56.6 29.8 56 28.2ZM65.5 26.3H73.1V28.2Q72.5 29.8 71.8 30H66.8Q66.1 29.8 65.5 28.2ZM75 26.3H82.6V28.2Q82 29.8 81.3 30H76.3Q75.6 29.8 75 28.2ZM84.5 26.3H92.1V28.2Q91.5 29.8 90.8 30H85.8Q85.1 29.8 84.5 28.2Z',
},
{
p: 'shade',
d: 'M17.9 28.2H25.5V29H17.9ZM27.4 28.2H35V29H27.4ZM36.9 28.2H44.5V29H36.9ZM46.4 28.2H54V29H46.4ZM56 28.2H63.6V29H56ZM65.5 28.2H73.1V29H65.5ZM75 28.2H82.6V29H75ZM84.5 28.2H92.1V29H84.5Z',
o: 0.14,
},
{ p: 0, d: 'M15 21H95V27H15Z' },
{ p: 'shade', d: 'M15 25.4H95V27H15Z', o: 0.18 },
{ p: 0, d: 'M15.5 16.5H94.5V21.7H15.5Z' },
{
p: 2,
d: 'M15.3 17.3H17.1V21.1H15.3ZM20.1 17.3H21.9V21.1H20.1ZM24.9 17.3H26.7V21.1H24.9ZM29.7 17.3H31.5V21.1H29.7ZM34.6 17.3H36.4V21.1H34.6ZM39.4 17.3H41.2V21.1H39.4ZM44.2 17.3H46V21.1H44.2ZM49 17.3H50.8V21.1H49ZM53.8 17.3H55.6V21.1H53.8ZM58.6 17.3H60.4V21.1H58.6ZM63.4 17.3H65.2V21.1H63.4ZM68.2 17.3H70V21.1H68.2ZM73.1 17.3H74.9V21.1H73.1ZM77.9 17.3H79.7V21.1H77.9ZM82.7 17.3H84.5V21.1H82.7ZM87.5 17.3H89.3V21.1H87.5ZM92.3 17.3H94.1V21.1H92.3Z',
o: 0.55,
},
{ p: 'light', d: 'M15 21H95V21.6H15Z', o: 0.55 },
{ p: 0, d: 'M13 14.4H97V17.2H13Z' },
{ p: 'shade', d: 'M13 16.4H97V17.2H13Z', o: 0.2 },
{ p: 0, d: 'M13.5 15L55 4L83 11.4L85 12.6L88 12.4L90 13.6L96.5 15Z' },
{ p: 'shade', d: 'M19.5 14.6L55 6.2L80.5 12.3L83.2 14.6Z', o: 0.2 },
{
p: 2,
d: 'M40 14.6V11.4M44.5 14.6V10.4M49 14.6V9.4M53.5 14.6V8.6M58 14.6V8.8M62.5 14.6V9.8M67 14.6V10.9M36 14.6Q37.5 12.8 38.6 13.6M71 14.6Q72.2 12.6 73.8 13.4',
o: 0.45,
w: 0.9,
},
{ p: 'light', d: 'M16 14.7L55 5.3L81.5 11.6', o: 0.6, w: 0.6 },
{ p: 'light', d: 'M13 14.4H97V15H13Z', o: 0.5 },
],
license: 'in-house',
},
{
id: 'milanDuomo',
theme: 'landmarks',
tags: ['milan', 'duomo', 'cathedral', 'italy', 'gothic', 'lombardy', 'church', 'landmark'],
descr:
'The pale pink marble Gothic facade of Milan Cathedral, bristling with slender spires and statues, five portals, and the golden Madonnina atop the central spire.',
box: [100, 104],
slots: [
{ name: 'marble', color: '#f6ebe4' },
{ name: 'trim', color: '#e3c9bd' },
{ name: 'openings', color: '#5c4a4a' },
{ name: 'gold', color: '#e4b23a' },
],
layers: [
{ p: 0, d: 'M47 46L47.6 26L48.6 16L49.4 11L50.6 11L51.4 16L52.4 26L53 46Z' },
{ p: 'shade', d: 'M50 11.5L50.6 11L51.4 16L52.4 26L53 46L50 46Z', o: 0.14 },
{ p: 1, d: 'M48 34.5L52 34.5M48.4 26.5L51.6 26.5M48.9 19.5L51.1 19.5', w: 0.6, o: 0.9 },
{
p: 3,
d: 'M48.8 4.6A1.2 1.2 0 1 1 51.2 4.6A1.2 1.2 0 1 1 48.8 4.6ZM48.6 6.2Q50 5.2 51.4 6.2L51.9 11.6H48.1ZM48.7 6.6L46.8 5.4L46.6 5.9L48.6 7.6ZM51.3 6.6L53.2 5.4L53.4 5.9L51.4 7.6Z',
},
{ p: 0, d: 'M9 96L9 50L23 46L23 44L37 40L50 30.5L63 40L77 44L77 46L91 50L91 96Z' },
{ p: 1, d: 'M9 50L23 46M23 44L37 40L50 30.5L63 40L77 44M77 46L91 50', w: 1.3 },
{
p: 0,
d: 'M8.2 38H11.2V96H8.2ZM22.2 34H25.2V96H22.2ZM36.2 28H39.8V96H36.2ZM60.6 28H64.2V96H60.6ZM74.6 34H77.6V96H74.6ZM88.6 38H91.6V96H88.6ZM8.4 39L8.9 33.5L9.7 30L10.5 33.5L11 39ZM22.4 35L22.9 29.5L23.7 26L24.5 29.5L25 35ZM36.4 29L36.9 23.5L38 20L39.1 23.5L39.6 29ZM60.8 29L61.3 23.5L62.4 20L63.5 23.5L64 29ZM74.8 35L75.3 29.5L76.1 26L76.9 29.5L77.4 35ZM88.8 39L89.3 33.5L90.1 30L90.9 33.5L91.4 39Z',
},
{
p: 0,
d: 'M9 27.8A0.8 0.8 0 1 1 10.5 27.8A0.8 0.8 0 1 1 9 27.8ZM9.2 28.1H10.2V30.5H9.2ZM23 23.8A0.8 0.8 0 1 1 24.5 23.8A0.8 0.8 0 1 1 23 23.8ZM23.2 24.1H24.2V26.5H23.2ZM37.3 17.8A0.8 0.8 0 1 1 38.8 17.8A0.8 0.8 0 1 1 37.3 17.8ZM37.5 18.1H38.5V20.5H37.5ZM61.7 17.8A0.8 0.8 0 1 1 63.2 17.8A0.8 0.8 0 1 1 61.7 17.8ZM61.9 18.1H62.9V20.5H61.9ZM75.4 23.8A0.8 0.8 0 1 1 76.9 23.8A0.8 0.8 0 1 1 75.4 23.8ZM75.6 24.1H76.6V26.5H75.6ZM89.4 27.8A0.8 0.8 0 1 1 90.9 27.8A0.8 0.8 0 1 1 89.4 27.8ZM89.6 28.1H90.6V30.5H89.6Z',
},
{
p: 'shade',
d: 'M9.8 38H11.2V96H9.8ZM23.8 34H25.2V96H23.8ZM38.1 28H39.8V96H38.1ZM62.5 28H64.2V96H62.5ZM76.2 34H77.6V96H76.2ZM90.2 38H91.6V96H90.2Z',
o: 0.1,
},
{ p: 1, d: 'M8.4 36H11M22.4 32H25M36.4 26H39.6M60.8 26H64M74.8 32H77.4M88.8 36H91.4', w: 0.6 },
{
p: 0,
d: 'M13.2 49.6L13.3 45.8L14 42.3L14.7 45.8L14.8 49.6ZM17.7 48.5L17.8 44.7L18.5 41.2L19.2 44.7L19.3 48.5ZM27.2 44.3L27.3 40.5L28 37L28.7 40.5L28.8 44.3ZM31.7 43L31.8 39.2L32.5 35.7L33.2 39.2L33.3 43ZM41.2 38.3L41.3 34.5L42 31L42.7 34.5L42.8 38.3ZM44.7 35.8L44.8 32L45.5 28.5L46.2 32L46.3 35.8ZM53.7 35.8L53.8 32L54.5 28.5L55.2 32L55.3 35.8ZM57.2 38.3L57.3 34.5L58 31L58.7 34.5L58.8 38.3ZM66.7 43L66.8 39.2L67.5 35.7L68.2 39.2L68.3 43ZM71.2 44.3L71.3 40.5L72 37L72.7 40.5L72.8 44.3ZM80.7 48.5L80.8 44.7L81.5 41.2L82.2 44.7L82.3 48.5ZM85.2 49.6L85.3 45.8L86 42.3L86.7 45.8L86.8 49.6Z',
},
{ p: 1, d: 'M9 66H91V67.2H9ZM9 80H91V81.1H9Z', o: 0.9 },
{ p: 1, d: 'M42.6 61L50 39.6L57.4 61ZM26.4 62.4L30.7 45L35 62.4ZM65 62.4L69.3 45L73.6 62.4Z', o: 0.75 },
{ p: 0, d: 'M44.2 61L50 43.2L55.8 61ZM27.8 62.4L30.7 49L33.6 62.4ZM66.4 62.4L69.3 49L72.2 62.4Z' },
{ p: 2, d: 'M45 59V50.5Q45 44.5 50 43Q55 44.5 55 50.5V59Z' },
{ p: 'light', d: 'M50 44.5V58.5M46 51H54', o: 0.35, w: 0.5 },
{ p: 2, d: 'M28.2 61V52.8Q28.2 49.8 30.7 49Q33.2 49.8 33.2 52.8V61Z' },
{ p: 2, d: 'M66.8 61V52.8Q66.8 49.8 69.3 49Q71.8 49.8 71.8 52.8V61Z' },
{ p: 2, d: 'M14 62.6V56.2Q14 53.6 16.1 53Q18.2 53.6 18.2 56.2V62.6Z' },
{ p: 2, d: 'M81.8 62.6V56.2Q81.8 53.6 83.9 53Q86 53.6 86 56.2V62.6Z' },
{ p: 2, d: 'M14.2 76.8V71.5A1.9 1.9 0 0 1 18 71.5V76.8Z', o: 0.85 },
{ p: 2, d: 'M28.6 76.8V71.7A2.1 2.1 0 0 1 32.8 71.7V76.8Z', o: 0.85 },
{ p: 2, d: 'M67.2 76.8V71.7A2.1 2.1 0 0 1 71.4 71.7V76.8Z', o: 0.85 },
{ p: 2, d: 'M82 76.8V71.5A1.9 1.9 0 0 1 85.8 71.5V76.8Z', o: 0.85 },
{ p: 2, d: 'M41.5 76.8V70.6A1.6 1.6 0 0 1 44.7 70.6V76.8Z', o: 0.85 },
{ p: 2, d: 'M55.3 76.8V70.6A1.6 1.6 0 0 1 58.5 70.6V76.8Z', o: 0.85 },
{ p: 1, d: 'M11.8 82.5H20.2V96H11.8ZM11.6 82.6L16 79.5L20.4 82.6Z' },
{ p: 2, d: 'M13.2 96V86.8A2.8 2.8 0 0 1 18.8 86.8V96Z' },
{ p: 1, d: 'M26.2 82.5H35.2V96H26.2ZM26 82.6L30.7 79.5L35.4 82.6Z' },
{ p: 2, d: 'M27.6 96V87.1A3.1 3.1 0 0 1 33.8 87.1V96Z' },
{ p: 1, d: 'M43.2 80.5H56.8V96H43.2ZM43 80.6L50 77.5L57 80.6Z' },
{ p: 2, d: 'M44.6 96V87.4A5.4 5.4 0 0 1 55.4 87.4V96Z' },
{ p: 1, d: 'M64.8 82.5H73.8V96H64.8ZM64.6 82.6L69.3 79.5L74 82.6Z' },
{ p: 2, d: 'M66.2 96V87.1A3.1 3.1 0 0 1 72.4 87.1V96Z' },
{ p: 1, d: 'M79.8 82.5H88.2V96H79.8ZM79.6 82.6L84 79.5L88.4 82.6Z' },
{ p: 2, d: 'M81.2 96V86.8A2.8 2.8 0 0 1 86.8 86.8V96Z' },
{ p: 'light', d: 'M50 85.4V96', o: 0.3, w: 0.5 },
{ p: 1, d: 'M4 95.4H96V98.6H4Z' },
{ p: 1, d: 'M1.5 98H98.5V101.4H1.5Z' },
{ p: 'shade', d: 'M4 97.6H96V98.6H4ZM1.5 100.4H98.5V101.4H1.5Z', o: 0.15 },
{ p: 'light', d: 'M4 95.5H96V96.1H4ZM1.5 98.1H98.5V98.7H1.5Z', o: 0.5 },
],
license: 'in-house',
},
{
id: 'canalHouses',
theme: 'landmarks',
tags: ['amsterdam', 'canal houses', 'netherlands', 'dutch', 'gables', 'canal', 'grachten', 'city'],
descr:
'A row of five narrow Amsterdam canal houses with bell, neck and step gables, tall white framed windows and hoisting beams above a strip of canal.',
box: [110, 100],
slots: [
{ name: 'brick', color: '#a3543a' },
{ name: 'slate', color: '#3f5560' },
{ name: 'ochre', color: '#c99555' },
{ name: 'canal', color: '#4d8392' },
],
layers: [
{ p: 3, d: 'M0 87H110V100H0Z' },
{ p: '#8f8a84', d: 'M0 84.5H110V88.5H0Z' },
{ p: 'shade', d: 'M0 87.3H110V88.5H0Z', o: 0.25 },
{ p: 'light', d: 'M0 84.6H110V85.2H0Z', o: 0.5 },
{ p: 'light', d: 'M6 92.5H20M30 95.5H40M52 92.5H70M80 96H96M14 98H26M88 91.5H104', o: 0.45, w: 0.9 },
{ p: 0, d: 'M4 86.5V32C8.8 32 11 29 11 22Q15 16.5 19 22C19 29 21.2 32 26 32V86.5Z' },
{ p: 'shade', d: 'M24.4 32H26V86.5H24.4Z', o: 0.14 },
{ p: 'paper', d: 'M4.8 32.6C8.8 32 11 29 11 22Q15 16.5 19 22C19 29 21.2 32 26 32', w: 0.9 },
{ p: 'paper', d: 'M4.3 32.6H25.7V33.9H4.3Z' },
{ p: '#3a2f2a', d: 'M14.4 22.6H15.6V24.2H14.4Z' },
{ p: '#3a2f2a', d: 'M15 24V26.2', w: 0.35 },
{ p: 'paper', d: 'M13.2 26.2H16.8V30.6H13.2Z' },
{ p: '#2c3338', d: 'M13.9 26.9H16.1V29.9H13.9Z' },
{
p: 'paper',
d: 'M6.1 36H10.7V44.6H6.1ZM12.7 36H17.3V44.6H12.7ZM19.4 36H24V44.6H19.4ZM6.1 47.5H10.7V55.3H6.1ZM12.7 47.5H17.3V55.3H12.7ZM19.4 47.5H24V55.3H19.4ZM6.1 59H10.7V66.8H6.1ZM12.7 59H17.3V66.8H12.7ZM19.4 59H24V66.8H19.4ZM5.6 44.3H11.2V45.3H5.6ZM12.2 44.3H17.8V45.3H12.2ZM18.9 44.3H24.5V45.3H18.9ZM5.6 55H11.2V56H5.6ZM12.2 55H17.8V56H12.2ZM18.9 55H24.5V56H18.9ZM5.6 66.5H11.2V67.5H5.6ZM12.2 66.5H17.8V67.5H12.2ZM18.9 66.5H24.5V67.5H18.9Z',
},
{
p: '#2c3338',
d: 'M6.7 36.6H10.1V44H6.7ZM13.3 36.6H16.7V44H13.3ZM20 36.6H23.4V44H20ZM6.7 48.1H10.1V54.7H6.7ZM13.3 48.1H16.7V54.7H13.3ZM20 48.1H23.4V54.7H20ZM6.7 59.6H10.1V66.2H6.7ZM13.3 59.6H16.7V66.2H13.3ZM20 59.6H23.4V66.2H20Z',
},
{
p: 'paper',
d: 'M8.4 36.6V44M6.7 39.9H10.1M15 36.6V44M13.3 39.9H16.7M21.7 36.6V44M20 39.9H23.4M8.4 48.1V54.7M6.7 51H10.1M15 48.1V54.7M13.3 51H16.7M21.7 48.1V54.7M20 51H23.4M8.4 59.6V66.2M6.7 62.5H10.1M15 59.6V66.2M13.3 62.5H16.7M21.7 59.6V66.2M20 62.5H23.4',
w: 0.45,
},
{
p: 'light',
d: 'M6.7 36.6H10.1V44H6.7ZM13.3 36.6H16.7V44H13.3ZM20 36.6H23.4V44H20ZM6.7 48.1H10.1V54.7H6.7ZM13.3 48.1H16.7V54.7H13.3ZM20 48.1H23.4V54.7H20ZM6.7 59.6H10.1V66.2H6.7ZM13.3 59.6H16.7V66.2H13.3ZM20 59.6H23.4V66.2H20Z',
o: 0.12,
},
{ p: 'paper', d: 'M5.5 85.6V75.6A3.2 3.2 0 0 1 11.9 75.6V85.6ZM14 73H24V82H14Z' },
{ p: '#2f4a3f', d: 'M6.1 85.6V75.6A2.6 2.6 0 0 1 11.3 75.6V85.6Z' },
{ p: '#2c3338', d: 'M14.6 73.6H23.4V81.4H14.6Z' },
{ p: 'paper', d: 'M19 73.6V81.4M14.6 77H23.3', w: 0.45 },
{ p: 'light', d: 'M8.7 76.5V85.4', o: 0.25, w: 0.4 },
{ p: '#8f8a84', d: 'M4.7 85H12.7V87.2H4.7Z' },
{
p: '#e7dac0',
d: 'M24 86.5L24 26L26.9 26L26.9 22.5L29.7 22.5L29.7 19L32.1 19L32.1 12L35.9 12L35.9 19L38.3 19L38.3 22.5L41.1 22.5L41.1 26L44 26L44 86.5Z',
},
{ p: 'shade', d: 'M42.4 26H44V86.5H42.4Z', o: 0.14 },
{ p: 'paper', d: 'M24.3 26.6H43.7V27.9H24.3Z' },
{ p: '#3a2f2a', d: 'M33.4 16.6H34.6V18.2H33.4Z' },
{ p: '#3a2f2a', d: 'M34 18V20.2', w: 0.35 },
{ p: 'paper', d: 'M32.2 20.2H35.8V24.6H32.2Z' },
{ p: '#2c3338', d: 'M32.9 20.9H35.1V23.9H32.9Z' },
{
p: 'paper',
d: 'M27.1 30H32.5V38.6H27.1ZM35.5 30H40.9V38.6H35.5ZM27.1 41.5H32.5V49.3H27.1ZM35.5 41.5H40.9V49.3H35.5ZM27.1 53H32.5V60.8H27.1ZM35.5 53H40.9V60.8H35.5ZM26.6 38.3H33V39.3H26.6ZM35 38.3H41.4V39.3H35ZM26.6 49H33V50H26.6ZM35 49H41.4V50H35ZM26.6 60.5H33V61.5H26.6ZM35 60.5H41.4V61.5H35Z',
},
{
p: '#2c3338',
d: 'M27.7 30.6H31.9V38H27.7ZM36.1 30.6H40.3V38H36.1ZM27.7 42.1H31.9V48.7H27.7ZM36.1 42.1H40.3V48.7H36.1ZM27.7 53.6H31.9V60.2H27.7ZM36.1 53.6H40.3V60.2H36.1Z',
},
{
p: 'paper',
d: 'M29.8 30.6V38M27.7 33.9H31.9M38.2 30.6V38M36.1 33.9H40.3M29.8 42.1V48.7M27.7 45H31.9M38.2 42.1V48.7M36.1 45H40.3M29.8 53.6V60.2M27.7 56.5H31.9M38.2 53.6V60.2M36.1 56.5H40.3',
w: 0.45,
},
{
p: 'light',
d: 'M27.7 30.6H31.9V38H27.7ZM36.1 30.6H40.3V38H36.1ZM27.7 42.1H31.9V48.7H27.7ZM36.1 42.1H40.3V48.7H36.1ZM27.7 53.6H31.9V60.2H27.7ZM36.1 53.6H40.3V60.2H36.1Z',
o: 0.12,
},
{ p: 'paper', d: 'M35.1 85.6V75.6A3.2 3.2 0 0 1 41.5 75.6V85.6ZM27.1 73H33.1V82H27.1Z' },
{ p: '#2f4a3f', d: 'M35.7 85.6V75.6A2.6 2.6 0 0 1 40.9 75.6V85.6Z' },
{ p: '#2c3338', d: 'M27.7 73.6H32.5V81.4H27.7Z' },
{ p: 'paper', d: 'M30.1 73.6V81.4M27.7 77H32.5', w: 0.45 },
{ p: 'light', d: 'M38.3 76.5V85.4', o: 0.25, w: 0.4 },
{ p: '#8f8a84', d: 'M34.3 85H42.3V87.2H34.3Z' },
{ p: 1, d: 'M42 86.5V34Q48.3 34 48.3 28V23L52.5 19L56.7 23V28Q56.7 34 63 34V86.5Z' },
{ p: 'shade', d: 'M61.4 34H63V86.5H61.4Z', o: 0.14 },
{ p: 'paper', d: 'M42.8 34.6Q48.3 34 48.3 28V23L52.5 19L56.7 23V28Q56.7 34 63 34', w: 0.9 },
{ p: 'paper', d: 'M42.3 34.6H62.7V35.9H42.3Z' },
{ p: '#3a2f2a', d: 'M51.9 24.6H53.1V26.2H51.9Z' },
{ p: '#3a2f2a', d: 'M52.5 26V28.2', w: 0.35 },
{ p: 'paper', d: 'M50.7 28.2H54.3V32.6H50.7Z' },
{ p: '#2c3338', d: 'M51.4 28.9H53.6V31.9H51.4Z' },
{
p: 'paper',
d: 'M45.4 38H50.8V46.6H45.4ZM54.2 38H59.6V46.6H54.2ZM45.4 49.5H50.8V57.3H45.4ZM54.2 49.5H59.6V57.3H54.2ZM45.4 61H50.8V68.8H45.4ZM54.2 61H59.6V68.8H54.2ZM44.9 46.3H51.3V47.3H44.9ZM53.7 46.3H60.1V47.3H53.7ZM44.9 57H51.3V58H44.9ZM53.7 57H60.1V58H53.7ZM44.9 68.5H51.3V69.5H44.9ZM53.7 68.5H60.1V69.5H53.7Z',
},
{
p: '#2c3338',
d: 'M46 38.6H50.2V46H46ZM54.8 38.6H59V46H54.8ZM46 50.1H50.2V56.7H46ZM54.8 50.1H59V56.7H54.8ZM46 61.6H50.2V68.2H46ZM54.8 61.6H59V68.2H54.8Z',
},
{
p: 'paper',
d: 'M48.1 38.6V46M46 41.9H50.2M56.9 38.6V46M54.8 41.9H59M48.1 50.1V56.7M46 53H50.2M56.9 50.1V56.7M54.8 53H59M48.1 61.6V68.2M46 64.5H50.2M56.9 61.6V68.2M54.8 64.5H59',
w: 0.45,
},
{
p: 'light',
d: 'M46 38.6H50.2V46H46ZM54.8 38.6H59V46H54.8ZM46 50.1H50.2V56.7H46ZM54.8 50.1H59V56.7H54.8ZM46 61.6H50.2V68.2H46ZM54.8 61.6H59V68.2H54.8Z',
o: 0.12,
},
{ p: 'paper', d: 'M44.8 85.6V75.6A3.2 3.2 0 0 1 51.2 75.6V85.6ZM53.6 73H59.6V82H53.6Z' },
{ p: '#7a2e2a', d: 'M45.4 85.6V75.6A2.6 2.6 0 0 1 50.6 75.6V85.6Z' },
{ p: '#2c3338', d: 'M54.2 73.6H59V81.4H54.2Z' },
{ p: 'paper', d: 'M56.6 73.6V81.4M54.2 77H59', w: 0.45 },
{ p: 'light', d: 'M48 76.5V85.4', o: 0.25, w: 0.4 },
{ p: '#8f8a84', d: 'M44 85H52V87.2H44Z' },
{
p: 2,
d: 'M61 86.5L61 28L64.3 28L64.3 24.5L67.6 24.5L67.6 21L70.4 21L70.4 14L74.6 14L74.6 21L77.4 21L77.4 24.5L80.7 24.5L80.7 28L84 28L84 86.5Z',
},
{ p: 'shade', d: 'M82.4 28H84V86.5H82.4Z', o: 0.14 },
{ p: 'paper', d: 'M61.3 28.6H83.7V29.9H61.3Z' },
{ p: '#3a2f2a', d: 'M71.9 18.6H73.1V20.2H71.9Z' },
{ p: '#3a2f2a', d: 'M72.5 20V22.2', w: 0.35 },
{ p: 'paper', d: 'M70.7 22.2H74.3V26.6H70.7Z' },
{ p: '#2c3338', d: 'M71.4 22.9H73.6V25.9H71.4Z' },
{
p: 'paper',
d: 'M63.3 32H67.9V40.6H63.3ZM70.2 32H74.8V40.6H70.2ZM77.1 32H81.7V40.6H77.1ZM63.3 43.5H67.9V51.3H63.3ZM70.2 43.5H74.8V51.3H70.2ZM77.1 43.5H81.7V51.3H77.1ZM63.3 55H67.9V62.8H63.3ZM70.2 55H74.8V62.8H70.2ZM77.1 55H81.7V62.8H77.1ZM62.8 40.3H68.4V41.3H62.8ZM69.7 40.3H75.3V41.3H69.7ZM76.6 40.3H82.2V41.3H76.6ZM62.8 51H68.4V52H62.8ZM69.7 51H75.3V52H69.7ZM76.6 51H82.2V52H76.6ZM62.8 62.5H68.4V63.5H62.8ZM69.7 62.5H75.3V63.5H69.7ZM76.6 62.5H82.2V63.5H76.6Z',
},
{
p: '#2c3338',
d: 'M63.9 32.6H67.3V40H63.9ZM70.8 32.6H74.2V40H70.8ZM77.7 32.6H81.1V40H77.7ZM63.9 44.1H67.3V50.7H63.9ZM70.8 44.1H74.2V50.7H70.8ZM77.7 44.1H81.1V50.7H77.7ZM63.9 55.6H67.3V62.2H63.9ZM70.8 55.6H74.2V62.2H70.8ZM77.7 55.6H81.1V62.2H77.7Z',
},
{
p: 'paper',
d: 'M65.6 32.6V40M63.9 35.9H67.3M72.5 32.6V40M70.8 35.9H74.2M79.4 32.6V40M77.7 35.9H81.1M65.6 44.1V50.7M63.9 47H67.3M72.5 44.1V50.7M70.8 47H74.2M79.4 44.1V50.7M77.7 47H81.1M65.6 55.6V62.2M63.9 58.5H67.3M72.5 55.6V62.2M70.8 58.5H74.2M79.4 55.6V62.2M77.7 58.5H81.1',
w: 0.45,
},
{
p: 'light',
d: 'M63.9 32.6H67.3V40H63.9ZM70.8 32.6H74.2V40H70.8ZM77.7 32.6H81.1V40H77.7ZM63.9 44.1H67.3V50.7H63.9ZM70.8 44.1H74.2V50.7H70.8ZM77.7 44.1H81.1V50.7H77.7ZM63.9 55.6H67.3V62.2H63.9ZM70.8 55.6H74.2V62.2H70.8ZM77.7 55.6H81.1V62.2H77.7Z',
o: 0.12,
},
{ p: 'paper', d: 'M75.9 85.6V75.6A3.2 3.2 0 0 1 82.3 75.6V85.6ZM63.3 73H73.3V82H63.3Z' },
{ p: '#2f4a3f', d: 'M76.5 85.6V75.6A2.6 2.6 0 0 1 81.7 75.6V85.6Z' },
{ p: '#2c3338', d: 'M63.9 73.6H72.7V81.4H63.9Z' },
{ p: 'paper', d: 'M68.3 73.6V81.4M63.9 77H72.7', w: 0.45 },
{ p: 'light', d: 'M79.1 76.5V85.4', o: 0.25, w: 0.4 },
{ p: '#8f8a84', d: 'M75.1 85H83.1V87.2H75.1Z' },
{ p: '#7f3f2c', d: 'M82 86.5V38C87.3 38 89.7 35 89.7 28Q94 22.5 98.3 28C98.3 35 100.7 38 106 38V86.5Z' },
{ p: 'shade', d: 'M104.4 38H106V86.5H104.4Z', o: 0.14 },
{ p: 'paper', d: 'M82.8 38.6C87.3 38 89.7 35 89.7 28Q94 22.5 98.3 28C98.3 35 100.7 38 106 38', w: 0.9 },
{ p: 'paper', d: 'M82.3 38.6H105.7V39.9H82.3Z' },
{ p: '#3a2f2a', d: 'M93.4 28.6H94.6V30.2H93.4Z' },
{ p: '#3a2f2a', d: 'M94 30V32.2', w: 0.35 },
{ p: 'paper', d: 'M92.2 32.2H95.8V36.6H92.2Z' },
{ p: '#2c3338', d: 'M92.9 32.9H95.1V35.9H92.9Z' },
{
p: 'paper',
d: 'M84.6 42H89.1V50.6H84.6ZM91.7 42H96.3V50.6H91.7ZM98.9 42H103.5V50.6H98.9ZM84.6 53.5H89.1V61.3H84.6ZM91.7 53.5H96.3V61.3H91.7ZM98.9 53.5H103.5V61.3H98.9ZM84.1 50.3H89.6V51.3H84.1ZM91.2 50.3H96.8V51.3H91.2ZM98.4 50.3H104V51.3H98.4ZM84.1 61H89.6V62H84.1ZM91.2 61H96.8V62H91.2ZM98.4 61H104V62H98.4Z',
},
{
p: '#2c3338',
d: 'M85.1 42.6H88.6V50H85.1ZM92.3 42.6H95.7V50H92.3ZM99.4 42.6H102.9V50H99.4ZM85.1 54.1H88.6V60.7H85.1ZM92.3 54.1H95.7V60.7H92.3ZM99.4 54.1H102.9V60.7H99.4Z',
},
{
p: 'paper',
d: 'M86.9 42.6V50M85.1 45.9H88.6M94 42.6V50M92.3 45.9H95.7M101.1 42.6V50M99.4 45.9H102.9M86.9 54.1V60.7M85.1 57H88.6M94 54.1V60.7M92.3 57H95.7M101.1 54.1V60.7M99.4 57H102.9',
w: 0.45,
},
{
p: 'light',
d: 'M85.1 42.6H88.6V50H85.1ZM92.3 42.6H95.7V50H92.3ZM99.4 42.6H102.9V50H99.4ZM85.1 54.1H88.6V60.7H85.1ZM92.3 54.1H95.7V60.7H92.3ZM99.4 54.1H102.9V60.7H99.4Z',
o: 0.12,
},
{ p: 'paper', d: 'M84 85.6V75.6A3.2 3.2 0 0 1 90.4 75.6V85.6ZM93.5 73H103.5V82H93.5Z' },
{ p: '#2f4a3f', d: 'M84.6 85.6V75.6A2.6 2.6 0 0 1 89.8 75.6V85.6Z' },
{ p: '#2c3338', d: 'M94.1 73.6H102.9V81.4H94.1Z' },
{ p: 'paper', d: 'M98.5 73.6V81.4M94.1 77H102.9', w: 0.45 },
{ p: 'light', d: 'M87.1 76.5V85.4', o: 0.25, w: 0.4 },
{ p: '#8f8a84', d: 'M83.1 85H91.1V87.2H83.1Z' },
{ p: 'shade', d: 'M58 96.6Q71 97.8 84 96.6', o: 0.18, w: 1.2 },
{ p: '#2f3b3f', d: 'M56.5 91.6H86.5C86 94.6 83.6 96.4 80 96.4H62.4C59 96.4 57 94.6 56.5 91.6Z' },
{ p: 2, d: 'M56.5 91.6H86.5V93H56.5Z' },
{ p: 'paper', d: 'M66 88.6H78V92.2H66Z' },
{ p: '#2c3338', d: 'M67 89.4H69.8V91.2H67ZM70.6 89.4H73.4V91.2H70.6ZM74.2 89.4H77V91.2H74.2Z' },
{ p: 'light', d: 'M60 94.4H83', o: 0.25, w: 0.5 },
],
license: 'in-house',
},
];
@@ -900,4 +900,277 @@ export const MEDITERRANEAN_STICKERS: readonly BookStickerDef[] = [
],
license: 'in-house',
},
{
id: 'gondola',
theme: 'mediterranean',
tags: ['gondola', 'venice', 'italy', 'gondolier', 'canal', 'boat', 'lagoon', 'romantic'],
descr:
'A black Venetian gondola with a silver ferro on its bow and a red seat, rowed by a gondolier in a striped shirt and straw boater on green blue water.',
box: [110, 90],
slots: [
{ name: 'hull', color: '#24242c' },
{ name: 'water', color: '#2c9c94' },
{ name: 'stripes', color: '#22407e' },
{ name: 'straw', color: '#e6c271' },
],
layers: [
{
p: 1,
d: 'M3 76C10 73.6 17 73.6 24 76C31 78.4 38 78.4 45 76C52 73.6 59 73.6 66 76C73 78.4 80 78.4 87 76C94 73.6 101 73.6 107 76L107 84C107 86.2 105.2 88 103 88L7 88C4.8 88 3 86.2 3 84Z',
},
{ p: 'shade', d: 'M16 79.5C30 81.5 80 81.5 94 79.5C90 83 22 83 16 79.5Z', o: 0.25 },
{ p: 'light', d: 'M10 84H22M30 85.5H44M68 85H82M90 83.5H99', w: 1.1, o: 0.45 },
{
p: 0,
d: 'M4.6 44.5C6 60 15 70 30 71.5L80 71.5C92 70.5 99 61 100.5 45L103.5 45.5C103.5 63 96 78.5 78 79.5L32 79.5C14 79 4 66 2 45C2 43.4 4.4 43 4.6 44.5Z',
},
{
p: 'shade',
d: 'M7 66C14 75 22 79 32 79.5L78 79.5C90 79 97 73 100.6 64C96 72 88 75.5 78 76L32 76C20 75.6 12 72 7 66Z',
o: 0.3,
},
{ p: '#e2b04a', d: 'M8 59C14 66 21 70 31 71.5M80 71.5C90 70.6 96 64 99.3 55', w: 0.9 },
{ p: 0, d: 'M40 72.5L40 66C40 64.5 41 63.5 42.5 63.5L44 63.5L44 72.5Z' },
{
p: '#b3283a',
d: 'M44.7 64.6H56.3A2.2 2.2 0 0 1 58.5 66.8V70A2.2 2.2 0 0 1 56.3 72.2H44.7A2.2 2.2 0 0 1 42.5 70V66.8A2.2 2.2 0 0 1 44.7 64.6Z',
},
{ p: 'light', d: 'M44.8 66.6H56.2', w: 1, o: 0.4 },
{ p: 0, d: 'M57 72.5L57 64.5C57 63.5 57.6 62.8 58.6 62.8C59.8 62.8 60.6 63.6 60.6 64.8L60.6 72.5Z' },
{ p: '#e2b04a', d: 'M57.5 62.6A1.3 1.3 0 1 0 60.1 62.6A1.3 1.3 0 1 0 57.5 62.6Z' },
{ p: '#e2b04a', d: 'M68 74.4C70 72.6 72.6 72.6 74.6 74.4C72.6 76.2 70 76.2 68 74.4Z' },
{ p: '#e2b04a', d: 'M3.4 47.6L5.2 47.4', w: 1.2 },
{
p: '#cfd5dc',
d: 'M97 52.5L97.6 34C97.9 30 100.8 28 103.8 29.4L105.6 30.6L102.4 31.6L102.4 34.2L105.6 34.2L105.6 36.2L102.4 36.2L102.4 38.6L105.6 38.6L105.6 40.6L102.4 40.6L102.4 43L105.6 43L105.6 45L102.4 45L102.4 47.4L105.6 47.4L105.6 49.4L102.2 49.4L101.8 52.5Z',
},
{ p: 'shade', d: 'M100.2 31L102.4 31.6L102.4 49.4L102.2 49.4L101.8 52.5L100 52.5Z', o: 0.18 },
{ p: 'light', d: 'M98.9 36L98.6 50', w: 0.8, o: 0.6 },
{ p: '#b98048', d: 'M30.5 36L66 82', w: 2 },
{
p: '#b98048',
d: 'M60.6 74.4C62.4 73.4 64.6 74 66.6 76.4L71 82.4C71.8 83.8 70.6 85.2 69 84.6C66.6 83.6 64.2 81.2 62.2 78.8Z',
},
{ p: 1, d: 'M58 80.6C62 79.6 66 79.6 70 80.6C74 81.6 78 81.6 81 80.6L81 86L58 86Z', o: 0.75 },
{ p: 'light', d: 'M60 81.6C64 80.8 68 80.8 72 81.8', w: 0.9, o: 0.6 },
{ p: 0, d: 'M19.5 49.5L29.2 49.5L29 60L28.4 70.5L25.4 70.5L24.6 57L23.6 70.5L20.6 70.5L19.6 59Z' },
{ p: 'light', d: 'M24.4 51.5L24.5 56.5', w: 0.6, o: 0.25 },
{ p: 0, d: 'M19.6 69.2H24.4C25 69.2 25.2 70 24.8 70.6L24.2 72.8H19.4Z' },
{ p: 0, d: 'M25 69.2H30C30.8 69.2 31 70.2 30.4 70.8L29.8 72.8H25Z' },
{ p: '#fbf8f0', d: 'M18.6 36.4C18.6 33.6 20.2 32 23 32L25.4 32C28 32 29.6 33.6 29.6 36.4L29.8 51L18.4 51Z' },
{
p: 2,
d: 'M18.5 35.4H29.8V36.9H18.5ZM18.5 38.5H29.8V40H18.5ZM18.5 41.6H29.8V43.1H18.5ZM18.5 44.7H29.8V46.2H18.5ZM18.5 47.8H29.8V49.3H18.5Z',
},
{ p: 'shade', d: 'M18.6 36.4C18.6 33.6 20.2 32 23 32L22 32C21 34 21 42 21.6 51L18.4 51Z', o: 0.12 },
{ p: 0, d: 'M18.3 49.6H29.9V51.4H18.3Z' },
{ p: '#efbf98', d: 'M22.6 28.8H25.6V33H22.6Z' },
{ p: '#efbf98', d: 'M20.1 26.2A4.1 4.1 0 1 0 28.3 26.2A4.1 4.1 0 1 0 20.1 26.2Z' },
{ p: '#efbf98', d: 'M28 25.6L29.3 27.3L28 27.9Z' },
{ p: '#4a3022', d: 'M20.2 25.6C20 23.6 20.6 22.6 21.6 22.2L22 26.8C21.2 27.6 20.4 27 20.2 25.6Z' },
{ p: 'ink', d: 'M26 25.6A0.6 0.6 0 1 0 27.2 25.6A0.6 0.6 0 1 0 26 25.6Z' },
{ p: '#d9826b', d: 'M25.5 27.8A0.7 0.7 0 1 0 26.9 27.8A0.7 0.7 0 1 0 25.5 27.8Z', o: 0.5 },
{ p: 3, d: 'M19.8 22.8L20.2 18.4C20.3 17.4 21 16.8 22 16.8L26.6 16.8C27.6 16.8 28.3 17.4 28.4 18.4L28.8 22.8Z' },
{ p: 2, d: 'M20 20.2H28.6L28.8 22H19.8Z' },
{ p: 3, d: 'M15.9 22.9A8.4 1.6 0 1 0 32.7 22.9A8.4 1.6 0 1 0 15.9 22.9Z' },
{
p: 'shade',
d: 'M16.4 23.2C18 24.2 30.6 24.2 32.2 23.2C31 24.3 27.5 24.5 24.3 24.5C21 24.5 17.6 24.3 16.4 23.2Z',
o: 0.25,
},
{ p: 'light', d: 'M21.4 18.2H27.2', w: 0.7, o: 0.5 },
{ p: '#e3ae86', d: 'M21 36.4C21.6 41 27 43.6 35 43', w: 2.4 },
{ p: '#fbf8f0', d: 'M27.4 34.4L30 39.4', w: 3 },
{ p: 2, d: 'M27.2 35.6L29.6 34.6M28.6 38.2L30.8 37.2', w: 1 },
{ p: '#efbf98', d: 'M30.2 40.2L33.4 39.4', w: 2.4 },
{ p: '#efbf98', d: 'M31.8 39.6A1.6 1.6 0 1 0 35 39.6A1.6 1.6 0 1 0 31.8 39.6Z' },
{ p: '#e3ae86', d: 'M33.8 42.6A1.6 1.6 0 1 0 37 42.6A1.6 1.6 0 1 0 33.8 42.6Z' },
],
license: 'in-house',
},
{
id: 'lisbonTram',
theme: 'mediterranean',
tags: ['tram', 'lisbon', 'portugal', 'streetcar', 'yellow', 'alfama', 'transport', 'trolley'],
descr:
'The yellow Lisbon tram 28 in side view, a rounded body with a cream window band and framed windows, its trolley pole reaching the overhead cable.',
box: [110, 90],
slots: [
{ name: 'body', color: '#f6c31c' },
{ name: 'cream', color: '#f6efdd' },
{ name: 'frame', color: '#3d4048' },
{ name: 'glass', color: '#8fb7c8' },
],
layers: [
{ p: 'ink', d: 'M2 6.5H108', w: 0.8 },
{ p: 2, d: 'M38 22L72 7.2', w: 1.5 },
{ p: 2, d: 'M70 6.2L74.6 5.6L75 8L71.6 8.8Z' },
{ p: 2, d: 'M34 25L34 21.6C34 20.6 34.8 20 35.8 20L41 20C42 20 42.6 20.8 42.4 21.8L42 25Z' },
{ p: 'ink', d: 'M4 87.2H106', w: 2 },
{ p: 2, d: 'M20 70H90V79C90 80.2 89.2 81 88 81H22C20.8 81 20 80.2 20 79Z' },
{
p: 2,
d: 'M23.6 81.4A6.4 6.4 0 1 0 36.4 81.4A6.4 6.4 0 1 0 23.6 81.4ZM73.6 81.4A6.4 6.4 0 1 0 86.4 81.4A6.4 6.4 0 1 0 73.6 81.4Z',
},
{
p: 'light',
d: 'M27.6 81.4A2.4 2.4 0 1 0 32.4 81.4A2.4 2.4 0 1 0 27.6 81.4ZM77.6 81.4A2.4 2.4 0 1 0 82.4 81.4A2.4 2.4 0 1 0 77.6 81.4Z',
o: 0.4,
},
{ p: 'shade', d: 'M42 77H68V80.6H42Z', o: 0.3 },
{ p: 1, d: 'M16 32L16 27.5C16 24.6 18 23 21 23L89 23C92 23 94 24.6 94 27.5L94 32Z' },
{ p: 'shade', d: 'M16 29.5H94V32H16Z', o: 0.15 },
{ p: 'shade', d: 'M28 23.2H72V25.4H28Z', o: 0.12 },
{
p: 0,
d: 'M11 41C11 34 15 30 22 30L88 30C95 30 99 34 99 41L99 70.5C99 72.6 97.6 74 95.5 74L14.5 74C12.4 74 11 72.6 11 70.5Z',
},
{ p: 1, d: 'M11 41C11 34 15 30 22 30L88 30C95 30 99 34 99 41L99 54L11 54Z' },
{
p: 3,
d: 'M21 50.5V38.6C21 37 22 36 23.4 36H27.8C29.2 36 30.2 37 30.2 38.6V50.5ZM32.6 50.5V38.6C32.6 37 33.6 36 35 36H39.4C40.8 36 41.8 37 41.8 38.6V50.5ZM44.2 50.5V38.6C44.2 37 45.2 36 46.6 36H51C52.4 36 53.4 37 53.4 38.6V50.5ZM55.8 50.5V38.6C55.8 37 56.8 36 58.2 36H62.6C64 36 65 37 65 38.6V50.5ZM67.4 50.5V38.6C67.4 37 68.4 36 69.8 36H74.2C75.6 36 76.6 37 76.6 38.6V50.5ZM79 50.5V38.6C79 37 80 36 81.4 36H85.8C87.2 36 88.2 37 88.2 38.6V50.5ZM91 50.5V36H93.5C95.8 36.2 97 38 97 40.6V50.5ZM19 50.5V36H16.5C14.2 36.2 13 38 13 40.6V50.5Z',
},
{
p: 'light',
d: 'M23 47L27.5 38.8M34.6 47L39.1 38.8M46.2 47L50.7 38.8M57.8 47L62.3 38.8M69.4 47L73.9 38.8M81 47L85.5 38.8',
w: 1.2,
o: 0.45,
},
{ p: 'shade', d: 'M13 49H97V50.5H13Z', o: 0.12 },
{
p: 'shade',
d: 'M92 30.4C95.8 31.6 99 35 99 41L99 70.5C99 72.6 97.6 74 95.5 74L93 74C94.6 60 94.4 42 92 30.4Z',
o: 0.1,
},
{ p: 1, d: 'M21 43.4H30.2M32.6 43.4H41.8M44.2 43.4H53.4M55.8 43.4H65M67.4 43.4H76.6M79 43.4H88.2', w: 0.9 },
{ p: 2, d: 'M11.6 54.2H98.4', w: 1.3 },
{ p: 2, d: 'M11.6 67.2H98.4', w: 0.9 },
{
p: 'shade',
d: 'M22.2 57.4H29A1.2 1.2 0 0 1 30.2 58.6V63.2A1.2 1.2 0 0 1 29 64.4H22.2A1.2 1.2 0 0 1 21 63.2V58.6A1.2 1.2 0 0 1 22.2 57.4ZM33.8 57.4H40.6A1.2 1.2 0 0 1 41.8 58.6V63.2A1.2 1.2 0 0 1 40.6 64.4H33.8A1.2 1.2 0 0 1 32.6 63.2V58.6A1.2 1.2 0 0 1 33.8 57.4ZM45.4 57.4H52.2A1.2 1.2 0 0 1 53.4 58.6V63.2A1.2 1.2 0 0 1 52.2 64.4H45.4A1.2 1.2 0 0 1 44.2 63.2V58.6A1.2 1.2 0 0 1 45.4 57.4ZM57 57.4H63.8A1.2 1.2 0 0 1 65 58.6V63.2A1.2 1.2 0 0 1 63.8 64.4H57A1.2 1.2 0 0 1 55.8 63.2V58.6A1.2 1.2 0 0 1 57 57.4ZM68.6 57.4H75.4A1.2 1.2 0 0 1 76.6 58.6V63.2A1.2 1.2 0 0 1 75.4 64.4H68.6A1.2 1.2 0 0 1 67.4 63.2V58.6A1.2 1.2 0 0 1 68.6 57.4ZM80.2 57.4H87A1.2 1.2 0 0 1 88.2 58.6V63.2A1.2 1.2 0 0 1 87 64.4H80.2A1.2 1.2 0 0 1 79 63.2V58.6A1.2 1.2 0 0 1 80.2 57.4Z',
o: 0.1,
},
{ p: 2, d: 'M91.2 55.6H96.4V72.6H91.2Z', o: 0.55 },
{ p: 2, d: 'M13.6 55.6H18.8V72.6H13.6Z', o: 0.55 },
{ p: 'shade', d: 'M11 68H99V70.5C99 72.6 97.6 74 95.5 74L14.5 74C12.4 74 11 72.6 11 70.5Z', o: 0.18 },
{ p: 'light', d: 'M20 32.4H90', w: 1, o: 0.6 },
{ p: '#fff4c2', d: 'M96 60.5A1.6 1.6 0 1 0 99.2 60.5A1.6 1.6 0 1 0 96 60.5Z' },
{ p: 2, d: 'M89.6 72.6H98.2V76.4H89.6ZM11.8 72.6H20.4V76.4H11.8Z' },
{ p: 1, d: 'M90.2 56.4V71M19.8 56.4V71', w: 0.8 },
{ p: 2, d: 'M53 20.4H57A1 1 0 0 1 58 21.4V22.8A1 1 0 0 1 57 23.8H53A1 1 0 0 1 52 22.8V21.4A1 1 0 0 1 53 20.4Z' },
{ p: '#fff4c2', d: 'M54.1 21.6A0.9 0.9 0 1 0 55.9 21.6A0.9 0.9 0 1 0 54.1 21.6Z' },
{
p: 2,
d: 'M79.2 24.6H89.8A1.2 1.2 0 0 1 91 25.8V30A1.2 1.2 0 0 1 89.8 31.2H79.2A1.2 1.2 0 0 1 78 30V25.8A1.2 1.2 0 0 1 79.2 24.6Z',
},
{
p: '#fbf8f0',
d: 'M80.6 26.6C80.8 25.8 83.6 25.6 83.6 27C83.6 28.2 80.6 28.6 80.6 29.8H83.8M86.8 27.8C85.4 27.8 85.4 25.9 86.8 25.9C88.2 25.9 88.2 27.8 86.8 27.8C85.2 27.8 85.2 29.9 86.8 29.9C88.4 29.9 88.4 27.8 86.8 27.8',
w: 0.75,
},
{
p: 2,
d: 'M98.4 68.6H100.4A1 1 0 0 1 101.4 69.6V70.8A1 1 0 0 1 100.4 71.8H98.4A1 1 0 0 1 97.4 70.8V69.6A1 1 0 0 1 98.4 68.6ZM9.6 68.6H11.6A1 1 0 0 1 12.6 69.6V70.8A1 1 0 0 1 11.6 71.8H9.6A1 1 0 0 1 8.6 70.8V69.6A1 1 0 0 1 9.6 68.6Z',
},
],
license: 'in-house',
},
{
id: 'camel',
theme: 'mediterranean',
tags: ['camel', 'dromedary', 'morocco', 'desert', 'sahara', 'road trip', 'animal', 'caravan'],
descr:
'A dromedary camel standing in profile facing left, its single hump draped in a red saddle blanket with gold trim, teal diamonds and tassels, wearing a red halter.',
box: [106, 90],
slots: [
{ name: 'fur', color: '#d6a467' },
{ name: 'blanket', color: '#c8233a' },
{ name: 'trim', color: '#f0b740' },
{ name: 'pattern', color: '#1f8a8a' },
],
layers: [
{ p: 'shade', d: 'M26 86.2A38 2.2 0 1 0 102 86.2A38 2.2 0 1 0 26 86.2Z', o: 0.12 },
{
p: 0,
d: 'M53.8 52L54.6 71C53.4 73.6 54 75.6 54.8 77L54.6 84L59.6 84L59.2 77C60 75.6 60.6 73.6 59.4 71L60.2 52ZM53.2 84.2A4.4 1.9 0 1 0 62 84.2A4.4 1.9 0 1 0 53.2 84.2ZM76.8 52L77.6 71C76.4 73.6 77 75.6 77.8 77L77.6 84L82.6 84L82.2 77C83 75.6 83.6 73.6 82.4 71L83.2 52ZM76.2 84.2A4.4 1.9 0 1 0 85 84.2A4.4 1.9 0 1 0 76.2 84.2Z',
},
{
p: 'shade',
d: 'M53.8 52L54.6 71C53.4 73.6 54 75.6 54.8 77L54.6 84L59.6 84L59.2 77C60 75.6 60.6 73.6 59.4 71L60.2 52ZM53.2 84.2A4.4 1.9 0 1 0 62 84.2A4.4 1.9 0 1 0 53.2 84.2ZM76.8 52L77.6 71C76.4 73.6 77 75.6 77.8 77L77.6 84L82.6 84L82.2 77C83 75.6 83.6 73.6 82.4 71L83.2 52ZM76.2 84.2A4.4 1.9 0 1 0 85 84.2A4.4 1.9 0 1 0 76.2 84.2Z',
o: 0.3,
},
{ p: 0, d: 'M98 44C101.6 50 102 56 100 62', w: 1.8 },
{ p: 0, d: 'M100 60.6C98.6 63.6 99.4 67 100.6 68C101.6 66.4 102.6 63.4 101.6 60.4Z' },
{ p: 'shade', d: 'M100 60.6C98.6 63.6 99.4 67 100.6 68C101.6 66.4 102.6 63.4 101.6 60.4Z', o: 0.25 },
{
p: 0,
d: 'M36 46C38 36 48 32 56 31C62 15 80 14 88 28C96 31 101 39 99 49C97 56 91 59 83 59L46 59C39 59 35 54 36 46Z',
},
{
p: 0,
d: 'M43.8 52L44.6 71C43.4 73.6 44 75.6 44.8 77L44.6 84L49.6 84L49.2 77C50 75.6 50.6 73.6 49.4 71L50.2 52ZM85.8 52L86.6 71C85.4 73.6 86 75.6 86.8 77L86.6 84L91.6 84L91.2 77C92 75.6 92.6 73.6 91.4 71L92.2 52Z',
},
{
p: 0,
d: 'M43.2 84.2A4.4 1.9 0 1 0 52 84.2A4.4 1.9 0 1 0 43.2 84.2ZM85.2 84.2A4.4 1.9 0 1 0 94 84.2A4.4 1.9 0 1 0 85.2 84.2Z',
},
{
p: 'shade',
d: 'M44.6 72C45.4 73.2 47.4 73.6 49.4 72.4M86.6 72C87.4 73.2 89.4 73.6 91.4 72.4',
w: 0.8,
o: 0.35,
},
{ p: 'shade', d: 'M43.6 84.6L50.6 84.6M85.6 84.6L92.6 84.6', w: 0.8, o: 0.3 },
{
p: 'shade',
d: 'M37 50C40 56 44 58.4 50 58.4L84 58.4C90 58.4 95 57 97.6 53C95 57.4 90 59 83 59L46 59C41.4 59 38 55.4 37 50Z',
o: 0.25,
},
{
p: 0,
d: 'M48 53C38 57 27 54 23.4 44C21 37.6 20 31 15.4 24.6L26 19.4C27.6 27 29.6 35 33.6 39.4C37.6 43.4 42 42 45 37Z',
},
{ p: 'shade', d: 'M24 45C27.6 52.6 36 56 45.6 53.8C38 57.4 27.4 54.6 24 45Z', o: 0.2 },
{ p: 0, d: 'M22.7 12.6A1.9 2.8 0 1 0 26.5 12.6A1.9 2.8 0 1 0 22.7 12.6Z' },
{
p: 0,
d: 'M4.6 20.6C4.6 15.6 9 12.6 15 12.4C20.4 12.2 25.6 14 27.6 18C29 21.4 27.4 25.4 23 26.4L13.4 27.6C8 28 4.6 25.4 4.6 20.6Z',
},
{ p: 'shade', d: 'M5.2 23C6 25.4 8.4 27 12 26.6L17 26C12.6 27.8 6.6 27.8 5.2 23Z', o: 0.25 },
{ p: 'shade', d: 'M6.4 20.4C7.8 21.2 9.6 21.2 11 20.4', w: 0.8, o: 0.4 },
{ p: 'ink', d: 'M7.2 17.2C7.8 16.6 8.6 16.6 9 17.2', w: 0.8 },
{ p: 1, d: 'M11.8 13.4C11 17.6 11 22.6 12.4 27.4M11.6 21.4L27.2 20.6', w: 1.4 },
{ p: 2, d: 'M10.4 21.4A1.2 1.2 0 1 0 12.8 21.4A1.2 1.2 0 1 0 10.4 21.4Z' },
{ p: 2, d: 'M12.4 27.4L12.6 31', w: 0.9 },
{ p: 1, d: 'M11.5 32A1.1 1.6 0 1 0 13.7 32A1.1 1.6 0 1 0 11.5 32Z' },
{ p: 'ink', d: 'M18.2 17.2A1.4 1.6 0 1 0 21 17.2A1.4 1.6 0 1 0 18.2 17.2Z' },
{ p: 'paper', d: 'M19.6 16.6A0.5 0.5 0 1 0 20.6 16.6A0.5 0.5 0 1 0 19.6 16.6Z' },
{ p: 0, d: 'M17.4 15.6C18.6 14.6 20.8 14.6 22 15.8', w: 1 },
{ p: 'ink', d: 'M17.6 15.4L17 14.4M19.2 14.8L19 13.8M20.8 14.9L21.2 13.9', w: 0.5 },
{
p: 1,
d: 'M55.4 30.6C61.6 14.2 80.4 13.2 88.6 27.6C90.2 34.6 91.4 42 92.2 50.4L89.4 53.8L86.4 50.6L83.4 53.8L80.4 50.6L77.4 53.8L74.4 50.6L71.4 53.8L68.4 50.6L65.4 53.8L62.4 50.6L59.4 53.8L56.4 50.6L53.4 53.4C53.4 45 54 37.4 55.4 30.6Z',
},
{ p: 'light', d: 'M60.6 28.4C63.4 23.6 67.6 21.2 72.6 20.8', w: 1.4, o: 0.3 },
{ p: 2, d: 'M55.2 46.6L91.2 46.6M56.4 33.6C64 30.4 80 29.8 89.4 32.4', w: 1.5 },
{
p: 3,
d: 'M59 37L61.2 39.8L59 42.6L56.8 39.8ZM64 37L66.2 39.8L64 42.6L61.8 39.8ZM69 37L71.2 39.8L69 42.6L66.8 39.8ZM74 37L76.2 39.8L74 42.6L71.8 39.8ZM79 37L81.2 39.8L79 42.6L76.8 39.8ZM84 37L86.2 39.8L84 42.6L81.8 39.8Z',
},
{
p: 2,
d: 'M60.8 39.8A0.7 0.7 0 1 0 62.2 39.8A0.7 0.7 0 1 0 60.8 39.8ZM65.8 39.8A0.7 0.7 0 1 0 67.2 39.8A0.7 0.7 0 1 0 65.8 39.8ZM70.8 39.8A0.7 0.7 0 1 0 72.2 39.8A0.7 0.7 0 1 0 70.8 39.8ZM75.8 39.8A0.7 0.7 0 1 0 77.2 39.8A0.7 0.7 0 1 0 75.8 39.8ZM80.8 39.8A0.7 0.7 0 1 0 82.2 39.8A0.7 0.7 0 1 0 80.8 39.8Z',
},
{
p: 2,
d: 'M53.4 53.4C52.2 54.8 52.2 56.6 53.4 57.2C54.6 56.6 54.6 54.8 53.4 53.4ZM59.4 53.4C58.2 54.8 58.2 56.6 59.4 57.2C60.6 56.6 60.6 54.8 59.4 53.4ZM65.4 53.4C64.2 54.8 64.2 56.6 65.4 57.2C66.6 56.6 66.6 54.8 65.4 53.4ZM71.4 53.4C70.2 54.8 70.2 56.6 71.4 57.2C72.6 56.6 72.6 54.8 71.4 53.4ZM77.4 53.4C76.2 54.8 76.2 56.6 77.4 57.2C78.6 56.6 78.6 54.8 77.4 53.4ZM83.4 53.4C82.2 54.8 82.2 56.6 83.4 57.2C84.6 56.6 84.6 54.8 83.4 53.4ZM89.4 53.4C88.2 54.8 88.2 56.6 89.4 57.2C90.6 56.6 90.6 54.8 89.4 53.4Z',
},
{
p: 'shade',
d: 'M55 48.4C68 49.6 80 49.6 91.8 48.4L92.2 50.4L89.4 53.8L86.4 50.6L83.4 53.8L80.4 50.6L77.4 53.8L74.4 50.6L71.4 53.8L68.4 50.6L65.4 53.8L62.4 50.6L59.4 53.8L56.4 50.6L53.4 53.4C53.4 51.6 53.6 50 55 48.4Z',
o: 0.18,
},
],
license: 'in-house',
},
];
@@ -476,4 +476,79 @@ export const NORDIC_STICKERS: readonly BookStickerDef[] = [
],
license: 'in-house',
},
{
id: 'celticHarp',
theme: 'nordic',
tags: ['harp', 'celtic', 'ireland', 'irish', 'music', 'instrument', 'folk', 'dublin'],
descr:
'An Irish Celtic harp in golden brown wood with a curved carved forepillar, an arched neck with brass tuning pins and pale strings over the soundbox.',
box: [90, 110],
slots: [
{ name: 'wood', color: '#b8783a' },
{ name: 'darkwood', color: '#6e4220' },
{ name: 'strings', color: '#f4e7c4' },
{ name: 'brass', color: '#e8b84a' },
],
layers: [
{
p: 2,
d: 'M29 12.9V92.2M32.3 14.8V87M35.6 16.4V81.8M38.9 17.8V76.7M42.2 18.9V71.5M45.5 19.5V66.3M48.8 19.7V61.2M52.1 19.3V56M55.4 18.4V50.8M58.7 16.8V45.7M62 15.1V40.5M65.3 13.8V35.3M68.6 12.9V30.2M71.9 12.5V25',
w: 0.75,
},
{
p: 0,
d: 'M24 98L77 15C79 13 82 13 84 15L85.4 18C86 19.6 85.8 21 85 22.4L37 103C36 104.6 34.6 105.2 33 105L27 104.2C24.4 103.8 23 101 24 98Z',
},
{
p: 'shade',
d: 'M31 99.6L80.6 18.4C82 16.6 84 16.6 85 18.4C85.8 19.8 85.8 21 85 22.4L37 103C36 104.6 34.6 105.2 33 105L31 104.8C29.6 103.4 29.8 101.6 31 99.6Z',
o: 0.25,
},
{ p: 1, d: 'M27.2 97.2L78.6 16.6', w: 1.1 },
{
p: 1,
d: 'M44.6 74.4C45.9 72.4 48 72.8 47.6 74.6C47.2 76.4 45 77.2 44.6 74.4ZM58.2 52.6C59.5 50.6 61.6 51 61.2 52.8C60.8 54.6 58.6 55.4 58.2 52.6ZM69 35.2C70.1 33.6 71.8 34 71.5 35.4C71.2 36.8 69.3 37.4 69 35.2Z',
},
{ p: 3, d: 'M31.4 101.4L36.8 102.6M76.6 20.4L83.8 21.8', w: 1.3 },
{
p: 1,
d: 'M18 101.4C18 99.8 19.2 99 20.8 99L36 99C37.6 99 38.6 100.2 38.6 101.6L38.6 105.4C38.6 106.6 37.8 107.4 36.6 107.4L19.6 107.4C18.6 107.4 18 106.6 18 105.6Z',
},
{ p: 0, d: 'M7 12C1.5 40 5.5 74 20.4 103L31.2 101.6C18.4 75 14 44 16.8 16Z' },
{ p: 'shade', d: 'M12.6 14.5C10.4 44 14.6 75 26.6 102.2L31.2 101.6C18.4 75 14 44 16.8 16Z', o: 0.25 },
{
p: 3,
d: 'M7.2 34C7.2 31.1 12 36.9 12 34C12 31.1 7.2 36.9 7.2 34ZM7.4 48C7.4 45.1 12.2 50.9 12.2 48C12.2 45.1 7.4 50.9 7.4 48ZM9 62C9 59.1 13.8 64.9 13.8 62C13.8 59.1 9 64.9 9 62ZM12 76C12 73.1 16.8 78.9 16.8 76C16.8 73.1 12 78.9 12 76ZM16.2 89C16.2 86.1 21 91.9 21 89C21 86.1 16.2 91.9 16.2 89Z',
w: 0.9,
},
{
p: 1,
d: 'M5.6 28.8L13.8 28.4M5.8 39.4L14 39M5.8 42.8L14 42.4M6 53.4L14.2 53M7.4 56.8L15.6 56.4M7.6 67.4L15.8 67M10.4 70.8L18.6 70.4M10.6 81.4L18.8 81M14.6 83.8L22.8 83.4M14.8 94.4L23 94',
w: 0.9,
o: 0.85,
},
{
p: 0,
d: 'M7 11C10 3 20 2 27 6C37 12 47 18 57 12C66 6 78 4 86 12L82 18C76 12 66 14 58 19C47 25 36 19 26 13C20 10 15 11 14 16.5Z',
},
{
p: 'shade',
d: 'M14 16.5C15 11 20 10 26 13C36 19 47 25 58 19C66 14 76 12 82 18L83.6 15.6C76 10 66 11 58 16C47 22 36 16.4 26 10.4C20 7 15.6 9 14 16.5Z',
o: 0.22,
},
{ p: 'light', d: 'M11 8.6C15 4.6 21 4.4 27 7.6C37 13.4 47 18.6 57 13C65 8.4 74 6.6 80.6 9.2', w: 0.9, o: 0.45 },
{
p: 3,
d: 'M28.1 11A0.9 0.9 0 1 0 29.9 11A0.9 0.9 0 1 0 28.1 11ZM31.4 12.8A0.9 0.9 0 1 0 33.2 12.8A0.9 0.9 0 1 0 31.4 12.8ZM34.7 14.5A0.9 0.9 0 1 0 36.5 14.5A0.9 0.9 0 1 0 34.7 14.5ZM38 16A0.9 0.9 0 1 0 39.8 16A0.9 0.9 0 1 0 38 16ZM41.3 17.1A0.9 0.9 0 1 0 43.1 17.1A0.9 0.9 0 1 0 41.3 17.1ZM44.6 17.8A0.9 0.9 0 1 0 46.4 17.8A0.9 0.9 0 1 0 44.6 17.8ZM47.9 18A0.9 0.9 0 1 0 49.7 18A0.9 0.9 0 1 0 47.9 18ZM51.2 17.6A0.9 0.9 0 1 0 53 17.6A0.9 0.9 0 1 0 51.2 17.6ZM54.5 16.5A0.9 0.9 0 1 0 56.3 16.5A0.9 0.9 0 1 0 54.5 16.5ZM57.8 14.8A0.9 0.9 0 1 0 59.6 14.8A0.9 0.9 0 1 0 57.8 14.8ZM61.1 13.1A0.9 0.9 0 1 0 62.9 13.1A0.9 0.9 0 1 0 61.1 13.1ZM64.4 11.8A0.9 0.9 0 1 0 66.2 11.8A0.9 0.9 0 1 0 64.4 11.8ZM67.7 10.9A0.9 0.9 0 1 0 69.5 10.9A0.9 0.9 0 1 0 67.7 10.9ZM71 10.5A0.9 0.9 0 1 0 72.8 10.5A0.9 0.9 0 1 0 71 10.5Z',
},
{ p: 0, d: 'M4 11.4A5.4 5.4 0 1 0 14.8 11.4A5.4 5.4 0 1 0 4 11.4Z' },
{
p: 3,
d: 'M9.4 11.4C9.4 10.2 11 10.2 11 11.6C11 13.4 8 13.6 7.6 11.4C7.2 8.6 11.4 7.8 12.6 10.4C13.6 12.8 12 15.6 9.4 15.6',
w: 1,
},
{ p: 3, d: 'M14.6 16.2L18.4 17.2', w: 1.3 },
],
license: 'in-house',
},
];
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'حراشف',
'journey.studio.pattern.sunburst': 'أشعة الشمس',
'journey.studio.pattern.confetti': 'قصاصات ملونة',
'journey.studio.pattern.linen': 'كتان',
'journey.studio.pattern.grain': 'حبيبات الورق',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'انقر مرتين للإزالة',
'assistant.card.book.finding.hairline': 'خط أرق من أن يُطبع',
'assistant.card.book.finding.edge_unused': 'حافة لا يقبلها هذا الشكل',
'journey.studio.shapeName.rect': 'مستطيل',
'journey.studio.shapeName.squircle': 'مربع مستدير',
'journey.studio.shapeName.ellipse': 'شكل بيضاوي',
'journey.studio.shapeName.capsule': 'كبسولة',
'journey.studio.shapeName.triangle': 'مثلث',
'journey.studio.shapeName.triangle-down': 'مثلث لأسفل',
'journey.studio.shapeName.diamond': 'معين',
'journey.studio.shapeName.parallelogram': 'متوازي أضلاع',
'journey.studio.shapeName.trapezoid': 'شبه منحرف',
'journey.studio.shapeName.arch': 'قوس',
'journey.studio.shapeName.half-circle': 'نصف دائرة',
'journey.studio.shapeName.quarter-circle': 'ربع دائرة',
'journey.studio.shapeName.pentagon': 'خماسي',
'journey.studio.shapeName.hexagon': 'سداسي',
'journey.studio.shapeName.hexagon-flat': 'سداسي مسطح',
'journey.studio.shapeName.heptagon': 'سباعي',
'journey.studio.shapeName.octagon': 'ثماني',
'journey.studio.shapeName.star-4': 'نجمة رباعية',
'journey.studio.shapeName.star-5': 'نجمة خماسية',
'journey.studio.shapeName.star-6': 'نجمة سداسية',
'journey.studio.shapeName.star-8': 'نجمة ثمانية',
'journey.studio.shapeName.star-12': 'نجمة اثنا عشرية',
'journey.studio.shapeName.burst': 'انفجار',
'journey.studio.shapeName.seal': 'ختم',
'journey.studio.shapeName.sparkle': 'بريق',
'journey.studio.shapeName.star-rounded': 'نجمة مستديرة',
'journey.studio.shapeName.star-twinkle': 'نجمة متلألئة',
'journey.studio.shapeName.arrow-right': 'سهم لليمين',
'journey.studio.shapeName.arrow-left': 'سهم لليسار',
'journey.studio.shapeName.arrow-up': 'سهم لأعلى',
'journey.studio.shapeName.arrow-down': 'سهم لأسفل',
'journey.studio.shapeName.arrow-both': 'سهم مزدوج',
'journey.studio.shapeName.chevron-right': 'شيفرون لليمين',
'journey.studio.shapeName.chevron-left': 'شيفرون لليسار',
'journey.studio.shapeName.arrow-bent': 'سهم منحني الزاوية',
'journey.studio.shapeName.arrow-curve': 'سهم منحنٍ',
'journey.studio.shapeName.arrow-circle': 'سهم دائري',
'journey.studio.shapeName.arrow-notched': 'سهم مفرّغ',
'journey.studio.shapeName.arrow-thin': 'سهم رفيع',
'journey.studio.shapeName.bubble-round': 'فقاعة حوار مستديرة',
'journey.studio.shapeName.bubble-square': 'فقاعة حوار مربعة',
'journey.studio.shapeName.bubble-oval': 'فقاعة حوار بيضاوية',
'journey.studio.shapeName.bubble-think': 'فقاعة تفكير',
'journey.studio.shapeName.bubble-shout': 'فقاعة صراخ',
'journey.studio.shapeName.bubble-side': 'فقاعة حوار جانبية',
'journey.studio.shapeName.bubble-capsule': 'فقاعة حوار كبسولة',
'journey.studio.shapeName.pin': 'دبوس خريطة',
'journey.studio.shapeName.compass': 'بوصلة',
'journey.studio.shapeName.mountain': 'جبل',
'journey.studio.shapeName.sun': 'شمس',
'journey.studio.shapeName.moon': 'قمر',
'journey.studio.shapeName.cloud': 'سحابة',
'journey.studio.shapeName.cloud-puffy': 'سحابة منتفخة',
'journey.studio.shapeName.drop': 'قطرة',
'journey.studio.shapeName.wave': 'موجة',
'journey.studio.shapeName.leaf': 'ورقة',
'journey.studio.shapeName.shield': 'درع',
'journey.studio.shapeName.ticket': 'تذكرة',
'journey.studio.shapeName.heart': 'قلب',
'journey.studio.shapeName.flower-5': 'زهرة بخمس بتلات',
'journey.studio.shapeName.flower-6': 'زهرة بست بتلات',
'journey.studio.shapeName.cross': 'صليب',
'journey.studio.shapeName.plus': 'علامة زائد',
'journey.studio.shapeName.gear': 'ترس',
'journey.studio.shapeName.blob-1': 'شكل عضوي 1',
'journey.studio.shapeName.blob-2': 'شكل عضوي 2',
'journey.studio.shapeName.blob-3': 'شكل عضوي 3',
'journey.studio.shapeName.blob-4': 'شكل عضوي 4',
'journey.studio.shapeName.heart-round': 'قلب مستدير',
'journey.studio.shapeName.heart-pair': 'قلبان',
'journey.studio.shapeName.flower-8': 'زهرة بثماني بتلات',
'journey.studio.shapeName.banner-ribbon': 'لافتة شريط',
'journey.studio.shapeName.banner-pennant': 'راية مثلثة',
'journey.studio.shapeName.banner-bookmark': 'فاصل كتاب',
'journey.studio.shapeName.banner-flag': 'لافتة علم',
'journey.studio.shapeName.ribbon-ends': 'شريط بأطراف مطوية',
'journey.studio.shapeName.ribbon-arc': 'شريط مقوس',
'journey.studio.shapeName.wavy-band': 'شريط متموج',
'journey.studio.shapeName.torn-strip': 'شريط ممزق',
'journey.studio.shapeName.arch-tall': 'قوس عالٍ',
'journey.studio.shapeName.arch-pointed': 'قوس مدبب',
'journey.studio.shapeName.arch-double': 'قوس مزدوج',
'journey.studio.shapeName.arch-half': 'نصف قوس',
'journey.studio.shapeName.arch-rainbow': 'قوس قزح',
'journey.studio.shapeName.leaf-palm': 'سعفة نخيل',
'journey.studio.shapeName.leaf-oak': 'ورقة بلوط',
'journey.studio.shapeName.leaf-long': 'ورقة طويلة',
'journey.studio.shapeName.leaf-monstera': 'ورقة مونستيرا',
'journey.studio.shapeName.coral-1': 'مرجان 1',
'journey.studio.shapeName.coral-2': 'مرجان 2',
'journey.studio.shapeName.seaweed': 'أعشاب بحرية',
'journey.studio.shapeName.star-organic': 'نجمة عضوية',
'journey.studio.shapeName.sun-cutout': 'شمس مفرّغة',
'journey.studio.shapeName.organic-1': 'شكل عضوي 1',
'journey.studio.shapeName.organic-2': 'شكل عضوي 2',
'journey.studio.shapeName.organic-3': 'شكل عضوي 3',
'journey.studio.shapeName.stamp-rect': 'ختم مستطيل',
'journey.studio.shapeName.stamp-circle': 'ختم دائري',
'journey.studio.shapeName.postmark': 'ختم بريدي',
'journey.studio.shapeName.rosette': 'وردة شرفية',
'journey.studio.shapeName.scallop-circle': 'دائرة مسننة',
'journey.studio.shapeName.badge-shield': 'شارة درع',
'journey.studio.shapeName.label-tab': 'لسان ملصق',
'journey.studio.shapeName.ticket-stub': 'قسيمة تذكرة',
'journey.studio.shapeName.sunburst-12': 'أشعة شمس 12',
'journey.studio.shapeName.sunburst-24': 'أشعة شمس 24',
'journey.studio.shapeName.frame-notched': 'إطار مشطوف الزوايا',
'journey.studio.shapeName.frame-chamfer': 'إطار مشطّب',
'journey.studio.shapeName.frame-cushion': 'إطار وسادي',
'journey.studio.shapeName.flourish-scroll': 'زخرفة لفافة',
'journey.studio.shapeName.laurel': 'إكليل غار',
'journey.studio.shapeName.fleuron': 'زخرفة نباتية',
'journey.studio.shapeName.corner-flourish': 'زخرفة زاوية',
};
export default studioShapes;
+12
View File
@@ -174,6 +174,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'إكليل غار',
'journey.studio.sticker.cornerFlourish': 'زاوية مزخرفة',
'journey.studio.sticker.cornerScroll': 'زاوية بلفائف',
'journey.studio.sticker.parthenon': 'البارثينون',
'journey.studio.sticker.milanDuomo': 'كاتدرائية ميلانو',
'journey.studio.sticker.canalHouses': 'بيوت القنوات',
'journey.studio.sticker.gondola': 'جندول',
'journey.studio.sticker.lisbonTram': 'ترام لشبونة',
'journey.studio.sticker.celticHarp': 'قيثارة سلتية',
'journey.studio.sticker.tiger': 'نمر',
'journey.studio.sticker.monkey': 'قرد',
'journey.studio.sticker.camel': 'جمل',
'journey.studio.sticker.doodlePalm': 'نخلة مرسومة باليد',
'journey.studio.sticker.doodleWaves': 'أمواج مرسومة باليد',
'journey.studio.sticker.doodleSunRays': 'شمس مشرقة مرسومة باليد',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Pulcuqlar',
'journey.studio.pattern.sunburst': 'Şüalar',
'journey.studio.pattern.confetti': 'Konfeti',
'journey.studio.pattern.linen': 'Kətan',
'journey.studio.pattern.grain': 'Kağız dənəsi',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Silmək üçün iki dəfə kliklə',
'assistant.card.book.finding.hairline': 'Çap üçün çox nazik xətt',
'assistant.card.book.finding.edge_unused': 'Bu formanın qəbul etmədiyi kənar',
'journey.studio.shapeName.rect': 'Düzbucaqlı',
'journey.studio.shapeName.squircle': 'Yuvarlaqlaşdırılmış kvadrat',
'journey.studio.shapeName.ellipse': 'Ellips',
'journey.studio.shapeName.capsule': 'Kapsul',
'journey.studio.shapeName.triangle': 'Üçbucaq',
'journey.studio.shapeName.triangle-down': 'Aşağı baxan üçbucaq',
'journey.studio.shapeName.diamond': 'Romb',
'journey.studio.shapeName.parallelogram': 'Paraleloqram',
'journey.studio.shapeName.trapezoid': 'Trapesiya',
'journey.studio.shapeName.arch': 'Tağ',
'journey.studio.shapeName.half-circle': 'Yarımdairə',
'journey.studio.shapeName.quarter-circle': 'Dairənin dörddə biri',
'journey.studio.shapeName.pentagon': 'Beşbucaq',
'journey.studio.shapeName.hexagon': 'Altıbucaq',
'journey.studio.shapeName.hexagon-flat': 'Düz altıbucaq',
'journey.studio.shapeName.heptagon': 'Yeddibucaq',
'journey.studio.shapeName.octagon': 'Səkkizbucaq',
'journey.studio.shapeName.star-4': 'Dördguşəli ulduz',
'journey.studio.shapeName.star-5': 'Beşguşəli ulduz',
'journey.studio.shapeName.star-6': 'Altıguşəli ulduz',
'journey.studio.shapeName.star-8': 'Səkkizguşəli ulduz',
'journey.studio.shapeName.star-12': 'On ikiguşəli ulduz',
'journey.studio.shapeName.burst': 'Partlayış',
'journey.studio.shapeName.seal': 'Möhür',
'journey.studio.shapeName.sparkle': 'Parıltı',
'journey.studio.shapeName.star-rounded': 'Yuvarlaq ulduz',
'journey.studio.shapeName.star-twinkle': 'Közərən ulduz',
'journey.studio.shapeName.arrow-right': 'Sağ ox',
'journey.studio.shapeName.arrow-left': 'Sol ox',
'journey.studio.shapeName.arrow-up': 'Yuxarı ox',
'journey.studio.shapeName.arrow-down': 'Aşağı ox',
'journey.studio.shapeName.arrow-both': 'İkitərəfli ox',
'journey.studio.shapeName.chevron-right': 'Sağ şevron',
'journey.studio.shapeName.chevron-left': 'Sol şevron',
'journey.studio.shapeName.arrow-bent': 'Əyilmiş ox',
'journey.studio.shapeName.arrow-curve': 'Əyri ox',
'journey.studio.shapeName.arrow-circle': 'Dairəvi ox',
'journey.studio.shapeName.arrow-notched': 'Çentikli ox',
'journey.studio.shapeName.arrow-thin': 'Nazik ox',
'journey.studio.shapeName.bubble-round': 'Yuvarlaq danışıq balonu',
'journey.studio.shapeName.bubble-square': 'Kvadrat danışıq balonu',
'journey.studio.shapeName.bubble-oval': 'Oval danışıq balonu',
'journey.studio.shapeName.bubble-think': 'Düşüncə balonu',
'journey.studio.shapeName.bubble-shout': 'Qışqırıq balonu',
'journey.studio.shapeName.bubble-side': 'Yandan danışıq balonu',
'journey.studio.shapeName.bubble-capsule': 'Kapsul danışıq balonu',
'journey.studio.shapeName.pin': 'Xəritə nişanı',
'journey.studio.shapeName.compass': 'Kompas',
'journey.studio.shapeName.mountain': 'Dağ',
'journey.studio.shapeName.sun': 'Günəş',
'journey.studio.shapeName.moon': 'Ay',
'journey.studio.shapeName.cloud': 'Bulud',
'journey.studio.shapeName.cloud-puffy': 'Qabarıq bulud',
'journey.studio.shapeName.drop': 'Damla',
'journey.studio.shapeName.wave': 'Dalğa',
'journey.studio.shapeName.leaf': 'Yarpaq',
'journey.studio.shapeName.shield': 'Qalxan',
'journey.studio.shapeName.ticket': 'Bilet',
'journey.studio.shapeName.heart': 'Ürək',
'journey.studio.shapeName.flower-5': 'Beşləçəkli çiçək',
'journey.studio.shapeName.flower-6': 'Altıləçəkli çiçək',
'journey.studio.shapeName.cross': 'Xaç',
'journey.studio.shapeName.plus': 'Plus', // same-as-en
'journey.studio.shapeName.gear': 'Dişli',
'journey.studio.shapeName.blob-1': 'Ləkə 1',
'journey.studio.shapeName.blob-2': 'Ləkə 2',
'journey.studio.shapeName.blob-3': 'Ləkə 3',
'journey.studio.shapeName.blob-4': 'Ləkə 4',
'journey.studio.shapeName.heart-round': 'Yuvarlaq ürək',
'journey.studio.shapeName.heart-pair': 'İki ürək',
'journey.studio.shapeName.flower-8': 'Səkkizləçəkli çiçək',
'journey.studio.shapeName.banner-ribbon': 'Lent bannerı',
'journey.studio.shapeName.banner-pennant': 'Vımpel',
'journey.studio.shapeName.banner-bookmark': 'Əlfəcin',
'journey.studio.shapeName.banner-flag': 'Bayraq bannerı',
'journey.studio.shapeName.ribbon-ends': 'Qatlanmış uclu lent',
'journey.studio.shapeName.ribbon-arc': 'Qövslü lent',
'journey.studio.shapeName.wavy-band': 'Dalğalı zolaq',
'journey.studio.shapeName.torn-strip': 'Cırıq zolaq',
'journey.studio.shapeName.arch-tall': 'hündür tağ',
'journey.studio.shapeName.arch-pointed': 'Sivri tağ',
'journey.studio.shapeName.arch-double': 'İkili tağ',
'journey.studio.shapeName.arch-half': 'Yarım tağ',
'journey.studio.shapeName.arch-rainbow': 'Göy qurşağı tağı',
'journey.studio.shapeName.leaf-palm': 'Palma yarpağı',
'journey.studio.shapeName.leaf-oak': 'Palıd yarpağı',
'journey.studio.shapeName.leaf-long': 'Uzun yarpaq',
'journey.studio.shapeName.leaf-monstera': 'Monstera yarpağı',
'journey.studio.shapeName.coral-1': 'Mərcan 1',
'journey.studio.shapeName.coral-2': 'Mərcan 2',
'journey.studio.shapeName.seaweed': 'Dəniz yosunu',
'journey.studio.shapeName.star-organic': 'Orqanik ulduz',
'journey.studio.shapeName.sun-cutout': 'Kəsmə günəş',
'journey.studio.shapeName.organic-1': 'Orqanik forma 1',
'journey.studio.shapeName.organic-2': 'Orqanik forma 2',
'journey.studio.shapeName.organic-3': 'Orqanik forma 3',
'journey.studio.shapeName.stamp-rect': 'Düzbucaqlı ştamp',
'journey.studio.shapeName.stamp-circle': 'Yuvarlaq ştamp',
'journey.studio.shapeName.postmark': 'Poçt ştampı',
'journey.studio.shapeName.rosette': 'Rozet',
'journey.studio.shapeName.scallop-circle': 'Dişli kənarlı dairə',
'journey.studio.shapeName.badge-shield': 'Qalxan nişanı',
'journey.studio.shapeName.label-tab': 'Etiket tabı',
'journey.studio.shapeName.ticket-stub': 'Bilet kəsiyi',
'journey.studio.shapeName.sunburst-12': 'Günəş şüaları, 12 şüa',
'journey.studio.shapeName.sunburst-24': 'Günəş şüaları, 24 şüa',
'journey.studio.shapeName.frame-notched': 'Çentikli çərçivə',
'journey.studio.shapeName.frame-chamfer': 'Kəsik küncülü çərçivə',
'journey.studio.shapeName.frame-cushion': 'Yastıq çərçivə',
'journey.studio.shapeName.flourish-scroll': 'Qıvrım bəzək',
'journey.studio.shapeName.laurel': 'Dəfnə çələngi',
'journey.studio.shapeName.fleuron': 'Yarpaq bəzəyi',
'journey.studio.shapeName.corner-flourish': 'Künc bəzəyi',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Dəfnə çələngi',
'journey.studio.sticker.cornerFlourish': 'Naxışlı künc',
'journey.studio.sticker.cornerScroll': 'Burulmuş künc',
'journey.studio.sticker.parthenon': 'Parfenon',
'journey.studio.sticker.milanDuomo': 'Milan Katedralı',
'journey.studio.sticker.canalHouses': 'Kanal evləri',
'journey.studio.sticker.gondola': 'Qondol',
'journey.studio.sticker.lisbonTram': 'Lissabon tramvayı',
'journey.studio.sticker.celticHarp': 'Kelt arfası',
'journey.studio.sticker.tiger': 'Pələng',
'journey.studio.sticker.monkey': 'Meymun',
'journey.studio.sticker.camel': 'Dəvə',
'journey.studio.sticker.doodlePalm': 'Əl ilə çəkilmiş palma',
'journey.studio.sticker.doodleWaves': 'Əl ilə çəkilmiş dalğalar',
'journey.studio.sticker.doodleSunRays': 'Əl ilə çəkilmiş doğan günəş',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Escamas',
'journey.studio.pattern.sunburst': 'Raios de sol',
'journey.studio.pattern.confetti': 'Confete',
'journey.studio.pattern.linen': 'Linho',
'journey.studio.pattern.grain': 'Textura de papel',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Clique duplo para remover',
'assistant.card.book.finding.hairline': 'Uma linha fina demais para imprimir',
'assistant.card.book.finding.edge_unused': 'Uma borda que esta forma não aceita',
'journey.studio.shapeName.rect': 'Retângulo',
'journey.studio.shapeName.squircle': 'Quadrado arredondado',
'journey.studio.shapeName.ellipse': 'Elipse',
'journey.studio.shapeName.capsule': 'Cápsula',
'journey.studio.shapeName.triangle': 'Triângulo',
'journey.studio.shapeName.triangle-down': 'Triângulo para baixo',
'journey.studio.shapeName.diamond': 'Losango',
'journey.studio.shapeName.parallelogram': 'Paralelogramo',
'journey.studio.shapeName.trapezoid': 'Trapézio',
'journey.studio.shapeName.arch': 'Arco',
'journey.studio.shapeName.half-circle': 'Semicírculo',
'journey.studio.shapeName.quarter-circle': 'Quarto de círculo',
'journey.studio.shapeName.pentagon': 'Pentágono',
'journey.studio.shapeName.hexagon': 'Hexágono',
'journey.studio.shapeName.hexagon-flat': 'Hexágono achatado',
'journey.studio.shapeName.heptagon': 'Heptágono',
'journey.studio.shapeName.octagon': 'Octógono',
'journey.studio.shapeName.star-4': 'Estrela de quatro pontas',
'journey.studio.shapeName.star-5': 'Estrela de cinco pontas',
'journey.studio.shapeName.star-6': 'Estrela de seis pontas',
'journey.studio.shapeName.star-8': 'Estrela de oito pontas',
'journey.studio.shapeName.star-12': 'Estrela de doze pontas',
'journey.studio.shapeName.burst': 'Explosão',
'journey.studio.shapeName.seal': 'Selo',
'journey.studio.shapeName.sparkle': 'Brilho',
'journey.studio.shapeName.star-rounded': 'Estrela arredondada',
'journey.studio.shapeName.star-twinkle': 'Estrela cintilante',
'journey.studio.shapeName.arrow-right': 'Seta para a direita',
'journey.studio.shapeName.arrow-left': 'Seta para a esquerda',
'journey.studio.shapeName.arrow-up': 'Seta para cima',
'journey.studio.shapeName.arrow-down': 'Seta para baixo',
'journey.studio.shapeName.arrow-both': 'Seta dupla',
'journey.studio.shapeName.chevron-right': 'Divisa para a direita',
'journey.studio.shapeName.chevron-left': 'Divisa para a esquerda',
'journey.studio.shapeName.arrow-bent': 'Seta dobrada',
'journey.studio.shapeName.arrow-curve': 'Seta curva',
'journey.studio.shapeName.arrow-circle': 'Seta circular',
'journey.studio.shapeName.arrow-notched': 'Seta entalhada',
'journey.studio.shapeName.arrow-thin': 'Seta fina',
'journey.studio.shapeName.bubble-round': 'Balão de fala redondo',
'journey.studio.shapeName.bubble-square': 'Balão de fala quadrado',
'journey.studio.shapeName.bubble-oval': 'Balão de fala oval',
'journey.studio.shapeName.bubble-think': 'Balão de pensamento',
'journey.studio.shapeName.bubble-shout': 'Balão de grito',
'journey.studio.shapeName.bubble-side': 'Balão de fala lateral',
'journey.studio.shapeName.bubble-capsule': 'Balão de fala em cápsula',
'journey.studio.shapeName.pin': 'Marcador de mapa',
'journey.studio.shapeName.compass': 'Bússola',
'journey.studio.shapeName.mountain': 'Montanha',
'journey.studio.shapeName.sun': 'Sol',
'journey.studio.shapeName.moon': 'Lua',
'journey.studio.shapeName.cloud': 'Nuvem',
'journey.studio.shapeName.cloud-puffy': 'Nuvem fofa',
'journey.studio.shapeName.drop': 'Gota',
'journey.studio.shapeName.wave': 'Onda',
'journey.studio.shapeName.leaf': 'Folha',
'journey.studio.shapeName.shield': 'Escudo',
'journey.studio.shapeName.ticket': 'Ingresso',
'journey.studio.shapeName.heart': 'Coração',
'journey.studio.shapeName.flower-5': 'Flor de cinco pétalas',
'journey.studio.shapeName.flower-6': 'Flor de seis pétalas',
'journey.studio.shapeName.cross': 'Cruz',
'journey.studio.shapeName.plus': 'Mais',
'journey.studio.shapeName.gear': 'Engrenagem',
'journey.studio.shapeName.blob-1': 'Blob 1', // same-as-en
'journey.studio.shapeName.blob-2': 'Blob 2', // same-as-en
'journey.studio.shapeName.blob-3': 'Blob 3', // same-as-en
'journey.studio.shapeName.blob-4': 'Blob 4', // same-as-en
'journey.studio.shapeName.heart-round': 'Coração redondo',
'journey.studio.shapeName.heart-pair': 'Dois corações',
'journey.studio.shapeName.flower-8': 'Flor de oito pétalas',
'journey.studio.shapeName.banner-ribbon': 'Faixa de fita',
'journey.studio.shapeName.banner-pennant': 'Flâmula',
'journey.studio.shapeName.banner-bookmark': 'Marcador de página',
'journey.studio.shapeName.banner-flag': 'Faixa de bandeira',
'journey.studio.shapeName.ribbon-ends': 'Fita com pontas dobradas',
'journey.studio.shapeName.ribbon-arc': 'Fita em arco',
'journey.studio.shapeName.wavy-band': 'Faixa ondulada',
'journey.studio.shapeName.torn-strip': 'Tira rasgada',
'journey.studio.shapeName.arch-tall': 'Arco alto',
'journey.studio.shapeName.arch-pointed': 'Arco pontiagudo',
'journey.studio.shapeName.arch-double': 'Arco duplo',
'journey.studio.shapeName.arch-half': 'Meio arco',
'journey.studio.shapeName.arch-rainbow': 'Arco-íris',
'journey.studio.shapeName.leaf-palm': 'Folha de palmeira',
'journey.studio.shapeName.leaf-oak': 'Folha de carvalho',
'journey.studio.shapeName.leaf-long': 'Folha longa',
'journey.studio.shapeName.leaf-monstera': 'Folha de monstera',
'journey.studio.shapeName.coral-1': 'Coral 1', // same-as-en
'journey.studio.shapeName.coral-2': 'Coral 2', // same-as-en
'journey.studio.shapeName.seaweed': 'Alga',
'journey.studio.shapeName.star-organic': 'Estrela orgânica',
'journey.studio.shapeName.sun-cutout': 'Sol recortado',
'journey.studio.shapeName.organic-1': 'Forma orgânica 1',
'journey.studio.shapeName.organic-2': 'Forma orgânica 2',
'journey.studio.shapeName.organic-3': 'Forma orgânica 3',
'journey.studio.shapeName.stamp-rect': 'Carimbo retangular',
'journey.studio.shapeName.stamp-circle': 'Carimbo redondo',
'journey.studio.shapeName.postmark': 'Carimbo postal',
'journey.studio.shapeName.rosette': 'Roseta',
'journey.studio.shapeName.scallop-circle': 'Círculo recortado',
'journey.studio.shapeName.badge-shield': 'Emblema de escudo',
'journey.studio.shapeName.label-tab': 'Aba de etiqueta',
'journey.studio.shapeName.ticket-stub': 'Canhoto de ingresso',
'journey.studio.shapeName.sunburst-12': 'Raios de sol, 12 raios',
'journey.studio.shapeName.sunburst-24': 'Raios de sol, 24 raios',
'journey.studio.shapeName.frame-notched': 'Moldura entalhada',
'journey.studio.shapeName.frame-chamfer': 'Moldura chanfrada',
'journey.studio.shapeName.frame-cushion': 'Moldura almofadada',
'journey.studio.shapeName.flourish-scroll': 'Ornamento em voluta',
'journey.studio.shapeName.laurel': 'Louros',
'journey.studio.shapeName.fleuron': 'Florão',
'journey.studio.shapeName.corner-flourish': 'Ornamento de canto',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Coroa de louros',
'journey.studio.sticker.cornerFlourish': 'Canto com floreio',
'journey.studio.sticker.cornerScroll': 'Canto com volutas',
'journey.studio.sticker.parthenon': 'Partenon',
'journey.studio.sticker.milanDuomo': 'Catedral de Milão',
'journey.studio.sticker.canalHouses': 'Casas do canal',
'journey.studio.sticker.gondola': 'Gôndola',
'journey.studio.sticker.lisbonTram': 'Bonde de Lisboa',
'journey.studio.sticker.celticHarp': 'Harpa celta',
'journey.studio.sticker.tiger': 'Tigre',
'journey.studio.sticker.monkey': 'Macaco',
'journey.studio.sticker.camel': 'Camelo',
'journey.studio.sticker.doodlePalm': 'Palmeira desenhada',
'journey.studio.sticker.doodleWaves': 'Ondas desenhadas',
'journey.studio.sticker.doodleSunRays': 'Sol nascente desenhado',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Escates',
'journey.studio.pattern.sunburst': 'Raigs',
'journey.studio.pattern.confetti': 'Confeti',
'journey.studio.pattern.linen': 'Lli',
'journey.studio.pattern.grain': 'Gra de paper',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Doble clic per treure',
'assistant.card.book.finding.hairline': 'Una línia massa fina per imprimir',
'assistant.card.book.finding.edge_unused': 'Una vora que aquesta forma no admet',
'journey.studio.shapeName.rect': 'Rectangle', // same-as-en
'journey.studio.shapeName.squircle': 'Quadrat arrodonit',
'journey.studio.shapeName.ellipse': 'El·lipse',
'journey.studio.shapeName.capsule': 'Càpsula',
'journey.studio.shapeName.triangle': 'Triangle', // same-as-en
'journey.studio.shapeName.triangle-down': 'Triangle cap avall',
'journey.studio.shapeName.diamond': 'Rombe',
'journey.studio.shapeName.parallelogram': 'Paral·lelogram',
'journey.studio.shapeName.trapezoid': 'Trapezi',
'journey.studio.shapeName.arch': 'Arc',
'journey.studio.shapeName.half-circle': 'Mig cercle',
'journey.studio.shapeName.quarter-circle': 'Quart de cercle',
'journey.studio.shapeName.pentagon': 'Pentàgon',
'journey.studio.shapeName.hexagon': 'Hexàgon',
'journey.studio.shapeName.hexagon-flat': 'Hexàgon pla',
'journey.studio.shapeName.heptagon': 'Heptàgon',
'journey.studio.shapeName.octagon': 'Octàgon',
'journey.studio.shapeName.star-4': 'Estrella de quatre puntes',
'journey.studio.shapeName.star-5': 'Estrella de cinc puntes',
'journey.studio.shapeName.star-6': 'Estrella de sis puntes',
'journey.studio.shapeName.star-8': 'Estrella de vuit puntes',
'journey.studio.shapeName.star-12': 'Estrella de dotze puntes',
'journey.studio.shapeName.burst': 'Explosió',
'journey.studio.shapeName.seal': 'Segell',
'journey.studio.shapeName.sparkle': 'Espurna',
'journey.studio.shapeName.star-rounded': 'Estrella arrodonida',
'journey.studio.shapeName.star-twinkle': 'Estrella brillant',
'journey.studio.shapeName.arrow-right': 'Fletxa cap a la dreta',
'journey.studio.shapeName.arrow-left': "Fletxa cap a l'esquerra",
'journey.studio.shapeName.arrow-up': 'Fletxa cap amunt',
'journey.studio.shapeName.arrow-down': 'Fletxa cap avall',
'journey.studio.shapeName.arrow-both': 'Fletxa doble',
'journey.studio.shapeName.chevron-right': 'Xevró cap a la dreta',
'journey.studio.shapeName.chevron-left': "Xevró cap a l'esquerra",
'journey.studio.shapeName.arrow-bent': 'Fletxa doblegada',
'journey.studio.shapeName.arrow-curve': 'Fletxa corba',
'journey.studio.shapeName.arrow-circle': 'Fletxa circular',
'journey.studio.shapeName.arrow-notched': 'Fletxa amb osca',
'journey.studio.shapeName.arrow-thin': 'Fletxa fina',
'journey.studio.shapeName.bubble-round': 'Globus de diàleg rodó',
'journey.studio.shapeName.bubble-square': 'Globus de diàleg quadrat',
'journey.studio.shapeName.bubble-oval': 'Globus de diàleg oval',
'journey.studio.shapeName.bubble-think': 'Globus de pensament',
'journey.studio.shapeName.bubble-shout': 'Globus de crit',
'journey.studio.shapeName.bubble-side': 'Globus de diàleg lateral',
'journey.studio.shapeName.bubble-capsule': 'Globus de diàleg en càpsula',
'journey.studio.shapeName.pin': 'Xinxeta de mapa',
'journey.studio.shapeName.compass': 'Brúixola',
'journey.studio.shapeName.mountain': 'Muntanya',
'journey.studio.shapeName.sun': 'Sol',
'journey.studio.shapeName.moon': 'Lluna',
'journey.studio.shapeName.cloud': 'Núvol',
'journey.studio.shapeName.cloud-puffy': 'Núvol esponjós',
'journey.studio.shapeName.drop': 'Gota',
'journey.studio.shapeName.wave': 'Ona',
'journey.studio.shapeName.leaf': 'Fulla',
'journey.studio.shapeName.shield': 'Escut',
'journey.studio.shapeName.ticket': 'Entrada',
'journey.studio.shapeName.heart': 'Cor',
'journey.studio.shapeName.flower-5': 'Flor de cinc pètals',
'journey.studio.shapeName.flower-6': 'Flor de sis pètals',
'journey.studio.shapeName.cross': 'Creu',
'journey.studio.shapeName.plus': 'Més',
'journey.studio.shapeName.gear': 'Engranatge',
'journey.studio.shapeName.blob-1': 'Taca 1',
'journey.studio.shapeName.blob-2': 'Taca 2',
'journey.studio.shapeName.blob-3': 'Taca 3',
'journey.studio.shapeName.blob-4': 'Taca 4',
'journey.studio.shapeName.heart-round': 'Cor rodó',
'journey.studio.shapeName.heart-pair': 'Dos cors',
'journey.studio.shapeName.flower-8': 'Flor de vuit pètals',
'journey.studio.shapeName.banner-ribbon': 'Banderola de cinta',
'journey.studio.shapeName.banner-pennant': 'Banderí',
'journey.studio.shapeName.banner-bookmark': 'Punt de llibre',
'journey.studio.shapeName.banner-flag': 'Banderola de bandera',
'journey.studio.shapeName.ribbon-ends': 'Cinta amb extrems plegats',
'journey.studio.shapeName.ribbon-arc': 'Cinta arquejada',
'journey.studio.shapeName.wavy-band': 'Banda ondulada',
'journey.studio.shapeName.torn-strip': 'Tira estripada',
'journey.studio.shapeName.arch-tall': 'Arc alt',
'journey.studio.shapeName.arch-pointed': 'Arc apuntat',
'journey.studio.shapeName.arch-double': 'Arc doble',
'journey.studio.shapeName.arch-half': 'Mig arc',
'journey.studio.shapeName.arch-rainbow': 'Arc de Sant Martí',
'journey.studio.shapeName.leaf-palm': 'Fulla de palmera',
'journey.studio.shapeName.leaf-oak': 'Fulla de roure',
'journey.studio.shapeName.leaf-long': 'Fulla llarga',
'journey.studio.shapeName.leaf-monstera': 'Fulla de monstera',
'journey.studio.shapeName.coral-1': 'Corall 1',
'journey.studio.shapeName.coral-2': 'Corall 2',
'journey.studio.shapeName.seaweed': 'Alga',
'journey.studio.shapeName.star-organic': 'Estrella orgànica',
'journey.studio.shapeName.sun-cutout': 'Sol retallat',
'journey.studio.shapeName.organic-1': 'Forma orgànica 1',
'journey.studio.shapeName.organic-2': 'Forma orgànica 2',
'journey.studio.shapeName.organic-3': 'Forma orgànica 3',
'journey.studio.shapeName.stamp-rect': 'Segell rectangular',
'journey.studio.shapeName.stamp-circle': 'Segell rodó',
'journey.studio.shapeName.postmark': 'Mata-segells',
'journey.studio.shapeName.rosette': 'Roseta',
'journey.studio.shapeName.scallop-circle': 'Cercle festonejat',
'journey.studio.shapeName.badge-shield': "Insígnia d'escut",
'journey.studio.shapeName.label-tab': "Pestanya d'etiqueta",
'journey.studio.shapeName.ticket-stub': "Taló d'entrada",
'journey.studio.shapeName.sunburst-12': 'Raigs de sol, 12 raigs',
'journey.studio.shapeName.sunburst-24': 'Raigs de sol, 24 raigs',
'journey.studio.shapeName.frame-notched': 'Marc amb osques',
'journey.studio.shapeName.frame-chamfer': 'Marc xamfranat',
'journey.studio.shapeName.frame-cushion': 'Marc coixí',
'journey.studio.shapeName.flourish-scroll': 'Floritura en volutes',
'journey.studio.shapeName.laurel': 'Llorer',
'journey.studio.shapeName.fleuron': 'Floró',
'journey.studio.shapeName.corner-flourish': 'Floritura de cantonada',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Corona de llorer',
'journey.studio.sticker.cornerFlourish': 'Cantonada amb floritura',
'journey.studio.sticker.cornerScroll': 'Cantonada amb volutes',
'journey.studio.sticker.parthenon': 'Partenó',
'journey.studio.sticker.milanDuomo': 'Catedral de Milà',
'journey.studio.sticker.canalHouses': 'Cases del canal',
'journey.studio.sticker.gondola': 'Góndola',
'journey.studio.sticker.lisbonTram': 'Tramvia de Lisboa',
'journey.studio.sticker.celticHarp': 'Arpa cèltica',
'journey.studio.sticker.tiger': 'Tigre',
'journey.studio.sticker.monkey': 'Mona',
'journey.studio.sticker.camel': 'Camell',
'journey.studio.sticker.doodlePalm': 'Palmera dibuixada',
'journey.studio.sticker.doodleWaves': 'Onades dibuixades',
'journey.studio.sticker.doodleSunRays': 'Sol naixent dibuixat',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Šupiny',
'journey.studio.pattern.sunburst': 'Paprsky',
'journey.studio.pattern.confetti': 'Konfety',
'journey.studio.pattern.linen': 'Plátno',
'journey.studio.pattern.grain': 'Zrno papíru',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Dvojklikem odeberete',
'assistant.card.book.finding.hairline': 'Čára příliš tenká pro tisk',
'assistant.card.book.finding.edge_unused': 'Okraj, který tento tvar nepřijme',
'journey.studio.shapeName.rect': 'Obdélník',
'journey.studio.shapeName.squircle': 'Zaoblený čtverec',
'journey.studio.shapeName.ellipse': 'Elipsa',
'journey.studio.shapeName.capsule': 'Kapsle',
'journey.studio.shapeName.triangle': 'Trojúhelník',
'journey.studio.shapeName.triangle-down': 'Trojúhelník dolů',
'journey.studio.shapeName.diamond': 'Kosočtverec',
'journey.studio.shapeName.parallelogram': 'Rovnoběžník',
'journey.studio.shapeName.trapezoid': 'Lichoběžník',
'journey.studio.shapeName.arch': 'Oblouk',
'journey.studio.shapeName.half-circle': 'Půlkruh',
'journey.studio.shapeName.quarter-circle': 'Čtvrtkruh',
'journey.studio.shapeName.pentagon': 'Pětiúhelník',
'journey.studio.shapeName.hexagon': 'Šestiúhelník',
'journey.studio.shapeName.hexagon-flat': 'Plochý šestiúhelník',
'journey.studio.shapeName.heptagon': 'Sedmiúhelník',
'journey.studio.shapeName.octagon': 'Osmiúhelník',
'journey.studio.shapeName.star-4': 'Čtyřcípá hvězda',
'journey.studio.shapeName.star-5': 'Pěticípá hvězda',
'journey.studio.shapeName.star-6': 'Šestícípá hvězda',
'journey.studio.shapeName.star-8': 'Osmicípá hvězda',
'journey.studio.shapeName.star-12': 'Dvanáctícípá hvězda',
'journey.studio.shapeName.burst': 'Výbuch',
'journey.studio.shapeName.seal': 'Pečeť',
'journey.studio.shapeName.sparkle': 'Jiskra',
'journey.studio.shapeName.star-rounded': 'Zaoblená hvězda',
'journey.studio.shapeName.star-twinkle': 'Třpytivá hvězda',
'journey.studio.shapeName.arrow-right': 'Šipka doprava',
'journey.studio.shapeName.arrow-left': 'Šipka doleva',
'journey.studio.shapeName.arrow-up': 'Šipka nahoru',
'journey.studio.shapeName.arrow-down': 'Šipka dolů',
'journey.studio.shapeName.arrow-both': 'Dvojitá šipka',
'journey.studio.shapeName.chevron-right': 'Chevron doprava',
'journey.studio.shapeName.chevron-left': 'Chevron doleva',
'journey.studio.shapeName.arrow-bent': 'Zahnutá šipka',
'journey.studio.shapeName.arrow-curve': 'Obloukovitá šipka',
'journey.studio.shapeName.arrow-circle': 'Kruhová šipka',
'journey.studio.shapeName.arrow-notched': 'Šipka s výřezem',
'journey.studio.shapeName.arrow-thin': 'Tenká šipka',
'journey.studio.shapeName.bubble-round': 'Kulatá bublina',
'journey.studio.shapeName.bubble-square': 'Hranatá bublina',
'journey.studio.shapeName.bubble-oval': 'Oválná bublina',
'journey.studio.shapeName.bubble-think': 'Myšlenková bublina',
'journey.studio.shapeName.bubble-shout': 'Bublina s výkřikem',
'journey.studio.shapeName.bubble-side': 'Boční bublina',
'journey.studio.shapeName.bubble-capsule': 'Kapslová bublina',
'journey.studio.shapeName.pin': 'Špendlík mapy',
'journey.studio.shapeName.compass': 'Kompas',
'journey.studio.shapeName.mountain': 'Hora',
'journey.studio.shapeName.sun': 'Slunce',
'journey.studio.shapeName.moon': 'Měsíc',
'journey.studio.shapeName.cloud': 'Mrak',
'journey.studio.shapeName.cloud-puffy': 'Nadýchaný mrak',
'journey.studio.shapeName.drop': 'Kapka',
'journey.studio.shapeName.wave': 'Vlna',
'journey.studio.shapeName.leaf': 'List',
'journey.studio.shapeName.shield': 'Štít',
'journey.studio.shapeName.ticket': 'Vstupenka',
'journey.studio.shapeName.heart': 'Srdce',
'journey.studio.shapeName.flower-5': 'Pětilistý květ',
'journey.studio.shapeName.flower-6': 'Šestilistý květ',
'journey.studio.shapeName.cross': 'Kříž',
'journey.studio.shapeName.plus': 'Plus', // same-as-en
'journey.studio.shapeName.gear': 'Ozubené kolo',
'journey.studio.shapeName.blob-1': 'Skvrna 1',
'journey.studio.shapeName.blob-2': 'Skvrna 2',
'journey.studio.shapeName.blob-3': 'Skvrna 3',
'journey.studio.shapeName.blob-4': 'Skvrna 4',
'journey.studio.shapeName.heart-round': 'Kulaté srdce',
'journey.studio.shapeName.heart-pair': 'Dvě srdce',
'journey.studio.shapeName.flower-8': 'Osmilistý květ',
'journey.studio.shapeName.banner-ribbon': 'Stuhový banner',
'journey.studio.shapeName.banner-pennant': 'Praporek',
'journey.studio.shapeName.banner-bookmark': 'Záložka',
'journey.studio.shapeName.banner-flag': 'Vlajkový banner',
'journey.studio.shapeName.ribbon-ends': 'Stuha se zahnutými konci',
'journey.studio.shapeName.ribbon-arc': 'Obloukovitá stuha',
'journey.studio.shapeName.wavy-band': 'Vlnitý pás',
'journey.studio.shapeName.torn-strip': 'Roztrhaný proužek',
'journey.studio.shapeName.arch-tall': 'Vysoký oblouk',
'journey.studio.shapeName.arch-pointed': 'Lomený oblouk',
'journey.studio.shapeName.arch-double': 'Dvojitý oblouk',
'journey.studio.shapeName.arch-half': 'Půloblouk',
'journey.studio.shapeName.arch-rainbow': 'Duhový oblouk',
'journey.studio.shapeName.leaf-palm': 'Palmový list',
'journey.studio.shapeName.leaf-oak': 'Dubový list',
'journey.studio.shapeName.leaf-long': 'Dlouhý list',
'journey.studio.shapeName.leaf-monstera': 'List monstery',
'journey.studio.shapeName.coral-1': 'Korál 1',
'journey.studio.shapeName.coral-2': 'Korál 2',
'journey.studio.shapeName.seaweed': 'Řasa',
'journey.studio.shapeName.star-organic': 'Organická hvězda',
'journey.studio.shapeName.sun-cutout': 'Vystřižené slunce',
'journey.studio.shapeName.organic-1': 'Organický tvar 1',
'journey.studio.shapeName.organic-2': 'Organický tvar 2',
'journey.studio.shapeName.organic-3': 'Organický tvar 3',
'journey.studio.shapeName.stamp-rect': 'Hranaté razítko',
'journey.studio.shapeName.stamp-circle': 'Kulaté razítko',
'journey.studio.shapeName.postmark': 'Poštovní razítko',
'journey.studio.shapeName.rosette': 'Rozeta',
'journey.studio.shapeName.scallop-circle': 'Vroubkovaný kruh',
'journey.studio.shapeName.badge-shield': 'Štítový odznak',
'journey.studio.shapeName.label-tab': 'Štítek se záložkou',
'journey.studio.shapeName.ticket-stub': 'Útržek vstupenky',
'journey.studio.shapeName.sunburst-12': 'Paprsky slunce, 12',
'journey.studio.shapeName.sunburst-24': 'Paprsky slunce, 24',
'journey.studio.shapeName.frame-notched': 'Rám s výřezy',
'journey.studio.shapeName.frame-chamfer': 'Rám se zkosenými rohy',
'journey.studio.shapeName.frame-cushion': 'Polštářový rám',
'journey.studio.shapeName.flourish-scroll': 'Ozdobný svitek',
'journey.studio.shapeName.laurel': 'Vavřín',
'journey.studio.shapeName.fleuron': 'Fleuron', // same-as-en
'journey.studio.shapeName.corner-flourish': 'Rohová ozdoba',
};
export default studioShapes;
+12
View File
@@ -174,6 +174,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Vavřínový věnec',
'journey.studio.sticker.cornerFlourish': 'Ozdobný roh',
'journey.studio.sticker.cornerScroll': 'Roh s volutami',
'journey.studio.sticker.parthenon': 'Parthenón',
'journey.studio.sticker.milanDuomo': 'Milánský dóm',
'journey.studio.sticker.canalHouses': 'Domy u kanálu',
'journey.studio.sticker.gondola': 'Gondola', // same-as-en
'journey.studio.sticker.lisbonTram': 'Lisabonská tramvaj',
'journey.studio.sticker.celticHarp': 'Keltská harfa',
'journey.studio.sticker.tiger': 'Tygr',
'journey.studio.sticker.monkey': 'Opice',
'journey.studio.sticker.camel': 'Velbloud',
'journey.studio.sticker.doodlePalm': 'Kreslená palma',
'journey.studio.sticker.doodleWaves': 'Kreslené vlny',
'journey.studio.sticker.doodleSunRays': 'Kreslené vycházející slunce',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Schuppen',
'journey.studio.pattern.sunburst': 'Strahlen',
'journey.studio.pattern.confetti': 'Konfetti',
'journey.studio.pattern.linen': 'Leinen',
'journey.studio.pattern.grain': 'Papierkorn',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Doppelklick zum Entfernen',
'assistant.card.book.finding.hairline': 'Eine Linie, zu dünn für den Druck',
'assistant.card.book.finding.edge_unused': 'Ein Rand, den diese Form nicht annimmt',
'journey.studio.shapeName.rect': 'Rechteck',
'journey.studio.shapeName.squircle': 'Abgerundetes Quadrat',
'journey.studio.shapeName.ellipse': 'Ellipse', // same-as-en
'journey.studio.shapeName.capsule': 'Kapsel',
'journey.studio.shapeName.triangle': 'Dreieck',
'journey.studio.shapeName.triangle-down': 'Dreieck nach unten',
'journey.studio.shapeName.diamond': 'Raute',
'journey.studio.shapeName.parallelogram': 'Parallelogramm',
'journey.studio.shapeName.trapezoid': 'Trapez',
'journey.studio.shapeName.arch': 'Bogen',
'journey.studio.shapeName.half-circle': 'Halbkreis',
'journey.studio.shapeName.quarter-circle': 'Viertelkreis',
'journey.studio.shapeName.pentagon': 'Fünfeck',
'journey.studio.shapeName.hexagon': 'Sechseck',
'journey.studio.shapeName.hexagon-flat': 'Flaches Sechseck',
'journey.studio.shapeName.heptagon': 'Siebeneck',
'journey.studio.shapeName.octagon': 'Achteck',
'journey.studio.shapeName.star-4': 'Vierzackiger Stern',
'journey.studio.shapeName.star-5': 'Fünfzackiger Stern',
'journey.studio.shapeName.star-6': 'Sechszackiger Stern',
'journey.studio.shapeName.star-8': 'Achtzackiger Stern',
'journey.studio.shapeName.star-12': 'Zwölfzackiger Stern',
'journey.studio.shapeName.burst': 'Explosion',
'journey.studio.shapeName.seal': 'Siegel',
'journey.studio.shapeName.sparkle': 'Funkeln',
'journey.studio.shapeName.star-rounded': 'Runder Stern',
'journey.studio.shapeName.star-twinkle': 'Funkelnder Stern',
'journey.studio.shapeName.arrow-right': 'Pfeil nach rechts',
'journey.studio.shapeName.arrow-left': 'Pfeil nach links',
'journey.studio.shapeName.arrow-up': 'Pfeil nach oben',
'journey.studio.shapeName.arrow-down': 'Pfeil nach unten',
'journey.studio.shapeName.arrow-both': 'Doppelpfeil',
'journey.studio.shapeName.chevron-right': 'Winkel nach rechts',
'journey.studio.shapeName.chevron-left': 'Winkel nach links',
'journey.studio.shapeName.arrow-bent': 'Geknickter Pfeil',
'journey.studio.shapeName.arrow-curve': 'Geschwungener Pfeil',
'journey.studio.shapeName.arrow-circle': 'Kreispfeil',
'journey.studio.shapeName.arrow-notched': 'Gekerbter Pfeil',
'journey.studio.shapeName.arrow-thin': 'Dünner Pfeil',
'journey.studio.shapeName.bubble-round': 'Runde Sprechblase',
'journey.studio.shapeName.bubble-square': 'Eckige Sprechblase',
'journey.studio.shapeName.bubble-oval': 'Ovale Sprechblase',
'journey.studio.shapeName.bubble-think': 'Gedankenblase',
'journey.studio.shapeName.bubble-shout': 'Schreiblase',
'journey.studio.shapeName.bubble-side': 'Seitliche Sprechblase',
'journey.studio.shapeName.bubble-capsule': 'Kapsel-Sprechblase',
'journey.studio.shapeName.pin': 'Kartenmarkierung',
'journey.studio.shapeName.compass': 'Kompass',
'journey.studio.shapeName.mountain': 'Berg',
'journey.studio.shapeName.sun': 'Sonne',
'journey.studio.shapeName.moon': 'Mond',
'journey.studio.shapeName.cloud': 'Wolke',
'journey.studio.shapeName.cloud-puffy': 'Bauschige Wolke',
'journey.studio.shapeName.drop': 'Tropfen',
'journey.studio.shapeName.wave': 'Welle',
'journey.studio.shapeName.leaf': 'Blatt',
'journey.studio.shapeName.shield': 'Schild',
'journey.studio.shapeName.ticket': 'Ticket', // same-as-en
'journey.studio.shapeName.heart': 'Herz',
'journey.studio.shapeName.flower-5': 'Fünfblättrige Blume',
'journey.studio.shapeName.flower-6': 'Sechsblättrige Blume',
'journey.studio.shapeName.cross': 'Kreuz',
'journey.studio.shapeName.plus': 'Plus', // same-as-en
'journey.studio.shapeName.gear': 'Zahnrad',
'journey.studio.shapeName.blob-1': 'Blob 1', // same-as-en
'journey.studio.shapeName.blob-2': 'Blob 2', // same-as-en
'journey.studio.shapeName.blob-3': 'Blob 3', // same-as-en
'journey.studio.shapeName.blob-4': 'Blob 4', // same-as-en
'journey.studio.shapeName.heart-round': 'Rundes Herz',
'journey.studio.shapeName.heart-pair': 'Zwei Herzen',
'journey.studio.shapeName.flower-8': 'Achtblättrige Blume',
'journey.studio.shapeName.banner-ribbon': 'Bandbanner',
'journey.studio.shapeName.banner-pennant': 'Wimpel',
'journey.studio.shapeName.banner-bookmark': 'Lesezeichen',
'journey.studio.shapeName.banner-flag': 'Fahnenbanner',
'journey.studio.shapeName.ribbon-ends': 'Band mit gefalteten Enden',
'journey.studio.shapeName.ribbon-arc': 'Gebogenes Band',
'journey.studio.shapeName.wavy-band': 'Welliges Band',
'journey.studio.shapeName.torn-strip': 'Abgerissener Streifen',
'journey.studio.shapeName.arch-tall': 'Hoher Bogen',
'journey.studio.shapeName.arch-pointed': 'Spitzbogen',
'journey.studio.shapeName.arch-double': 'Doppelbogen',
'journey.studio.shapeName.arch-half': 'Halber Bogen',
'journey.studio.shapeName.arch-rainbow': 'Regenbogen',
'journey.studio.shapeName.leaf-palm': 'Palmenblatt',
'journey.studio.shapeName.leaf-oak': 'Eichenblatt',
'journey.studio.shapeName.leaf-long': 'Langes Blatt',
'journey.studio.shapeName.leaf-monstera': 'Monstera-Blatt',
'journey.studio.shapeName.coral-1': 'Koralle 1',
'journey.studio.shapeName.coral-2': 'Koralle 2',
'journey.studio.shapeName.seaweed': 'Seetang',
'journey.studio.shapeName.star-organic': 'Organischer Stern',
'journey.studio.shapeName.sun-cutout': 'Ausgeschnittene Sonne',
'journey.studio.shapeName.organic-1': 'Organische Form 1',
'journey.studio.shapeName.organic-2': 'Organische Form 2',
'journey.studio.shapeName.organic-3': 'Organische Form 3',
'journey.studio.shapeName.stamp-rect': 'Eckiger Stempel',
'journey.studio.shapeName.stamp-circle': 'Runder Stempel',
'journey.studio.shapeName.postmark': 'Poststempel',
'journey.studio.shapeName.rosette': 'Rosette', // same-as-en
'journey.studio.shapeName.scallop-circle': 'Wellenkreis',
'journey.studio.shapeName.badge-shield': 'Wappen-Abzeichen',
'journey.studio.shapeName.label-tab': 'Etikett',
'journey.studio.shapeName.ticket-stub': 'Ticketabschnitt',
'journey.studio.shapeName.sunburst-12': 'Sonnenstrahlen, 12 Strahlen',
'journey.studio.shapeName.sunburst-24': 'Sonnenstrahlen, 24 Strahlen',
'journey.studio.shapeName.frame-notched': 'Gekerbter Rahmen',
'journey.studio.shapeName.frame-chamfer': 'Rahmen mit Fase',
'journey.studio.shapeName.frame-cushion': 'Kissenrahmen',
'journey.studio.shapeName.flourish-scroll': 'Schnörkel',
'journey.studio.shapeName.laurel': 'Lorbeer',
'journey.studio.shapeName.fleuron': 'Zierblatt',
'journey.studio.shapeName.corner-flourish': 'Eckschnörkel',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Lorbeerkranz',
'journey.studio.sticker.cornerFlourish': 'Eckschnörkel',
'journey.studio.sticker.cornerScroll': 'Eckornament',
'journey.studio.sticker.parthenon': 'Parthenon', // same-as-en
'journey.studio.sticker.milanDuomo': 'Mailänder Dom',
'journey.studio.sticker.canalHouses': 'Grachtenhäuser',
'journey.studio.sticker.gondola': 'Gondel',
'journey.studio.sticker.lisbonTram': 'Straßenbahn Lissabon',
'journey.studio.sticker.celticHarp': 'Keltische Harfe',
'journey.studio.sticker.tiger': 'Tiger', // same-as-en
'journey.studio.sticker.monkey': 'Affe',
'journey.studio.sticker.camel': 'Kamel',
'journey.studio.sticker.doodlePalm': 'Palme, gekritzelt',
'journey.studio.sticker.doodleWaves': 'Wellen, gekritzelt',
'journey.studio.sticker.doodleSunRays': 'Sonnenaufgang, gekritzelt',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Scales',
'journey.studio.pattern.sunburst': 'Sunburst',
'journey.studio.pattern.confetti': 'Confetti',
'journey.studio.pattern.linen': 'Linen',
'journey.studio.pattern.grain': 'Paper grain',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Double-click to remove',
'assistant.card.book.finding.hairline': 'A line too thin to print',
'assistant.card.book.finding.edge_unused': 'An edge this shape does not take',
'journey.studio.shapeName.rect': 'Rectangle',
'journey.studio.shapeName.squircle': 'Rounded square',
'journey.studio.shapeName.ellipse': 'Ellipse',
'journey.studio.shapeName.capsule': 'Capsule',
'journey.studio.shapeName.triangle': 'Triangle',
'journey.studio.shapeName.triangle-down': 'Triangle pointing down',
'journey.studio.shapeName.diamond': 'Diamond',
'journey.studio.shapeName.parallelogram': 'Parallelogram',
'journey.studio.shapeName.trapezoid': 'Trapezoid',
'journey.studio.shapeName.arch': 'Arch',
'journey.studio.shapeName.half-circle': 'Half circle',
'journey.studio.shapeName.quarter-circle': 'Quarter circle',
'journey.studio.shapeName.pentagon': 'Pentagon',
'journey.studio.shapeName.hexagon': 'Hexagon',
'journey.studio.shapeName.hexagon-flat': 'Flat hexagon',
'journey.studio.shapeName.heptagon': 'Heptagon',
'journey.studio.shapeName.octagon': 'Octagon',
'journey.studio.shapeName.star-4': 'Four-pointed star',
'journey.studio.shapeName.star-5': 'Five-pointed star',
'journey.studio.shapeName.star-6': 'Six-pointed star',
'journey.studio.shapeName.star-8': 'Eight-pointed star',
'journey.studio.shapeName.star-12': 'Twelve-pointed star',
'journey.studio.shapeName.burst': 'Burst',
'journey.studio.shapeName.seal': 'Seal',
'journey.studio.shapeName.sparkle': 'Sparkle',
'journey.studio.shapeName.star-rounded': 'Rounded star',
'journey.studio.shapeName.star-twinkle': 'Twinkling star',
'journey.studio.shapeName.arrow-right': 'Arrow right',
'journey.studio.shapeName.arrow-left': 'Arrow left',
'journey.studio.shapeName.arrow-up': 'Arrow up',
'journey.studio.shapeName.arrow-down': 'Arrow down',
'journey.studio.shapeName.arrow-both': 'Double arrow',
'journey.studio.shapeName.chevron-right': 'Chevron right',
'journey.studio.shapeName.chevron-left': 'Chevron left',
'journey.studio.shapeName.arrow-bent': 'Bent arrow',
'journey.studio.shapeName.arrow-curve': 'Curved arrow',
'journey.studio.shapeName.arrow-circle': 'Circular arrow',
'journey.studio.shapeName.arrow-notched': 'Notched arrow',
'journey.studio.shapeName.arrow-thin': 'Thin arrow',
'journey.studio.shapeName.bubble-round': 'Round speech bubble',
'journey.studio.shapeName.bubble-square': 'Square speech bubble',
'journey.studio.shapeName.bubble-oval': 'Oval speech bubble',
'journey.studio.shapeName.bubble-think': 'Thought bubble',
'journey.studio.shapeName.bubble-shout': 'Shout bubble',
'journey.studio.shapeName.bubble-side': 'Speech bubble from the side',
'journey.studio.shapeName.bubble-capsule': 'Capsule speech bubble',
'journey.studio.shapeName.pin': 'Map pin',
'journey.studio.shapeName.compass': 'Compass',
'journey.studio.shapeName.mountain': 'Mountain',
'journey.studio.shapeName.sun': 'Sun',
'journey.studio.shapeName.moon': 'Moon',
'journey.studio.shapeName.cloud': 'Cloud',
'journey.studio.shapeName.cloud-puffy': 'Puffy cloud',
'journey.studio.shapeName.drop': 'Drop',
'journey.studio.shapeName.wave': 'Wave',
'journey.studio.shapeName.leaf': 'Leaf',
'journey.studio.shapeName.shield': 'Shield',
'journey.studio.shapeName.ticket': 'Ticket',
'journey.studio.shapeName.heart': 'Heart',
'journey.studio.shapeName.flower-5': 'Five-petal flower',
'journey.studio.shapeName.flower-6': 'Six-petal flower',
'journey.studio.shapeName.cross': 'Cross',
'journey.studio.shapeName.plus': 'Plus',
'journey.studio.shapeName.gear': 'Gear',
'journey.studio.shapeName.blob-1': 'Blob 1',
'journey.studio.shapeName.blob-2': 'Blob 2',
'journey.studio.shapeName.blob-3': 'Blob 3',
'journey.studio.shapeName.blob-4': 'Blob 4',
'journey.studio.shapeName.heart-round': 'Round heart',
'journey.studio.shapeName.heart-pair': 'Two hearts',
'journey.studio.shapeName.flower-8': 'Eight-petal flower',
'journey.studio.shapeName.banner-ribbon': 'Ribbon banner',
'journey.studio.shapeName.banner-pennant': 'Pennant',
'journey.studio.shapeName.banner-bookmark': 'Bookmark',
'journey.studio.shapeName.banner-flag': 'Flag banner',
'journey.studio.shapeName.ribbon-ends': 'Ribbon with folded ends',
'journey.studio.shapeName.ribbon-arc': 'Arched ribbon',
'journey.studio.shapeName.wavy-band': 'Wavy band',
'journey.studio.shapeName.torn-strip': 'Torn strip',
'journey.studio.shapeName.arch-tall': 'Tall arch',
'journey.studio.shapeName.arch-pointed': 'Pointed arch',
'journey.studio.shapeName.arch-double': 'Double arch',
'journey.studio.shapeName.arch-half': 'Half arch',
'journey.studio.shapeName.arch-rainbow': 'Rainbow arch',
'journey.studio.shapeName.leaf-palm': 'Palm leaf',
'journey.studio.shapeName.leaf-oak': 'Oak leaf',
'journey.studio.shapeName.leaf-long': 'Long leaf',
'journey.studio.shapeName.leaf-monstera': 'Monstera leaf',
'journey.studio.shapeName.coral-1': 'Coral 1',
'journey.studio.shapeName.coral-2': 'Coral 2',
'journey.studio.shapeName.seaweed': 'Seaweed',
'journey.studio.shapeName.star-organic': 'Organic star',
'journey.studio.shapeName.sun-cutout': 'Cut-out sun',
'journey.studio.shapeName.organic-1': 'Organic shape 1',
'journey.studio.shapeName.organic-2': 'Organic shape 2',
'journey.studio.shapeName.organic-3': 'Organic shape 3',
'journey.studio.shapeName.stamp-rect': 'Rectangular stamp',
'journey.studio.shapeName.stamp-circle': 'Round stamp',
'journey.studio.shapeName.postmark': 'Postmark',
'journey.studio.shapeName.rosette': 'Rosette',
'journey.studio.shapeName.scallop-circle': 'Scalloped circle',
'journey.studio.shapeName.badge-shield': 'Shield badge',
'journey.studio.shapeName.label-tab': 'Label tab',
'journey.studio.shapeName.ticket-stub': 'Ticket stub',
'journey.studio.shapeName.sunburst-12': 'Sunburst, 12 rays',
'journey.studio.shapeName.sunburst-24': 'Sunburst, 24 rays',
'journey.studio.shapeName.frame-notched': 'Notched frame',
'journey.studio.shapeName.frame-chamfer': 'Chamfered frame',
'journey.studio.shapeName.frame-cushion': 'Cushion frame',
'journey.studio.shapeName.flourish-scroll': 'Scroll flourish',
'journey.studio.shapeName.laurel': 'Laurel',
'journey.studio.shapeName.fleuron': 'Fleuron',
'journey.studio.shapeName.corner-flourish': 'Corner flourish',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Laurel wreath',
'journey.studio.sticker.cornerFlourish': 'Corner flourish',
'journey.studio.sticker.cornerScroll': 'Corner scroll',
'journey.studio.sticker.parthenon': 'Parthenon',
'journey.studio.sticker.milanDuomo': 'Milan Cathedral',
'journey.studio.sticker.canalHouses': 'Canal houses',
'journey.studio.sticker.gondola': 'Gondola',
'journey.studio.sticker.lisbonTram': 'Lisbon tram',
'journey.studio.sticker.celticHarp': 'Celtic harp',
'journey.studio.sticker.tiger': 'Tiger',
'journey.studio.sticker.monkey': 'Monkey',
'journey.studio.sticker.camel': 'Camel',
'journey.studio.sticker.doodlePalm': 'Palm doodle',
'journey.studio.sticker.doodleWaves': 'Wave doodle',
'journey.studio.sticker.doodleSunRays': 'Rising sun doodle',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Escamas',
'journey.studio.pattern.sunburst': 'Rayos',
'journey.studio.pattern.confetti': 'Confeti',
'journey.studio.pattern.linen': 'Lino',
'journey.studio.pattern.grain': 'Grano de papel',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Doble clic para quitar',
'assistant.card.book.finding.hairline': 'Una línea demasiado fina para imprimir',
'assistant.card.book.finding.edge_unused': 'Un borde que esta forma no admite',
'journey.studio.shapeName.rect': 'Rectángulo',
'journey.studio.shapeName.squircle': 'Cuadrado redondeado',
'journey.studio.shapeName.ellipse': 'Elipse',
'journey.studio.shapeName.capsule': 'Cápsula',
'journey.studio.shapeName.triangle': 'Triángulo',
'journey.studio.shapeName.triangle-down': 'Triángulo hacia abajo',
'journey.studio.shapeName.diamond': 'Rombo',
'journey.studio.shapeName.parallelogram': 'Paralelogramo',
'journey.studio.shapeName.trapezoid': 'Trapecio',
'journey.studio.shapeName.arch': 'Arco',
'journey.studio.shapeName.half-circle': 'Semicírculo',
'journey.studio.shapeName.quarter-circle': 'Cuarto de círculo',
'journey.studio.shapeName.pentagon': 'Pentágono',
'journey.studio.shapeName.hexagon': 'Hexágono',
'journey.studio.shapeName.hexagon-flat': 'Hexágono plano',
'journey.studio.shapeName.heptagon': 'Heptágono',
'journey.studio.shapeName.octagon': 'Octógono',
'journey.studio.shapeName.star-4': 'Estrella de cuatro puntas',
'journey.studio.shapeName.star-5': 'Estrella de cinco puntas',
'journey.studio.shapeName.star-6': 'Estrella de seis puntas',
'journey.studio.shapeName.star-8': 'Estrella de ocho puntas',
'journey.studio.shapeName.star-12': 'Estrella de doce puntas',
'journey.studio.shapeName.burst': 'Explosión',
'journey.studio.shapeName.seal': 'Sello',
'journey.studio.shapeName.sparkle': 'Destello',
'journey.studio.shapeName.star-rounded': 'Estrella redondeada',
'journey.studio.shapeName.star-twinkle': 'Estrella centelleante',
'journey.studio.shapeName.arrow-right': 'Flecha a la derecha',
'journey.studio.shapeName.arrow-left': 'Flecha a la izquierda',
'journey.studio.shapeName.arrow-up': 'Flecha hacia arriba',
'journey.studio.shapeName.arrow-down': 'Flecha hacia abajo',
'journey.studio.shapeName.arrow-both': 'Flecha doble',
'journey.studio.shapeName.chevron-right': 'Chevron a la derecha',
'journey.studio.shapeName.chevron-left': 'Chevron a la izquierda',
'journey.studio.shapeName.arrow-bent': 'Flecha acodada',
'journey.studio.shapeName.arrow-curve': 'Flecha curva',
'journey.studio.shapeName.arrow-circle': 'Flecha circular',
'journey.studio.shapeName.arrow-notched': 'Flecha con muesca',
'journey.studio.shapeName.arrow-thin': 'Flecha fina',
'journey.studio.shapeName.bubble-round': 'Bocadillo redondo',
'journey.studio.shapeName.bubble-square': 'Bocadillo cuadrado',
'journey.studio.shapeName.bubble-oval': 'Bocadillo ovalado',
'journey.studio.shapeName.bubble-think': 'Bocadillo de pensamiento',
'journey.studio.shapeName.bubble-shout': 'Bocadillo de grito',
'journey.studio.shapeName.bubble-side': 'Bocadillo lateral',
'journey.studio.shapeName.bubble-capsule': 'Bocadillo en cápsula',
'journey.studio.shapeName.pin': 'Marcador de mapa',
'journey.studio.shapeName.compass': 'Brújula',
'journey.studio.shapeName.mountain': 'Montaña',
'journey.studio.shapeName.sun': 'Sol',
'journey.studio.shapeName.moon': 'Luna',
'journey.studio.shapeName.cloud': 'Nube',
'journey.studio.shapeName.cloud-puffy': 'Nube esponjosa',
'journey.studio.shapeName.drop': 'Gota',
'journey.studio.shapeName.wave': 'Ola',
'journey.studio.shapeName.leaf': 'Hoja',
'journey.studio.shapeName.shield': 'Escudo',
'journey.studio.shapeName.ticket': 'Entrada',
'journey.studio.shapeName.heart': 'Corazón',
'journey.studio.shapeName.flower-5': 'Flor de cinco pétalos',
'journey.studio.shapeName.flower-6': 'Flor de seis pétalos',
'journey.studio.shapeName.cross': 'Cruz',
'journey.studio.shapeName.plus': 'Más',
'journey.studio.shapeName.gear': 'Engranaje',
'journey.studio.shapeName.blob-1': 'Mancha 1',
'journey.studio.shapeName.blob-2': 'Mancha 2',
'journey.studio.shapeName.blob-3': 'Mancha 3',
'journey.studio.shapeName.blob-4': 'Mancha 4',
'journey.studio.shapeName.heart-round': 'Corazón redondo',
'journey.studio.shapeName.heart-pair': 'Dos corazones',
'journey.studio.shapeName.flower-8': 'Flor de ocho pétalos',
'journey.studio.shapeName.banner-ribbon': 'Banner de cinta',
'journey.studio.shapeName.banner-pennant': 'Banderín',
'journey.studio.shapeName.banner-bookmark': 'Marcapáginas',
'journey.studio.shapeName.banner-flag': 'Banner de bandera',
'journey.studio.shapeName.ribbon-ends': 'Cinta con extremos doblados',
'journey.studio.shapeName.ribbon-arc': 'Cinta en arco',
'journey.studio.shapeName.wavy-band': 'Banda ondulada',
'journey.studio.shapeName.torn-strip': 'Tira rasgada',
'journey.studio.shapeName.arch-tall': 'Arco alto',
'journey.studio.shapeName.arch-pointed': 'Arco apuntado',
'journey.studio.shapeName.arch-double': 'Arco doble',
'journey.studio.shapeName.arch-half': 'Medio arco',
'journey.studio.shapeName.arch-rainbow': 'Arco iris',
'journey.studio.shapeName.leaf-palm': 'Hoja de palma',
'journey.studio.shapeName.leaf-oak': 'Hoja de roble',
'journey.studio.shapeName.leaf-long': 'Hoja alargada',
'journey.studio.shapeName.leaf-monstera': 'Hoja de monstera',
'journey.studio.shapeName.coral-1': 'Coral 1', // same-as-en
'journey.studio.shapeName.coral-2': 'Coral 2', // same-as-en
'journey.studio.shapeName.seaweed': 'Alga',
'journey.studio.shapeName.star-organic': 'Estrella orgánica',
'journey.studio.shapeName.sun-cutout': 'Sol recortado',
'journey.studio.shapeName.organic-1': 'Forma orgánica 1',
'journey.studio.shapeName.organic-2': 'Forma orgánica 2',
'journey.studio.shapeName.organic-3': 'Forma orgánica 3',
'journey.studio.shapeName.stamp-rect': 'Sello rectangular',
'journey.studio.shapeName.stamp-circle': 'Sello redondo',
'journey.studio.shapeName.postmark': 'Matasellos',
'journey.studio.shapeName.rosette': 'Roseta',
'journey.studio.shapeName.scallop-circle': 'Círculo festoneado',
'journey.studio.shapeName.badge-shield': 'Insignia de escudo',
'journey.studio.shapeName.label-tab': 'Etiqueta con pestaña',
'journey.studio.shapeName.ticket-stub': 'Resguardo de entrada',
'journey.studio.shapeName.sunburst-12': 'Rayos de sol, 12 rayos',
'journey.studio.shapeName.sunburst-24': 'Rayos de sol, 24 rayos',
'journey.studio.shapeName.frame-notched': 'Marco con muescas',
'journey.studio.shapeName.frame-chamfer': 'Marco biselado',
'journey.studio.shapeName.frame-cushion': 'Marco acolchado',
'journey.studio.shapeName.flourish-scroll': 'Adorno en voluta',
'journey.studio.shapeName.laurel': 'Laurel', // same-as-en
'journey.studio.shapeName.fleuron': 'Flor tipográfica',
'journey.studio.shapeName.corner-flourish': 'Adorno de esquina',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Corona de laurel',
'journey.studio.sticker.cornerFlourish': 'Esquina con floritura',
'journey.studio.sticker.cornerScroll': 'Esquina con volutas',
'journey.studio.sticker.parthenon': 'Partenón',
'journey.studio.sticker.milanDuomo': 'Catedral de Milán',
'journey.studio.sticker.canalHouses': 'Casas del canal',
'journey.studio.sticker.gondola': 'Góndola',
'journey.studio.sticker.lisbonTram': 'Tranvía de Lisboa',
'journey.studio.sticker.celticHarp': 'Arpa celta',
'journey.studio.sticker.tiger': 'Tigre',
'journey.studio.sticker.monkey': 'Mono',
'journey.studio.sticker.camel': 'Camello',
'journey.studio.sticker.doodlePalm': 'Palmera dibujada',
'journey.studio.sticker.doodleWaves': 'Olas dibujadas',
'journey.studio.sticker.doodleSunRays': 'Sol naciente dibujado',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Soomused',
'journey.studio.pattern.sunburst': 'Päikesekiired',
'journey.studio.pattern.confetti': 'Konfetid',
'journey.studio.pattern.linen': 'Linane',
'journey.studio.pattern.grain': 'Paberi tekstuur',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Topeltklõps eemaldab',
'assistant.card.book.finding.hairline': 'Trükkimiseks liiga peenike joon',
'assistant.card.book.finding.edge_unused': 'Serv, mida see kujund ei võta',
'journey.studio.shapeName.rect': 'Ristkülik',
'journey.studio.shapeName.squircle': 'Ümardatud ruut',
'journey.studio.shapeName.ellipse': 'Ellips',
'journey.studio.shapeName.capsule': 'Kapsel',
'journey.studio.shapeName.triangle': 'Kolmnurk',
'journey.studio.shapeName.triangle-down': 'Allapoole suunatud kolmnurk',
'journey.studio.shapeName.diamond': 'Romb',
'journey.studio.shapeName.parallelogram': 'Rööpkülik',
'journey.studio.shapeName.trapezoid': 'Trapets',
'journey.studio.shapeName.arch': 'Kaar',
'journey.studio.shapeName.half-circle': 'Poolring',
'journey.studio.shapeName.quarter-circle': 'Veerandring',
'journey.studio.shapeName.pentagon': 'Viisnurk',
'journey.studio.shapeName.hexagon': 'Kuusnurk',
'journey.studio.shapeName.hexagon-flat': 'Lame kuusnurk',
'journey.studio.shapeName.heptagon': 'Seitsmenurk',
'journey.studio.shapeName.octagon': 'Kaheksanurk',
'journey.studio.shapeName.star-4': 'Neljaharuline täht',
'journey.studio.shapeName.star-5': 'Viieharuline täht',
'journey.studio.shapeName.star-6': 'Kuueharuline täht',
'journey.studio.shapeName.star-8': 'Kaheksaharuline täht',
'journey.studio.shapeName.star-12': 'Kaheteistharuline täht',
'journey.studio.shapeName.burst': 'Plahvatus',
'journey.studio.shapeName.seal': 'Pitsat',
'journey.studio.shapeName.sparkle': 'Sära',
'journey.studio.shapeName.star-rounded': 'Ümar täht',
'journey.studio.shapeName.star-twinkle': 'Vilkuv täht',
'journey.studio.shapeName.arrow-right': 'Nool paremale',
'journey.studio.shapeName.arrow-left': 'Nool vasakule',
'journey.studio.shapeName.arrow-up': 'Nool üles',
'journey.studio.shapeName.arrow-down': 'Nool alla',
'journey.studio.shapeName.arrow-both': 'Topeltnool',
'journey.studio.shapeName.chevron-right': 'Nurksulg paremale',
'journey.studio.shapeName.chevron-left': 'Nurksulg vasakule',
'journey.studio.shapeName.arrow-bent': 'Murtud nool',
'journey.studio.shapeName.arrow-curve': 'Kaardus nool',
'journey.studio.shapeName.arrow-circle': 'Ringnool',
'journey.studio.shapeName.arrow-notched': 'Sälguga nool',
'journey.studio.shapeName.arrow-thin': 'Peen nool',
'journey.studio.shapeName.bubble-round': 'Ümar jutumull',
'journey.studio.shapeName.bubble-square': 'Nelinurkne jutumull',
'journey.studio.shapeName.bubble-oval': 'Ovaalne jutumull',
'journey.studio.shapeName.bubble-think': 'Mõttemull',
'journey.studio.shapeName.bubble-shout': 'Hüüdmull',
'journey.studio.shapeName.bubble-side': 'Küljelt jutumull',
'journey.studio.shapeName.bubble-capsule': 'Kapslikujuline jutumull',
'journey.studio.shapeName.pin': 'Kaardinööp',
'journey.studio.shapeName.compass': 'Kompass',
'journey.studio.shapeName.mountain': 'Mägi',
'journey.studio.shapeName.sun': 'Päike',
'journey.studio.shapeName.moon': 'Kuu',
'journey.studio.shapeName.cloud': 'Pilv',
'journey.studio.shapeName.cloud-puffy': 'Kohev pilv',
'journey.studio.shapeName.drop': 'Piisk',
'journey.studio.shapeName.wave': 'Laine',
'journey.studio.shapeName.leaf': 'Leht',
'journey.studio.shapeName.shield': 'Kilp',
'journey.studio.shapeName.ticket': 'Pilet',
'journey.studio.shapeName.heart': 'Süda',
'journey.studio.shapeName.flower-5': 'Viielehine lill',
'journey.studio.shapeName.flower-6': 'Kuuelehine lill',
'journey.studio.shapeName.cross': 'Rist',
'journey.studio.shapeName.plus': 'Pluss',
'journey.studio.shapeName.gear': 'Hammasratas',
'journey.studio.shapeName.blob-1': 'Plekk 1',
'journey.studio.shapeName.blob-2': 'Plekk 2',
'journey.studio.shapeName.blob-3': 'Plekk 3',
'journey.studio.shapeName.blob-4': 'Plekk 4',
'journey.studio.shapeName.heart-round': 'Ümar süda',
'journey.studio.shapeName.heart-pair': 'Kaks südant',
'journey.studio.shapeName.flower-8': 'Kaheksalehine lill',
'journey.studio.shapeName.banner-ribbon': 'Lint-bänner',
'journey.studio.shapeName.banner-pennant': 'Vimpel',
'journey.studio.shapeName.banner-bookmark': 'Järjehoidja',
'journey.studio.shapeName.banner-flag': 'Lipp-bänner',
'journey.studio.shapeName.ribbon-ends': 'Lint volditud otstega',
'journey.studio.shapeName.ribbon-arc': 'Kaarjas lint',
'journey.studio.shapeName.wavy-band': 'Lainjas riba',
'journey.studio.shapeName.torn-strip': 'Rebitud riba',
'journey.studio.shapeName.arch-tall': 'Kõrge kaar',
'journey.studio.shapeName.arch-pointed': 'Teravkaar',
'journey.studio.shapeName.arch-double': 'Topeltkaar',
'journey.studio.shapeName.arch-half': 'Poolkaar',
'journey.studio.shapeName.arch-rainbow': 'Vikerkaar',
'journey.studio.shapeName.leaf-palm': 'Palmileht',
'journey.studio.shapeName.leaf-oak': 'Tammeleht',
'journey.studio.shapeName.leaf-long': 'Pikk leht',
'journey.studio.shapeName.leaf-monstera': 'Monstera leht',
'journey.studio.shapeName.coral-1': 'Korall 1',
'journey.studio.shapeName.coral-2': 'Korall 2',
'journey.studio.shapeName.seaweed': 'Merevetikas',
'journey.studio.shapeName.star-organic': 'Orgaaniline täht',
'journey.studio.shapeName.sun-cutout': 'Väljalõigatud päike',
'journey.studio.shapeName.organic-1': 'Orgaaniline vorm 1',
'journey.studio.shapeName.organic-2': 'Orgaaniline vorm 2',
'journey.studio.shapeName.organic-3': 'Orgaaniline vorm 3',
'journey.studio.shapeName.stamp-rect': 'Nelinurkne tempel',
'journey.studio.shapeName.stamp-circle': 'Ümar tempel',
'journey.studio.shapeName.postmark': 'Postitempel',
'journey.studio.shapeName.rosette': 'Rosett',
'journey.studio.shapeName.scallop-circle': 'Sakilise servaga ring',
'journey.studio.shapeName.badge-shield': 'Kilpmärk',
'journey.studio.shapeName.label-tab': 'Sildi sakk',
'journey.studio.shapeName.ticket-stub': 'Piletijuur',
'journey.studio.shapeName.sunburst-12': 'Päikesekiired, 12',
'journey.studio.shapeName.sunburst-24': 'Päikesekiired, 24',
'journey.studio.shapeName.frame-notched': 'Sälguga raam',
'journey.studio.shapeName.frame-chamfer': 'Faasitud raam',
'journey.studio.shapeName.frame-cushion': 'Padjaraam',
'journey.studio.shapeName.flourish-scroll': 'Rullikaunistus',
'journey.studio.shapeName.laurel': 'Loorberi',
'journey.studio.shapeName.fleuron': 'Lehtornament',
'journey.studio.shapeName.corner-flourish': 'Nurgakaunistus',
};
export default studioShapes;
+12
View File
@@ -174,6 +174,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Loorberipärg',
'journey.studio.sticker.cornerFlourish': 'Kaunistatud nurk',
'journey.studio.sticker.cornerScroll': 'Voluudiga nurk',
'journey.studio.sticker.parthenon': 'Parthenon', // same-as-en
'journey.studio.sticker.milanDuomo': 'Milano katedraal',
'journey.studio.sticker.canalHouses': 'Kanalimajad',
'journey.studio.sticker.gondola': 'Gondel',
'journey.studio.sticker.lisbonTram': 'Lissaboni tramm',
'journey.studio.sticker.celticHarp': 'Keldi harf',
'journey.studio.sticker.tiger': 'Tiiger',
'journey.studio.sticker.monkey': 'Ahv',
'journey.studio.sticker.camel': 'Kaamel',
'journey.studio.sticker.doodlePalm': 'Joonistatud palm',
'journey.studio.sticker.doodleWaves': 'Joonistatud lained',
'journey.studio.sticker.doodleSunRays': 'Joonistatud tõusev päike',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Écailles',
'journey.studio.pattern.sunburst': 'Rayons',
'journey.studio.pattern.confetti': 'Confettis',
'journey.studio.pattern.linen': 'Lin',
'journey.studio.pattern.grain': 'Grain de papier',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Double-cliquez pour retirer',
'assistant.card.book.finding.hairline': 'Une ligne trop fine pour être imprimée',
'assistant.card.book.finding.edge_unused': 'Un bord que cette forme ne prend pas',
'journey.studio.shapeName.rect': 'Rectangle', // same-as-en
'journey.studio.shapeName.squircle': 'Carré arrondi',
'journey.studio.shapeName.ellipse': 'Ellipse', // same-as-en
'journey.studio.shapeName.capsule': 'Capsule', // same-as-en
'journey.studio.shapeName.triangle': 'Triangle', // same-as-en
'journey.studio.shapeName.triangle-down': 'Triangle pointe en bas',
'journey.studio.shapeName.diamond': 'Losange',
'journey.studio.shapeName.parallelogram': 'Parallélogramme',
'journey.studio.shapeName.trapezoid': 'Trapèze',
'journey.studio.shapeName.arch': 'Arche',
'journey.studio.shapeName.half-circle': 'Demi-cercle',
'journey.studio.shapeName.quarter-circle': 'Quart de cercle',
'journey.studio.shapeName.pentagon': 'Pentagone',
'journey.studio.shapeName.hexagon': 'Hexagone',
'journey.studio.shapeName.hexagon-flat': 'Hexagone aplati',
'journey.studio.shapeName.heptagon': 'Heptagone',
'journey.studio.shapeName.octagon': 'Octogone',
'journey.studio.shapeName.star-4': 'Étoile à 4 branches',
'journey.studio.shapeName.star-5': 'Étoile à 5 branches',
'journey.studio.shapeName.star-6': 'Étoile à 6 branches',
'journey.studio.shapeName.star-8': 'Étoile à 8 branches',
'journey.studio.shapeName.star-12': 'Étoile à 12 branches',
'journey.studio.shapeName.burst': 'Explosion',
'journey.studio.shapeName.seal': 'Sceau',
'journey.studio.shapeName.sparkle': 'Étincelle',
'journey.studio.shapeName.star-rounded': 'Étoile arrondie',
'journey.studio.shapeName.star-twinkle': 'Étoile scintillante',
'journey.studio.shapeName.arrow-right': 'Flèche droite',
'journey.studio.shapeName.arrow-left': 'Flèche gauche',
'journey.studio.shapeName.arrow-up': 'Flèche haut',
'journey.studio.shapeName.arrow-down': 'Flèche bas',
'journey.studio.shapeName.arrow-both': 'Double flèche',
'journey.studio.shapeName.chevron-right': 'Chevron droit',
'journey.studio.shapeName.chevron-left': 'Chevron gauche',
'journey.studio.shapeName.arrow-bent': 'Flèche coudée',
'journey.studio.shapeName.arrow-curve': 'Flèche courbe',
'journey.studio.shapeName.arrow-circle': 'Flèche circulaire',
'journey.studio.shapeName.arrow-notched': 'Flèche crantée',
'journey.studio.shapeName.arrow-thin': 'Flèche fine',
'journey.studio.shapeName.bubble-round': 'Bulle ronde',
'journey.studio.shapeName.bubble-square': 'Bulle carrée',
'journey.studio.shapeName.bubble-oval': 'Bulle ovale',
'journey.studio.shapeName.bubble-think': 'Bulle de pensée',
'journey.studio.shapeName.bubble-shout': 'Bulle de cri',
'journey.studio.shapeName.bubble-side': 'Bulle latérale',
'journey.studio.shapeName.bubble-capsule': 'Bulle capsule',
'journey.studio.shapeName.pin': 'Repère de carte',
'journey.studio.shapeName.compass': 'Boussole',
'journey.studio.shapeName.mountain': 'Montagne',
'journey.studio.shapeName.sun': 'Soleil',
'journey.studio.shapeName.moon': 'Lune',
'journey.studio.shapeName.cloud': 'Nuage',
'journey.studio.shapeName.cloud-puffy': 'Nuage gonflé',
'journey.studio.shapeName.drop': 'Goutte',
'journey.studio.shapeName.wave': 'Vague',
'journey.studio.shapeName.leaf': 'Feuille',
'journey.studio.shapeName.shield': 'Écusson',
'journey.studio.shapeName.ticket': 'Ticket', // same-as-en
'journey.studio.shapeName.heart': 'Cœur',
'journey.studio.shapeName.flower-5': 'Fleur à 5 pétales',
'journey.studio.shapeName.flower-6': 'Fleur à 6 pétales',
'journey.studio.shapeName.cross': 'Croix',
'journey.studio.shapeName.plus': 'Plus', // same-as-en
'journey.studio.shapeName.gear': 'Engrenage',
'journey.studio.shapeName.blob-1': 'Forme libre 1',
'journey.studio.shapeName.blob-2': 'Forme libre 2',
'journey.studio.shapeName.blob-3': 'Forme libre 3',
'journey.studio.shapeName.blob-4': 'Forme libre 4',
'journey.studio.shapeName.heart-round': 'Cœur rond',
'journey.studio.shapeName.heart-pair': 'Deux cœurs',
'journey.studio.shapeName.flower-8': 'Fleur à 8 pétales',
'journey.studio.shapeName.banner-ribbon': 'Bannière ruban',
'journey.studio.shapeName.banner-pennant': 'Fanion',
'journey.studio.shapeName.banner-bookmark': 'Marque-page',
'journey.studio.shapeName.banner-flag': 'Bannière drapeau',
'journey.studio.shapeName.ribbon-ends': 'Ruban à bouts pliés',
'journey.studio.shapeName.ribbon-arc': 'Ruban en arc',
'journey.studio.shapeName.wavy-band': 'Bande ondulée',
'journey.studio.shapeName.torn-strip': 'Bande déchirée',
'journey.studio.shapeName.arch-tall': 'Arche haute',
'journey.studio.shapeName.arch-pointed': 'Arche en ogive',
'journey.studio.shapeName.arch-double': 'Double arche',
'journey.studio.shapeName.arch-half': 'Demi-arche',
'journey.studio.shapeName.arch-rainbow': 'Arche arc-en-ciel',
'journey.studio.shapeName.leaf-palm': 'Feuille de palmier',
'journey.studio.shapeName.leaf-oak': 'Feuille de chêne',
'journey.studio.shapeName.leaf-long': 'Feuille longue',
'journey.studio.shapeName.leaf-monstera': 'Feuille de monstera',
'journey.studio.shapeName.coral-1': 'Corail 1',
'journey.studio.shapeName.coral-2': 'Corail 2',
'journey.studio.shapeName.seaweed': 'Algue',
'journey.studio.shapeName.star-organic': 'Étoile organique',
'journey.studio.shapeName.sun-cutout': 'Soleil découpé',
'journey.studio.shapeName.organic-1': 'Forme organique 1',
'journey.studio.shapeName.organic-2': 'Forme organique 2',
'journey.studio.shapeName.organic-3': 'Forme organique 3',
'journey.studio.shapeName.stamp-rect': 'Tampon rectangulaire',
'journey.studio.shapeName.stamp-circle': 'Tampon rond',
'journey.studio.shapeName.postmark': 'Cachet postal',
'journey.studio.shapeName.rosette': 'Rosette', // same-as-en
'journey.studio.shapeName.scallop-circle': 'Cercle festonné',
'journey.studio.shapeName.badge-shield': 'Badge écusson',
'journey.studio.shapeName.label-tab': 'Étiquette à onglet',
'journey.studio.shapeName.ticket-stub': 'Talon de ticket',
'journey.studio.shapeName.sunburst-12': 'Rayons de soleil, 12 branches',
'journey.studio.shapeName.sunburst-24': 'Rayons de soleil, 24 branches',
'journey.studio.shapeName.frame-notched': 'Cadre cranté',
'journey.studio.shapeName.frame-chamfer': 'Cadre biseauté',
'journey.studio.shapeName.frame-cushion': 'Cadre coussin',
'journey.studio.shapeName.flourish-scroll': 'Fioriture en volute',
'journey.studio.shapeName.laurel': 'Laurier',
'journey.studio.shapeName.fleuron': 'Fleuron', // same-as-en
'journey.studio.shapeName.corner-flourish': "Fioriture d'angle",
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Couronne de laurier',
'journey.studio.sticker.cornerFlourish': 'Coin à arabesque',
'journey.studio.sticker.cornerScroll': 'Coin à volutes',
'journey.studio.sticker.parthenon': 'Parthénon',
'journey.studio.sticker.milanDuomo': 'Cathédrale de Milan',
'journey.studio.sticker.canalHouses': 'Maisons des canaux',
'journey.studio.sticker.gondola': 'Gondole',
'journey.studio.sticker.lisbonTram': 'Tramway de Lisbonne',
'journey.studio.sticker.celticHarp': 'Harpe celtique',
'journey.studio.sticker.tiger': 'Tigre',
'journey.studio.sticker.monkey': 'Singe',
'journey.studio.sticker.camel': 'Chameau',
'journey.studio.sticker.doodlePalm': 'Palmier griffonné',
'journey.studio.sticker.doodleWaves': 'Vagues griffonnées',
'journey.studio.sticker.doodleSunRays': 'Soleil levant griffonné',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Λέπια',
'journey.studio.pattern.sunburst': 'Ηλιαχτίδες',
'journey.studio.pattern.confetti': 'Κομφετί',
'journey.studio.pattern.linen': 'Λινό',
'journey.studio.pattern.grain': 'Υφή χαρτιού',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Διπλό κλικ για αφαίρεση',
'assistant.card.book.finding.hairline': 'Γραμμή πολύ λεπτή για εκτύπωση',
'assistant.card.book.finding.edge_unused': 'Άκρη που αυτό το σχήμα δεν δέχεται',
'journey.studio.shapeName.rect': 'Ορθογώνιο',
'journey.studio.shapeName.squircle': 'Στρογγυλεμένο τετράγωνο',
'journey.studio.shapeName.ellipse': 'Έλλειψη',
'journey.studio.shapeName.capsule': 'Κάψουλα',
'journey.studio.shapeName.triangle': 'Τρίγωνο',
'journey.studio.shapeName.triangle-down': 'Τρίγωνο προς τα κάτω',
'journey.studio.shapeName.diamond': 'Ρόμβος',
'journey.studio.shapeName.parallelogram': 'Παραλληλόγραμμο',
'journey.studio.shapeName.trapezoid': 'Τραπέζιο',
'journey.studio.shapeName.arch': 'Αψίδα',
'journey.studio.shapeName.half-circle': 'Ημικύκλιο',
'journey.studio.shapeName.quarter-circle': 'Τεταρτοκύκλιο',
'journey.studio.shapeName.pentagon': 'Πεντάγωνο',
'journey.studio.shapeName.hexagon': 'Εξάγωνο',
'journey.studio.shapeName.hexagon-flat': 'Επίπεδο εξάγωνο',
'journey.studio.shapeName.heptagon': 'Επτάγωνο',
'journey.studio.shapeName.octagon': 'Οκτάγωνο',
'journey.studio.shapeName.star-4': 'Αστέρι με 4 ακτίνες',
'journey.studio.shapeName.star-5': 'Αστέρι με 5 ακτίνες',
'journey.studio.shapeName.star-6': 'Αστέρι με 6 ακτίνες',
'journey.studio.shapeName.star-8': 'Αστέρι με 8 ακτίνες',
'journey.studio.shapeName.star-12': 'Αστέρι με 12 ακτίνες',
'journey.studio.shapeName.burst': 'Έκρηξη',
'journey.studio.shapeName.seal': 'Σφραγίδα',
'journey.studio.shapeName.sparkle': 'Λάμψη',
'journey.studio.shapeName.star-rounded': 'Στρογγυλεμένο αστέρι',
'journey.studio.shapeName.star-twinkle': 'Αστέρι που λαμπυρίζει',
'journey.studio.shapeName.arrow-right': 'Βέλος δεξιά',
'journey.studio.shapeName.arrow-left': 'Βέλος αριστερά',
'journey.studio.shapeName.arrow-up': 'Βέλος πάνω',
'journey.studio.shapeName.arrow-down': 'Βέλος κάτω',
'journey.studio.shapeName.arrow-both': 'Διπλό βέλος',
'journey.studio.shapeName.chevron-right': 'Σιβρόν δεξιά',
'journey.studio.shapeName.chevron-left': 'Σιβρόν αριστερά',
'journey.studio.shapeName.arrow-bent': 'Λυγισμένο βέλος',
'journey.studio.shapeName.arrow-curve': 'Καμπύλο βέλος',
'journey.studio.shapeName.arrow-circle': 'Κυκλικό βέλος',
'journey.studio.shapeName.arrow-notched': 'Βέλος με εγκοπή',
'journey.studio.shapeName.arrow-thin': 'Λεπτό βέλος',
'journey.studio.shapeName.bubble-round': 'Στρογγυλό συννεφάκι ομιλίας',
'journey.studio.shapeName.bubble-square': 'Τετράγωνο συννεφάκι ομιλίας',
'journey.studio.shapeName.bubble-oval': 'Οβάλ συννεφάκι ομιλίας',
'journey.studio.shapeName.bubble-think': 'Συννεφάκι σκέψης',
'journey.studio.shapeName.bubble-shout': 'Συννεφάκι φωνής',
'journey.studio.shapeName.bubble-side': 'Πλαϊνό συννεφάκι ομιλίας',
'journey.studio.shapeName.bubble-capsule': 'Συννεφάκι ομιλίας κάψουλα',
'journey.studio.shapeName.pin': 'Καρφίτσα χάρτη',
'journey.studio.shapeName.compass': 'Πυξίδα',
'journey.studio.shapeName.mountain': 'Βουνό',
'journey.studio.shapeName.sun': 'Ήλιος',
'journey.studio.shapeName.moon': 'Φεγγάρι',
'journey.studio.shapeName.cloud': 'Σύννεφο',
'journey.studio.shapeName.cloud-puffy': 'Φουσκωτό σύννεφο',
'journey.studio.shapeName.drop': 'Σταγόνα',
'journey.studio.shapeName.wave': 'Κύμα',
'journey.studio.shapeName.leaf': 'Φύλλο',
'journey.studio.shapeName.shield': 'Ασπίδα',
'journey.studio.shapeName.ticket': 'Εισιτήριο',
'journey.studio.shapeName.heart': 'Καρδιά',
'journey.studio.shapeName.flower-5': 'Λουλούδι με 5 πέταλα',
'journey.studio.shapeName.flower-6': 'Λουλούδι με 6 πέταλα',
'journey.studio.shapeName.cross': 'Σταυρός',
'journey.studio.shapeName.plus': 'Συν',
'journey.studio.shapeName.gear': 'Γρανάζι',
'journey.studio.shapeName.blob-1': 'Σταγόνα 1',
'journey.studio.shapeName.blob-2': 'Σταγόνα 2',
'journey.studio.shapeName.blob-3': 'Σταγόνα 3',
'journey.studio.shapeName.blob-4': 'Σταγόνα 4',
'journey.studio.shapeName.heart-round': 'Στρογγυλή καρδιά',
'journey.studio.shapeName.heart-pair': 'Δύο καρδιές',
'journey.studio.shapeName.flower-8': 'Λουλούδι με 8 πέταλα',
'journey.studio.shapeName.banner-ribbon': 'Πανό κορδέλα',
'journey.studio.shapeName.banner-pennant': 'Σημαιάκι',
'journey.studio.shapeName.banner-bookmark': 'Σελιδοδείκτης',
'journey.studio.shapeName.banner-flag': 'Πανό σημαία',
'journey.studio.shapeName.ribbon-ends': 'Κορδέλα με διπλωμένα άκρα',
'journey.studio.shapeName.ribbon-arc': 'Τοξωτή κορδέλα',
'journey.studio.shapeName.wavy-band': 'Κυματιστή λωρίδα',
'journey.studio.shapeName.torn-strip': 'Σκισμένη λωρίδα',
'journey.studio.shapeName.arch-tall': 'Ψηλή αψίδα',
'journey.studio.shapeName.arch-pointed': 'Οξυκόρυφη αψίδα',
'journey.studio.shapeName.arch-double': 'Διπλή αψίδα',
'journey.studio.shapeName.arch-half': 'Μισή αψίδα',
'journey.studio.shapeName.arch-rainbow': 'Αψίδα ουράνιο τόξο',
'journey.studio.shapeName.leaf-palm': 'Φύλλο φοίνικα',
'journey.studio.shapeName.leaf-oak': 'Φύλλο βελανιδιάς',
'journey.studio.shapeName.leaf-long': 'Μακρύ φύλλο',
'journey.studio.shapeName.leaf-monstera': 'Φύλλο μονστέρα',
'journey.studio.shapeName.coral-1': 'Κοράλλι 1',
'journey.studio.shapeName.coral-2': 'Κοράλλι 2',
'journey.studio.shapeName.seaweed': 'Φύκι',
'journey.studio.shapeName.star-organic': 'Οργανικό αστέρι',
'journey.studio.shapeName.sun-cutout': 'Ήλιος αποκομμένος',
'journey.studio.shapeName.organic-1': 'Οργανικό σχήμα 1',
'journey.studio.shapeName.organic-2': 'Οργανικό σχήμα 2',
'journey.studio.shapeName.organic-3': 'Οργανικό σχήμα 3',
'journey.studio.shapeName.stamp-rect': 'Ορθογώνια σφραγίδα',
'journey.studio.shapeName.stamp-circle': 'Στρογγυλή σφραγίδα',
'journey.studio.shapeName.postmark': 'Ταχυδρομική σφραγίδα',
'journey.studio.shapeName.rosette': 'Ροζέτα',
'journey.studio.shapeName.scallop-circle': 'Κύκλος με κυματιστή άκρη',
'journey.studio.shapeName.badge-shield': 'Έμβλημα ασπίδα',
'journey.studio.shapeName.label-tab': 'Ετικέτα με γλωσσίδα',
'journey.studio.shapeName.ticket-stub': 'Στέλεχος εισιτηρίου',
'journey.studio.shapeName.sunburst-12': 'Ηλιακτίνες 12 ακτίνων',
'journey.studio.shapeName.sunburst-24': 'Ηλιακτίνες 24 ακτίνων',
'journey.studio.shapeName.frame-notched': 'Πλαίσιο με εγκοπές',
'journey.studio.shapeName.frame-chamfer': 'Πλαίσιο με λοξότμητες γωνίες',
'journey.studio.shapeName.frame-cushion': 'Πλαίσιο μαξιλάρι',
'journey.studio.shapeName.flourish-scroll': 'Διακοσμητικό ρολό',
'journey.studio.shapeName.laurel': 'Δάφνη',
'journey.studio.shapeName.fleuron': 'Φλερόν',
'journey.studio.shapeName.corner-flourish': 'Διακοσμητικό γωνίας',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Δάφνινο στεφάνι',
'journey.studio.sticker.cornerFlourish': 'Γωνία με στολίδι',
'journey.studio.sticker.cornerScroll': 'Γωνία με έλικες',
'journey.studio.sticker.parthenon': 'Παρθενώνας',
'journey.studio.sticker.milanDuomo': 'Καθεδρικός του Μιλάνου',
'journey.studio.sticker.canalHouses': 'Σπίτια στο κανάλι',
'journey.studio.sticker.gondola': 'Γόνδολα',
'journey.studio.sticker.lisbonTram': 'Τραμ της Λισαβόνας',
'journey.studio.sticker.celticHarp': 'Κελτική άρπα',
'journey.studio.sticker.tiger': 'Τίγρης',
'journey.studio.sticker.monkey': 'Μαϊμού',
'journey.studio.sticker.camel': 'Καμήλα',
'journey.studio.sticker.doodlePalm': 'Ζωγραφιστός φοίνικας',
'journey.studio.sticker.doodleWaves': 'Ζωγραφιστά κύματα',
'journey.studio.sticker.doodleSunRays': 'Ζωγραφιστός ήλιος που ανατέλλει',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Pikkelyek',
'journey.studio.pattern.sunburst': 'Sugarak',
'journey.studio.pattern.confetti': 'Konfetti',
'journey.studio.pattern.linen': 'Vászon',
'journey.studio.pattern.grain': 'Papírszemcse',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Dupla kattintás az eltávolításhoz',
'assistant.card.book.finding.hairline': 'Túl vékony vonal a nyomtatáshoz',
'assistant.card.book.finding.edge_unused': 'Ez az alakzat nem fogad ilyen szélt',
'journey.studio.shapeName.rect': 'Téglalap',
'journey.studio.shapeName.squircle': 'Lekerekített négyzet',
'journey.studio.shapeName.ellipse': 'Ellipszis',
'journey.studio.shapeName.capsule': 'Kapszula',
'journey.studio.shapeName.triangle': 'Háromszög',
'journey.studio.shapeName.triangle-down': 'Lefelé mutató háromszög',
'journey.studio.shapeName.diamond': 'Rombusz',
'journey.studio.shapeName.parallelogram': 'Paralelogramma',
'journey.studio.shapeName.trapezoid': 'Trapéz',
'journey.studio.shapeName.arch': 'Boltív',
'journey.studio.shapeName.half-circle': 'Félkör',
'journey.studio.shapeName.quarter-circle': 'Negyedkör',
'journey.studio.shapeName.pentagon': 'Ötszög',
'journey.studio.shapeName.hexagon': 'Hatszög',
'journey.studio.shapeName.hexagon-flat': 'Lapos hatszög',
'journey.studio.shapeName.heptagon': 'Hétszög',
'journey.studio.shapeName.octagon': 'Nyolcszög',
'journey.studio.shapeName.star-4': 'Négyágú csillag',
'journey.studio.shapeName.star-5': 'Ötágú csillag',
'journey.studio.shapeName.star-6': 'Hatágú csillag',
'journey.studio.shapeName.star-8': 'Nyolcágú csillag',
'journey.studio.shapeName.star-12': 'Tizenkétágú csillag',
'journey.studio.shapeName.burst': 'Robbanás',
'journey.studio.shapeName.seal': 'Pecsét',
'journey.studio.shapeName.sparkle': 'Szikra',
'journey.studio.shapeName.star-rounded': 'Kerek csillag',
'journey.studio.shapeName.star-twinkle': 'Csillogó csillag',
'journey.studio.shapeName.arrow-right': 'Nyíl jobbra',
'journey.studio.shapeName.arrow-left': 'Nyíl balra',
'journey.studio.shapeName.arrow-up': 'Nyíl felfelé',
'journey.studio.shapeName.arrow-down': 'Nyíl lefelé',
'journey.studio.shapeName.arrow-both': 'Kétirányú nyíl',
'journey.studio.shapeName.chevron-right': 'Csúcsos nyíl jobbra',
'journey.studio.shapeName.chevron-left': 'Csúcsos nyíl balra',
'journey.studio.shapeName.arrow-bent': 'Hajlított nyíl',
'journey.studio.shapeName.arrow-curve': 'Ívelt nyíl',
'journey.studio.shapeName.arrow-circle': 'Környíl',
'journey.studio.shapeName.arrow-notched': 'Bevágott nyíl',
'journey.studio.shapeName.arrow-thin': 'Vékony nyíl',
'journey.studio.shapeName.bubble-round': 'Kerek szövegbuborék',
'journey.studio.shapeName.bubble-square': 'Szögletes szövegbuborék',
'journey.studio.shapeName.bubble-oval': 'Ovális szövegbuborék',
'journey.studio.shapeName.bubble-think': 'Gondolatbuborék',
'journey.studio.shapeName.bubble-shout': 'Kiáltás buborék',
'journey.studio.shapeName.bubble-side': 'Oldalról induló szövegbuborék',
'journey.studio.shapeName.bubble-capsule': 'Kapszula szövegbuborék',
'journey.studio.shapeName.pin': 'Térképtű',
'journey.studio.shapeName.compass': 'Iránytű',
'journey.studio.shapeName.mountain': 'Hegy',
'journey.studio.shapeName.sun': 'Nap',
'journey.studio.shapeName.moon': 'Hold',
'journey.studio.shapeName.cloud': 'Felhő',
'journey.studio.shapeName.cloud-puffy': 'Bodros felhő',
'journey.studio.shapeName.drop': 'Csepp',
'journey.studio.shapeName.wave': 'Hullám',
'journey.studio.shapeName.leaf': 'Levél',
'journey.studio.shapeName.shield': 'Pajzs',
'journey.studio.shapeName.ticket': 'Jegy',
'journey.studio.shapeName.heart': 'Szív',
'journey.studio.shapeName.flower-5': 'Ötszirmú virág',
'journey.studio.shapeName.flower-6': 'Hatszirmú virág',
'journey.studio.shapeName.cross': 'Kereszt',
'journey.studio.shapeName.plus': 'Plusz',
'journey.studio.shapeName.gear': 'Fogaskerék',
'journey.studio.shapeName.blob-1': 'Folt 1',
'journey.studio.shapeName.blob-2': 'Folt 2',
'journey.studio.shapeName.blob-3': 'Folt 3',
'journey.studio.shapeName.blob-4': 'Folt 4',
'journey.studio.shapeName.heart-round': 'Kerek szív',
'journey.studio.shapeName.heart-pair': 'Két szív',
'journey.studio.shapeName.flower-8': 'Nyolcszirmú virág',
'journey.studio.shapeName.banner-ribbon': 'Szalagos transzparens',
'journey.studio.shapeName.banner-pennant': 'Zászlócska',
'journey.studio.shapeName.banner-bookmark': 'Könyvjelző',
'journey.studio.shapeName.banner-flag': 'Zászló transzparens',
'journey.studio.shapeName.ribbon-ends': 'Szalag behajtott végekkel',
'journey.studio.shapeName.ribbon-arc': 'Ívelt szalag',
'journey.studio.shapeName.wavy-band': 'Hullámos sáv',
'journey.studio.shapeName.torn-strip': 'Szakadt csík',
'journey.studio.shapeName.arch-tall': 'Magas boltív',
'journey.studio.shapeName.arch-pointed': 'Csúcsíves boltív',
'journey.studio.shapeName.arch-double': 'Dupla boltív',
'journey.studio.shapeName.arch-half': 'Fél boltív',
'journey.studio.shapeName.arch-rainbow': 'Szivárvány boltív',
'journey.studio.shapeName.leaf-palm': 'Pálmalevél',
'journey.studio.shapeName.leaf-oak': 'Tölgylevél',
'journey.studio.shapeName.leaf-long': 'Hosszú levél',
'journey.studio.shapeName.leaf-monstera': 'Monstera levél',
'journey.studio.shapeName.coral-1': 'Korall 1',
'journey.studio.shapeName.coral-2': 'Korall 2',
'journey.studio.shapeName.seaweed': 'Hínár',
'journey.studio.shapeName.star-organic': 'Organikus csillag',
'journey.studio.shapeName.sun-cutout': 'Kivágott nap',
'journey.studio.shapeName.organic-1': 'Organikus forma 1',
'journey.studio.shapeName.organic-2': 'Organikus forma 2',
'journey.studio.shapeName.organic-3': 'Organikus forma 3',
'journey.studio.shapeName.stamp-rect': 'Téglalap bélyeg',
'journey.studio.shapeName.stamp-circle': 'Kerek bélyeg',
'journey.studio.shapeName.postmark': 'Postabélyegző',
'journey.studio.shapeName.rosette': 'Rozetta',
'journey.studio.shapeName.scallop-circle': 'Fodros kör',
'journey.studio.shapeName.badge-shield': 'Pajzs jelvény',
'journey.studio.shapeName.label-tab': 'Címkefül',
'journey.studio.shapeName.ticket-stub': 'Jegytönk',
'journey.studio.shapeName.sunburst-12': 'Napsugár, 12 sugár',
'journey.studio.shapeName.sunburst-24': 'Napsugár, 24 sugár',
'journey.studio.shapeName.frame-notched': 'Bevágott keret',
'journey.studio.shapeName.frame-chamfer': 'Letört sarkú keret',
'journey.studio.shapeName.frame-cushion': 'Párna keret',
'journey.studio.shapeName.flourish-scroll': 'Tekercs díszítés',
'journey.studio.shapeName.laurel': 'Babérkoszorú',
'journey.studio.shapeName.fleuron': 'Virágdísz',
'journey.studio.shapeName.corner-flourish': 'Sarokdísz',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Babérkoszorú',
'journey.studio.sticker.cornerFlourish': 'Díszes sarok',
'journey.studio.sticker.cornerScroll': 'Csigavonalas sarok',
'journey.studio.sticker.parthenon': 'Parthenón',
'journey.studio.sticker.milanDuomo': 'Milánói dóm',
'journey.studio.sticker.canalHouses': 'Csatornaparti házak',
'journey.studio.sticker.gondola': 'Gondola', // same-as-en
'journey.studio.sticker.lisbonTram': 'Lisszaboni villamos',
'journey.studio.sticker.celticHarp': 'Kelta hárfa',
'journey.studio.sticker.tiger': 'Tigris',
'journey.studio.sticker.monkey': 'Majom',
'journey.studio.sticker.camel': 'Teve',
'journey.studio.sticker.doodlePalm': 'Rajzolt pálma',
'journey.studio.sticker.doodleWaves': 'Rajzolt hullámok',
'journey.studio.sticker.doodleSunRays': 'Rajzolt felkelő nap',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Sisik',
'journey.studio.pattern.sunburst': 'Sinar matahari',
'journey.studio.pattern.confetti': 'Konfeti',
'journey.studio.pattern.linen': 'Linen', // same-as-en
'journey.studio.pattern.grain': 'Tekstur kertas',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Klik dua kali untuk menghapus',
'assistant.card.book.finding.hairline': 'Garis terlalu tipis untuk dicetak',
'assistant.card.book.finding.edge_unused': 'Tepi yang tidak diterima bentuk ini',
'journey.studio.shapeName.rect': 'Persegi panjang',
'journey.studio.shapeName.squircle': 'Persegi tumpul',
'journey.studio.shapeName.ellipse': 'Elips',
'journey.studio.shapeName.capsule': 'Kapsul',
'journey.studio.shapeName.triangle': 'Segitiga',
'journey.studio.shapeName.triangle-down': 'Segitiga menghadap bawah',
'journey.studio.shapeName.diamond': 'Belah ketupat',
'journey.studio.shapeName.parallelogram': 'Jajar genjang',
'journey.studio.shapeName.trapezoid': 'Trapesium',
'journey.studio.shapeName.arch': 'Lengkungan',
'journey.studio.shapeName.half-circle': 'Setengah lingkaran',
'journey.studio.shapeName.quarter-circle': 'Seperempat lingkaran',
'journey.studio.shapeName.pentagon': 'Segilima',
'journey.studio.shapeName.hexagon': 'Segienam',
'journey.studio.shapeName.hexagon-flat': 'Segienam datar',
'journey.studio.shapeName.heptagon': 'Segitujuh',
'journey.studio.shapeName.octagon': 'Segidelapan',
'journey.studio.shapeName.star-4': 'Bintang empat sudut',
'journey.studio.shapeName.star-5': 'Bintang lima sudut',
'journey.studio.shapeName.star-6': 'Bintang enam sudut',
'journey.studio.shapeName.star-8': 'Bintang delapan sudut',
'journey.studio.shapeName.star-12': 'Bintang dua belas sudut',
'journey.studio.shapeName.burst': 'Ledakan',
'journey.studio.shapeName.seal': 'Segel',
'journey.studio.shapeName.sparkle': 'Kilau',
'journey.studio.shapeName.star-rounded': 'Bintang membulat',
'journey.studio.shapeName.star-twinkle': 'Bintang berkelip',
'journey.studio.shapeName.arrow-right': 'Panah kanan',
'journey.studio.shapeName.arrow-left': 'Panah kiri',
'journey.studio.shapeName.arrow-up': 'Panah atas',
'journey.studio.shapeName.arrow-down': 'Panah bawah',
'journey.studio.shapeName.arrow-both': 'Panah ganda',
'journey.studio.shapeName.chevron-right': 'Chevron kanan',
'journey.studio.shapeName.chevron-left': 'Chevron kiri',
'journey.studio.shapeName.arrow-bent': 'Panah menekuk',
'journey.studio.shapeName.arrow-curve': 'Panah melengkung',
'journey.studio.shapeName.arrow-circle': 'Panah melingkar',
'journey.studio.shapeName.arrow-notched': 'Panah bertakik',
'journey.studio.shapeName.arrow-thin': 'Panah tipis',
'journey.studio.shapeName.bubble-round': 'Balon ucapan bulat',
'journey.studio.shapeName.bubble-square': 'Balon ucapan persegi',
'journey.studio.shapeName.bubble-oval': 'Balon ucapan oval',
'journey.studio.shapeName.bubble-think': 'Balon pikiran',
'journey.studio.shapeName.bubble-shout': 'Balon teriakan',
'journey.studio.shapeName.bubble-side': 'Balon ucapan dari samping',
'journey.studio.shapeName.bubble-capsule': 'Balon ucapan kapsul',
'journey.studio.shapeName.pin': 'Pin peta',
'journey.studio.shapeName.compass': 'Kompas',
'journey.studio.shapeName.mountain': 'Gunung',
'journey.studio.shapeName.sun': 'Matahari',
'journey.studio.shapeName.moon': 'Bulan',
'journey.studio.shapeName.cloud': 'Awan',
'journey.studio.shapeName.cloud-puffy': 'Awan berbulu',
'journey.studio.shapeName.drop': 'Tetesan',
'journey.studio.shapeName.wave': 'Gelombang',
'journey.studio.shapeName.leaf': 'Daun',
'journey.studio.shapeName.shield': 'Perisai',
'journey.studio.shapeName.ticket': 'Tiket',
'journey.studio.shapeName.heart': 'Hati',
'journey.studio.shapeName.flower-5': 'Bunga lima kelopak',
'journey.studio.shapeName.flower-6': 'Bunga enam kelopak',
'journey.studio.shapeName.cross': 'Silang',
'journey.studio.shapeName.plus': 'Plus', // same-as-en
'journey.studio.shapeName.gear': 'Roda gigi',
'journey.studio.shapeName.blob-1': 'Blob 1', // same-as-en
'journey.studio.shapeName.blob-2': 'Blob 2', // same-as-en
'journey.studio.shapeName.blob-3': 'Blob 3', // same-as-en
'journey.studio.shapeName.blob-4': 'Blob 4', // same-as-en
'journey.studio.shapeName.heart-round': 'Hati bulat',
'journey.studio.shapeName.heart-pair': 'Dua hati',
'journey.studio.shapeName.flower-8': 'Bunga delapan kelopak',
'journey.studio.shapeName.banner-ribbon': 'Spanduk pita',
'journey.studio.shapeName.banner-pennant': 'Bendera segitiga',
'journey.studio.shapeName.banner-bookmark': 'Pembatas buku',
'journey.studio.shapeName.banner-flag': 'Spanduk bendera',
'journey.studio.shapeName.ribbon-ends': 'Pita dengan ujung terlipat',
'journey.studio.shapeName.ribbon-arc': 'Pita melengkung',
'journey.studio.shapeName.wavy-band': 'Pita bergelombang',
'journey.studio.shapeName.torn-strip': 'Strip sobekan',
'journey.studio.shapeName.arch-tall': 'Lengkungan tinggi',
'journey.studio.shapeName.arch-pointed': 'Lengkungan runcing',
'journey.studio.shapeName.arch-double': 'Lengkungan ganda',
'journey.studio.shapeName.arch-half': 'Setengah lengkungan',
'journey.studio.shapeName.arch-rainbow': 'Lengkungan pelangi',
'journey.studio.shapeName.leaf-palm': 'Daun palem',
'journey.studio.shapeName.leaf-oak': 'Daun ek',
'journey.studio.shapeName.leaf-long': 'Daun panjang',
'journey.studio.shapeName.leaf-monstera': 'Daun monstera',
'journey.studio.shapeName.coral-1': 'Karang 1',
'journey.studio.shapeName.coral-2': 'Karang 2',
'journey.studio.shapeName.seaweed': 'Rumput laut',
'journey.studio.shapeName.star-organic': 'Bintang organik',
'journey.studio.shapeName.sun-cutout': 'Matahari potongan',
'journey.studio.shapeName.organic-1': 'Bentuk organik 1',
'journey.studio.shapeName.organic-2': 'Bentuk organik 2',
'journey.studio.shapeName.organic-3': 'Bentuk organik 3',
'journey.studio.shapeName.stamp-rect': 'Stempel persegi panjang',
'journey.studio.shapeName.stamp-circle': 'Stempel bulat',
'journey.studio.shapeName.postmark': 'Cap pos',
'journey.studio.shapeName.rosette': 'Rosetta',
'journey.studio.shapeName.scallop-circle': 'Lingkaran bergerigi',
'journey.studio.shapeName.badge-shield': 'Lencana perisai',
'journey.studio.shapeName.label-tab': 'Tab label',
'journey.studio.shapeName.ticket-stub': 'Potongan tiket',
'journey.studio.shapeName.sunburst-12': 'Sinar matahari, 12 sinar',
'journey.studio.shapeName.sunburst-24': 'Sinar matahari, 24 sinar',
'journey.studio.shapeName.frame-notched': 'Bingkai bertakik',
'journey.studio.shapeName.frame-chamfer': 'Bingkai sudut miring',
'journey.studio.shapeName.frame-cushion': 'Bingkai bantal',
'journey.studio.shapeName.flourish-scroll': 'Hiasan gulungan',
'journey.studio.shapeName.laurel': 'Karangan laurel',
'journey.studio.shapeName.fleuron': 'Hiasan daun',
'journey.studio.shapeName.corner-flourish': 'Hiasan sudut',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Mahkota daun laurel',
'journey.studio.sticker.cornerFlourish': 'Hiasan sudut',
'journey.studio.sticker.cornerScroll': 'Sudut ukiran',
'journey.studio.sticker.parthenon': 'Parthenon', // same-as-en
'journey.studio.sticker.milanDuomo': 'Katedral Milan',
'journey.studio.sticker.canalHouses': 'Rumah kanal',
'journey.studio.sticker.gondola': 'Gondola', // same-as-en
'journey.studio.sticker.lisbonTram': 'Trem Lisbon',
'journey.studio.sticker.celticHarp': 'Harpa Kelt',
'journey.studio.sticker.tiger': 'Harimau',
'journey.studio.sticker.monkey': 'Monyet',
'journey.studio.sticker.camel': 'Unta',
'journey.studio.sticker.doodlePalm': 'Coretan pohon palem',
'journey.studio.sticker.doodleWaves': 'Coretan ombak',
'journey.studio.sticker.doodleSunRays': 'Coretan matahari terbit',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Squame',
'journey.studio.pattern.sunburst': 'Raggiera',
'journey.studio.pattern.confetti': 'Coriandoli',
'journey.studio.pattern.linen': 'Lino',
'journey.studio.pattern.grain': 'Grana della carta',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Doppio clic per togliere',
'assistant.card.book.finding.hairline': 'Una linea troppo sottile per la stampa',
'assistant.card.book.finding.edge_unused': 'Un bordo che questa forma non accetta',
'journey.studio.shapeName.rect': 'Rettangolo',
'journey.studio.shapeName.squircle': 'Quadrato arrotondato',
'journey.studio.shapeName.ellipse': 'Ellisse',
'journey.studio.shapeName.capsule': 'Capsula',
'journey.studio.shapeName.triangle': 'Triangolo',
'journey.studio.shapeName.triangle-down': 'Triangolo rovesciato',
'journey.studio.shapeName.diamond': 'Rombo',
'journey.studio.shapeName.parallelogram': 'Parallelogramma',
'journey.studio.shapeName.trapezoid': 'Trapezio',
'journey.studio.shapeName.arch': 'Arco',
'journey.studio.shapeName.half-circle': 'Semicerchio',
'journey.studio.shapeName.quarter-circle': 'Quarto di cerchio',
'journey.studio.shapeName.pentagon': 'Pentagono',
'journey.studio.shapeName.hexagon': 'Esagono',
'journey.studio.shapeName.hexagon-flat': 'Esagono piatto',
'journey.studio.shapeName.heptagon': 'Ettagono',
'journey.studio.shapeName.octagon': 'Ottagono',
'journey.studio.shapeName.star-4': 'Stella a quattro punte',
'journey.studio.shapeName.star-5': 'Stella a cinque punte',
'journey.studio.shapeName.star-6': 'Stella a sei punte',
'journey.studio.shapeName.star-8': 'Stella a otto punte',
'journey.studio.shapeName.star-12': 'Stella a dodici punte',
'journey.studio.shapeName.burst': 'Esplosione',
'journey.studio.shapeName.seal': 'Sigillo',
'journey.studio.shapeName.sparkle': 'Scintilla',
'journey.studio.shapeName.star-rounded': 'Stella arrotondata',
'journey.studio.shapeName.star-twinkle': 'Stella scintillante',
'journey.studio.shapeName.arrow-right': 'Freccia a destra',
'journey.studio.shapeName.arrow-left': 'Freccia a sinistra',
'journey.studio.shapeName.arrow-up': 'Freccia in alto',
'journey.studio.shapeName.arrow-down': 'Freccia in basso',
'journey.studio.shapeName.arrow-both': 'Freccia doppia',
'journey.studio.shapeName.chevron-right': 'Chevron a destra',
'journey.studio.shapeName.chevron-left': 'Chevron a sinistra',
'journey.studio.shapeName.arrow-bent': 'Freccia piegata',
'journey.studio.shapeName.arrow-curve': 'Freccia curva',
'journey.studio.shapeName.arrow-circle': 'Freccia circolare',
'journey.studio.shapeName.arrow-notched': 'Freccia dentellata',
'journey.studio.shapeName.arrow-thin': 'Freccia sottile',
'journey.studio.shapeName.bubble-round': 'Fumetto rotondo',
'journey.studio.shapeName.bubble-square': 'Fumetto quadrato',
'journey.studio.shapeName.bubble-oval': 'Fumetto ovale',
'journey.studio.shapeName.bubble-think': 'Fumetto di pensiero',
'journey.studio.shapeName.bubble-shout': 'Fumetto urlato',
'journey.studio.shapeName.bubble-side': 'Fumetto laterale',
'journey.studio.shapeName.bubble-capsule': 'Fumetto a capsula',
'journey.studio.shapeName.pin': 'Segnaposto mappa',
'journey.studio.shapeName.compass': 'Bussola',
'journey.studio.shapeName.mountain': 'Montagna',
'journey.studio.shapeName.sun': 'Sole',
'journey.studio.shapeName.moon': 'Luna',
'journey.studio.shapeName.cloud': 'Nuvola',
'journey.studio.shapeName.cloud-puffy': 'Nuvola soffice',
'journey.studio.shapeName.drop': 'Goccia',
'journey.studio.shapeName.wave': 'Onda',
'journey.studio.shapeName.leaf': 'Foglia',
'journey.studio.shapeName.shield': 'Scudo',
'journey.studio.shapeName.ticket': 'Biglietto',
'journey.studio.shapeName.heart': 'Cuore',
'journey.studio.shapeName.flower-5': 'Fiore a cinque petali',
'journey.studio.shapeName.flower-6': 'Fiore a sei petali',
'journey.studio.shapeName.cross': 'Croce',
'journey.studio.shapeName.plus': 'Più',
'journey.studio.shapeName.gear': 'Ingranaggio',
'journey.studio.shapeName.blob-1': 'Blob 1', // same-as-en
'journey.studio.shapeName.blob-2': 'Blob 2', // same-as-en
'journey.studio.shapeName.blob-3': 'Blob 3', // same-as-en
'journey.studio.shapeName.blob-4': 'Blob 4', // same-as-en
'journey.studio.shapeName.heart-round': 'Cuore rotondo',
'journey.studio.shapeName.heart-pair': 'Due cuori',
'journey.studio.shapeName.flower-8': 'Fiore a otto petali',
'journey.studio.shapeName.banner-ribbon': 'Banner a nastro',
'journey.studio.shapeName.banner-pennant': 'Gagliardetto',
'journey.studio.shapeName.banner-bookmark': 'Segnalibro',
'journey.studio.shapeName.banner-flag': 'Banner a bandiera',
'journey.studio.shapeName.ribbon-ends': 'Nastro con estremità ripiegate',
'journey.studio.shapeName.ribbon-arc': 'Nastro ad arco',
'journey.studio.shapeName.wavy-band': 'Fascia ondulata',
'journey.studio.shapeName.torn-strip': 'Striscia strappata',
'journey.studio.shapeName.arch-tall': 'Arco alto',
'journey.studio.shapeName.arch-pointed': 'Arco a sesto acuto',
'journey.studio.shapeName.arch-double': 'Arco doppio',
'journey.studio.shapeName.arch-half': 'Mezzo arco',
'journey.studio.shapeName.arch-rainbow': 'Arco arcobaleno',
'journey.studio.shapeName.leaf-palm': 'Foglia di palma',
'journey.studio.shapeName.leaf-oak': 'Foglia di quercia',
'journey.studio.shapeName.leaf-long': 'Foglia lunga',
'journey.studio.shapeName.leaf-monstera': 'Foglia di monstera',
'journey.studio.shapeName.coral-1': 'Corallo 1',
'journey.studio.shapeName.coral-2': 'Corallo 2',
'journey.studio.shapeName.seaweed': 'Alga',
'journey.studio.shapeName.star-organic': 'Stella organica',
'journey.studio.shapeName.sun-cutout': 'Sole ritagliato',
'journey.studio.shapeName.organic-1': 'Forma organica 1',
'journey.studio.shapeName.organic-2': 'Forma organica 2',
'journey.studio.shapeName.organic-3': 'Forma organica 3',
'journey.studio.shapeName.stamp-rect': 'Francobollo rettangolare',
'journey.studio.shapeName.stamp-circle': 'Timbro rotondo',
'journey.studio.shapeName.postmark': 'Timbro postale',
'journey.studio.shapeName.rosette': 'Rosetta',
'journey.studio.shapeName.scallop-circle': 'Cerchio smerlato',
'journey.studio.shapeName.badge-shield': 'Distintivo a scudo',
'journey.studio.shapeName.label-tab': 'Etichetta con linguetta',
'journey.studio.shapeName.ticket-stub': 'Matrice del biglietto',
'journey.studio.shapeName.sunburst-12': 'Raggiera a 12 raggi',
'journey.studio.shapeName.sunburst-24': 'Raggiera a 24 raggi',
'journey.studio.shapeName.frame-notched': 'Cornice dentellata',
'journey.studio.shapeName.frame-chamfer': 'Cornice smussata',
'journey.studio.shapeName.frame-cushion': 'Cornice a cuscino',
'journey.studio.shapeName.flourish-scroll': 'Ornamento a voluta',
'journey.studio.shapeName.laurel': 'Alloro',
'journey.studio.shapeName.fleuron': 'Fiorone',
'journey.studio.shapeName.corner-flourish': "Ornamento d'angolo",
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Corona d’alloro',
'journey.studio.sticker.cornerFlourish': 'Angolo con svolazzo',
'journey.studio.sticker.cornerScroll': 'Angolo a volute',
'journey.studio.sticker.parthenon': 'Partenone',
'journey.studio.sticker.milanDuomo': 'Duomo di Milano',
'journey.studio.sticker.canalHouses': 'Case sul canale',
'journey.studio.sticker.gondola': 'Gondola', // same-as-en
'journey.studio.sticker.lisbonTram': 'Tram di Lisbona',
'journey.studio.sticker.celticHarp': 'Arpa celtica',
'journey.studio.sticker.tiger': 'Tigre',
'journey.studio.sticker.monkey': 'Scimmia',
'journey.studio.sticker.camel': 'Cammello',
'journey.studio.sticker.doodlePalm': 'Palma disegnata',
'journey.studio.sticker.doodleWaves': 'Onde disegnate',
'journey.studio.sticker.doodleSunRays': 'Sole nascente disegnato',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'うろこ',
'journey.studio.pattern.sunburst': 'サンバースト',
'journey.studio.pattern.confetti': '紙吹雪',
'journey.studio.pattern.linen': 'リネン',
'journey.studio.pattern.grain': '紙の質感',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'ダブルクリックで削除',
'assistant.card.book.finding.hairline': '印刷するには細すぎる線',
'assistant.card.book.finding.edge_unused': 'この図形では使えない縁',
'journey.studio.shapeName.rect': '長方形',
'journey.studio.shapeName.squircle': '角丸四角形',
'journey.studio.shapeName.ellipse': '楕円',
'journey.studio.shapeName.capsule': 'カプセル',
'journey.studio.shapeName.triangle': '三角形',
'journey.studio.shapeName.triangle-down': '逆三角形',
'journey.studio.shapeName.diamond': 'ひし形',
'journey.studio.shapeName.parallelogram': '平行四辺形',
'journey.studio.shapeName.trapezoid': '台形',
'journey.studio.shapeName.arch': 'アーチ',
'journey.studio.shapeName.half-circle': '半円',
'journey.studio.shapeName.quarter-circle': '四分円',
'journey.studio.shapeName.pentagon': '五角形',
'journey.studio.shapeName.hexagon': '六角形',
'journey.studio.shapeName.hexagon-flat': '平らな六角形',
'journey.studio.shapeName.heptagon': '七角形',
'journey.studio.shapeName.octagon': '八角形',
'journey.studio.shapeName.star-4': '四芒星',
'journey.studio.shapeName.star-5': '五芒星',
'journey.studio.shapeName.star-6': '六芒星',
'journey.studio.shapeName.star-8': '八芒星',
'journey.studio.shapeName.star-12': '十二芒星',
'journey.studio.shapeName.burst': 'バースト',
'journey.studio.shapeName.seal': 'シール',
'journey.studio.shapeName.sparkle': 'きらめき',
'journey.studio.shapeName.star-rounded': '丸い星',
'journey.studio.shapeName.star-twinkle': 'またたく星',
'journey.studio.shapeName.arrow-right': '右矢印',
'journey.studio.shapeName.arrow-left': '左矢印',
'journey.studio.shapeName.arrow-up': '上矢印',
'journey.studio.shapeName.arrow-down': '下矢印',
'journey.studio.shapeName.arrow-both': '両矢印',
'journey.studio.shapeName.chevron-right': '右シェブロン',
'journey.studio.shapeName.chevron-left': '左シェブロン',
'journey.studio.shapeName.arrow-bent': '折れ矢印',
'journey.studio.shapeName.arrow-curve': '曲線矢印',
'journey.studio.shapeName.arrow-circle': '円形矢印',
'journey.studio.shapeName.arrow-notched': '切り込み矢印',
'journey.studio.shapeName.arrow-thin': '細い矢印',
'journey.studio.shapeName.bubble-round': '丸い吹き出し',
'journey.studio.shapeName.bubble-square': '四角い吹き出し',
'journey.studio.shapeName.bubble-oval': '楕円の吹き出し',
'journey.studio.shapeName.bubble-think': '考え中の吹き出し',
'journey.studio.shapeName.bubble-shout': '叫びの吹き出し',
'journey.studio.shapeName.bubble-side': '横向きの吹き出し',
'journey.studio.shapeName.bubble-capsule': 'カプセル型吹き出し',
'journey.studio.shapeName.pin': '地図ピン',
'journey.studio.shapeName.compass': 'コンパス',
'journey.studio.shapeName.mountain': '山',
'journey.studio.shapeName.sun': '太陽',
'journey.studio.shapeName.moon': '月',
'journey.studio.shapeName.cloud': '雲',
'journey.studio.shapeName.cloud-puffy': 'もこもこ雲',
'journey.studio.shapeName.drop': 'しずく',
'journey.studio.shapeName.wave': '波',
'journey.studio.shapeName.leaf': '葉',
'journey.studio.shapeName.shield': '盾',
'journey.studio.shapeName.ticket': 'チケット',
'journey.studio.shapeName.heart': 'ハート',
'journey.studio.shapeName.flower-5': '五弁の花',
'journey.studio.shapeName.flower-6': '六弁の花',
'journey.studio.shapeName.cross': '十字',
'journey.studio.shapeName.plus': 'プラス',
'journey.studio.shapeName.gear': '歯車',
'journey.studio.shapeName.blob-1': 'ブロブ 1',
'journey.studio.shapeName.blob-2': 'ブロブ 2',
'journey.studio.shapeName.blob-3': 'ブロブ 3',
'journey.studio.shapeName.blob-4': 'ブロブ 4',
'journey.studio.shapeName.heart-round': '丸いハート',
'journey.studio.shapeName.heart-pair': 'ハート2つ',
'journey.studio.shapeName.flower-8': '八弁の花',
'journey.studio.shapeName.banner-ribbon': 'リボンバナー',
'journey.studio.shapeName.banner-pennant': 'ペナント',
'journey.studio.shapeName.banner-bookmark': 'しおり',
'journey.studio.shapeName.banner-flag': '旗バナー',
'journey.studio.shapeName.ribbon-ends': '折り返しリボン',
'journey.studio.shapeName.ribbon-arc': 'アーチ型リボン',
'journey.studio.shapeName.wavy-band': '波状の帯',
'journey.studio.shapeName.torn-strip': 'ちぎれた帯',
'journey.studio.shapeName.arch-tall': '縦長アーチ',
'journey.studio.shapeName.arch-pointed': '尖頭アーチ',
'journey.studio.shapeName.arch-double': 'ダブルアーチ',
'journey.studio.shapeName.arch-half': '半アーチ',
'journey.studio.shapeName.arch-rainbow': '虹アーチ',
'journey.studio.shapeName.leaf-palm': 'ヤシの葉',
'journey.studio.shapeName.leaf-oak': 'オークの葉',
'journey.studio.shapeName.leaf-long': '細長い葉',
'journey.studio.shapeName.leaf-monstera': 'モンステラの葉',
'journey.studio.shapeName.coral-1': 'サンゴ 1',
'journey.studio.shapeName.coral-2': 'サンゴ 2',
'journey.studio.shapeName.seaweed': '海藻',
'journey.studio.shapeName.star-organic': '有機的な星',
'journey.studio.shapeName.sun-cutout': '切り抜き太陽',
'journey.studio.shapeName.organic-1': 'オーガニック 1',
'journey.studio.shapeName.organic-2': 'オーガニック 2',
'journey.studio.shapeName.organic-3': 'オーガニック 3',
'journey.studio.shapeName.stamp-rect': '長方形スタンプ',
'journey.studio.shapeName.stamp-circle': '丸いスタンプ',
'journey.studio.shapeName.postmark': '消印',
'journey.studio.shapeName.rosette': 'ロゼット',
'journey.studio.shapeName.scallop-circle': 'スカラップ円',
'journey.studio.shapeName.badge-shield': '盾型バッジ',
'journey.studio.shapeName.label-tab': 'ラベルタブ',
'journey.studio.shapeName.ticket-stub': 'チケットの半券',
'journey.studio.shapeName.sunburst-12': 'サンバースト 12本',
'journey.studio.shapeName.sunburst-24': 'サンバースト 24本',
'journey.studio.shapeName.frame-notched': '切り欠きフレーム',
'journey.studio.shapeName.frame-chamfer': '面取りフレーム',
'journey.studio.shapeName.frame-cushion': 'クッションフレーム',
'journey.studio.shapeName.flourish-scroll': '渦巻き装飾',
'journey.studio.shapeName.laurel': '月桂樹',
'journey.studio.shapeName.fleuron': '花形装飾',
'journey.studio.shapeName.corner-flourish': 'コーナー装飾',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': '月桂冠',
'journey.studio.sticker.cornerFlourish': '飾り罫の角',
'journey.studio.sticker.cornerScroll': '渦巻き模様の角',
'journey.studio.sticker.parthenon': 'パルテノン神殿',
'journey.studio.sticker.milanDuomo': 'ミラノ大聖堂',
'journey.studio.sticker.canalHouses': '運河沿いの家並み',
'journey.studio.sticker.gondola': 'ゴンドラ',
'journey.studio.sticker.lisbonTram': 'リスボンの路面電車',
'journey.studio.sticker.celticHarp': 'ケルティックハープ',
'journey.studio.sticker.tiger': 'トラ',
'journey.studio.sticker.monkey': 'サル',
'journey.studio.sticker.camel': 'ラクダ',
'journey.studio.sticker.doodlePalm': '手描きのヤシ',
'journey.studio.sticker.doodleWaves': '手描きの波',
'journey.studio.sticker.doodleSunRays': '手描きの朝日',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': '비늘',
'journey.studio.pattern.sunburst': '햇살',
'journey.studio.pattern.confetti': '색종이 조각',
'journey.studio.pattern.linen': '리넨',
'journey.studio.pattern.grain': '종이 질감',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': '두 번 클릭해 제거',
'assistant.card.book.finding.hairline': '인쇄하기에 너무 가는 선',
'assistant.card.book.finding.edge_unused': '이 도형이 받지 않는 가장자리',
'journey.studio.shapeName.rect': '직사각형',
'journey.studio.shapeName.squircle': '둥근 사각형',
'journey.studio.shapeName.ellipse': '타원',
'journey.studio.shapeName.capsule': '캡슐',
'journey.studio.shapeName.triangle': '삼각형',
'journey.studio.shapeName.triangle-down': '아래쪽 삼각형',
'journey.studio.shapeName.diamond': '마름모',
'journey.studio.shapeName.parallelogram': '평행사변형',
'journey.studio.shapeName.trapezoid': '사다리꼴',
'journey.studio.shapeName.arch': '아치',
'journey.studio.shapeName.half-circle': '반원',
'journey.studio.shapeName.quarter-circle': '부채꼴',
'journey.studio.shapeName.pentagon': '오각형',
'journey.studio.shapeName.hexagon': '육각형',
'journey.studio.shapeName.hexagon-flat': '납작한 육각형',
'journey.studio.shapeName.heptagon': '칠각형',
'journey.studio.shapeName.octagon': '팔각형',
'journey.studio.shapeName.star-4': '4각 별',
'journey.studio.shapeName.star-5': '5각 별',
'journey.studio.shapeName.star-6': '6각 별',
'journey.studio.shapeName.star-8': '8각 별',
'journey.studio.shapeName.star-12': '12각 별',
'journey.studio.shapeName.burst': '폭발',
'journey.studio.shapeName.seal': '인장',
'journey.studio.shapeName.sparkle': '반짝임',
'journey.studio.shapeName.star-rounded': '둥근 별',
'journey.studio.shapeName.star-twinkle': '반짝이는 별',
'journey.studio.shapeName.arrow-right': '오른쪽 화살표',
'journey.studio.shapeName.arrow-left': '왼쪽 화살표',
'journey.studio.shapeName.arrow-up': '위쪽 화살표',
'journey.studio.shapeName.arrow-down': '아래쪽 화살표',
'journey.studio.shapeName.arrow-both': '양방향 화살표',
'journey.studio.shapeName.chevron-right': '오른쪽 쉐브론',
'journey.studio.shapeName.chevron-left': '왼쪽 쉐브론',
'journey.studio.shapeName.arrow-bent': '꺾인 화살표',
'journey.studio.shapeName.arrow-curve': '곡선 화살표',
'journey.studio.shapeName.arrow-circle': '원형 화살표',
'journey.studio.shapeName.arrow-notched': '홈이 있는 화살표',
'journey.studio.shapeName.arrow-thin': '가는 화살표',
'journey.studio.shapeName.bubble-round': '둥근 말풍선',
'journey.studio.shapeName.bubble-square': '사각 말풍선',
'journey.studio.shapeName.bubble-oval': '타원 말풍선',
'journey.studio.shapeName.bubble-think': '생각 말풍선',
'journey.studio.shapeName.bubble-shout': '외침 말풍선',
'journey.studio.shapeName.bubble-side': '옆으로 향한 말풍선',
'journey.studio.shapeName.bubble-capsule': '캡슐 말풍선',
'journey.studio.shapeName.pin': '지도 핀',
'journey.studio.shapeName.compass': '나침반',
'journey.studio.shapeName.mountain': '산',
'journey.studio.shapeName.sun': '태양',
'journey.studio.shapeName.moon': '달',
'journey.studio.shapeName.cloud': '구름',
'journey.studio.shapeName.cloud-puffy': '몽실몽실한 구름',
'journey.studio.shapeName.drop': '물방울',
'journey.studio.shapeName.wave': '물결',
'journey.studio.shapeName.leaf': '나뭇잎',
'journey.studio.shapeName.shield': '방패',
'journey.studio.shapeName.ticket': '티켓',
'journey.studio.shapeName.heart': '하트',
'journey.studio.shapeName.flower-5': '5장 꽃잎 꽃',
'journey.studio.shapeName.flower-6': '6장 꽃잎 꽃',
'journey.studio.shapeName.cross': '십자가',
'journey.studio.shapeName.plus': '플러스',
'journey.studio.shapeName.gear': '톱니바퀴',
'journey.studio.shapeName.blob-1': '블롭 1',
'journey.studio.shapeName.blob-2': '블롭 2',
'journey.studio.shapeName.blob-3': '블롭 3',
'journey.studio.shapeName.blob-4': '블롭 4',
'journey.studio.shapeName.heart-round': '둥근 하트',
'journey.studio.shapeName.heart-pair': '두 개의 하트',
'journey.studio.shapeName.flower-8': '8장 꽃잎 꽃',
'journey.studio.shapeName.banner-ribbon': '리본 배너',
'journey.studio.shapeName.banner-pennant': '페넌트',
'journey.studio.shapeName.banner-bookmark': '북마크',
'journey.studio.shapeName.banner-flag': '깃발 배너',
'journey.studio.shapeName.ribbon-ends': '접힌 끝 리본',
'journey.studio.shapeName.ribbon-arc': '아치형 리본',
'journey.studio.shapeName.wavy-band': '물결 띠',
'journey.studio.shapeName.torn-strip': '찢어진 띠',
'journey.studio.shapeName.arch-tall': '높은 아치',
'journey.studio.shapeName.arch-pointed': '뾰족한 아치',
'journey.studio.shapeName.arch-double': '이중 아치',
'journey.studio.shapeName.arch-half': '반 아치',
'journey.studio.shapeName.arch-rainbow': '무지개 아치',
'journey.studio.shapeName.leaf-palm': '야자잎',
'journey.studio.shapeName.leaf-oak': '참나무잎',
'journey.studio.shapeName.leaf-long': '긴 잎',
'journey.studio.shapeName.leaf-monstera': '몬스테라 잎',
'journey.studio.shapeName.coral-1': '산호 1',
'journey.studio.shapeName.coral-2': '산호 2',
'journey.studio.shapeName.seaweed': '해초',
'journey.studio.shapeName.star-organic': '유기적인 별',
'journey.studio.shapeName.sun-cutout': '오려낸 태양',
'journey.studio.shapeName.organic-1': '유기적 도형 1',
'journey.studio.shapeName.organic-2': '유기적 도형 2',
'journey.studio.shapeName.organic-3': '유기적 도형 3',
'journey.studio.shapeName.stamp-rect': '사각 스탬프',
'journey.studio.shapeName.stamp-circle': '원형 스탬프',
'journey.studio.shapeName.postmark': '소인',
'journey.studio.shapeName.rosette': '로제트',
'journey.studio.shapeName.scallop-circle': '물결 가장자리 원',
'journey.studio.shapeName.badge-shield': '방패 배지',
'journey.studio.shapeName.label-tab': '라벨 탭',
'journey.studio.shapeName.ticket-stub': '티켓 반쪽',
'journey.studio.shapeName.sunburst-12': '선버스트 12줄기',
'journey.studio.shapeName.sunburst-24': '선버스트 24줄기',
'journey.studio.shapeName.frame-notched': '홈이 있는 프레임',
'journey.studio.shapeName.frame-chamfer': '모서리를 깎은 프레임',
'journey.studio.shapeName.frame-cushion': '쿠션 프레임',
'journey.studio.shapeName.flourish-scroll': '두루마리 장식',
'journey.studio.shapeName.laurel': '월계관',
'journey.studio.shapeName.fleuron': '꽃 장식',
'journey.studio.shapeName.corner-flourish': '모서리 장식',
};
export default studioShapes;
+12
View File
@@ -174,6 +174,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': '월계관',
'journey.studio.sticker.cornerFlourish': '장식 모서리',
'journey.studio.sticker.cornerScroll': '소용돌이 모서리',
'journey.studio.sticker.parthenon': '파르테논 신전',
'journey.studio.sticker.milanDuomo': '밀라노 대성당',
'journey.studio.sticker.canalHouses': '운하 주택',
'journey.studio.sticker.gondola': '곤돌라',
'journey.studio.sticker.lisbonTram': '리스본 트램',
'journey.studio.sticker.celticHarp': '켈틱 하프',
'journey.studio.sticker.tiger': '호랑이',
'journey.studio.sticker.monkey': '원숭이',
'journey.studio.sticker.camel': '낙타',
'journey.studio.sticker.doodlePalm': '손그림 야자수',
'journey.studio.sticker.doodleWaves': '손그림 파도',
'journey.studio.sticker.doodleSunRays': '손그림 떠오르는 해',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Schubben',
'journey.studio.pattern.sunburst': 'Zonnestralen',
'journey.studio.pattern.confetti': 'Confetti', // same-as-en
'journey.studio.pattern.linen': 'Linnen',
'journey.studio.pattern.grain': 'Papierkorrel',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Dubbelklik om te verwijderen',
'assistant.card.book.finding.hairline': 'Een lijn te dun om te drukken',
'assistant.card.book.finding.edge_unused': 'Een rand die deze vorm niet aanneemt',
'journey.studio.shapeName.rect': 'Rechthoek',
'journey.studio.shapeName.squircle': 'Afgeronde vierkant',
'journey.studio.shapeName.ellipse': 'Ellips',
'journey.studio.shapeName.capsule': 'Capsule', // same-as-en
'journey.studio.shapeName.triangle': 'Driehoek',
'journey.studio.shapeName.triangle-down': 'Driehoek omlaag',
'journey.studio.shapeName.diamond': 'Ruit',
'journey.studio.shapeName.parallelogram': 'Parallellogram',
'journey.studio.shapeName.trapezoid': 'Trapezium',
'journey.studio.shapeName.arch': 'Boog',
'journey.studio.shapeName.half-circle': 'Halve cirkel',
'journey.studio.shapeName.quarter-circle': 'Kwartcirkel',
'journey.studio.shapeName.pentagon': 'Vijfhoek',
'journey.studio.shapeName.hexagon': 'Zeshoek',
'journey.studio.shapeName.hexagon-flat': 'Platte zeshoek',
'journey.studio.shapeName.heptagon': 'Zevenhoek',
'journey.studio.shapeName.octagon': 'Achthoek',
'journey.studio.shapeName.star-4': 'Vierpuntige ster',
'journey.studio.shapeName.star-5': 'Vijfpuntige ster',
'journey.studio.shapeName.star-6': 'Zespuntige ster',
'journey.studio.shapeName.star-8': 'Achtpuntige ster',
'journey.studio.shapeName.star-12': 'Twaalfpuntige ster',
'journey.studio.shapeName.burst': 'Explosie',
'journey.studio.shapeName.seal': 'Zegel',
'journey.studio.shapeName.sparkle': 'Fonkeling',
'journey.studio.shapeName.star-rounded': 'Afgeronde ster',
'journey.studio.shapeName.star-twinkle': 'Twinkelende ster',
'journey.studio.shapeName.arrow-right': 'Pijl rechts',
'journey.studio.shapeName.arrow-left': 'Pijl links',
'journey.studio.shapeName.arrow-up': 'Pijl omhoog',
'journey.studio.shapeName.arrow-down': 'Pijl omlaag',
'journey.studio.shapeName.arrow-both': 'Dubbele pijl',
'journey.studio.shapeName.chevron-right': 'Chevron rechts',
'journey.studio.shapeName.chevron-left': 'Chevron links',
'journey.studio.shapeName.arrow-bent': 'Gebogen pijl',
'journey.studio.shapeName.arrow-curve': 'Kromme pijl',
'journey.studio.shapeName.arrow-circle': 'Cirkelpijl',
'journey.studio.shapeName.arrow-notched': 'Pijl met inkeping',
'journey.studio.shapeName.arrow-thin': 'Dunne pijl',
'journey.studio.shapeName.bubble-round': 'Ronde spreekbel',
'journey.studio.shapeName.bubble-square': 'Vierkante spreekbel',
'journey.studio.shapeName.bubble-oval': 'Ovale spreekbel',
'journey.studio.shapeName.bubble-think': 'Gedachtebel',
'journey.studio.shapeName.bubble-shout': 'Schreeuwbel',
'journey.studio.shapeName.bubble-side': 'Spreekbel van opzij',
'journey.studio.shapeName.bubble-capsule': 'Capsule spreekbel',
'journey.studio.shapeName.pin': 'Kaartpin',
'journey.studio.shapeName.compass': 'Kompas',
'journey.studio.shapeName.mountain': 'Berg',
'journey.studio.shapeName.sun': 'Zon',
'journey.studio.shapeName.moon': 'Maan',
'journey.studio.shapeName.cloud': 'Wolk',
'journey.studio.shapeName.cloud-puffy': 'Bolle wolk',
'journey.studio.shapeName.drop': 'Druppel',
'journey.studio.shapeName.wave': 'Golf',
'journey.studio.shapeName.leaf': 'Blad',
'journey.studio.shapeName.shield': 'Schild',
'journey.studio.shapeName.ticket': 'Kaartje',
'journey.studio.shapeName.heart': 'Hart',
'journey.studio.shapeName.flower-5': 'Bloem met vijf bladeren',
'journey.studio.shapeName.flower-6': 'Bloem met zes bladeren',
'journey.studio.shapeName.cross': 'Kruis',
'journey.studio.shapeName.plus': 'Plus', // same-as-en
'journey.studio.shapeName.gear': 'Tandwiel',
'journey.studio.shapeName.blob-1': 'Blob 1', // same-as-en
'journey.studio.shapeName.blob-2': 'Blob 2', // same-as-en
'journey.studio.shapeName.blob-3': 'Blob 3', // same-as-en
'journey.studio.shapeName.blob-4': 'Blob 4', // same-as-en
'journey.studio.shapeName.heart-round': 'Rond hart',
'journey.studio.shapeName.heart-pair': 'Twee harten',
'journey.studio.shapeName.flower-8': 'Bloem met acht bladeren',
'journey.studio.shapeName.banner-ribbon': 'Lintbanner',
'journey.studio.shapeName.banner-pennant': 'Wimpel',
'journey.studio.shapeName.banner-bookmark': 'Bladwijzer',
'journey.studio.shapeName.banner-flag': 'Vlagbanner',
'journey.studio.shapeName.ribbon-ends': 'Lint met gevouwen uiteinden',
'journey.studio.shapeName.ribbon-arc': 'Gebogen lint',
'journey.studio.shapeName.wavy-band': 'Golvende band',
'journey.studio.shapeName.torn-strip': 'Gescheurde strook',
'journey.studio.shapeName.arch-tall': 'Hoge boog',
'journey.studio.shapeName.arch-pointed': 'Spitsboog',
'journey.studio.shapeName.arch-double': 'Dubbele boog',
'journey.studio.shapeName.arch-half': 'Halve boog',
'journey.studio.shapeName.arch-rainbow': 'Regenboogboog',
'journey.studio.shapeName.leaf-palm': 'Palmblad',
'journey.studio.shapeName.leaf-oak': 'Eikenblad',
'journey.studio.shapeName.leaf-long': 'Lang blad',
'journey.studio.shapeName.leaf-monstera': 'Monsterablad',
'journey.studio.shapeName.coral-1': 'Koraal 1',
'journey.studio.shapeName.coral-2': 'Koraal 2',
'journey.studio.shapeName.seaweed': 'Zeewier',
'journey.studio.shapeName.star-organic': 'Organische ster',
'journey.studio.shapeName.sun-cutout': 'Uitgesneden zon',
'journey.studio.shapeName.organic-1': 'Organische vorm 1',
'journey.studio.shapeName.organic-2': 'Organische vorm 2',
'journey.studio.shapeName.organic-3': 'Organische vorm 3',
'journey.studio.shapeName.stamp-rect': 'Rechthoekige stempel',
'journey.studio.shapeName.stamp-circle': 'Ronde stempel',
'journey.studio.shapeName.postmark': 'Poststempel',
'journey.studio.shapeName.rosette': 'Rozet',
'journey.studio.shapeName.scallop-circle': 'Cirkel met geschulpte rand',
'journey.studio.shapeName.badge-shield': 'Schildbadge',
'journey.studio.shapeName.label-tab': 'Labeltab',
'journey.studio.shapeName.ticket-stub': 'Kaartjesstrook',
'journey.studio.shapeName.sunburst-12': 'Zonnestralen, 12 stralen',
'journey.studio.shapeName.sunburst-24': 'Zonnestralen, 24 stralen',
'journey.studio.shapeName.frame-notched': 'Lijst met inkepingen',
'journey.studio.shapeName.frame-chamfer': 'Lijst met afgeschuinde hoeken',
'journey.studio.shapeName.frame-cushion': 'Kussenlijst',
'journey.studio.shapeName.flourish-scroll': 'Krulversiering',
'journey.studio.shapeName.laurel': 'Lauwerkrans',
'journey.studio.shapeName.fleuron': 'Bladornament',
'journey.studio.shapeName.corner-flourish': 'Hoekversiering',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Lauwerkrans',
'journey.studio.sticker.cornerFlourish': 'Hoekkrul',
'journey.studio.sticker.cornerScroll': 'Hoekornament',
'journey.studio.sticker.parthenon': 'Parthenon', // same-as-en
'journey.studio.sticker.milanDuomo': 'Dom van Milaan',
'journey.studio.sticker.canalHouses': 'Grachtenpanden',
'journey.studio.sticker.gondola': 'Gondel',
'journey.studio.sticker.lisbonTram': 'Tram van Lissabon',
'journey.studio.sticker.celticHarp': 'Keltische harp',
'journey.studio.sticker.tiger': 'Tijger',
'journey.studio.sticker.monkey': 'Aap',
'journey.studio.sticker.camel': 'Kameel',
'journey.studio.sticker.doodlePalm': 'Getekende palm',
'journey.studio.sticker.doodleWaves': 'Getekende golven',
'journey.studio.sticker.doodleSunRays': 'Getekende opkomende zon',
};
export default studioStickers;
+2
View File
@@ -45,5 +45,7 @@ const studioPaint: TranslationStrings = {
'journey.studio.pattern.scales': 'Łuski',
'journey.studio.pattern.sunburst': 'Promienie',
'journey.studio.pattern.confetti': 'Konfetti',
'journey.studio.pattern.linen': 'Len',
'journey.studio.pattern.grain': 'Faktura papieru',
};
export default studioPaint;
+113
View File
@@ -66,5 +66,118 @@ const studioShapes: TranslationStrings = {
'journey.studio.removePoint': 'Kliknij dwukrotnie, aby usunąć',
'assistant.card.book.finding.hairline': 'Linia zbyt cienka do druku',
'assistant.card.book.finding.edge_unused': 'Krawędź, której ten kształt nie przyjmuje',
'journey.studio.shapeName.rect': 'Prostokąt',
'journey.studio.shapeName.squircle': 'Zaokrąglony kwadrat',
'journey.studio.shapeName.ellipse': 'Elipsa',
'journey.studio.shapeName.capsule': 'Kapsuła',
'journey.studio.shapeName.triangle': 'Trójkąt',
'journey.studio.shapeName.triangle-down': 'Trójkąt skierowany w dół',
'journey.studio.shapeName.diamond': 'Romb',
'journey.studio.shapeName.parallelogram': 'Równoległobok',
'journey.studio.shapeName.trapezoid': 'Trapez',
'journey.studio.shapeName.arch': 'Łuk',
'journey.studio.shapeName.half-circle': 'Półkole',
'journey.studio.shapeName.quarter-circle': 'Ćwiartka koła',
'journey.studio.shapeName.pentagon': 'Pięciokąt',
'journey.studio.shapeName.hexagon': 'Sześciokąt',
'journey.studio.shapeName.hexagon-flat': 'Płaski sześciokąt',
'journey.studio.shapeName.heptagon': 'Siedmiokąt',
'journey.studio.shapeName.octagon': 'Ośmiokąt',
'journey.studio.shapeName.star-4': 'Gwiazda czteroramienna',
'journey.studio.shapeName.star-5': 'Gwiazda pięcioramienna',
'journey.studio.shapeName.star-6': 'Gwiazda sześcioramienna',
'journey.studio.shapeName.star-8': 'Gwiazda ośmioramienna',
'journey.studio.shapeName.star-12': 'Gwiazda dwunastoramienna',
'journey.studio.shapeName.burst': 'Wybuch',
'journey.studio.shapeName.seal': 'Pieczęć',
'journey.studio.shapeName.sparkle': 'Iskra',
'journey.studio.shapeName.star-rounded': 'Zaokrąglona gwiazda',
'journey.studio.shapeName.star-twinkle': 'Migocząca gwiazda',
'journey.studio.shapeName.arrow-right': 'Strzałka w prawo',
'journey.studio.shapeName.arrow-left': 'Strzałka w lewo',
'journey.studio.shapeName.arrow-up': 'Strzałka w górę',
'journey.studio.shapeName.arrow-down': 'Strzałka w dół',
'journey.studio.shapeName.arrow-both': 'Podwójna strzałka',
'journey.studio.shapeName.chevron-right': 'Szewron w prawo',
'journey.studio.shapeName.chevron-left': 'Szewron w lewo',
'journey.studio.shapeName.arrow-bent': 'Zagięta strzałka',
'journey.studio.shapeName.arrow-curve': 'Zakrzywiona strzałka',
'journey.studio.shapeName.arrow-circle': 'Kolista strzałka',
'journey.studio.shapeName.arrow-notched': 'Strzałka z wcięciem',
'journey.studio.shapeName.arrow-thin': 'Cienka strzałka',
'journey.studio.shapeName.bubble-round': 'Okrągła chmurka dialogowa',
'journey.studio.shapeName.bubble-square': 'Kwadratowa chmurka dialogowa',
'journey.studio.shapeName.bubble-oval': 'Owalna chmurka dialogowa',
'journey.studio.shapeName.bubble-think': 'Chmurka myśli',
'journey.studio.shapeName.bubble-shout': 'Chmurka krzyku',
'journey.studio.shapeName.bubble-side': 'Boczna chmurka dialogowa',
'journey.studio.shapeName.bubble-capsule': 'Kapsułowa chmurka dialogowa',
'journey.studio.shapeName.pin': 'Pinezka mapy',
'journey.studio.shapeName.compass': 'Kompas',
'journey.studio.shapeName.mountain': 'Góra',
'journey.studio.shapeName.sun': 'Słońce',
'journey.studio.shapeName.moon': 'Księżyc',
'journey.studio.shapeName.cloud': 'Chmura',
'journey.studio.shapeName.cloud-puffy': 'Puszysta chmura',
'journey.studio.shapeName.drop': 'Kropla',
'journey.studio.shapeName.wave': 'Fala',
'journey.studio.shapeName.leaf': 'Liść',
'journey.studio.shapeName.shield': 'Tarcza',
'journey.studio.shapeName.ticket': 'Bilet',
'journey.studio.shapeName.heart': 'Serce',
'journey.studio.shapeName.flower-5': 'Kwiat pięciopłatkowy',
'journey.studio.shapeName.flower-6': 'Kwiat sześciopłatkowy',
'journey.studio.shapeName.cross': 'Krzyż',
'journey.studio.shapeName.plus': 'Plus', // same-as-en
'journey.studio.shapeName.gear': 'Koło zębate',
'journey.studio.shapeName.blob-1': 'Plama 1',
'journey.studio.shapeName.blob-2': 'Plama 2',
'journey.studio.shapeName.blob-3': 'Plama 3',
'journey.studio.shapeName.blob-4': 'Plama 4',
'journey.studio.shapeName.heart-round': 'Okrągłe serce',
'journey.studio.shapeName.heart-pair': 'Dwa serca',
'journey.studio.shapeName.flower-8': 'Kwiat ośmiopłatkowy',
'journey.studio.shapeName.banner-ribbon': 'Baner wstęga',
'journey.studio.shapeName.banner-pennant': 'Proporczyk',
'journey.studio.shapeName.banner-bookmark': 'Zakładka',
'journey.studio.shapeName.banner-flag': 'Baner flaga',
'journey.studio.shapeName.ribbon-ends': 'Wstęga ze złożonymi końcami',
'journey.studio.shapeName.ribbon-arc': 'Łukowata wstęga',
'journey.studio.shapeName.wavy-band': 'Falista opaska',
'journey.studio.shapeName.torn-strip': 'Postrzępiony pasek',
'journey.studio.shapeName.arch-tall': 'Wysoki łuk',
'journey.studio.shapeName.arch-pointed': 'Łuk ostry',
'journey.studio.shapeName.arch-double': 'Podwójny łuk',
'journey.studio.shapeName.arch-half': 'Półłuk',
'journey.studio.shapeName.arch-rainbow': 'Łuk tęczowy',
'journey.studio.shapeName.leaf-palm': 'Liść palmy',
'journey.studio.shapeName.leaf-oak': 'Liść dębu',
'journey.studio.shapeName.leaf-long': 'Długi liść',
'journey.studio.shapeName.leaf-monstera': 'Liść monstery',
'journey.studio.shapeName.coral-1': 'Koral 1',
'journey.studio.shapeName.coral-2': 'Koral 2',
'journey.studio.shapeName.seaweed': 'Wodorost',
'journey.studio.shapeName.star-organic': 'Organiczna gwiazda',
'journey.studio.shapeName.sun-cutout': 'Wycięte słońce',
'journey.studio.shapeName.organic-1': 'Organiczny kształt 1',
'journey.studio.shapeName.organic-2': 'Organiczny kształt 2',
'journey.studio.shapeName.organic-3': 'Organiczny kształt 3',
'journey.studio.shapeName.stamp-rect': 'Prostokątny stempel',
'journey.studio.shapeName.stamp-circle': 'Okrągły stempel',
'journey.studio.shapeName.postmark': 'Stempel pocztowy',
'journey.studio.shapeName.rosette': 'Rozeta',
'journey.studio.shapeName.scallop-circle': 'Koło z falbanką',
'journey.studio.shapeName.badge-shield': 'Odznaka tarcza',
'journey.studio.shapeName.label-tab': 'Zakładka etykiety',
'journey.studio.shapeName.ticket-stub': 'Odcinek biletu',
'journey.studio.shapeName.sunburst-12': 'Promienie słońca, 12',
'journey.studio.shapeName.sunburst-24': 'Promienie słońca, 24',
'journey.studio.shapeName.frame-notched': 'Ramka z wcięciami',
'journey.studio.shapeName.frame-chamfer': 'Ramka ze ściętymi rogami',
'journey.studio.shapeName.frame-cushion': 'Ramka poduszkowa',
'journey.studio.shapeName.flourish-scroll': 'Ozdobny zwój',
'journey.studio.shapeName.laurel': 'Wawrzyn',
'journey.studio.shapeName.fleuron': 'Floron',
'journey.studio.shapeName.corner-flourish': 'Ozdoba narożna',
};
export default studioShapes;
+12
View File
@@ -175,6 +175,18 @@ const studioStickers: TranslationStrings = {
'journey.studio.sticker.laurelWreath': 'Wieniec laurowy',
'journey.studio.sticker.cornerFlourish': 'Ozdobny róg',
'journey.studio.sticker.cornerScroll': 'Róg ze ślimacznicą',
'journey.studio.sticker.parthenon': 'Partenon',
'journey.studio.sticker.milanDuomo': 'Katedra w Mediolanie',
'journey.studio.sticker.canalHouses': 'Kamienice nad kanałem',
'journey.studio.sticker.gondola': 'Gondola', // same-as-en
'journey.studio.sticker.lisbonTram': 'Tramwaj w Lizbonie',
'journey.studio.sticker.celticHarp': 'Harfa celtycka',
'journey.studio.sticker.tiger': 'Tygrys',
'journey.studio.sticker.monkey': 'Małpa',
'journey.studio.sticker.camel': 'Wielbłąd',
'journey.studio.sticker.doodlePalm': 'Rysowana palma',
'journey.studio.sticker.doodleWaves': 'Rysowane fale',
'journey.studio.sticker.doodleSunRays': 'Rysowane wschodzące słońce',
};
export default studioStickers;

Some files were not shown because too many files have changed in this diff Show More