mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-24 07:53:09 +00:00
fix(studio): the reindeer's antlers sit on its head, every sticker on a tile of one size, no theme chips, and the weight on Studio's own slider
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import { BOOK_STICKER_THEMES, type BookPageSetup, type BookStickerTheme } from '@trek/shared';
|
||||
import { BOOK_STICKER_THEMES, type BookPageSetup } from '@trek/shared';
|
||||
import { bookStickersOf, type BookStickerDef } from '@trek/shared/stickers';
|
||||
import { Search, X } from 'lucide-react';
|
||||
import { useMemo, useState, type DragEvent } from 'react';
|
||||
|
||||
import { useStudioStore } from '../../store/studioStore';
|
||||
import '../../styles/studio-stickers.css';
|
||||
import { StickerArt } from './StickerView';
|
||||
import { PanelHead } from './StudioPanelHead';
|
||||
import {
|
||||
@@ -37,7 +38,7 @@ function StickerTile({ def, t, onPick }: { def: BookStickerDef; t: Translate; on
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
className="st-shape-btn is-glyph"
|
||||
className="st-shape-btn st-sticker-btn"
|
||||
draggable
|
||||
onDragStart={onDragStart}
|
||||
onClick={() => onPick(def)}
|
||||
@@ -70,15 +71,14 @@ function StickerGrid({
|
||||
|
||||
export function StudioStickersPanel({ page, t }: { page: BookPageSetup; t: Translate }) {
|
||||
const [query, setQuery] = useState('');
|
||||
const [theme, setTheme] = useState<BookStickerTheme | null>(null);
|
||||
const [recent, setRecent] = useState<BookStickerDef[]>(readRecentStickers);
|
||||
const addElement = useStudioStore((s) => s.addElement);
|
||||
const active = useStudioStore((s) => s.activeSpread);
|
||||
const role = useStudioStore((s) => s.doc?.spreads[s.activeSpread]?.role);
|
||||
const single = role !== undefined && role !== 'inner';
|
||||
|
||||
const matches = useMemo(() => matchStickers(query, theme, t), [query, theme, t]);
|
||||
const browsing = !query.trim() && theme === null;
|
||||
const matches = useMemo(() => matchStickers(query, null, t), [query, t]);
|
||||
const browsing = !query.trim();
|
||||
|
||||
const place = (def: BookStickerDef) => {
|
||||
addElement(active, newStickerElement(def, page, single));
|
||||
@@ -105,32 +105,6 @@ export function StudioStickersPanel({ page, t }: { page: BookPageSetup; t: Trans
|
||||
</div>
|
||||
|
||||
<div className="st-panel-scroll">
|
||||
<div className="st-section">
|
||||
<div className="st-row" role="radiogroup" aria-label={t('journey.studio.stickerThemes')}>
|
||||
<button
|
||||
type="button"
|
||||
role="radio"
|
||||
aria-checked={theme === null}
|
||||
className={`st-chip ${theme === null ? 'is-on' : ''}`}
|
||||
onClick={() => setTheme(null)}
|
||||
>
|
||||
{t('journey.studio.stickersAll')}
|
||||
</button>
|
||||
{BOOK_STICKER_THEMES.map((id) => (
|
||||
<button
|
||||
type="button"
|
||||
key={id}
|
||||
role="radio"
|
||||
aria-checked={theme === id}
|
||||
className={`st-chip ${theme === id ? 'is-on' : ''}`}
|
||||
onClick={() => setTheme(theme === id ? null : id)}
|
||||
>
|
||||
{stickerThemeLabel(t, id)}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{browsing && recent.length > 0 && (
|
||||
<div className="st-section">
|
||||
<div className="st-section-label">{t('journey.studio.stickersRecent')}</div>
|
||||
@@ -138,7 +112,7 @@ export function StudioStickersPanel({ page, t }: { page: BookPageSetup; t: Trans
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Browsing, the library by theme; searching or filtered, one grid of what matches. */}
|
||||
{/* Browsing, the library by theme; searching, one grid of what matches. */}
|
||||
{browsing ? (
|
||||
BOOK_STICKER_THEMES.map((id) => (
|
||||
<div className="st-section" key={id}>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { BookWeight } from '@trek/shared';
|
||||
import '../../styles/studio-paint.css';
|
||||
import { BOOK_FONTS, nearestWeight, type BookFontId } from './bookFonts';
|
||||
import { Line } from './StudioControls';
|
||||
|
||||
@@ -41,19 +42,21 @@ export function WeightLine({
|
||||
<Line label={t('journey.studio.weight')}>
|
||||
<div className="st-field st-weight">
|
||||
{weights.length > 1 ? (
|
||||
<input
|
||||
type="range"
|
||||
min={0}
|
||||
max={weights.length - 1}
|
||||
step={1}
|
||||
value={at}
|
||||
aria-label={t('journey.studio.weight')}
|
||||
aria-valuetext={word}
|
||||
onChange={(e) => {
|
||||
const next = weights[Number(e.target.value)];
|
||||
if (next !== undefined) onPick(next);
|
||||
}}
|
||||
/>
|
||||
<span className="st-paint-slider st-weight-slider">
|
||||
<input
|
||||
type="range"
|
||||
min={0}
|
||||
max={weights.length - 1}
|
||||
step={1}
|
||||
value={at}
|
||||
aria-label={t('journey.studio.weight')}
|
||||
aria-valuetext={word}
|
||||
onChange={(e) => {
|
||||
const next = weights[Number(e.target.value)];
|
||||
if (next !== undefined) onPick(next);
|
||||
}}
|
||||
/>
|
||||
</span>
|
||||
) : (
|
||||
<span className="st-weight-only">{t('journey.studio.weightOnly')}</span>
|
||||
)}
|
||||
|
||||
@@ -148,6 +148,10 @@
|
||||
.trek-dash .st-weight {
|
||||
width: 100%;
|
||||
}
|
||||
.trek-dash .st-weight > .st-weight-slider {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
.trek-dash .st-weight > .st-weight-value,
|
||||
.trek-dash .st-weight > .st-weight-only {
|
||||
font-size: calc(11.5px * var(--fs-scale-caption, 1));
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
/* The sticker library: every sticker on a square tile of the same size, drawn
|
||||
to fit inside it whether it is tall, wide or round. */
|
||||
.trek-dash .st-sticker-btn {
|
||||
min-height: 0;
|
||||
padding: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.trek-dash .st-sticker-btn svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
@@ -106,12 +106,10 @@ describe('the stickers panel', () => {
|
||||
expect(screen.getByText('journey.studio.stickersRecent')).toBeTruthy();
|
||||
});
|
||||
|
||||
it('filters by theme and by what is typed, and says when nothing matches', () => {
|
||||
it('finds stickers by what is typed, and says when nothing matches', () => {
|
||||
render(<StudioStickersPanel page={page} t={t} />);
|
||||
fireEvent.click(screen.getByRole('radio', { name: 'journey.studio.stickerTheme.food' }));
|
||||
expect(screen.getByRole('button', { name: 'journey.studio.sticker.croissant' })).toBeTruthy();
|
||||
expect(screen.queryByRole('button', { name: 'journey.studio.sticker.eiffelTower' })).toBeNull();
|
||||
fireEvent.click(screen.getByRole('radio', { name: 'journey.studio.stickersAll' }));
|
||||
// No theme chips: the library is browsed by its theme sections and searched by name.
|
||||
expect(screen.queryByRole('radiogroup')).toBeNull();
|
||||
fireEvent.change(screen.getByRole('textbox', { name: 'journey.studio.searchStickers' }), {
|
||||
target: { value: 'zzzz' },
|
||||
});
|
||||
|
||||
@@ -258,7 +258,7 @@ export const NORDIC_STICKERS: readonly BookStickerDef[] = [
|
||||
layers: [
|
||||
{
|
||||
p: 2,
|
||||
d: 'M26 26C24 18 26 10 32 4M26 22C20 18 18 12 20 6M28 14C32 12 34 8 34 4M30 26C34 20 40 16 44 8M38 18C42 18 46 14 48 10M42 12C42 8 44 6 46 3M24 18C20 20 16 18 14 14',
|
||||
d: 'M22 32C20 24 22 16 28 10M22 28C16 24 14 18 16 12M24 20C28 18 30 14 30 10M26 32C30 26 36 22 40 14M34 24C38 24 42 20 44 16M38 18C38 14 40 12 42 9M20 24C16 26 12 24 10 20',
|
||||
w: 2,
|
||||
},
|
||||
{
|
||||
@@ -278,7 +278,7 @@ export const NORDIC_STICKERS: readonly BookStickerDef[] = [
|
||||
p: 'ink',
|
||||
d: 'M18.2 33.6C18.2 34.3 17.7 34.8 17 34.8C16.3 34.8 15.8 34.3 15.8 33.6C15.8 32.9 16.3 32.4 17 32.4C17.7 32.4 18.2 32.9 18.2 33.6ZM10.2 37.6C10.2 38.3 9.5 38.8 8.6 38.8C7.7 38.8 7 38.3 7 37.6C7 36.9 7.7 36.4 8.6 36.4C9.5 36.4 10.2 36.9 10.2 37.6Z',
|
||||
},
|
||||
{ p: 0, d: 'M24 28L20 22L26 26Z' },
|
||||
{ p: 0, d: 'M22 33L17 25L27 30Z' },
|
||||
{ p: 1, d: 'M88 48C92 46 94 46 95 49C93 52 90 52 88 52Z' },
|
||||
],
|
||||
license: 'in-house',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'الملصقات',
|
||||
'journey.studio.kind.sticker': 'ملصق',
|
||||
'journey.studio.searchStickers': 'ابحث في الملصقات',
|
||||
'journey.studio.stickerThemes': 'موضوعات الملصقات',
|
||||
'journey.studio.stickersAll': 'الكل',
|
||||
'journey.studio.stickersRecent': 'المستخدمة مؤخرًا',
|
||||
'journey.studio.stickersHint': 'انقر على ملصق لوضعه في منتصف الصفحة، أو اسحبه إلى المكان الذي يجب أن يكون فيه.',
|
||||
'journey.studio.stickerColours': 'الألوان',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Stikerlər',
|
||||
'journey.studio.kind.sticker': 'Stiker',
|
||||
'journey.studio.searchStickers': 'Stiker axtar',
|
||||
'journey.studio.stickerThemes': 'Stiker mövzuları',
|
||||
'journey.studio.stickersAll': 'Hamısı',
|
||||
'journey.studio.stickersRecent': 'Son istifadə olunanlar',
|
||||
'journey.studio.stickersHint':
|
||||
'Səhifənin ortasına qoymaq üçün stikerə klikləyin və ya onu lazım olan yerə sürükləyin.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Adesivos',
|
||||
'journey.studio.kind.sticker': 'Adesivo',
|
||||
'journey.studio.searchStickers': 'Buscar adesivos',
|
||||
'journey.studio.stickerThemes': 'Temas de adesivos',
|
||||
'journey.studio.stickersAll': 'Todos',
|
||||
'journey.studio.stickersRecent': 'Usados recentemente',
|
||||
'journey.studio.stickersHint':
|
||||
'Clique em um adesivo para colocá-lo no meio da página, ou arraste-o até onde ele deve ficar.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Adhesius',
|
||||
'journey.studio.kind.sticker': 'Adhesiu',
|
||||
'journey.studio.searchStickers': 'Cerca adhesius',
|
||||
'journey.studio.stickerThemes': 'Temes d’adhesius',
|
||||
'journey.studio.stickersAll': 'Tots',
|
||||
'journey.studio.stickersRecent': 'Usats fa poc',
|
||||
'journey.studio.stickersHint':
|
||||
'Fes clic en un adhesiu per posar-lo al mig de la pàgina, o arrossega’l on hagi d’anar.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Samolepky',
|
||||
'journey.studio.kind.sticker': 'Samolepka',
|
||||
'journey.studio.searchStickers': 'Hledat samolepky',
|
||||
'journey.studio.stickerThemes': 'Témata samolepek',
|
||||
'journey.studio.stickersAll': 'Vše',
|
||||
'journey.studio.stickersRecent': 'Naposledy použité',
|
||||
'journey.studio.stickersHint': 'Kliknutím samolepku vložíte doprostřed stránky, nebo ji přetáhněte tam, kam patří.',
|
||||
'journey.studio.stickerColours': 'Barvy',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Sticker',
|
||||
'journey.studio.kind.sticker': 'Sticker', // same-as-en
|
||||
'journey.studio.searchStickers': 'Sticker suchen',
|
||||
'journey.studio.stickerThemes': 'Sticker-Themen',
|
||||
'journey.studio.stickersAll': 'Alle',
|
||||
'journey.studio.stickersRecent': 'Zuletzt verwendet',
|
||||
'journey.studio.stickersHint':
|
||||
'Klicke einen Sticker an, um ihn mitten auf die Seite zu setzen, oder zieh ihn an die gewünschte Stelle.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Stickers',
|
||||
'journey.studio.kind.sticker': 'Sticker',
|
||||
'journey.studio.searchStickers': 'Search stickers',
|
||||
'journey.studio.stickerThemes': 'Sticker themes',
|
||||
'journey.studio.stickersAll': 'All',
|
||||
'journey.studio.stickersRecent': 'Recently used',
|
||||
'journey.studio.stickersHint':
|
||||
'Click a sticker to place it in the middle of the page, or drag it to where it should go.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Pegatinas',
|
||||
'journey.studio.kind.sticker': 'Pegatina',
|
||||
'journey.studio.searchStickers': 'Buscar pegatinas',
|
||||
'journey.studio.stickerThemes': 'Temas de pegatinas',
|
||||
'journey.studio.stickersAll': 'Todas',
|
||||
'journey.studio.stickersRecent': 'Usadas recientemente',
|
||||
'journey.studio.stickersHint':
|
||||
'Haz clic en una pegatina para colocarla en el centro de la página, o arrástrala adonde deba ir.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Kleebised',
|
||||
'journey.studio.kind.sticker': 'Kleebis',
|
||||
'journey.studio.searchStickers': 'Otsi kleebiseid',
|
||||
'journey.studio.stickerThemes': 'Kleebiste teemad',
|
||||
'journey.studio.stickersAll': 'Kõik',
|
||||
'journey.studio.stickersRecent': 'Hiljuti kasutatud',
|
||||
'journey.studio.stickersHint': 'Klõpsa kleebisel, et panna see lehe keskele, või lohista see sinna, kuhu see käib.',
|
||||
'journey.studio.stickerColours': 'Värvid',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Autocollants',
|
||||
'journey.studio.kind.sticker': 'Autocollant',
|
||||
'journey.studio.searchStickers': 'Rechercher un autocollant',
|
||||
'journey.studio.stickerThemes': 'Thèmes d’autocollants',
|
||||
'journey.studio.stickersAll': 'Tous',
|
||||
'journey.studio.stickersRecent': 'Utilisés récemment',
|
||||
'journey.studio.stickersHint':
|
||||
'Cliquez sur un autocollant pour le placer au milieu de la page, ou faites-le glisser à l’endroit voulu.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Αυτοκόλλητα',
|
||||
'journey.studio.kind.sticker': 'Αυτοκόλλητο',
|
||||
'journey.studio.searchStickers': 'Αναζήτηση αυτοκόλλητων',
|
||||
'journey.studio.stickerThemes': 'Θέματα αυτοκόλλητων',
|
||||
'journey.studio.stickersAll': 'Όλα',
|
||||
'journey.studio.stickersRecent': 'Πρόσφατα',
|
||||
'journey.studio.stickersHint':
|
||||
'Πατήστε ένα αυτοκόλλητο για να το βάλετε στη μέση της σελίδας ή σύρετέ το εκεί που πρέπει να μπει.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Matricák',
|
||||
'journey.studio.kind.sticker': 'Matrica',
|
||||
'journey.studio.searchStickers': 'Matricák keresése',
|
||||
'journey.studio.stickerThemes': 'Matricatémák',
|
||||
'journey.studio.stickersAll': 'Mind',
|
||||
'journey.studio.stickersRecent': 'Legutóbb használt',
|
||||
'journey.studio.stickersHint':
|
||||
'Kattints egy matricára, hogy az oldal közepére kerüljön, vagy húzd oda, ahová szánod.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Stiker',
|
||||
'journey.studio.kind.sticker': 'Stiker',
|
||||
'journey.studio.searchStickers': 'Cari stiker',
|
||||
'journey.studio.stickerThemes': 'Tema stiker',
|
||||
'journey.studio.stickersAll': 'Semua',
|
||||
'journey.studio.stickersRecent': 'Baru dipakai',
|
||||
'journey.studio.stickersHint':
|
||||
'Klik stiker untuk menaruhnya di tengah halaman, atau seret ke tempat yang diinginkan.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Adesivi',
|
||||
'journey.studio.kind.sticker': 'Adesivo',
|
||||
'journey.studio.searchStickers': 'Cerca adesivi',
|
||||
'journey.studio.stickerThemes': 'Temi degli adesivi',
|
||||
'journey.studio.stickersAll': 'Tutti',
|
||||
'journey.studio.stickersRecent': 'Usati di recente',
|
||||
'journey.studio.stickersHint':
|
||||
'Fai clic su un adesivo per metterlo al centro della pagina, oppure trascinalo dove deve andare.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'ステッカー',
|
||||
'journey.studio.kind.sticker': 'ステッカー',
|
||||
'journey.studio.searchStickers': 'ステッカーを検索',
|
||||
'journey.studio.stickerThemes': 'ステッカーのテーマ',
|
||||
'journey.studio.stickersAll': 'すべて',
|
||||
'journey.studio.stickersRecent': '最近使ったもの',
|
||||
'journey.studio.stickersHint':
|
||||
'ステッカーをクリックするとページの中央に置かれます。置きたい場所までドラッグすることもできます。',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': '스티커',
|
||||
'journey.studio.kind.sticker': '스티커',
|
||||
'journey.studio.searchStickers': '스티커 검색',
|
||||
'journey.studio.stickerThemes': '스티커 테마',
|
||||
'journey.studio.stickersAll': '전체',
|
||||
'journey.studio.stickersRecent': '최근 사용',
|
||||
'journey.studio.stickersHint': '스티커를 클릭하면 페이지 가운데에 놓이고, 원하는 위치로 끌어다 놓을 수도 있습니다.',
|
||||
'journey.studio.stickerColours': '색상',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Stickers', // same-as-en
|
||||
'journey.studio.kind.sticker': 'Sticker', // same-as-en
|
||||
'journey.studio.searchStickers': 'Stickers zoeken',
|
||||
'journey.studio.stickerThemes': 'Stickerthema’s',
|
||||
'journey.studio.stickersAll': 'Alle',
|
||||
'journey.studio.stickersRecent': 'Onlangs gebruikt',
|
||||
'journey.studio.stickersHint':
|
||||
'Klik op een sticker om hem midden op de pagina te zetten, of sleep hem naar de plek waar hij moet komen.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Naklejki',
|
||||
'journey.studio.kind.sticker': 'Naklejka',
|
||||
'journey.studio.searchStickers': 'Szukaj naklejek',
|
||||
'journey.studio.stickerThemes': 'Motywy naklejek',
|
||||
'journey.studio.stickersAll': 'Wszystkie',
|
||||
'journey.studio.stickersRecent': 'Ostatnio używane',
|
||||
'journey.studio.stickersHint':
|
||||
'Kliknij naklejkę, aby umieścić ją na środku strony, albo przeciągnij ją tam, gdzie ma się znaleźć.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Стикеры',
|
||||
'journey.studio.kind.sticker': 'Стикер',
|
||||
'journey.studio.searchStickers': 'Искать стикеры',
|
||||
'journey.studio.stickerThemes': 'Темы стикеров',
|
||||
'journey.studio.stickersAll': 'Все',
|
||||
'journey.studio.stickersRecent': 'Недавние',
|
||||
'journey.studio.stickersHint':
|
||||
'Нажмите на стикер, чтобы поставить его в центр страницы, или перетащите его туда, где он нужен.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Nálepky',
|
||||
'journey.studio.kind.sticker': 'Nálepka',
|
||||
'journey.studio.searchStickers': 'Hľadať nálepky',
|
||||
'journey.studio.stickerThemes': 'Témy nálepiek',
|
||||
'journey.studio.stickersAll': 'Všetky',
|
||||
'journey.studio.stickersRecent': 'Naposledy použité',
|
||||
'journey.studio.stickersHint': 'Kliknutím vložíte nálepku do stredu strany, alebo ju presuňte tam, kam patrí.',
|
||||
'journey.studio.stickerColours': 'Farby',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Klistermärken',
|
||||
'journey.studio.kind.sticker': 'Klistermärke',
|
||||
'journey.studio.searchStickers': 'Sök klistermärken',
|
||||
'journey.studio.stickerThemes': 'Teman för klistermärken',
|
||||
'journey.studio.stickersAll': 'Alla',
|
||||
'journey.studio.stickersRecent': 'Senast använda',
|
||||
'journey.studio.stickersHint':
|
||||
'Klicka på ett klistermärke för att lägga det mitt på sidan, eller dra det dit det ska sitta.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'สติกเกอร์',
|
||||
'journey.studio.kind.sticker': 'สติกเกอร์',
|
||||
'journey.studio.searchStickers': 'ค้นหาสติกเกอร์',
|
||||
'journey.studio.stickerThemes': 'ธีมสติกเกอร์',
|
||||
'journey.studio.stickersAll': 'ทั้งหมด',
|
||||
'journey.studio.stickersRecent': 'ใช้ล่าสุด',
|
||||
'journey.studio.stickersHint': 'คลิกสติกเกอร์เพื่อวางไว้กลางหน้า หรือลากไปวางตรงตำแหน่งที่ต้องการ',
|
||||
'journey.studio.stickerColours': 'สี',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Çıkartmalar',
|
||||
'journey.studio.kind.sticker': 'Çıkartma',
|
||||
'journey.studio.searchStickers': 'Çıkartma ara',
|
||||
'journey.studio.stickerThemes': 'Çıkartma temaları',
|
||||
'journey.studio.stickersAll': 'Tümü',
|
||||
'journey.studio.stickersRecent': 'Son kullanılanlar',
|
||||
'journey.studio.stickersHint':
|
||||
'Sayfanın ortasına yerleştirmek için bir çıkartmaya tıklayın ya da gitmesi gereken yere sürükleyin.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Наліпки',
|
||||
'journey.studio.kind.sticker': 'Наліпка',
|
||||
'journey.studio.searchStickers': 'Шукати наліпки',
|
||||
'journey.studio.stickerThemes': 'Теми наліпок',
|
||||
'journey.studio.stickersAll': 'Усі',
|
||||
'journey.studio.stickersRecent': 'Нещодавні',
|
||||
'journey.studio.stickersHint':
|
||||
'Натисніть на наліпку, щоб поставити її в центр сторінки, або перетягніть її туди, де вона потрібна.',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Nhãn dán',
|
||||
'journey.studio.kind.sticker': 'Nhãn dán',
|
||||
'journey.studio.searchStickers': 'Tìm nhãn dán',
|
||||
'journey.studio.stickerThemes': 'Chủ đề nhãn dán',
|
||||
'journey.studio.stickersAll': 'Tất cả',
|
||||
'journey.studio.stickersRecent': 'Dùng gần đây',
|
||||
'journey.studio.stickersHint': 'Nhấp vào một nhãn dán để đặt nó vào giữa trang, hoặc kéo nó đến chỗ cần đặt.',
|
||||
'journey.studio.stickerColours': 'Màu sắc',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': '貼紙',
|
||||
'journey.studio.kind.sticker': '貼紙',
|
||||
'journey.studio.searchStickers': '搜尋貼紙',
|
||||
'journey.studio.stickerThemes': '貼紙主題',
|
||||
'journey.studio.stickersAll': '全部',
|
||||
'journey.studio.stickersRecent': '最近使用',
|
||||
'journey.studio.stickersHint': '點一下貼紙即可放在頁面中央,也可以把它拖到想放的位置。',
|
||||
'journey.studio.stickerColours': '顏色',
|
||||
|
||||
@@ -5,8 +5,6 @@ const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': '贴纸',
|
||||
'journey.studio.kind.sticker': '贴纸',
|
||||
'journey.studio.searchStickers': '搜索贴纸',
|
||||
'journey.studio.stickerThemes': '贴纸主题',
|
||||
'journey.studio.stickersAll': '全部',
|
||||
'journey.studio.stickersRecent': '最近使用',
|
||||
'journey.studio.stickersHint': '点击贴纸即可放到页面中央,也可以把它拖到想放的位置。',
|
||||
'journey.studio.stickerColours': '颜色',
|
||||
|
||||
Reference in New Issue
Block a user