@autono/open-pages 0.1.0
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/LICENSE +23 -0
- package/README.md +108 -0
- package/bin.js +2 -0
- package/dist/build-TP72kiw7.js +35 -0
- package/dist/cli/bin.d.ts +1 -0
- package/dist/cli/bin.js +100 -0
- package/dist/config-C9or4m4J.d.ts +23 -0
- package/dist/config-L0IbktJ0.js +3135 -0
- package/dist/design-C13iz9_4.js +35 -0
- package/dist/dev-I2IyEh5W.js +97 -0
- package/dist/export-B-kBRWB1.js +4 -0
- package/dist/export-ic28osQP.js +131 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.js +3 -0
- package/dist/locale/index.d.ts +24 -0
- package/dist/locale/index.js +881 -0
- package/dist/open-pages-plugin-D_DN_zjh.js +632 -0
- package/dist/preview-BrDuvgAN.js +21 -0
- package/dist/sync-Be_hxSOF.js +139 -0
- package/dist/sync-lKEXyPOh.js +3 -0
- package/dist/types-C5NCdDT-.d.ts +219 -0
- package/dist/update-CV62NhBT.js +37 -0
- package/dist/update-package-Cxt57pz7.js +152 -0
- package/dist/version-B6AiiGvT.js +26 -0
- package/dist/version-CeffgdfZ.js +3 -0
- package/dist/vite/index.d.ts +14 -0
- package/dist/vite/index.js +7 -0
- package/env.d.ts +59 -0
- package/package.json +106 -0
- package/skills/apply-comments/SKILL.md +86 -0
- package/skills/create-page/SKILL.md +92 -0
- package/skills/create-theme/SKILL.md +223 -0
- package/skills/current-page/SKILL.md +106 -0
- package/skills/page-authoring/SKILL.md +148 -0
- package/skills/page-authoring/references/assets-and-fonts.md +85 -0
- package/skills/page-authoring/references/html-pages.md +65 -0
- package/skills/page-authoring/references/interactivity.md +77 -0
- package/skills/page-authoring/references/layout-and-responsive.md +71 -0
- package/skills/page-authoring/references/typography-and-color.md +60 -0
- package/src/app/app.tsx +45 -0
- package/src/app/components/asset-view.tsx +1665 -0
- package/src/app/components/command/command-menu.tsx +227 -0
- package/src/app/components/command/command.tsx +142 -0
- package/src/app/components/command/home-command-menu.tsx +96 -0
- package/src/app/components/icon-tooltip.tsx +34 -0
- package/src/app/components/language-toggle.tsx +46 -0
- package/src/app/components/sidebar/folder-item.tsx +269 -0
- package/src/app/components/sidebar/icon-picker.tsx +61 -0
- package/src/app/components/sidebar/sidebar-footer.tsx +139 -0
- package/src/app/components/sidebar/sidebar.tsx +302 -0
- package/src/app/components/theme-toggle.tsx +66 -0
- package/src/app/components/themes/theme-detail.tsx +226 -0
- package/src/app/components/themes/themes-gallery.tsx +104 -0
- package/src/app/components/ui/badge.tsx +48 -0
- package/src/app/components/ui/button.tsx +93 -0
- package/src/app/components/ui/card.tsx +92 -0
- package/src/app/components/ui/context-menu.tsx +247 -0
- package/src/app/components/ui/dialog.tsx +155 -0
- package/src/app/components/ui/dropdown-menu.tsx +267 -0
- package/src/app/components/ui/input.tsx +25 -0
- package/src/app/components/ui/label.tsx +21 -0
- package/src/app/components/ui/popover.tsx +82 -0
- package/src/app/components/ui/progress.tsx +33 -0
- package/src/app/components/ui/scroll-area.tsx +53 -0
- package/src/app/components/ui/select.tsx +195 -0
- package/src/app/components/ui/separator.tsx +26 -0
- package/src/app/components/ui/slider.tsx +68 -0
- package/src/app/components/ui/sonner.tsx +48 -0
- package/src/app/components/ui/tabs.tsx +79 -0
- package/src/app/components/ui/textarea.tsx +22 -0
- package/src/app/components/ui/toggle-group.tsx +84 -0
- package/src/app/components/ui/toggle.tsx +45 -0
- package/src/app/components/ui/tooltip.tsx +75 -0
- package/src/app/favicon.ico +0 -0
- package/src/app/frame/inspect.ts +140 -0
- package/src/app/frame/main.tsx +91 -0
- package/src/app/frame.html +12 -0
- package/src/app/index.html +13 -0
- package/src/app/lib/asset-filter.test.ts +176 -0
- package/src/app/lib/asset-filter.ts +80 -0
- package/src/app/lib/assets.ts +257 -0
- package/src/app/lib/design.ts +58 -0
- package/src/app/lib/folders.ts +239 -0
- package/src/app/lib/frame.ts +38 -0
- package/src/app/lib/locale-store.ts +67 -0
- package/src/app/lib/page-thumb.tsx +46 -0
- package/src/app/lib/pages.ts +28 -0
- package/src/app/lib/sdk.ts +43 -0
- package/src/app/lib/themes.ts +22 -0
- package/src/app/lib/use-locale.ts +8 -0
- package/src/app/lib/use-page-module.ts +48 -0
- package/src/app/lib/use-page-titles.ts +29 -0
- package/src/app/lib/use-restart-server.ts +78 -0
- package/src/app/lib/utils.test.ts +25 -0
- package/src/app/lib/utils.ts +6 -0
- package/src/app/main.tsx +14 -0
- package/src/app/routes/assets.tsx +9 -0
- package/src/app/routes/home-shell.tsx +252 -0
- package/src/app/routes/home.tsx +846 -0
- package/src/app/routes/page.tsx +329 -0
- package/src/app/routes/themes.tsx +34 -0
- package/src/app/styles.css +405 -0
- package/src/app/virtual.d.ts +53 -0
- package/src/locale/en.ts +218 -0
- package/src/locale/format.ts +12 -0
- package/src/locale/index.ts +6 -0
- package/src/locale/ja.ts +221 -0
- package/src/locale/types.ts +215 -0
- package/src/locale/zh-cn.ts +218 -0
- package/src/locale/zh-tw.ts +218 -0
package/src/locale/ja.ts
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import type { Locale } from './types';
|
|
2
|
+
|
|
3
|
+
export const ja: Locale = {
|
|
4
|
+
id: 'ja',
|
|
5
|
+
common: {
|
|
6
|
+
cancel: 'キャンセル',
|
|
7
|
+
save: '保存',
|
|
8
|
+
delete: '削除',
|
|
9
|
+
rename: '名前を変更',
|
|
10
|
+
move: '移動',
|
|
11
|
+
add: '追加',
|
|
12
|
+
done: '完了',
|
|
13
|
+
tryAgain: '再試行',
|
|
14
|
+
selected: '選択中',
|
|
15
|
+
},
|
|
16
|
+
notFound: {
|
|
17
|
+
eyebrow: '404 · ページが見つかりません',
|
|
18
|
+
title: 'ページが見つかりません',
|
|
19
|
+
},
|
|
20
|
+
home: {
|
|
21
|
+
appTitle: 'open-pages',
|
|
22
|
+
draft: '下書き',
|
|
23
|
+
duplicate: '複製',
|
|
24
|
+
themes: 'テーマ',
|
|
25
|
+
assets: 'アセット',
|
|
26
|
+
folders: 'フォルダ',
|
|
27
|
+
pages: 'スライド',
|
|
28
|
+
menu: 'メニュー',
|
|
29
|
+
newFolder: '新規フォルダ',
|
|
30
|
+
folderName: 'フォルダ名',
|
|
31
|
+
updateAvailable: 'open-pages {version} が利用可能です',
|
|
32
|
+
updatePackage: '更新',
|
|
33
|
+
updatingPackage: '更新中',
|
|
34
|
+
updatePackageDone: '更新しました。新しいバージョンを使うには dev server を再起動してください。',
|
|
35
|
+
updatePackageFailed: '更新に失敗しました。dev server の出力を確認してください。',
|
|
36
|
+
restartServer: 'dev server を再起動',
|
|
37
|
+
restartingServer: '再起動中',
|
|
38
|
+
restartServerFailed: '再起動に失敗しました。dev server を手動で再起動してください。',
|
|
39
|
+
changeIcon: 'アイコンを変更',
|
|
40
|
+
iconEmojiTab: '絵文字',
|
|
41
|
+
iconColorTab: 'カラー',
|
|
42
|
+
folderActions: 'フォルダ操作',
|
|
43
|
+
searchPlaceholder: 'スライドを検索',
|
|
44
|
+
clearSearch: '検索をクリア',
|
|
45
|
+
sortLabel: '並べ替え',
|
|
46
|
+
sortByCreatedDesc: '新しい順',
|
|
47
|
+
sortByCreatedAsc: '古い順',
|
|
48
|
+
sortByTitleAsc: 'A–Z',
|
|
49
|
+
sortByTitleDesc: 'Z–A',
|
|
50
|
+
noMatches: '一致なし',
|
|
51
|
+
nothingMatchesPrefix: 'このフォルダ内に ',
|
|
52
|
+
nothingMatchesSuffix: ' に一致する項目はありません。',
|
|
53
|
+
noDocsYet: 'スライドはまだありません',
|
|
54
|
+
createDocHintPrefix: 'エージェントで ',
|
|
55
|
+
createDocHintSuffix: ' を実行してスライドを作成しましょう。',
|
|
56
|
+
folderEmptyTitle: '{name} は空です',
|
|
57
|
+
folderEmptyHint: 'サイドバーから下書きのスライドをこのフォルダにドラッグしてください。',
|
|
58
|
+
docActions: 'スライド操作',
|
|
59
|
+
moveToFolder: 'フォルダへ移動…',
|
|
60
|
+
renameDialogEyebrow: '名前を変更',
|
|
61
|
+
renameDialogTitle: 'スライドの名前を変更',
|
|
62
|
+
renameDialogDescription: 'このスライドの新しい表示名を設定します。',
|
|
63
|
+
docNamePlaceholder: 'スライド名',
|
|
64
|
+
moveDialogEyebrow: '移動',
|
|
65
|
+
moveDialogTitle: 'スライドを移動',
|
|
66
|
+
moveDialogDescriptionPrefix: '',
|
|
67
|
+
moveDialogDescriptionSuffix: ' のフォルダを選択してください。',
|
|
68
|
+
deleteDialogEyebrow: '破壊的操作',
|
|
69
|
+
deleteDialogTitle: 'スライドを削除しますか?',
|
|
70
|
+
deleteDialogDescriptionPrefix: '',
|
|
71
|
+
deleteDialogDescriptionMid: ' とそのファイルをディスクから完全に削除します。',
|
|
72
|
+
deleteDialogDescriptionSuffix: 'この操作は元に戻せません。',
|
|
73
|
+
toastFolderCreated: 'フォルダ「{name}」を作成しました',
|
|
74
|
+
toastFolderCreateFailed: 'フォルダの作成に失敗しました',
|
|
75
|
+
toastDocDuplicated: '「{page}」を {newDoc} として複製しました',
|
|
76
|
+
toastDocDuplicateFailed: 'スライドを複製できませんでした',
|
|
77
|
+
toastDocMoved: '「{page}」を {folder} に移動しました',
|
|
78
|
+
toastDocMoveFailed: 'スライドの移動に失敗しました',
|
|
79
|
+
toastFolderDeleted: 'フォルダ「{name}」を削除しました',
|
|
80
|
+
toastFolderDeleteFailed: 'フォルダの削除に失敗しました',
|
|
81
|
+
toastFolderReorderFailed: 'フォルダの並び替えに失敗しました',
|
|
82
|
+
pickIcon: 'アイコンを選択',
|
|
83
|
+
},
|
|
84
|
+
page: {
|
|
85
|
+
loadingEyebrow: '読み込み中',
|
|
86
|
+
},
|
|
87
|
+
asset: {
|
|
88
|
+
devOnlyMessage: 'アセット管理は開発モードでのみ利用できます。',
|
|
89
|
+
sectionAria: 'スライドのアセット',
|
|
90
|
+
eyebrow: 'アセット',
|
|
91
|
+
scopeDoc: 'このスライド',
|
|
92
|
+
scopeGlobal: 'グローバル',
|
|
93
|
+
fileCount: {
|
|
94
|
+
one: 'ファイル {count} 件',
|
|
95
|
+
other: 'ファイル {count} 件',
|
|
96
|
+
},
|
|
97
|
+
createdAt: '作成日時',
|
|
98
|
+
modifiedAt: '更新日時',
|
|
99
|
+
nameColumn: '名前',
|
|
100
|
+
typeColumn: '種類',
|
|
101
|
+
sizeColumn: 'サイズ',
|
|
102
|
+
statusColumn: '状態',
|
|
103
|
+
sortAria: 'アセットを並べ替え',
|
|
104
|
+
sortByColumn: '{column}で並べ替え',
|
|
105
|
+
sortAscending: '昇順',
|
|
106
|
+
sortDescending: '降順',
|
|
107
|
+
assetSearchPlaceholder: 'アセットを検索…',
|
|
108
|
+
clearAssetSearch: 'アセット検索をクリア',
|
|
109
|
+
usageFilterAria: '使用状況で絞り込む',
|
|
110
|
+
usageAll: 'すべての使用状況',
|
|
111
|
+
usageUsed: '使用中',
|
|
112
|
+
usageUnused: '未使用',
|
|
113
|
+
typeFilterAria: 'ファイル形式で絞り込む',
|
|
114
|
+
typeAll: 'すべての形式',
|
|
115
|
+
typeImage: '画像',
|
|
116
|
+
typeFont: 'フォント',
|
|
117
|
+
typeVideo: '動画',
|
|
118
|
+
typeOther: 'その他',
|
|
119
|
+
gridViewAria: 'グリッド表示',
|
|
120
|
+
listViewAria: 'リスト表示',
|
|
121
|
+
gridColumnsAria: 'グリッドの列数',
|
|
122
|
+
gridColumnsValue: '{count} 列',
|
|
123
|
+
noMatchingAssets: '一致するアセットがありません',
|
|
124
|
+
noMatchingAssetsHint: '検索条件またはフィルターを調整してください。',
|
|
125
|
+
clearFilters: 'フィルターをクリア',
|
|
126
|
+
searchLogos: 'ロゴを検索',
|
|
127
|
+
upload: 'アップロード',
|
|
128
|
+
dropToUpload: 'ドロップでアップロード',
|
|
129
|
+
loading: '読み込み中…',
|
|
130
|
+
noAssetsYet: 'アセットはまだありません',
|
|
131
|
+
noAssetsHintPrefix: 'ここにファイルをドロップするか、',
|
|
132
|
+
noAssetsHintSuffix: ' を使用してください。',
|
|
133
|
+
nameAlreadyExists: '同名のファイルがすでに存在します。',
|
|
134
|
+
previewAria: '{name} をプレビュー',
|
|
135
|
+
actionsAria: '{name} の操作',
|
|
136
|
+
previewMenuItem: 'プレビュー',
|
|
137
|
+
renameMenuItem: '名前を変更',
|
|
138
|
+
deleteMenuItem: '削除',
|
|
139
|
+
conflictTitle: 'ファイルがすでに存在します',
|
|
140
|
+
conflictDescription: '{name} はすでにアセットフォルダにあります。',
|
|
141
|
+
conflictReplace: '置き換え',
|
|
142
|
+
conflictRenameCopy: 'コピーをリネーム',
|
|
143
|
+
deleteAssetTitle: 'アセットを削除',
|
|
144
|
+
deleteAssetDescription:
|
|
145
|
+
'{name} を削除しますか?スライド内でこのファイルを参照しているインポートは壊れます。',
|
|
146
|
+
deleteAssetInUseDescription: '{name} は {pages} 枚のスライドで {count} 箇所使用されています。',
|
|
147
|
+
deleteAssetInUseHint: '削除すると、これらの使用箇所は画像プレースホルダーに戻ります。',
|
|
148
|
+
deleteAndRevert: '削除して戻す',
|
|
149
|
+
toastRevertFailed: '{pageId} の使用箇所を戻せませんでした',
|
|
150
|
+
toastDeletedWithRevert: '{name} を削除し、{count} 箇所をプレースホルダーに戻しました',
|
|
151
|
+
noPreview: 'プレビューはありません',
|
|
152
|
+
importHintComment: 'import asset from ',
|
|
153
|
+
importHintSemi: ';',
|
|
154
|
+
logoSearchTitle: 'ロゴを検索',
|
|
155
|
+
logoSearchPoweredByPrefix: 'Powered by ',
|
|
156
|
+
logoSearchPlaceholder: 'ブランド名で検索…',
|
|
157
|
+
logoSearchErrorTitle: 'svgl に接続できません',
|
|
158
|
+
logoSearchErrorBody: '接続を確認して再試行してください。',
|
|
159
|
+
logoSearchNoResults: '「{query}」のロゴは見つかりません',
|
|
160
|
+
logoSearchEmpty: '利用可能なロゴはありません',
|
|
161
|
+
logoSearchEmptyHintPrefix:
|
|
162
|
+
'別のブランド名を試すか、次のサイトでカタログ全体を閲覧してください: ',
|
|
163
|
+
logoSearchEmptyHintSuffix: '。',
|
|
164
|
+
logoVariantLight: 'ライト',
|
|
165
|
+
logoVariantDark: 'ダーク',
|
|
166
|
+
toastUploadFailed: 'アップロードに失敗しました ({status})',
|
|
167
|
+
toastReplaced: '{name} を置き換えました',
|
|
168
|
+
toastUploadedAs: '{name} としてアップロードしました',
|
|
169
|
+
toastUploaded: '{name} をアップロードしました',
|
|
170
|
+
toastRenameFailed: '名前の変更に失敗しました ({status})',
|
|
171
|
+
toastRenamed: '{name} に名前を変更しました',
|
|
172
|
+
toastDeleteFailed: '削除に失敗しました ({status})',
|
|
173
|
+
toastDeleted: '{name} を削除しました',
|
|
174
|
+
toastDownloadFailed: 'ロゴのダウンロードに失敗しました',
|
|
175
|
+
toastSearchFailed: '検索に失敗しました',
|
|
176
|
+
},
|
|
177
|
+
commandMenu: {
|
|
178
|
+
trigger: 'コマンド',
|
|
179
|
+
triggerAria: 'コマンドメニューを開く',
|
|
180
|
+
triggerTooltip: '検索',
|
|
181
|
+
placeholder: 'スライドを検索、またはコマンドを実行…',
|
|
182
|
+
empty: '結果がありません。',
|
|
183
|
+
groupDocs: 'スライド',
|
|
184
|
+
groupFolders: 'フォルダ',
|
|
185
|
+
groupNavigation: '移動',
|
|
186
|
+
groupAppearance: '外観',
|
|
187
|
+
groupDeveloper: '開発',
|
|
188
|
+
themeItem: 'テーマ: {name}',
|
|
189
|
+
languageItem: '言語: {name}',
|
|
190
|
+
hintNavigate: '移動',
|
|
191
|
+
hintSelect: '選択',
|
|
192
|
+
hintClose: '閉じる',
|
|
193
|
+
},
|
|
194
|
+
themeToggle: {
|
|
195
|
+
toggleAria: 'テーマを切り替え',
|
|
196
|
+
title: 'テーマ',
|
|
197
|
+
light: 'ライト',
|
|
198
|
+
dark: 'ダーク',
|
|
199
|
+
system: 'システム',
|
|
200
|
+
},
|
|
201
|
+
languageToggle: {
|
|
202
|
+
toggleAria: '言語を切り替え',
|
|
203
|
+
title: '言語',
|
|
204
|
+
},
|
|
205
|
+
themes: {
|
|
206
|
+
title: 'テーマ',
|
|
207
|
+
noThemesTitle: 'テーマがまだありません',
|
|
208
|
+
noThemesHintPrefix: '',
|
|
209
|
+
noThemesHintSuffix:
|
|
210
|
+
' を実行して作成 — themes/ に markdown ファイルと同名の demo スライドを置きます。',
|
|
211
|
+
noDemoYet: 'デモがまだありません',
|
|
212
|
+
noDemoHintPrefix: 'このテーマで ',
|
|
213
|
+
noDemoHintSuffix: ' を再実行するとプレビュー用スライドが生成されます。',
|
|
214
|
+
backToGallery: 'テーマ一覧へ戻る',
|
|
215
|
+
openThemeAria: 'テーマ {name} を開く',
|
|
216
|
+
usedBy: 'このテーマを使うスライド',
|
|
217
|
+
usedByEmpty: 'このテーマを使うスライドはまだありません。',
|
|
218
|
+
expandPromptAria: 'プロンプトを展開',
|
|
219
|
+
collapsePromptAria: 'プロンプトを折りたたむ',
|
|
220
|
+
},
|
|
221
|
+
};
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
export type Plural = { one: string; other: string };
|
|
2
|
+
|
|
3
|
+
export type Locale = {
|
|
4
|
+
id: 'en' | 'zh-TW' | 'zh-CN' | 'ja';
|
|
5
|
+
common: {
|
|
6
|
+
cancel: string;
|
|
7
|
+
save: string;
|
|
8
|
+
delete: string;
|
|
9
|
+
rename: string;
|
|
10
|
+
move: string;
|
|
11
|
+
add: string;
|
|
12
|
+
done: string;
|
|
13
|
+
tryAgain: string;
|
|
14
|
+
selected: string;
|
|
15
|
+
};
|
|
16
|
+
notFound: {
|
|
17
|
+
eyebrow: string;
|
|
18
|
+
title: string;
|
|
19
|
+
};
|
|
20
|
+
home: {
|
|
21
|
+
appTitle: string;
|
|
22
|
+
draft: string;
|
|
23
|
+
duplicate: string;
|
|
24
|
+
themes: string;
|
|
25
|
+
assets: string;
|
|
26
|
+
folders: string;
|
|
27
|
+
pages: string;
|
|
28
|
+
menu: string;
|
|
29
|
+
newFolder: string;
|
|
30
|
+
folderName: string;
|
|
31
|
+
updateAvailable: string;
|
|
32
|
+
updatePackage: string;
|
|
33
|
+
updatingPackage: string;
|
|
34
|
+
updatePackageDone: string;
|
|
35
|
+
updatePackageFailed: string;
|
|
36
|
+
restartServer: string;
|
|
37
|
+
restartingServer: string;
|
|
38
|
+
restartServerFailed: string;
|
|
39
|
+
changeIcon: string;
|
|
40
|
+
iconEmojiTab: string;
|
|
41
|
+
iconColorTab: string;
|
|
42
|
+
folderActions: string;
|
|
43
|
+
searchPlaceholder: string;
|
|
44
|
+
clearSearch: string;
|
|
45
|
+
sortLabel: string;
|
|
46
|
+
sortByCreatedDesc: string;
|
|
47
|
+
sortByCreatedAsc: string;
|
|
48
|
+
sortByTitleAsc: string;
|
|
49
|
+
sortByTitleDesc: string;
|
|
50
|
+
noMatches: string;
|
|
51
|
+
nothingMatchesPrefix: string;
|
|
52
|
+
nothingMatchesSuffix: string;
|
|
53
|
+
noDocsYet: string;
|
|
54
|
+
createDocHintPrefix: string;
|
|
55
|
+
createDocHintSuffix: string;
|
|
56
|
+
folderEmptyTitle: string;
|
|
57
|
+
folderEmptyHint: string;
|
|
58
|
+
docActions: string;
|
|
59
|
+
moveToFolder: string;
|
|
60
|
+
renameDialogEyebrow: string;
|
|
61
|
+
renameDialogTitle: string;
|
|
62
|
+
renameDialogDescription: string;
|
|
63
|
+
docNamePlaceholder: string;
|
|
64
|
+
moveDialogEyebrow: string;
|
|
65
|
+
moveDialogTitle: string;
|
|
66
|
+
moveDialogDescriptionPrefix: string;
|
|
67
|
+
moveDialogDescriptionSuffix: string;
|
|
68
|
+
deleteDialogEyebrow: string;
|
|
69
|
+
deleteDialogTitle: string;
|
|
70
|
+
deleteDialogDescriptionPrefix: string;
|
|
71
|
+
deleteDialogDescriptionMid: string;
|
|
72
|
+
deleteDialogDescriptionSuffix: string;
|
|
73
|
+
toastFolderCreated: string;
|
|
74
|
+
toastFolderCreateFailed: string;
|
|
75
|
+
toastDocDuplicated: string;
|
|
76
|
+
toastDocDuplicateFailed: string;
|
|
77
|
+
toastDocMoved: string;
|
|
78
|
+
toastDocMoveFailed: string;
|
|
79
|
+
toastFolderDeleted: string;
|
|
80
|
+
toastFolderDeleteFailed: string;
|
|
81
|
+
toastFolderReorderFailed: string;
|
|
82
|
+
pickIcon: string;
|
|
83
|
+
};
|
|
84
|
+
page: {
|
|
85
|
+
loadingEyebrow: string;
|
|
86
|
+
};
|
|
87
|
+
asset: {
|
|
88
|
+
devOnlyMessage: string;
|
|
89
|
+
sectionAria: string;
|
|
90
|
+
eyebrow: string;
|
|
91
|
+
scopeDoc: string;
|
|
92
|
+
scopeGlobal: string;
|
|
93
|
+
fileCount: Plural;
|
|
94
|
+
createdAt: string;
|
|
95
|
+
modifiedAt: string;
|
|
96
|
+
nameColumn: string;
|
|
97
|
+
typeColumn: string;
|
|
98
|
+
sizeColumn: string;
|
|
99
|
+
statusColumn: string;
|
|
100
|
+
sortAria: string;
|
|
101
|
+
sortByColumn: string;
|
|
102
|
+
sortAscending: string;
|
|
103
|
+
sortDescending: string;
|
|
104
|
+
assetSearchPlaceholder: string;
|
|
105
|
+
clearAssetSearch: string;
|
|
106
|
+
usageFilterAria: string;
|
|
107
|
+
usageAll: string;
|
|
108
|
+
usageUsed: string;
|
|
109
|
+
usageUnused: string;
|
|
110
|
+
typeFilterAria: string;
|
|
111
|
+
typeAll: string;
|
|
112
|
+
typeImage: string;
|
|
113
|
+
typeFont: string;
|
|
114
|
+
typeVideo: string;
|
|
115
|
+
typeOther: string;
|
|
116
|
+
gridViewAria: string;
|
|
117
|
+
listViewAria: string;
|
|
118
|
+
gridColumnsAria: string;
|
|
119
|
+
gridColumnsValue: string;
|
|
120
|
+
noMatchingAssets: string;
|
|
121
|
+
noMatchingAssetsHint: string;
|
|
122
|
+
clearFilters: string;
|
|
123
|
+
searchLogos: string;
|
|
124
|
+
upload: string;
|
|
125
|
+
dropToUpload: string;
|
|
126
|
+
loading: string;
|
|
127
|
+
noAssetsYet: string;
|
|
128
|
+
noAssetsHintPrefix: string;
|
|
129
|
+
noAssetsHintSuffix: string;
|
|
130
|
+
nameAlreadyExists: string;
|
|
131
|
+
previewAria: string;
|
|
132
|
+
actionsAria: string;
|
|
133
|
+
previewMenuItem: string;
|
|
134
|
+
renameMenuItem: string;
|
|
135
|
+
deleteMenuItem: string;
|
|
136
|
+
conflictTitle: string;
|
|
137
|
+
conflictDescription: string;
|
|
138
|
+
conflictReplace: string;
|
|
139
|
+
conflictRenameCopy: string;
|
|
140
|
+
deleteAssetTitle: string;
|
|
141
|
+
deleteAssetDescription: string;
|
|
142
|
+
deleteAssetInUseDescription: string;
|
|
143
|
+
deleteAssetInUseHint: string;
|
|
144
|
+
deleteAndRevert: string;
|
|
145
|
+
toastRevertFailed: string;
|
|
146
|
+
toastDeletedWithRevert: string;
|
|
147
|
+
noPreview: string;
|
|
148
|
+
importHintComment: string;
|
|
149
|
+
importHintSemi: string;
|
|
150
|
+
logoSearchTitle: string;
|
|
151
|
+
logoSearchPoweredByPrefix: string;
|
|
152
|
+
logoSearchPlaceholder: string;
|
|
153
|
+
logoSearchErrorTitle: string;
|
|
154
|
+
logoSearchErrorBody: string;
|
|
155
|
+
logoSearchNoResults: string;
|
|
156
|
+
logoSearchEmpty: string;
|
|
157
|
+
logoSearchEmptyHintPrefix: string;
|
|
158
|
+
logoSearchEmptyHintSuffix: string;
|
|
159
|
+
logoVariantLight: string;
|
|
160
|
+
logoVariantDark: string;
|
|
161
|
+
toastUploadFailed: string;
|
|
162
|
+
toastReplaced: string;
|
|
163
|
+
toastUploadedAs: string;
|
|
164
|
+
toastUploaded: string;
|
|
165
|
+
toastRenameFailed: string;
|
|
166
|
+
toastRenamed: string;
|
|
167
|
+
toastDeleteFailed: string;
|
|
168
|
+
toastDeleted: string;
|
|
169
|
+
toastDownloadFailed: string;
|
|
170
|
+
toastSearchFailed: string;
|
|
171
|
+
};
|
|
172
|
+
commandMenu: {
|
|
173
|
+
trigger: string;
|
|
174
|
+
triggerAria: string;
|
|
175
|
+
triggerTooltip: string;
|
|
176
|
+
placeholder: string;
|
|
177
|
+
empty: string;
|
|
178
|
+
groupDocs: string;
|
|
179
|
+
groupFolders: string;
|
|
180
|
+
groupNavigation: string;
|
|
181
|
+
groupAppearance: string;
|
|
182
|
+
groupDeveloper: string;
|
|
183
|
+
themeItem: string;
|
|
184
|
+
languageItem: string;
|
|
185
|
+
hintNavigate: string;
|
|
186
|
+
hintSelect: string;
|
|
187
|
+
hintClose: string;
|
|
188
|
+
};
|
|
189
|
+
themeToggle: {
|
|
190
|
+
toggleAria: string;
|
|
191
|
+
title: string;
|
|
192
|
+
light: string;
|
|
193
|
+
dark: string;
|
|
194
|
+
system: string;
|
|
195
|
+
};
|
|
196
|
+
languageToggle: {
|
|
197
|
+
toggleAria: string;
|
|
198
|
+
title: string;
|
|
199
|
+
};
|
|
200
|
+
themes: {
|
|
201
|
+
title: string;
|
|
202
|
+
noThemesTitle: string;
|
|
203
|
+
noThemesHintPrefix: string;
|
|
204
|
+
noThemesHintSuffix: string;
|
|
205
|
+
noDemoYet: string;
|
|
206
|
+
noDemoHintPrefix: string;
|
|
207
|
+
noDemoHintSuffix: string;
|
|
208
|
+
backToGallery: string;
|
|
209
|
+
openThemeAria: string;
|
|
210
|
+
usedBy: string;
|
|
211
|
+
usedByEmpty: string;
|
|
212
|
+
expandPromptAria: string;
|
|
213
|
+
collapsePromptAria: string;
|
|
214
|
+
};
|
|
215
|
+
};
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import type { Locale } from './types';
|
|
2
|
+
|
|
3
|
+
export const zhCN: Locale = {
|
|
4
|
+
id: 'zh-CN',
|
|
5
|
+
common: {
|
|
6
|
+
cancel: '取消',
|
|
7
|
+
save: '保存',
|
|
8
|
+
delete: '删除',
|
|
9
|
+
rename: '重命名',
|
|
10
|
+
move: '移动',
|
|
11
|
+
add: '添加',
|
|
12
|
+
done: '完成',
|
|
13
|
+
tryAgain: '重试',
|
|
14
|
+
selected: '已选中',
|
|
15
|
+
},
|
|
16
|
+
notFound: {
|
|
17
|
+
eyebrow: '404 · 未找到页面',
|
|
18
|
+
title: '未找到页面',
|
|
19
|
+
},
|
|
20
|
+
home: {
|
|
21
|
+
appTitle: 'open-pages',
|
|
22
|
+
draft: '草稿',
|
|
23
|
+
duplicate: '复制',
|
|
24
|
+
themes: '主题',
|
|
25
|
+
assets: '素材',
|
|
26
|
+
folders: '頁面夹',
|
|
27
|
+
pages: '幻灯片',
|
|
28
|
+
menu: '菜单',
|
|
29
|
+
newFolder: '新建頁面夹',
|
|
30
|
+
folderName: '頁面夹名称',
|
|
31
|
+
updateAvailable: 'open-pages {version} 已发布',
|
|
32
|
+
updatePackage: '更新',
|
|
33
|
+
updatingPackage: '更新中',
|
|
34
|
+
updatePackageDone: '已更新。请重启 dev server 以使用新版本。',
|
|
35
|
+
updatePackageFailed: '更新失败,请查看 dev server 输出。',
|
|
36
|
+
restartServer: '重启 dev server',
|
|
37
|
+
restartingServer: '重启中',
|
|
38
|
+
restartServerFailed: '重启失败,请手动重启 dev server。',
|
|
39
|
+
changeIcon: '更换图标',
|
|
40
|
+
iconEmojiTab: 'Emoji',
|
|
41
|
+
iconColorTab: '颜色',
|
|
42
|
+
folderActions: '頁面夹操作',
|
|
43
|
+
searchPlaceholder: '搜索幻灯片',
|
|
44
|
+
clearSearch: '清除搜索',
|
|
45
|
+
sortLabel: '排序',
|
|
46
|
+
sortByCreatedDesc: '最新',
|
|
47
|
+
sortByCreatedAsc: '最旧',
|
|
48
|
+
sortByTitleAsc: 'A–Z',
|
|
49
|
+
sortByTitleDesc: 'Z–A',
|
|
50
|
+
noMatches: '没有匹配项',
|
|
51
|
+
nothingMatchesPrefix: '该頁面夹中没有匹配 ',
|
|
52
|
+
nothingMatchesSuffix: ' 的内容。',
|
|
53
|
+
noDocsYet: '尚无幻灯片',
|
|
54
|
+
createDocHintPrefix: '在 agent 中执行 ',
|
|
55
|
+
createDocHintSuffix: ' 开始创建。',
|
|
56
|
+
folderEmptyTitle: '{name} 为空',
|
|
57
|
+
folderEmptyHint: '从侧边栏将幻灯片从草稿拖入此頁面夹。',
|
|
58
|
+
docActions: '幻灯片操作',
|
|
59
|
+
moveToFolder: '移到頁面夹…',
|
|
60
|
+
renameDialogEyebrow: '重命名',
|
|
61
|
+
renameDialogTitle: '重命名幻灯片',
|
|
62
|
+
renameDialogDescription: '为该幻灯片设置新的显示名称。',
|
|
63
|
+
docNamePlaceholder: '幻灯片名称',
|
|
64
|
+
moveDialogEyebrow: '移动',
|
|
65
|
+
moveDialogTitle: '移动幻灯片',
|
|
66
|
+
moveDialogDescriptionPrefix: '为 ',
|
|
67
|
+
moveDialogDescriptionSuffix: ' 选择頁面夹。',
|
|
68
|
+
deleteDialogEyebrow: '危险操作',
|
|
69
|
+
deleteDialogTitle: '删除幻灯片?',
|
|
70
|
+
deleteDialogDescriptionPrefix: '这将永久从磁盘移除 ',
|
|
71
|
+
deleteDialogDescriptionMid: ' 及其頁面。',
|
|
72
|
+
deleteDialogDescriptionSuffix: '此操作无法撤销。',
|
|
73
|
+
toastFolderCreated: '已创建頁面夹"{name}"',
|
|
74
|
+
toastFolderCreateFailed: '创建頁面夹失败',
|
|
75
|
+
toastDocDuplicated: '已将"{page}"复制为 {newDoc}',
|
|
76
|
+
toastDocDuplicateFailed: '无法复制幻灯片',
|
|
77
|
+
toastDocMoved: '已将"{page}"移至 {folder}',
|
|
78
|
+
toastDocMoveFailed: '移动幻灯片失败',
|
|
79
|
+
toastFolderDeleted: '已删除頁面夹"{name}"',
|
|
80
|
+
toastFolderDeleteFailed: '删除頁面夹失败',
|
|
81
|
+
toastFolderReorderFailed: '頁面夹排序失败',
|
|
82
|
+
pickIcon: '选择图标',
|
|
83
|
+
},
|
|
84
|
+
page: {
|
|
85
|
+
loadingEyebrow: '加载中',
|
|
86
|
+
},
|
|
87
|
+
asset: {
|
|
88
|
+
devOnlyMessage: '素材管理仅在开发模式下可用。',
|
|
89
|
+
sectionAria: '幻灯片素材',
|
|
90
|
+
eyebrow: '素材',
|
|
91
|
+
scopeDoc: '当前幻灯片',
|
|
92
|
+
scopeGlobal: '全局',
|
|
93
|
+
fileCount: {
|
|
94
|
+
one: '{count} 个頁面',
|
|
95
|
+
other: '{count} 个頁面',
|
|
96
|
+
},
|
|
97
|
+
createdAt: '创建时间',
|
|
98
|
+
modifiedAt: '修改时间',
|
|
99
|
+
nameColumn: '名称',
|
|
100
|
+
typeColumn: '类型',
|
|
101
|
+
sizeColumn: '大小',
|
|
102
|
+
statusColumn: '状态',
|
|
103
|
+
sortAria: '素材排序',
|
|
104
|
+
sortByColumn: '按{column}排序',
|
|
105
|
+
sortAscending: '升序',
|
|
106
|
+
sortDescending: '降序',
|
|
107
|
+
assetSearchPlaceholder: '搜索素材…',
|
|
108
|
+
clearAssetSearch: '清除素材搜索',
|
|
109
|
+
usageFilterAria: '按使用状态筛选',
|
|
110
|
+
usageAll: '所有状态',
|
|
111
|
+
usageUsed: '使用中',
|
|
112
|
+
usageUnused: '未使用',
|
|
113
|
+
typeFilterAria: '按頁面类型筛选',
|
|
114
|
+
typeAll: '所有类型',
|
|
115
|
+
typeImage: '图片',
|
|
116
|
+
typeFont: '字体',
|
|
117
|
+
typeVideo: '视频',
|
|
118
|
+
typeOther: '其他',
|
|
119
|
+
gridViewAria: '网格视图',
|
|
120
|
+
listViewAria: '列表视图',
|
|
121
|
+
gridColumnsAria: '网格列数',
|
|
122
|
+
gridColumnsValue: '{count} 列',
|
|
123
|
+
noMatchingAssets: '找不到匹配的素材',
|
|
124
|
+
noMatchingAssetsHint: '请调整搜索或筛选条件。',
|
|
125
|
+
clearFilters: '清除筛选',
|
|
126
|
+
searchLogos: '搜索 Logo',
|
|
127
|
+
upload: '上传',
|
|
128
|
+
dropToUpload: '拖入即可上传',
|
|
129
|
+
loading: '加载中…',
|
|
130
|
+
noAssetsYet: '尚无素材',
|
|
131
|
+
noAssetsHintPrefix: '将頁面拖到任意位置,或使用 ',
|
|
132
|
+
noAssetsHintSuffix: '。',
|
|
133
|
+
nameAlreadyExists: '已存在同名頁面。',
|
|
134
|
+
previewAria: '预览 {name}',
|
|
135
|
+
actionsAria: '{name} 的操作',
|
|
136
|
+
previewMenuItem: '预览',
|
|
137
|
+
renameMenuItem: '重命名',
|
|
138
|
+
deleteMenuItem: '删除',
|
|
139
|
+
conflictTitle: '頁面已存在',
|
|
140
|
+
conflictDescription: '{name} 已在素材頁面夹中。',
|
|
141
|
+
conflictReplace: '替换',
|
|
142
|
+
conflictRenameCopy: '重命名副本',
|
|
143
|
+
deleteAssetTitle: '删除素材',
|
|
144
|
+
deleteAssetDescription: '要删除 {name} 吗?幻灯片中引用此頁面的导入将失效。',
|
|
145
|
+
deleteAssetInUseDescription: '{name} 在 {pages} 个幻灯片中被使用了 {count} 次。',
|
|
146
|
+
deleteAssetInUseHint: '删除后这些使用处会自动还原为图片占位符。',
|
|
147
|
+
deleteAndRevert: '删除并还原',
|
|
148
|
+
toastRevertFailed: '无法还原 {pageId} 中的使用',
|
|
149
|
+
toastDeletedWithRevert: '已删除 {name} 并还原 {count} 个使用处',
|
|
150
|
+
noPreview: '无预览',
|
|
151
|
+
importHintComment: 'import asset from ',
|
|
152
|
+
importHintSemi: ';',
|
|
153
|
+
logoSearchTitle: '搜索 Logo',
|
|
154
|
+
logoSearchPoweredByPrefix: '由 ',
|
|
155
|
+
logoSearchPlaceholder: '按品牌搜索…',
|
|
156
|
+
logoSearchErrorTitle: '无法连接至 svgl',
|
|
157
|
+
logoSearchErrorBody: '请检查网络连接后重试。',
|
|
158
|
+
logoSearchNoResults: '找不到「{query}」的 Logo',
|
|
159
|
+
logoSearchEmpty: '无可用 Logo',
|
|
160
|
+
logoSearchEmptyHintPrefix: '试试其他品牌名,或在以下网站浏览完整目录: ',
|
|
161
|
+
logoSearchEmptyHintSuffix: '。',
|
|
162
|
+
logoVariantLight: '浅色',
|
|
163
|
+
logoVariantDark: '深色',
|
|
164
|
+
toastUploadFailed: '上传失败 ({status})',
|
|
165
|
+
toastReplaced: '已替换 {name}',
|
|
166
|
+
toastUploadedAs: '已以 {name} 上传',
|
|
167
|
+
toastUploaded: '已上传 {name}',
|
|
168
|
+
toastRenameFailed: '重命名失败 ({status})',
|
|
169
|
+
toastRenamed: '已重命名为 {name}',
|
|
170
|
+
toastDeleteFailed: '删除失败 ({status})',
|
|
171
|
+
toastDeleted: '已删除 {name}',
|
|
172
|
+
toastDownloadFailed: '下载 Logo 失败',
|
|
173
|
+
toastSearchFailed: '搜索失败',
|
|
174
|
+
},
|
|
175
|
+
commandMenu: {
|
|
176
|
+
trigger: '命令',
|
|
177
|
+
triggerAria: '打开命令菜单',
|
|
178
|
+
triggerTooltip: '搜索',
|
|
179
|
+
placeholder: '搜索幻灯片或执行命令…',
|
|
180
|
+
empty: '没有匹配的结果。',
|
|
181
|
+
groupDocs: '幻灯片',
|
|
182
|
+
groupFolders: '頁面夹',
|
|
183
|
+
groupNavigation: '前往',
|
|
184
|
+
groupAppearance: '外观',
|
|
185
|
+
groupDeveloper: '开发',
|
|
186
|
+
themeItem: '主题:{name}',
|
|
187
|
+
languageItem: '语言:{name}',
|
|
188
|
+
hintNavigate: '移动',
|
|
189
|
+
hintSelect: '选择',
|
|
190
|
+
hintClose: '关闭',
|
|
191
|
+
},
|
|
192
|
+
themeToggle: {
|
|
193
|
+
toggleAria: '切换主题',
|
|
194
|
+
title: '主题',
|
|
195
|
+
light: '浅色',
|
|
196
|
+
dark: '深色',
|
|
197
|
+
system: '系统',
|
|
198
|
+
},
|
|
199
|
+
languageToggle: {
|
|
200
|
+
toggleAria: '切换语言',
|
|
201
|
+
title: '语言',
|
|
202
|
+
},
|
|
203
|
+
themes: {
|
|
204
|
+
title: '主题',
|
|
205
|
+
noThemesTitle: '尚无主题',
|
|
206
|
+
noThemesHintPrefix: '运行 ',
|
|
207
|
+
noThemesHintSuffix: ' 来创建一个 — 一个位于 themes/ 的 markdown 頁面,加上同名的 demo page。',
|
|
208
|
+
noDemoYet: '尚无 demo',
|
|
209
|
+
noDemoHintPrefix: '对此主题重新运行 ',
|
|
210
|
+
noDemoHintSuffix: ' 即可生成预览用的 page。',
|
|
211
|
+
backToGallery: '返回主题列表',
|
|
212
|
+
openThemeAria: '打开主题 {name}',
|
|
213
|
+
usedBy: '使用此主题的 pages',
|
|
214
|
+
usedByEmpty: '尚未有 pages 使用此主题。',
|
|
215
|
+
expandPromptAria: '展开 prompt',
|
|
216
|
+
collapsePromptAria: '收起 prompt',
|
|
217
|
+
},
|
|
218
|
+
};
|