@open-slide/core 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{build-DqfKmw9h.js → build-CoON6kTb.js} +1 -1
- package/dist/cli/bin.js +3 -3
- package/dist/{config-CN7J0RDO.js → config-Bxtztw-H.js} +373 -221
- package/dist/{config-DweCbRkQ.d.ts → config-D2y1AXaN.d.ts} +3 -0
- package/dist/{dev-jWxtWHAG.js → dev-IezNC17X.js} +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/locale/index.d.ts +24 -0
- package/dist/locale/index.js +1189 -0
- package/dist/{preview-CSA05Gfm.js → preview-BwYjtENY.js} +1 -1
- package/dist/types-BVvl_xup.d.ts +314 -0
- package/dist/vite/index.d.ts +2 -1
- package/dist/vite/index.js +1 -1
- package/package.json +7 -1
- package/src/app/app.tsx +6 -2
- package/src/app/components/asset-view.tsx +87 -64
- package/src/app/components/click-nav-zones.tsx +4 -2
- package/src/app/components/inspector/comment-widget.tsx +9 -7
- package/src/app/components/inspector/inspector-panel.tsx +68 -39
- package/src/app/components/inspector/inspector-provider.tsx +185 -58
- package/src/app/components/inspector/save-bar.tsx +6 -2
- package/src/app/components/panel/save-card.tsx +12 -9
- package/src/app/components/pdf-progress-toast.tsx +11 -4
- package/src/app/components/present/control-bar.tsx +17 -10
- package/src/app/components/present/help-overlay.tsx +18 -17
- package/src/app/components/present/overview-grid.tsx +6 -4
- package/src/app/components/sidebar/folder-item.tsx +16 -7
- package/src/app/components/sidebar/icon-picker.tsx +4 -2
- package/src/app/components/sidebar/sidebar.tsx +87 -25
- package/src/app/components/style-panel/style-panel.tsx +26 -18
- package/src/app/components/theme-toggle.tsx +7 -5
- package/src/app/components/thumbnail-rail.tsx +4 -2
- package/src/app/favicon.ico +0 -0
- package/src/app/lib/inspector/use-editor.ts +9 -7
- package/src/app/lib/use-locale.ts +20 -0
- package/src/app/routes/home.tsx +90 -45
- package/src/app/routes/presenter.tsx +45 -25
- package/src/app/routes/slide.tsx +37 -24
- package/src/app/styles.css +28 -0
- package/src/app/virtual.d.ts +4 -0
- package/src/locale/en.ts +303 -0
- package/src/locale/format.ts +12 -0
- package/src/locale/index.ts +6 -0
- package/src/locale/ja.ts +307 -0
- package/src/locale/types.ts +323 -0
- package/src/locale/zh-cn.ts +303 -0
- package/src/locale/zh-tw.ts +303 -0
package/src/locale/ja.ts
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import type { Locale } from './types';
|
|
2
|
+
|
|
3
|
+
export const ja: Locale = {
|
|
4
|
+
id: 'ja',
|
|
5
|
+
|
|
6
|
+
common: {
|
|
7
|
+
cancel: 'キャンセル',
|
|
8
|
+
save: '保存',
|
|
9
|
+
saving: '保存中',
|
|
10
|
+
saved: '保存しました',
|
|
11
|
+
discard: '破棄',
|
|
12
|
+
delete: '削除',
|
|
13
|
+
rename: '名前を変更',
|
|
14
|
+
move: '移動',
|
|
15
|
+
close: '閉じる',
|
|
16
|
+
loading: '読み込み中',
|
|
17
|
+
loadFailed: '読み込みに失敗',
|
|
18
|
+
failedToLoadSlide: 'スライドの読み込みに失敗しました',
|
|
19
|
+
home: 'ホーム',
|
|
20
|
+
backToHome: 'ホームへ戻る',
|
|
21
|
+
preview: 'プレビュー',
|
|
22
|
+
add: '追加',
|
|
23
|
+
done: '完了',
|
|
24
|
+
tryAgain: '再試行',
|
|
25
|
+
undo: '元に戻す',
|
|
26
|
+
redo: 'やり直す',
|
|
27
|
+
light: 'ライト',
|
|
28
|
+
dark: 'ダーク',
|
|
29
|
+
system: 'システム',
|
|
30
|
+
selected: '選択中',
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
notFound: {
|
|
34
|
+
eyebrow: '404 · ページが見つかりません',
|
|
35
|
+
title: 'ページが見つかりません',
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
home: {
|
|
39
|
+
appTitle: 'open-slide',
|
|
40
|
+
draft: '下書き',
|
|
41
|
+
folders: 'フォルダ',
|
|
42
|
+
newFolder: '新規フォルダ',
|
|
43
|
+
folderName: 'フォルダ名',
|
|
44
|
+
changeIcon: 'アイコンを変更',
|
|
45
|
+
iconEmojiTab: '絵文字',
|
|
46
|
+
iconColorTab: 'カラー',
|
|
47
|
+
folderActions: 'フォルダ操作',
|
|
48
|
+
searchPlaceholder: 'スライドを検索',
|
|
49
|
+
clearSearch: '検索をクリア',
|
|
50
|
+
noMatches: '一致なし',
|
|
51
|
+
nothingMatchesPrefix: 'このフォルダ内に ',
|
|
52
|
+
nothingMatchesSuffix: ' に一致する項目はありません。',
|
|
53
|
+
noSlidesYet: 'スライドはまだありません',
|
|
54
|
+
createSlideHintPrefix: '',
|
|
55
|
+
createSlideHintMid: ' を作成し、',
|
|
56
|
+
createSlideHintSuffix: ' してください。',
|
|
57
|
+
folderEmptyTitle: '{name} は空です',
|
|
58
|
+
folderEmptyHint: 'サイドバーから下書きのスライドをこのフォルダにドラッグしてください。',
|
|
59
|
+
slideActions: 'スライド操作',
|
|
60
|
+
moveToFolder: 'フォルダへ移動…',
|
|
61
|
+
renameDialogEyebrow: '名前を変更',
|
|
62
|
+
renameDialogTitle: 'スライドの名前を変更',
|
|
63
|
+
renameDialogDescription: 'このスライドの新しい表示名を設定します。',
|
|
64
|
+
slideNamePlaceholder: 'スライド名',
|
|
65
|
+
moveDialogEyebrow: '移動',
|
|
66
|
+
moveDialogTitle: 'スライドを移動',
|
|
67
|
+
moveDialogDescriptionPrefix: '',
|
|
68
|
+
moveDialogDescriptionSuffix: ' のフォルダを選択してください。',
|
|
69
|
+
deleteDialogEyebrow: '破壊的操作',
|
|
70
|
+
deleteDialogTitle: 'スライドを削除しますか?',
|
|
71
|
+
deleteDialogDescriptionPrefix: '',
|
|
72
|
+
deleteDialogDescriptionMid: ' とそのファイルをディスクから完全に削除します。',
|
|
73
|
+
deleteDialogDescriptionSuffix: 'この操作は元に戻せません。',
|
|
74
|
+
toastFolderCreated: 'フォルダ「{name}」を作成しました',
|
|
75
|
+
toastFolderCreateFailed: 'フォルダの作成に失敗しました',
|
|
76
|
+
toastSlideMoved: '「{slide}」を {folder} に移動しました',
|
|
77
|
+
toastSlideMoveFailed: 'スライドの移動に失敗しました',
|
|
78
|
+
toastFolderDeleted: 'フォルダ「{name}」を削除しました',
|
|
79
|
+
toastFolderDeleteFailed: 'フォルダの削除に失敗しました',
|
|
80
|
+
pickIcon: 'アイコンを選択',
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
slide: {
|
|
84
|
+
home: 'ホーム',
|
|
85
|
+
backToHome: 'ホームへ戻る',
|
|
86
|
+
download: 'ダウンロード',
|
|
87
|
+
exportAsHtml: 'HTML として書き出し',
|
|
88
|
+
exportAsPdf: 'PDF として書き出し',
|
|
89
|
+
pdfExportFailed: 'PDF の書き出しに失敗しました',
|
|
90
|
+
present: '発表',
|
|
91
|
+
slidesTab: 'スライド',
|
|
92
|
+
assetsTab: 'アセット',
|
|
93
|
+
renameSlide: 'スライドの名前を変更',
|
|
94
|
+
loadingEyebrow: '読み込み中',
|
|
95
|
+
emptyEyebrow: '空',
|
|
96
|
+
nothingToShow: '表示する内容がありません。',
|
|
97
|
+
emptyHintPrefix: '',
|
|
98
|
+
emptyHintMust: ' は ',
|
|
99
|
+
emptyHintSuffix: ' で空でないコンポーネント配列をエクスポートする必要があります。',
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
presenter: {
|
|
103
|
+
eyebrow: '発表者',
|
|
104
|
+
notLinked: '未接続',
|
|
105
|
+
nowShowing: '現在の表示',
|
|
106
|
+
upNext: '次のスライド',
|
|
107
|
+
lastSlide: '最後のスライド',
|
|
108
|
+
endOfDeck: 'デッキの終わり',
|
|
109
|
+
speakerNotes: '発表者ノート',
|
|
110
|
+
noNotesPrefix: 'このスライドには発表者ノートがありません。スライドモジュールに ',
|
|
111
|
+
noNotesSuffix: ' を追加するとここに表示されます。',
|
|
112
|
+
blackScreen: '黒い画面',
|
|
113
|
+
whiteScreen: '白い画面',
|
|
114
|
+
prev: '前へ',
|
|
115
|
+
next: '次へ',
|
|
116
|
+
black: '黒',
|
|
117
|
+
white: '白',
|
|
118
|
+
reset: 'リセット',
|
|
119
|
+
resetTimer: 'タイマーをリセット',
|
|
120
|
+
currentTime: '現在時刻',
|
|
121
|
+
elapsed: '経過時間',
|
|
122
|
+
jump: 'ジャンプ',
|
|
123
|
+
loadingSlide: '{slideId} を読み込み中…',
|
|
124
|
+
},
|
|
125
|
+
|
|
126
|
+
present: {
|
|
127
|
+
prevSlideAria: '前のスライド (←)',
|
|
128
|
+
nextSlideAria: '次のスライド (→)',
|
|
129
|
+
overviewAria: 'スライド一覧 (O)',
|
|
130
|
+
blackoutAria: '黒い画面 (B)',
|
|
131
|
+
whiteoutAria: '白い画面 (W)',
|
|
132
|
+
laserAria: 'レーザーポインタ (L)',
|
|
133
|
+
presenterAria: '発表者ビュー (P)',
|
|
134
|
+
helpAria: 'キーボードショートカット (?)',
|
|
135
|
+
exitAria: '終了 (Esc)',
|
|
136
|
+
elapsedTime: '経過時間',
|
|
137
|
+
helpEyebrow: '発表モード',
|
|
138
|
+
helpTitle: 'キーボードショートカット',
|
|
139
|
+
shortcutNext: '次のスライド',
|
|
140
|
+
shortcutPrev: '前のスライド',
|
|
141
|
+
shortcutFirstLast: '最初 / 最後のスライド',
|
|
142
|
+
shortcutJump: 'スライドへジャンプ',
|
|
143
|
+
shortcutOverview: 'スライド一覧',
|
|
144
|
+
shortcutBlack: '黒い画面',
|
|
145
|
+
shortcutWhite: '白い画面',
|
|
146
|
+
shortcutLaser: 'レーザーポインタ',
|
|
147
|
+
shortcutPresenter: '発表者ビューを開く',
|
|
148
|
+
shortcutToggleHelp: 'このヘルプの表示切替',
|
|
149
|
+
shortcutCloseExit: 'オーバーレイを閉じる / 終了',
|
|
150
|
+
overviewDialogAria: 'スライド一覧',
|
|
151
|
+
overviewEyebrow: '一覧',
|
|
152
|
+
overviewGoToAria: 'スライド {n} へ移動',
|
|
153
|
+
nowBadge: '現在',
|
|
154
|
+
},
|
|
155
|
+
|
|
156
|
+
inspector: {
|
|
157
|
+
inspect: 'インスペクト',
|
|
158
|
+
deselect: '選択解除',
|
|
159
|
+
contentSection: 'コンテンツ',
|
|
160
|
+
typographySection: 'タイポグラフィ',
|
|
161
|
+
colorSection: 'カラー',
|
|
162
|
+
textColor: 'テキスト',
|
|
163
|
+
backgroundColor: '背景',
|
|
164
|
+
imageSection: '画像',
|
|
165
|
+
imagePlaceholderSection: '画像プレースホルダ',
|
|
166
|
+
elementTextPlaceholder: '要素のテキスト',
|
|
167
|
+
sizeLabel: 'サイズ',
|
|
168
|
+
weightLabel: 'ウェイト',
|
|
169
|
+
weightLight: 'Light · 300',
|
|
170
|
+
weightRegular: 'Regular · 400',
|
|
171
|
+
weightMedium: 'Medium · 500',
|
|
172
|
+
weightSemibold: 'Semibold · 600',
|
|
173
|
+
weightBold: 'Bold · 700',
|
|
174
|
+
weightExtrabold: 'Extrabold · 800',
|
|
175
|
+
styleLabel: 'スタイル',
|
|
176
|
+
boldAria: '太字',
|
|
177
|
+
italicAria: '斜体',
|
|
178
|
+
lineHeightLabel: '行間',
|
|
179
|
+
trackingLabel: '字間',
|
|
180
|
+
alignLabel: '配置',
|
|
181
|
+
clearAria: 'クリア',
|
|
182
|
+
replace: '置き換え…',
|
|
183
|
+
replaceImageDialogTitle: '画像を置き換え',
|
|
184
|
+
replaceImageDescription: '{path} からアセットを選択してください。',
|
|
185
|
+
pickerLoading: '読み込み中…',
|
|
186
|
+
pickerEmpty:
|
|
187
|
+
'このスライドのアセットフォルダにまだ画像がありません。「アセット」タブから追加してください。',
|
|
188
|
+
placeholderHintLabel: 'ヒント:',
|
|
189
|
+
noteForAgent: 'エージェントへのメモ',
|
|
190
|
+
noteAgentPlaceholder: 'エージェントに依頼する変更を記述…',
|
|
191
|
+
noteShortcutHint: '⌘↵ で送信',
|
|
192
|
+
addNote: 'メモを追加',
|
|
193
|
+
unsavedChanges: {
|
|
194
|
+
one: '未保存の変更 {count} 件',
|
|
195
|
+
other: '未保存の変更 {count} 件',
|
|
196
|
+
},
|
|
197
|
+
commentsCount: {
|
|
198
|
+
one: 'コメント {count} 件',
|
|
199
|
+
other: 'コメント {count} 件',
|
|
200
|
+
},
|
|
201
|
+
commentLineLabel: '行 {n}',
|
|
202
|
+
commentsEmpty:
|
|
203
|
+
'まだコメントはありません。インスペクトを有効にしてスライド要素をクリックしてください。',
|
|
204
|
+
commentsApplyHintPrefix: 'エージェントで ',
|
|
205
|
+
commentsApplyHintSuffix: ' を実行して適用してください。',
|
|
206
|
+
commentDeleteAria: '削除',
|
|
207
|
+
saveFailed: '保存に失敗しました:',
|
|
208
|
+
},
|
|
209
|
+
|
|
210
|
+
stylePanel: {
|
|
211
|
+
designTokens: 'デザイントークン',
|
|
212
|
+
draftBadge: 'draft',
|
|
213
|
+
unsavedTitle: '未保存',
|
|
214
|
+
closePanelAria: 'デザインパネルを閉じる',
|
|
215
|
+
colorsSection: 'カラー',
|
|
216
|
+
typographySection: 'タイポグラフィ',
|
|
217
|
+
shapeSection: '形状',
|
|
218
|
+
backgroundLabel: '背景',
|
|
219
|
+
textLabel: 'テキスト',
|
|
220
|
+
accentLabel: 'アクセント',
|
|
221
|
+
displayFontLabel: '見出し',
|
|
222
|
+
bodyFontLabel: '本文',
|
|
223
|
+
heroLabel: 'ヒーロー',
|
|
224
|
+
bodyLabel: '本文',
|
|
225
|
+
radiusLabel: '角丸',
|
|
226
|
+
designToggle: 'デザイン',
|
|
227
|
+
designToggleTitle: 'デザイントークン',
|
|
228
|
+
fontPresetCustom: 'カスタム…',
|
|
229
|
+
},
|
|
230
|
+
|
|
231
|
+
asset: {
|
|
232
|
+
devOnlyMessage: 'アセット管理は開発モードでのみ利用できます。',
|
|
233
|
+
sectionAria: 'スライドのアセット',
|
|
234
|
+
eyebrow: 'アセット',
|
|
235
|
+
fileCount: { one: 'ファイル {count} 件', other: 'ファイル {count} 件' },
|
|
236
|
+
searchLogos: 'ロゴを検索',
|
|
237
|
+
upload: 'アップロード',
|
|
238
|
+
dropToUpload: 'ドロップでアップロード',
|
|
239
|
+
loading: '読み込み中…',
|
|
240
|
+
noAssetsYet: 'アセットはまだありません',
|
|
241
|
+
noAssetsHintPrefix: 'ここにファイルをドロップするか、',
|
|
242
|
+
noAssetsHintSuffix: ' を使用してください。',
|
|
243
|
+
nameAlreadyExists: '同名のファイルがすでに存在します。',
|
|
244
|
+
previewAria: '{name} をプレビュー',
|
|
245
|
+
actionsAria: '{name} の操作',
|
|
246
|
+
previewMenuItem: 'プレビュー',
|
|
247
|
+
renameMenuItem: '名前を変更',
|
|
248
|
+
deleteMenuItem: '削除',
|
|
249
|
+
conflictTitle: 'ファイルがすでに存在します',
|
|
250
|
+
conflictDescription: '{name} はすでにこのスライドのアセットフォルダにあります。',
|
|
251
|
+
conflictReplace: '置き換え',
|
|
252
|
+
conflictRenameCopy: 'コピーをリネーム',
|
|
253
|
+
deleteAssetTitle: 'アセットを削除',
|
|
254
|
+
deleteAssetDescription:
|
|
255
|
+
'{name} を削除しますか?スライド内でこのファイルを参照しているインポートは壊れます。',
|
|
256
|
+
noPreview: 'プレビューはありません',
|
|
257
|
+
importHintComment: 'import asset from ',
|
|
258
|
+
importHintSemi: ';',
|
|
259
|
+
logoSearchTitle: 'ロゴを検索',
|
|
260
|
+
logoSearchPoweredByPrefix: 'Powered by ',
|
|
261
|
+
logoSearchPlaceholder: 'ブランド名で検索…',
|
|
262
|
+
logoSearchErrorTitle: 'svgl に接続できません',
|
|
263
|
+
logoSearchErrorBody: '接続を確認して再試行してください。',
|
|
264
|
+
logoSearchNoResults: '「{query}」のロゴは見つかりません',
|
|
265
|
+
logoSearchEmpty: '利用可能なロゴはありません',
|
|
266
|
+
logoSearchEmptyHintPrefix:
|
|
267
|
+
'別のブランド名を試すか、次のサイトでカタログ全体を閲覧してください: ',
|
|
268
|
+
logoSearchEmptyHintSuffix: '。',
|
|
269
|
+
logoVariantLight: 'ライト',
|
|
270
|
+
logoVariantDark: 'ダーク',
|
|
271
|
+
toastUploadFailed: 'アップロードに失敗しました ({status})',
|
|
272
|
+
toastReplaced: '{name} を置き換えました',
|
|
273
|
+
toastUploadedAs: '{name} としてアップロードしました',
|
|
274
|
+
toastUploaded: '{name} をアップロードしました',
|
|
275
|
+
toastRenameFailed: '名前の変更に失敗しました ({status})',
|
|
276
|
+
toastRenamed: '{name} に名前を変更しました',
|
|
277
|
+
toastDeleteFailed: '削除に失敗しました ({status})',
|
|
278
|
+
toastDeleted: '{name} を削除しました',
|
|
279
|
+
toastDownloadFailed: 'ロゴのダウンロードに失敗しました',
|
|
280
|
+
toastSearchFailed: '検索に失敗しました',
|
|
281
|
+
},
|
|
282
|
+
|
|
283
|
+
thumbnailRail: {
|
|
284
|
+
pages: 'ページ',
|
|
285
|
+
goToPageAria: 'ページ {n} へ移動',
|
|
286
|
+
},
|
|
287
|
+
|
|
288
|
+
pdfToast: {
|
|
289
|
+
title: 'PDF を書き出し中',
|
|
290
|
+
processing: 'ページ {current} / {total} を処理中',
|
|
291
|
+
printing: '印刷ダイアログを開いています…',
|
|
292
|
+
done: '完了',
|
|
293
|
+
},
|
|
294
|
+
|
|
295
|
+
themeToggle: {
|
|
296
|
+
toggleAria: 'テーマを切り替え',
|
|
297
|
+
title: 'テーマ',
|
|
298
|
+
light: 'ライト',
|
|
299
|
+
dark: 'ダーク',
|
|
300
|
+
system: 'システム',
|
|
301
|
+
},
|
|
302
|
+
|
|
303
|
+
clickNav: {
|
|
304
|
+
prevAria: '前のページ',
|
|
305
|
+
nextAria: '次のページ',
|
|
306
|
+
},
|
|
307
|
+
};
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
export type Plural = { one: string; other: string };
|
|
2
|
+
|
|
3
|
+
export type Locale = {
|
|
4
|
+
id: 'en' | 'zh-TW' | 'zh-CN' | 'ja';
|
|
5
|
+
|
|
6
|
+
common: {
|
|
7
|
+
cancel: string;
|
|
8
|
+
save: string;
|
|
9
|
+
saving: string;
|
|
10
|
+
saved: string;
|
|
11
|
+
discard: string;
|
|
12
|
+
delete: string;
|
|
13
|
+
rename: string;
|
|
14
|
+
move: string;
|
|
15
|
+
close: string;
|
|
16
|
+
loading: string;
|
|
17
|
+
loadFailed: string;
|
|
18
|
+
failedToLoadSlide: string;
|
|
19
|
+
home: string;
|
|
20
|
+
backToHome: string;
|
|
21
|
+
preview: string;
|
|
22
|
+
add: string;
|
|
23
|
+
done: string;
|
|
24
|
+
tryAgain: string;
|
|
25
|
+
undo: string;
|
|
26
|
+
redo: string;
|
|
27
|
+
light: string;
|
|
28
|
+
dark: string;
|
|
29
|
+
system: string;
|
|
30
|
+
selected: string;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
notFound: {
|
|
34
|
+
eyebrow: string;
|
|
35
|
+
title: string;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
home: {
|
|
39
|
+
appTitle: string;
|
|
40
|
+
draft: string;
|
|
41
|
+
folders: string;
|
|
42
|
+
newFolder: string;
|
|
43
|
+
folderName: string;
|
|
44
|
+
changeIcon: string;
|
|
45
|
+
iconEmojiTab: string;
|
|
46
|
+
iconColorTab: string;
|
|
47
|
+
folderActions: string;
|
|
48
|
+
searchPlaceholder: string;
|
|
49
|
+
clearSearch: string;
|
|
50
|
+
noMatches: string;
|
|
51
|
+
nothingMatchesPrefix: string;
|
|
52
|
+
nothingMatchesSuffix: string;
|
|
53
|
+
noSlidesYet: string;
|
|
54
|
+
createSlideHintPrefix: string;
|
|
55
|
+
createSlideHintMid: string;
|
|
56
|
+
createSlideHintSuffix: string;
|
|
57
|
+
folderEmptyTitle: string;
|
|
58
|
+
folderEmptyHint: string;
|
|
59
|
+
slideActions: string;
|
|
60
|
+
moveToFolder: string;
|
|
61
|
+
renameDialogEyebrow: string;
|
|
62
|
+
renameDialogTitle: string;
|
|
63
|
+
renameDialogDescription: string;
|
|
64
|
+
slideNamePlaceholder: string;
|
|
65
|
+
moveDialogEyebrow: string;
|
|
66
|
+
moveDialogTitle: string;
|
|
67
|
+
moveDialogDescriptionPrefix: string;
|
|
68
|
+
moveDialogDescriptionSuffix: string;
|
|
69
|
+
deleteDialogEyebrow: string;
|
|
70
|
+
deleteDialogTitle: string;
|
|
71
|
+
deleteDialogDescriptionPrefix: string;
|
|
72
|
+
deleteDialogDescriptionMid: string;
|
|
73
|
+
deleteDialogDescriptionSuffix: string;
|
|
74
|
+
/** template: "Created folder “{name}”" */
|
|
75
|
+
toastFolderCreated: string;
|
|
76
|
+
toastFolderCreateFailed: string;
|
|
77
|
+
/** template: "Moved “{slide}” to {folder}" */
|
|
78
|
+
toastSlideMoved: string;
|
|
79
|
+
toastSlideMoveFailed: string;
|
|
80
|
+
/** template: "Deleted folder “{name}”" */
|
|
81
|
+
toastFolderDeleted: string;
|
|
82
|
+
toastFolderDeleteFailed: string;
|
|
83
|
+
pickIcon: string;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
slide: {
|
|
87
|
+
home: string;
|
|
88
|
+
backToHome: string;
|
|
89
|
+
download: string;
|
|
90
|
+
exportAsHtml: string;
|
|
91
|
+
exportAsPdf: string;
|
|
92
|
+
pdfExportFailed: string;
|
|
93
|
+
present: string;
|
|
94
|
+
slidesTab: string;
|
|
95
|
+
assetsTab: string;
|
|
96
|
+
renameSlide: string;
|
|
97
|
+
loadingEyebrow: string;
|
|
98
|
+
emptyEyebrow: string;
|
|
99
|
+
nothingToShow: string;
|
|
100
|
+
emptyHintPrefix: string;
|
|
101
|
+
emptyHintMust: string;
|
|
102
|
+
emptyHintSuffix: string;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
presenter: {
|
|
106
|
+
eyebrow: string;
|
|
107
|
+
notLinked: string;
|
|
108
|
+
nowShowing: string;
|
|
109
|
+
upNext: string;
|
|
110
|
+
lastSlide: string;
|
|
111
|
+
endOfDeck: string;
|
|
112
|
+
speakerNotes: string;
|
|
113
|
+
noNotesPrefix: string;
|
|
114
|
+
noNotesSuffix: string;
|
|
115
|
+
blackScreen: string;
|
|
116
|
+
whiteScreen: string;
|
|
117
|
+
prev: string;
|
|
118
|
+
next: string;
|
|
119
|
+
black: string;
|
|
120
|
+
white: string;
|
|
121
|
+
reset: string;
|
|
122
|
+
resetTimer: string;
|
|
123
|
+
currentTime: string;
|
|
124
|
+
elapsed: string;
|
|
125
|
+
jump: string;
|
|
126
|
+
/** template: "Loading {slideId}…" */
|
|
127
|
+
loadingSlide: string;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
present: {
|
|
131
|
+
prevSlideAria: string;
|
|
132
|
+
nextSlideAria: string;
|
|
133
|
+
overviewAria: string;
|
|
134
|
+
blackoutAria: string;
|
|
135
|
+
whiteoutAria: string;
|
|
136
|
+
laserAria: string;
|
|
137
|
+
presenterAria: string;
|
|
138
|
+
helpAria: string;
|
|
139
|
+
exitAria: string;
|
|
140
|
+
elapsedTime: string;
|
|
141
|
+
helpEyebrow: string;
|
|
142
|
+
helpTitle: string;
|
|
143
|
+
shortcutNext: string;
|
|
144
|
+
shortcutPrev: string;
|
|
145
|
+
shortcutFirstLast: string;
|
|
146
|
+
shortcutJump: string;
|
|
147
|
+
shortcutOverview: string;
|
|
148
|
+
shortcutBlack: string;
|
|
149
|
+
shortcutWhite: string;
|
|
150
|
+
shortcutLaser: string;
|
|
151
|
+
shortcutPresenter: string;
|
|
152
|
+
shortcutToggleHelp: string;
|
|
153
|
+
shortcutCloseExit: string;
|
|
154
|
+
overviewDialogAria: string;
|
|
155
|
+
overviewEyebrow: string;
|
|
156
|
+
/** template: "Go to slide {n}" */
|
|
157
|
+
overviewGoToAria: string;
|
|
158
|
+
nowBadge: string;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
inspector: {
|
|
162
|
+
inspect: string;
|
|
163
|
+
deselect: string;
|
|
164
|
+
contentSection: string;
|
|
165
|
+
typographySection: string;
|
|
166
|
+
colorSection: string;
|
|
167
|
+
textColor: string;
|
|
168
|
+
backgroundColor: string;
|
|
169
|
+
imageSection: string;
|
|
170
|
+
imagePlaceholderSection: string;
|
|
171
|
+
elementTextPlaceholder: string;
|
|
172
|
+
sizeLabel: string;
|
|
173
|
+
weightLabel: string;
|
|
174
|
+
weightLight: string;
|
|
175
|
+
weightRegular: string;
|
|
176
|
+
weightMedium: string;
|
|
177
|
+
weightSemibold: string;
|
|
178
|
+
weightBold: string;
|
|
179
|
+
weightExtrabold: string;
|
|
180
|
+
styleLabel: string;
|
|
181
|
+
boldAria: string;
|
|
182
|
+
italicAria: string;
|
|
183
|
+
lineHeightLabel: string;
|
|
184
|
+
trackingLabel: string;
|
|
185
|
+
alignLabel: string;
|
|
186
|
+
clearAria: string;
|
|
187
|
+
replace: string;
|
|
188
|
+
replaceImageDialogTitle: string;
|
|
189
|
+
/** template: "Pick an asset from {path}." */
|
|
190
|
+
replaceImageDescription: string;
|
|
191
|
+
pickerLoading: string;
|
|
192
|
+
pickerEmpty: string;
|
|
193
|
+
placeholderHintLabel: string;
|
|
194
|
+
noteForAgent: string;
|
|
195
|
+
noteAgentPlaceholder: string;
|
|
196
|
+
noteShortcutHint: string;
|
|
197
|
+
addNote: string;
|
|
198
|
+
/** templates: "{count} unsaved change" / "{count} unsaved changes" */
|
|
199
|
+
unsavedChanges: Plural;
|
|
200
|
+
/** templates: "{count} comment" / "{count} comments" */
|
|
201
|
+
commentsCount: Plural;
|
|
202
|
+
/** template: "line {n}" */
|
|
203
|
+
commentLineLabel: string;
|
|
204
|
+
commentsEmpty: string;
|
|
205
|
+
commentsApplyHintPrefix: string;
|
|
206
|
+
commentsApplyHintSuffix: string;
|
|
207
|
+
commentDeleteAria: string;
|
|
208
|
+
/** Prefix for the toast shown when one or more buffered edits fail to write to disk. */
|
|
209
|
+
saveFailed: string;
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
stylePanel: {
|
|
213
|
+
designTokens: string;
|
|
214
|
+
draftBadge: string;
|
|
215
|
+
unsavedTitle: string;
|
|
216
|
+
closePanelAria: string;
|
|
217
|
+
colorsSection: string;
|
|
218
|
+
typographySection: string;
|
|
219
|
+
shapeSection: string;
|
|
220
|
+
backgroundLabel: string;
|
|
221
|
+
textLabel: string;
|
|
222
|
+
accentLabel: string;
|
|
223
|
+
displayFontLabel: string;
|
|
224
|
+
bodyFontLabel: string;
|
|
225
|
+
heroLabel: string;
|
|
226
|
+
bodyLabel: string;
|
|
227
|
+
radiusLabel: string;
|
|
228
|
+
designToggle: string;
|
|
229
|
+
designToggleTitle: string;
|
|
230
|
+
fontPresetCustom: string;
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
asset: {
|
|
234
|
+
devOnlyMessage: string;
|
|
235
|
+
sectionAria: string;
|
|
236
|
+
eyebrow: string;
|
|
237
|
+
/** templates: "{count} file" / "{count} files" */
|
|
238
|
+
fileCount: Plural;
|
|
239
|
+
searchLogos: string;
|
|
240
|
+
upload: string;
|
|
241
|
+
dropToUpload: string;
|
|
242
|
+
loading: string;
|
|
243
|
+
noAssetsYet: string;
|
|
244
|
+
noAssetsHintPrefix: string;
|
|
245
|
+
noAssetsHintSuffix: string;
|
|
246
|
+
nameAlreadyExists: string;
|
|
247
|
+
/** template: "Preview {name}" */
|
|
248
|
+
previewAria: string;
|
|
249
|
+
/** template: "Actions for {name}" */
|
|
250
|
+
actionsAria: string;
|
|
251
|
+
previewMenuItem: string;
|
|
252
|
+
renameMenuItem: string;
|
|
253
|
+
deleteMenuItem: string;
|
|
254
|
+
conflictTitle: string;
|
|
255
|
+
/** template: "{name} is already in this slide's assets folder." */
|
|
256
|
+
conflictDescription: string;
|
|
257
|
+
conflictReplace: string;
|
|
258
|
+
conflictRenameCopy: string;
|
|
259
|
+
deleteAssetTitle: string;
|
|
260
|
+
/** template: "Delete {name}? Imports referencing this file in the slide will break." */
|
|
261
|
+
deleteAssetDescription: string;
|
|
262
|
+
noPreview: string;
|
|
263
|
+
importHintComment: string;
|
|
264
|
+
importHintSemi: string;
|
|
265
|
+
logoSearchTitle: string;
|
|
266
|
+
logoSearchPoweredByPrefix: string;
|
|
267
|
+
logoSearchPlaceholder: string;
|
|
268
|
+
logoSearchErrorTitle: string;
|
|
269
|
+
logoSearchErrorBody: string;
|
|
270
|
+
/** template: 'No logos for "{query}"' */
|
|
271
|
+
logoSearchNoResults: string;
|
|
272
|
+
logoSearchEmpty: string;
|
|
273
|
+
logoSearchEmptyHintPrefix: string;
|
|
274
|
+
logoSearchEmptyHintSuffix: string;
|
|
275
|
+
logoVariantLight: string;
|
|
276
|
+
logoVariantDark: string;
|
|
277
|
+
/** template: "Upload failed ({status})" */
|
|
278
|
+
toastUploadFailed: string;
|
|
279
|
+
/** template: "Replaced {name}" */
|
|
280
|
+
toastReplaced: string;
|
|
281
|
+
/** template: "Uploaded as {name}" */
|
|
282
|
+
toastUploadedAs: string;
|
|
283
|
+
/** template: "Uploaded {name}" */
|
|
284
|
+
toastUploaded: string;
|
|
285
|
+
/** template: "Rename failed ({status})" */
|
|
286
|
+
toastRenameFailed: string;
|
|
287
|
+
/** template: "Renamed to {name}" */
|
|
288
|
+
toastRenamed: string;
|
|
289
|
+
/** template: "Delete failed ({status})" */
|
|
290
|
+
toastDeleteFailed: string;
|
|
291
|
+
/** template: "Deleted {name}" */
|
|
292
|
+
toastDeleted: string;
|
|
293
|
+
toastDownloadFailed: string;
|
|
294
|
+
toastSearchFailed: string;
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
thumbnailRail: {
|
|
298
|
+
pages: string;
|
|
299
|
+
/** template: "Go to page {n}" */
|
|
300
|
+
goToPageAria: string;
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
pdfToast: {
|
|
304
|
+
title: string;
|
|
305
|
+
/** template: "Processing page {current} of {total}" */
|
|
306
|
+
processing: string;
|
|
307
|
+
printing: string;
|
|
308
|
+
done: string;
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
themeToggle: {
|
|
312
|
+
toggleAria: string;
|
|
313
|
+
title: string;
|
|
314
|
+
light: string;
|
|
315
|
+
dark: string;
|
|
316
|
+
system: string;
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
clickNav: {
|
|
320
|
+
prevAria: string;
|
|
321
|
+
nextAria: string;
|
|
322
|
+
};
|
|
323
|
+
};
|