master
1// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten.
2/* eslint-disable */
3import type { BaseTranslation as BaseTranslationType, LocalizedString, RequiredParams } from 'typesafe-i18n'
4
5export type BaseTranslation = BaseTranslationType & DisallowNamespaces
6export type BaseLocale = 'en'
7
8export type Locales =
9 | 'en'
10 | 'zh-CN'
11 | 'zh-TW'
12
13export type Translation = RootTranslation & DisallowNamespaces
14
15export type Translations = RootTranslation &
16{
17 cli: NamespaceCliTranslation,
18 web: NamespaceWebTranslation
19}
20
21type RootTranslation = {}
22
23export type NamespaceCliTranslation = {
24 'new': {
25 prompt: {
26 /**
27 * Enter the title of the new article:
28 */
29 title: string
30 /**
31 * Enter the category for the article (optional):
32 */
33 category: string
34 /**
35 * Enter tags for the article, comma-separated (optional):
36 */
37 tags: string
38 }
39 action: {
40 /**
41 * Exit without creating draft
42 */
43 exit: string
44 }
45 info: {
46 /**
47 * Successfully created article: {filePath}
48 * @param {string} filePath
49 */
50 success_created: RequiredParams<'filePath'>
51 /**
52 * Overwriting existing file: {filePath}
53 * @param {string} filePath
54 */
55 overwrite: RequiredParams<'filePath'>
56 }
57 error: {
58 /**
59 * Article title cannot be empty.
60 */
61 no_title: string
62 }
63 }
64 pub: {
65 prompt: {
66 /**
67 * Select the draft to publish:
68 */
69 select: string
70 }
71 action: {
72 /**
73 * Exit without publishing
74 */
75 exit: string
76 }
77 info: {
78 /**
79 * No drafts found to publish.
80 */
81 no_drafts_found: string
82 /**
83 * Successfully published '{source}' to '{destination}'.
84 * @param {string} destination
85 * @param {string} source
86 */
87 success_article_published: RequiredParams<'destination' | 'source'>
88 /**
89 * Cleaned up empty source directory: {dirPath}
90 * @param {string} dirPath
91 */
92 info_empty_dir_removed: RequiredParams<'dirPath'>
93 /**
94 * Publish operation cancelled.
95 */
96 publish_cancelled: string
97 }
98 error: {
99 /**
100 * Error publishing article: {message}
101 * @param {string} message
102 */
103 publish_article: RequiredParams<'message'>
104 }
105 }
106 prompt: {
107 /**
108 * File {filePath} already exists. Choose an action:
109 * @param {string} filePath
110 */
111 file_exists: RequiredParams<'filePath'>
112 /**
113 * Enter a new name for the file (without extension):
114 */
115 enter_new_name: string
116 }
117 action: {
118 /**
119 * Rename the file
120 */
121 rename: string
122 /**
123 * Overwrite the existing file
124 */
125 overwrite: string
126 }
127 info: {
128 /**
129 * Operation cancelled by user.
130 */
131 cancelled_by_user: string
132 /**
133 * Try running the command with the {option} option to specify the root directory.
134 * @param {string} option
135 */
136 provide_root_dir_guidance: RequiredParams<'option'>
137 }
138 error: {
139 /**
140 * An unexpected error occurred: {message}
141 * @param {string} message
142 */
143 unexpected: RequiredParams<'message'>
144 /**
145 * An error occurred: {message}
146 * @param {string} message
147 */
148 generic: RequiredParams<'message'>
149 /**
150 * File already exists: {filePath}
151 * @param {string} filePath
152 */
153 file_exists: RequiredParams<'filePath'>
154 /**
155 * Error creating file: {message}
156 * @param {string} message
157 */
158 create_file: RequiredParams<'message'>
159 /**
160 * File name cannot be empty.
161 */
162 empty_filename: string
163 /**
164 * Cannot rename to original file name: {fileName}
165 * @param {string} fileName
166 */
167 rename_to_original_conflict: RequiredParams<'fileName'>
168 /**
169 * Failed to determine project root: {message}
170 * @param {string} message
171 */
172 failed_to_find_root: RequiredParams<'message'>
173 }
174}
175
176export type NamespaceWebTranslation = {
177 common: {
178 /**
179 * Open
180 */
181 open: string
182 /**
183 * Close
184 */
185 close: string
186 /**
187 * Refresh
188 */
189 refresh: string
190 }
191 navigation: {
192 /**
193 * Navigation
194 */
195 title: string
196 /**
197 * Home
198 */
199 home: string
200 /**
201 * About
202 */
203 about: string
204 archive: {
205 /**
206 * Archive
207 */
208 title: string
209 /**
210 * Time
211 */
212 time: string
213 /**
214 * Tags
215 */
216 tags: string
217 /**
218 * Categories
219 */
220 categories: string
221 }
222 /**
223 * Links
224 */
225 friendLinks: string
226 /**
227 * Menu
228 */
229 menu: string
230 /**
231 * Previous Page
232 */
233 prevPage: string
234 /**
235 * Next Page
236 */
237 nextPage: string
238 /**
239 * Recent Posts
240 */
241 recentPosts: string
242 }
243 status: {
244 /**
245 * Total Posts
246 */
247 totalPosts: string
248 /**
249 * Total Words
250 */
251 totalWords: string
252 /**
253 * Last Updated
254 */
255 lastUpdated: string
256 /**
257 * Run Time
258 */
259 runTime: string
260 /**
261 * {0} word{{s}}
262 * @param {string | number | boolean} 0
263 */
264 wordsCount: RequiredParams<'0'>
265 /**
266 * {0} minute{{s}}
267 * @param {string | number | boolean} 0
268 */
269 readTime: RequiredParams<'0'>
270 /**
271 * {0} post{{s}}
272 * @param {string | number | boolean} 0
273 */
274 postsCount: RequiredParams<'0'>
275 /**
276 * {0} tag{{s}}
277 * @param {string | number | boolean} 0
278 */
279 tagsCount: RequiredParams<'0'>
280 /**
281 * {0} category{{s}}
282 * @param {string | number | boolean} 0
283 */
284 categoriesCount: RequiredParams<'0'>
285 }
286 button: {
287 /**
288 * Search
289 */
290 search: string
291 /**
292 * Subscribe
293 */
294 subscribe: string
295 /**
296 * More
297 */
298 more: string
299 themeToggle: {
300 /**
301 * Toggle Theme
302 */
303 title: string
304 /**
305 * Light
306 */
307 lightMode: string
308 /**
309 * Dark
310 */
311 darkMode: string
312 /**
313 * System
314 */
315 systemMode: string
316 }
317 }
318 meta: {
319 /**
320 * Author
321 */
322 author: string
323 /**
324 * Published At
325 */
326 publishedAt: string
327 /**
328 * License
329 */
330 license: string
331 /**
332 * Tags
333 */
334 tags: string
335 /**
336 * Category
337 */
338 category: string
339 /**
340 * No Tags
341 */
342 unTagged: string
343 /**
344 * Uncategorized
345 */
346 unCategorized: string
347 /**
348 * Words Count
349 */
350 wordsCount: string
351 /**
352 * Reading Time
353 */
354 readingTime: string
355 }
356 info: {
357 /**
358 * Table of Content
359 */
360 toc: string
361 /**
362 * Fast Actions
363 */
364 fastActions: string
365 /**
366 * Reading Percentage
367 */
368 readingPercentage: string
369 /**
370 * Comments
371 */
372 comments: string
373 /**
374 * Recent Comments
375 */
376 recentComments: string
377 commentAbbrs: {
378 /**
379 * [Image]
380 */
381 image: string
382 /**
383 * [Link]
384 */
385 link: string
386 /**
387 * [Code]
388 */
389 code: string
390 /**
391 * [Collapsed]
392 */
393 collapsed: string
394 /**
395 * [Pending]
396 */
397 pending: string
398 }
399 /**
400 * Back Links
401 */
402 backLinks: string
403 /**
404 * This is a draft and will only be displayed in <code>DEV</code> mode. To disable draft preview, please modify <code>{configKey}</code> to <code>{configValue}</code> in <code>{configFilePath}</code>.
405 * @param {string} configFilePath
406 * @param {string} configKey
407 * @param {boolean} configValue
408 */
409 devNote: RequiredParams<'configFilePath' | 'configKey' | 'configValue'>
410 /**
411 * Open Menu
412 */
413 openMenu: string
414 /**
415 * Close Menu
416 */
417 closeMenu: string
418 }
419 search: {
420 /**
421 * Search
422 */
423 title: string
424 /**
425 * Search Anything...
426 */
427 placeholder: string
428 /**
429 * Search Results
430 */
431 searchResults: string
432 /**
433 * No Results Found
434 */
435 noSearchResults: string
436 }
437}
438
439export type Namespaces =
440 | 'cli'
441 | 'web'
442
443type DisallowNamespaces = {
444 /**
445 * reserved for 'cli'-namespace\
446 * you need to use the `./cli/index.ts` file instead
447 */
448 cli?: "[typesafe-i18n] reserved for 'cli'-namespace. You need to use the `./cli/index.ts` file instead."
449
450 /**
451 * reserved for 'web'-namespace\
452 * you need to use the `./web/index.ts` file instead
453 */
454 web?: "[typesafe-i18n] reserved for 'web'-namespace. You need to use the `./web/index.ts` file instead."
455}
456
457export type TranslationFunctions = {
458 cli: {
459 'new': {
460 prompt: {
461 /**
462 * Enter the title of the new article:
463 */
464 title: () => LocalizedString
465 /**
466 * Enter the category for the article (optional):
467 */
468 category: () => LocalizedString
469 /**
470 * Enter tags for the article, comma-separated (optional):
471 */
472 tags: () => LocalizedString
473 }
474 action: {
475 /**
476 * Exit without creating draft
477 */
478 exit: () => LocalizedString
479 }
480 info: {
481 /**
482 * Successfully created article: {filePath}
483 */
484 success_created: (arg: { filePath: string }) => LocalizedString
485 /**
486 * Overwriting existing file: {filePath}
487 */
488 overwrite: (arg: { filePath: string }) => LocalizedString
489 }
490 error: {
491 /**
492 * Article title cannot be empty.
493 */
494 no_title: () => LocalizedString
495 }
496 }
497 pub: {
498 prompt: {
499 /**
500 * Select the draft to publish:
501 */
502 select: () => LocalizedString
503 }
504 action: {
505 /**
506 * Exit without publishing
507 */
508 exit: () => LocalizedString
509 }
510 info: {
511 /**
512 * No drafts found to publish.
513 */
514 no_drafts_found: () => LocalizedString
515 /**
516 * Successfully published '{source}' to '{destination}'.
517 */
518 success_article_published: (arg: { destination: string, source: string }) => LocalizedString
519 /**
520 * Cleaned up empty source directory: {dirPath}
521 */
522 info_empty_dir_removed: (arg: { dirPath: string }) => LocalizedString
523 /**
524 * Publish operation cancelled.
525 */
526 publish_cancelled: () => LocalizedString
527 }
528 error: {
529 /**
530 * Error publishing article: {message}
531 */
532 publish_article: (arg: { message: string }) => LocalizedString
533 }
534 }
535 prompt: {
536 /**
537 * File {filePath} already exists. Choose an action:
538 */
539 file_exists: (arg: { filePath: string }) => LocalizedString
540 /**
541 * Enter a new name for the file (without extension):
542 */
543 enter_new_name: () => LocalizedString
544 }
545 action: {
546 /**
547 * Rename the file
548 */
549 rename: () => LocalizedString
550 /**
551 * Overwrite the existing file
552 */
553 overwrite: () => LocalizedString
554 }
555 info: {
556 /**
557 * Operation cancelled by user.
558 */
559 cancelled_by_user: () => LocalizedString
560 /**
561 * Try running the command with the {option} option to specify the root directory.
562 */
563 provide_root_dir_guidance: (arg: { option: string }) => LocalizedString
564 }
565 error: {
566 /**
567 * An unexpected error occurred: {message}
568 */
569 unexpected: (arg: { message: string }) => LocalizedString
570 /**
571 * An error occurred: {message}
572 */
573 generic: (arg: { message: string }) => LocalizedString
574 /**
575 * File already exists: {filePath}
576 */
577 file_exists: (arg: { filePath: string }) => LocalizedString
578 /**
579 * Error creating file: {message}
580 */
581 create_file: (arg: { message: string }) => LocalizedString
582 /**
583 * File name cannot be empty.
584 */
585 empty_filename: () => LocalizedString
586 /**
587 * Cannot rename to original file name: {fileName}
588 */
589 rename_to_original_conflict: (arg: { fileName: string }) => LocalizedString
590 /**
591 * Failed to determine project root: {message}
592 */
593 failed_to_find_root: (arg: { message: string }) => LocalizedString
594 }
595 }
596 web: {
597 common: {
598 /**
599 * Open
600 */
601 open: () => LocalizedString
602 /**
603 * Close
604 */
605 close: () => LocalizedString
606 /**
607 * Refresh
608 */
609 refresh: () => LocalizedString
610 }
611 navigation: {
612 /**
613 * Navigation
614 */
615 title: () => LocalizedString
616 /**
617 * Home
618 */
619 home: () => LocalizedString
620 /**
621 * About
622 */
623 about: () => LocalizedString
624 archive: {
625 /**
626 * Archive
627 */
628 title: () => LocalizedString
629 /**
630 * Time
631 */
632 time: () => LocalizedString
633 /**
634 * Tags
635 */
636 tags: () => LocalizedString
637 /**
638 * Categories
639 */
640 categories: () => LocalizedString
641 }
642 /**
643 * Links
644 */
645 friendLinks: () => LocalizedString
646 /**
647 * Menu
648 */
649 menu: () => LocalizedString
650 /**
651 * Previous Page
652 */
653 prevPage: () => LocalizedString
654 /**
655 * Next Page
656 */
657 nextPage: () => LocalizedString
658 /**
659 * Recent Posts
660 */
661 recentPosts: () => LocalizedString
662 }
663 status: {
664 /**
665 * Total Posts
666 */
667 totalPosts: () => LocalizedString
668 /**
669 * Total Words
670 */
671 totalWords: () => LocalizedString
672 /**
673 * Last Updated
674 */
675 lastUpdated: () => LocalizedString
676 /**
677 * Run Time
678 */
679 runTime: () => LocalizedString
680 /**
681 * {0} word{{s}}
682 */
683 wordsCount: (arg0: string | number | boolean) => LocalizedString
684 /**
685 * {0} minute{{s}}
686 */
687 readTime: (arg0: string | number | boolean) => LocalizedString
688 /**
689 * {0} post{{s}}
690 */
691 postsCount: (arg0: string | number | boolean) => LocalizedString
692 /**
693 * {0} tag{{s}}
694 */
695 tagsCount: (arg0: string | number | boolean) => LocalizedString
696 /**
697 * {0} category{{s}}
698 */
699 categoriesCount: (arg0: string | number | boolean) => LocalizedString
700 }
701 button: {
702 /**
703 * Search
704 */
705 search: () => LocalizedString
706 /**
707 * Subscribe
708 */
709 subscribe: () => LocalizedString
710 /**
711 * More
712 */
713 more: () => LocalizedString
714 themeToggle: {
715 /**
716 * Toggle Theme
717 */
718 title: () => LocalizedString
719 /**
720 * Light
721 */
722 lightMode: () => LocalizedString
723 /**
724 * Dark
725 */
726 darkMode: () => LocalizedString
727 /**
728 * System
729 */
730 systemMode: () => LocalizedString
731 }
732 }
733 meta: {
734 /**
735 * Author
736 */
737 author: () => LocalizedString
738 /**
739 * Published At
740 */
741 publishedAt: () => LocalizedString
742 /**
743 * License
744 */
745 license: () => LocalizedString
746 /**
747 * Tags
748 */
749 tags: () => LocalizedString
750 /**
751 * Category
752 */
753 category: () => LocalizedString
754 /**
755 * No Tags
756 */
757 unTagged: () => LocalizedString
758 /**
759 * Uncategorized
760 */
761 unCategorized: () => LocalizedString
762 /**
763 * Words Count
764 */
765 wordsCount: () => LocalizedString
766 /**
767 * Reading Time
768 */
769 readingTime: () => LocalizedString
770 }
771 info: {
772 /**
773 * Table of Content
774 */
775 toc: () => LocalizedString
776 /**
777 * Fast Actions
778 */
779 fastActions: () => LocalizedString
780 /**
781 * Reading Percentage
782 */
783 readingPercentage: () => LocalizedString
784 /**
785 * Comments
786 */
787 comments: () => LocalizedString
788 /**
789 * Recent Comments
790 */
791 recentComments: () => LocalizedString
792 commentAbbrs: {
793 /**
794 * [Image]
795 */
796 image: () => LocalizedString
797 /**
798 * [Link]
799 */
800 link: () => LocalizedString
801 /**
802 * [Code]
803 */
804 code: () => LocalizedString
805 /**
806 * [Collapsed]
807 */
808 collapsed: () => LocalizedString
809 /**
810 * [Pending]
811 */
812 pending: () => LocalizedString
813 }
814 /**
815 * Back Links
816 */
817 backLinks: () => LocalizedString
818 /**
819 * This is a draft and will only be displayed in <code>DEV</code> mode. To disable draft preview, please modify <code>{configKey}</code> to <code>{configValue}</code> in <code>{configFilePath}</code>.
820 */
821 devNote: (arg: { configFilePath: string, configKey: string, configValue: boolean }) => LocalizedString
822 /**
823 * Open Menu
824 */
825 openMenu: () => LocalizedString
826 /**
827 * Close Menu
828 */
829 closeMenu: () => LocalizedString
830 }
831 search: {
832 /**
833 * Search
834 */
835 title: () => LocalizedString
836 /**
837 * Search Anything...
838 */
839 placeholder: () => LocalizedString
840 /**
841 * Search Results
842 */
843 searchResults: () => LocalizedString
844 /**
845 * No Results Found
846 */
847 noSearchResults: () => LocalizedString
848 }
849 }
850}
851
852export type Formatters = {}