@jjlmoya/utils-developer 1.30.0 → 1.31.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.
Files changed (140) hide show
  1. package/package.json +70 -70
  2. package/src/category/seo.astro +1 -1
  3. package/src/components/PreviewNavSidebar.astro +1 -1
  4. package/src/components/PreviewToolbar.astro +1 -1
  5. package/src/data.ts +1 -1
  6. package/src/env.d.ts +1 -1
  7. package/src/layouts/PreviewLayout.astro +1 -1
  8. package/src/pages/[locale]/[slug].astro +162 -162
  9. package/src/pages/index.astro +1 -1
  10. package/src/tests/entry_contract.test.ts +8 -2
  11. package/src/tests/faq_count.test.ts +1 -1
  12. package/src/tests/i18n_coverage.test.ts +2 -6
  13. package/src/tests/inverted_punctuation.test.ts +113 -113
  14. package/src/tests/mocks/astro_mock.js +1 -1
  15. package/src/tests/no_h1_in_components.test.ts +1 -1
  16. package/src/tests/promote_this_website_i18n.test.ts +33 -0
  17. package/src/tests/slug_language_code_format.test.ts +25 -25
  18. package/src/tests/slug_uniqueness.test.ts +86 -86
  19. package/src/tests/tool_validation.test.ts +15 -15
  20. package/src/tool/aspectRatio/i18n/de.ts +164 -164
  21. package/src/tool/aspectRatio/i18n/ja.ts +1 -1
  22. package/src/tool/aspectRatio/i18n/ko.ts +1 -1
  23. package/src/tool/aspectRatio/i18n/pl.ts +164 -164
  24. package/src/tool/aspectRatio/i18n/ru.ts +164 -164
  25. package/src/tool/aspectRatio/i18n/zh.ts +165 -165
  26. package/src/tool/aspectRatio/seo.astro +15 -15
  27. package/src/tool/calculadoraTiempoDatos/i18n/de.ts +143 -143
  28. package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +1 -1
  29. package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +1 -1
  30. package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +143 -143
  31. package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +144 -144
  32. package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +143 -143
  33. package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +144 -144
  34. package/src/tool/calculadoraTiempoDatos/seo.astro +15 -15
  35. package/src/tool/colorConverter/i18n/de.ts +120 -120
  36. package/src/tool/colorConverter/i18n/ja.ts +1 -1
  37. package/src/tool/colorConverter/i18n/ko.ts +1 -1
  38. package/src/tool/colorConverter/i18n/ru.ts +120 -120
  39. package/src/tool/colorConverter/i18n/zh.ts +1 -1
  40. package/src/tool/colorConverter/seo.astro +15 -15
  41. package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +1 -1
  42. package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +1 -1
  43. package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +124 -124
  44. package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +124 -124
  45. package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +125 -125
  46. package/src/tool/conversorExcelCsvHtml/seo.astro +15 -15
  47. package/src/tool/cronGenerator/i18n/ja.ts +1 -1
  48. package/src/tool/cronGenerator/i18n/ko.ts +1 -1
  49. package/src/tool/cronGenerator/i18n/zh.ts +183 -183
  50. package/src/tool/cronGenerator/seo.astro +15 -15
  51. package/src/tool/cssSpecificityCalculator/i18n/ja.ts +1 -1
  52. package/src/tool/cssSpecificityCalculator/i18n/ko.ts +1 -1
  53. package/src/tool/cssSpecificityCalculator/i18n/zh.ts +1 -1
  54. package/src/tool/cssSpecificityCalculator/seo.astro +15 -15
  55. package/src/tool/cssToInlineConverter/i18n/ja.ts +1 -1
  56. package/src/tool/cssToInlineConverter/i18n/ko.ts +1 -1
  57. package/src/tool/cssToInlineConverter/i18n/zh.ts +1 -1
  58. package/src/tool/cssToInlineConverter/seo.astro +15 -15
  59. package/src/tool/duplicateCssRemover/i18n/ja.ts +1 -1
  60. package/src/tool/duplicateCssRemover/i18n/ko.ts +1 -1
  61. package/src/tool/duplicateCssRemover/i18n/zh.ts +1 -1
  62. package/src/tool/duplicateCssRemover/seo.astro +15 -15
  63. package/src/tool/generadorSecurityTxt/i18n/ja.ts +1 -1
  64. package/src/tool/generadorSecurityTxt/i18n/ko.ts +1 -1
  65. package/src/tool/generadorSecurityTxt/i18n/zh.ts +1 -1
  66. package/src/tool/generadorSecurityTxt/seo.astro +15 -15
  67. package/src/tool/hashGenerator/i18n/ja.ts +1 -1
  68. package/src/tool/hashGenerator/i18n/ko.ts +1 -1
  69. package/src/tool/hashGenerator/seo.astro +15 -15
  70. package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +1 -1
  71. package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +1 -1
  72. package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +1 -1
  73. package/src/tool/inspectorCertificadosSsl/seo.astro +15 -15
  74. package/src/tool/jsonFormatter/seo.astro +15 -15
  75. package/src/tool/jwtDecoder/i18n/es.ts +248 -248
  76. package/src/tool/jwtDecoder/i18n/fr.ts +248 -248
  77. package/src/tool/jwtDecoder/i18n/tr.ts +248 -248
  78. package/src/tool/keycode/seo.astro +15 -15
  79. package/src/tool/llmCostCalculator/i18n/fr.ts +149 -149
  80. package/src/tool/llmCostCalculator/i18n/ja.ts +1 -1
  81. package/src/tool/llmCostCalculator/i18n/ko.ts +1 -1
  82. package/src/tool/llmCostCalculator/seo.astro +15 -15
  83. package/src/tool/mobileMockupGenerator/i18n/ja.ts +1 -1
  84. package/src/tool/mobileMockupGenerator/i18n/ko.ts +1 -1
  85. package/src/tool/mobileMockupGenerator/i18n/zh.ts +1 -1
  86. package/src/tool/mobileMockupGenerator/seo.astro +15 -15
  87. package/src/tool/musicalTypography/i18n/ja.ts +1 -1
  88. package/src/tool/musicalTypography/i18n/ko.ts +1 -1
  89. package/src/tool/musicalTypography/i18n/zh.ts +1 -1
  90. package/src/tool/musicalTypography/seo.astro +15 -15
  91. package/src/tool/placeholderGenerator/i18n/ja.ts +1 -1
  92. package/src/tool/placeholderGenerator/i18n/ko.ts +1 -1
  93. package/src/tool/placeholderGenerator/i18n/zh.ts +1 -1
  94. package/src/tool/placeholderGenerator/seo.astro +15 -15
  95. package/src/tool/promoteThisWebsite/entry.ts +13 -0
  96. package/src/tool/promoteThisWebsite/i18n/de.ts +95 -0
  97. package/src/tool/promoteThisWebsite/i18n/fr.ts +95 -0
  98. package/src/tool/promoteThisWebsite/i18n/id.ts +95 -0
  99. package/src/tool/promoteThisWebsite/i18n/it.ts +95 -0
  100. package/src/tool/promoteThisWebsite/i18n/ja.ts +95 -0
  101. package/src/tool/promoteThisWebsite/i18n/ko.ts +95 -0
  102. package/src/tool/promoteThisWebsite/i18n/nl.ts +95 -0
  103. package/src/tool/promoteThisWebsite/i18n/pl.ts +95 -0
  104. package/src/tool/promoteThisWebsite/i18n/pt.ts +95 -0
  105. package/src/tool/promoteThisWebsite/i18n/ru.ts +95 -0
  106. package/src/tool/promoteThisWebsite/i18n/sv.ts +95 -0
  107. package/src/tool/promoteThisWebsite/i18n/tr.ts +95 -0
  108. package/src/tool/promoteThisWebsite/i18n/zh.ts +95 -0
  109. package/src/tool/promptLibrary/i18n/ja.ts +1 -1
  110. package/src/tool/promptLibrary/i18n/ko.ts +1 -1
  111. package/src/tool/promptLibrary/i18n/zh.ts +1 -1
  112. package/src/tool/promptLibrary/seo.astro +15 -15
  113. package/src/tool/readabilityCalculator/i18n/ja.ts +1 -1
  114. package/src/tool/readabilityCalculator/i18n/ko.ts +1 -1
  115. package/src/tool/readabilityCalculator/i18n/zh.ts +1 -1
  116. package/src/tool/readabilityCalculator/seo.astro +15 -15
  117. package/src/tool/serpPixelSimulator/entry.ts +30 -30
  118. package/src/tool/serpPixelSimulator/i18n/en.ts +211 -211
  119. package/src/tool/serpPixelSimulator/i18n/fr.ts +214 -214
  120. package/src/tool/serpPixelSimulator/i18n/ru.ts +214 -214
  121. package/src/tool/serpPixelSimulator/logic.ts +18 -18
  122. package/src/tool/serpPixelSimulator/serp-pixel-simulator.css +195 -195
  123. package/src/tool/svgSanitizer/i18n/ja.ts +1 -1
  124. package/src/tool/svgSanitizer/i18n/ko.ts +1 -1
  125. package/src/tool/svgSanitizer/seo.astro +15 -15
  126. package/src/tool/svgToCss/i18n/ja.ts +1 -1
  127. package/src/tool/svgToCss/i18n/ko.ts +1 -1
  128. package/src/tool/svgToCss/seo.astro +15 -15
  129. package/src/tool/urlCleaner/i18n/ja.ts +1 -1
  130. package/src/tool/urlCleaner/i18n/ko.ts +1 -1
  131. package/src/tool/urlCleaner/i18n/zh.ts +1 -1
  132. package/src/tool/urlCleaner/seo.astro +15 -15
  133. package/src/tool/urlEncoderDecoder/i18n/es.ts +146 -146
  134. package/src/tool/urlEncoderDecoder/i18n/ko.ts +1 -1
  135. package/src/tool/urlEncoderDecoder/seo.astro +15 -15
  136. package/src/tool/utmGenerator/i18n/ja.ts +1 -1
  137. package/src/tool/utmGenerator/i18n/ko.ts +1 -1
  138. package/src/tool/utmGenerator/i18n/zh.ts +1 -1
  139. package/src/tool/utmGenerator/seo.astro +15 -15
  140. package/src/types.ts +1 -1
@@ -1,125 +1,125 @@
1
1
  import { bibliography } from '../bibliography';
2
- import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { ConversorExcelCsvHtmlUI } from '../ui';
5
-
6
- const slug = 'konverter-tablic-excel-csv-html';
7
- const title = 'Генератор кода для конвертации Excel и CSV в HTML таблицы';
8
- const description = 'Мгновенно преобразуйте данные Excel или CSV в чистые, семантические HTML-таблицы. Бесплатный инструмент для разработчиков и создателей контента.';
9
-
10
- const faqData = [
11
- {
12
- question: 'Как преобразовать файл Excel (.xlsx) в HTML?',
13
- answer: 'Сначала откройте файл в Excel и сохраните его как CSV (с разделителями-запятыми). Затем загрузите этот CSV-файл в наш инструмент или вставьте его содержимое, чтобы получить код HTML-таблицы.',
14
- },
15
- {
16
- question: 'Включает ли сгенерированный код стили CSS?',
17
- answer: 'Генератор создает чистый HTML с дополнительными классами для границ и "зебры" (чередующихся строк). Окончательные визуальные стили зависят от CSS вашего собственного сайта, что обеспечивает идеальную интеграцию.',
18
- },
19
- {
20
- question: 'Могу ли я загружать очень большие CSV-файлы?',
21
- answer: 'Да, наш инструмент обрабатывает данные локально в вашем браузере. Это означает, что он работает очень быстро и безопасно, так как ваши данные никогда не передаются через Интернет.',
22
- },
23
- {
24
- question: 'Совместим ли он с Google Таблицами?',
25
- answer: 'Безусловно. В Google Таблицах перейдите в меню Файл > Скачать > Значения, разделенные запятыми (.csv), и используйте этот файл в нашем инструменте.',
26
- },
27
- ];
28
-
29
- const howToData = [
30
- {
31
- name: 'Подготовьте данные',
32
- text: 'Подготовьте ваш файл Excel или CSV. Убедитесь, что данные корректны.',
33
- },
34
- {
35
- name: 'Загрузите данные',
36
- text: 'Вставьте текст CSV в поле ввода или перетащите файл прямо в конвертер.',
37
- },
38
- {
39
- name: 'Настройте таблицу',
40
- text: 'Выберите, хотите ли вы использовать первую строку в качестве заголовка и нужны ли вам базовые стили.',
41
- },
42
- {
43
- name: 'Скопируйте код',
44
- text: 'Перейдите на вкладку "Код HTML" и скопируйте результат для вставки на ваш сайт.',
45
- },
46
- ];
47
-
48
- const faqSchema: WithContext<FAQPage> = {
49
- '@context': 'https://schema.org',
50
- '@type': 'FAQPage',
51
- mainEntity: faqData.map((item) => ({
52
- '@type': 'Question',
53
- name: item.question,
54
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
- })),
56
- };
57
-
58
- const howToSchema: WithContext<HowToThing> = {
59
- '@context': 'https://schema.org',
60
- '@type': 'HowTo',
61
- name: title,
62
- description,
63
- step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
64
- };
65
-
66
- const appSchema: WithContext<SoftwareApplication> = {
67
- '@context': 'https://schema.org',
68
- '@type': 'SoftwareApplication',
69
- name: title,
70
- description,
71
- applicationCategory: 'UtilityApplication',
72
- operatingSystem: 'All',
73
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
74
- inLanguage: 'ru',
75
- };
76
-
77
- const ui: ConversorExcelCsvHtmlUI = {
78
- csvInputLabel: 'Вставьте ваш CSV здесь',
79
- csvInputPlaceholder: 'Имя,Возраст,Город\nИван,25,Москва\nАнна,30,Санкт-Петербург',
80
- uploadLabel: 'Или загрузите ваш файл (CSV)',
81
- dragDropLabel: 'Перетащите файл сюда',
82
- headerCheckboxLabel: 'Использовать первую строку как заголовок',
83
- bordersCheckboxLabel: 'Добавить границы',
84
- stripeCheckboxLabel: 'Чередующиеся строки (зебра)',
85
- previewTabLabel: 'Предпросмотр',
86
- codeTabLabel: 'Код HTML',
87
- emptyStateLabel: 'Введите данные, чтобы увидеть таблицу',
88
- copyButtonLabel: 'Копировать код',
89
- copiedLabel: 'Скопировано!',
90
- };
91
-
92
- export const content: ToolLocaleContent<ConversorExcelCsvHtmlUI> = {
93
- slug,
94
- title,
95
- description,
96
- ui,
97
- faqTitle: 'Часто задаваемые вопросы',
98
- faq: faqData,
99
- bibliographyTitle: 'Ресурсы по HTML-таблицам и форматам данных',
100
- bibliography,
101
- howTo: howToData,
102
- schemas: [faqSchema, howToSchema, appSchema],
103
- seo: [
104
- { type: 'title', text: 'Легко конвертируйте Excel и CSV в HTML-таблицы', level: 2 },
105
- {
106
- type: 'paragraph',
107
- html: 'В современной веб-разработке представление табличных данных является одним из наиболее эффективных способов передачи структурированной информации. Однако ручное преобразование данных из электронных таблиц, таких как <strong>Excel</strong>, или файлов <strong>CSV</strong> в HTML-теги <code>&lt;table&gt;</code>, <code>&lt;tr&gt;</code> и <code>&lt;td&gt;</code> утомительно и чревато ошибками.',
108
- },
109
- { type: 'title', text: 'Зачем использовать семантические HTML-таблицы?', level: 3 },
110
- {
111
- type: 'list',
112
- items: [
113
- '<strong>Доступность:</strong> программы чтения с экрана могут интерпретировать структуру и помогать пользователям с нарушениями зрения.',
114
- '<strong>SEO:</strong> поисковые системы индексируют содержимое ячеек, улучшая рейтинг ваших данных.',
115
- '<strong>Адаптивность:</strong> с помощью небольшого количества CSS HTML-таблицы могут адаптироваться к мобильным устройствам.',
116
- '<strong>Удобство поддержки:</strong> редактировать данные в HTML гораздо проще, чем повторно создавать изображение целиком.',
117
- ],
118
- },
119
- { type: 'title', text: 'Как работает конвертер Excel в HTML', level: 3 },
120
- {
121
- type: 'paragraph',
122
- html: 'Наша утилита использует нативный текстовый парсер, который обрабатывает файлы с разделителями-запятыми (CSV). Большинство программ для работы с электронными таблицами, включая Microsoft Excel, Google Таблицы и LibreOffice Calc, позволяют экспортировать данные в формате CSV.',
123
- },
124
- ],
125
- };
2
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { ConversorExcelCsvHtmlUI } from '../ui';
5
+
6
+ const slug = 'konverter-tablic-excel-csv-html';
7
+ const title = 'Генератор кода для конвертации Excel и CSV в HTML таблицы';
8
+ const description = 'Мгновенно преобразуйте данные Excel или CSV в чистые, семантические HTML-таблицы. Бесплатный инструмент для разработчиков и создателей контента.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Как преобразовать файл Excel (.xlsx) в HTML?',
13
+ answer: 'Сначала откройте файл в Excel и сохраните его как CSV (с разделителями-запятыми). Затем загрузите этот CSV-файл в наш инструмент или вставьте его содержимое, чтобы получить код HTML-таблицы.',
14
+ },
15
+ {
16
+ question: 'Включает ли сгенерированный код стили CSS?',
17
+ answer: 'Генератор создает чистый HTML с дополнительными классами для границ и "зебры" (чередующихся строк). Окончательные визуальные стили зависят от CSS вашего собственного сайта, что обеспечивает идеальную интеграцию.',
18
+ },
19
+ {
20
+ question: 'Могу ли я загружать очень большие CSV-файлы?',
21
+ answer: 'Да, наш инструмент обрабатывает данные локально в вашем браузере. Это означает, что он работает очень быстро и безопасно, так как ваши данные никогда не передаются через Интернет.',
22
+ },
23
+ {
24
+ question: 'Совместим ли он с Google Таблицами?',
25
+ answer: 'Безусловно. В Google Таблицах перейдите в меню Файл > Скачать > Значения, разделенные запятыми (.csv), и используйте этот файл в нашем инструменте.',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: 'Подготовьте данные',
32
+ text: 'Подготовьте ваш файл Excel или CSV. Убедитесь, что данные корректны.',
33
+ },
34
+ {
35
+ name: 'Загрузите данные',
36
+ text: 'Вставьте текст CSV в поле ввода или перетащите файл прямо в конвертер.',
37
+ },
38
+ {
39
+ name: 'Настройте таблицу',
40
+ text: 'Выберите, хотите ли вы использовать первую строку в качестве заголовка и нужны ли вам базовые стили.',
41
+ },
42
+ {
43
+ name: 'Скопируйте код',
44
+ text: 'Перейдите на вкладку "Код HTML" и скопируйте результат для вставки на ваш сайт.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowToThing> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
64
+ };
65
+
66
+ const appSchema: WithContext<SoftwareApplication> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilityApplication',
72
+ operatingSystem: 'All',
73
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
74
+ inLanguage: 'ru',
75
+ };
76
+
77
+ const ui: ConversorExcelCsvHtmlUI = {
78
+ csvInputLabel: 'Вставьте ваш CSV здесь',
79
+ csvInputPlaceholder: 'Имя,Возраст,Город\nИван,25,Москва\nАнна,30,Санкт-Петербург',
80
+ uploadLabel: 'Или загрузите ваш файл (CSV)',
81
+ dragDropLabel: 'Перетащите файл сюда',
82
+ headerCheckboxLabel: 'Использовать первую строку как заголовок',
83
+ bordersCheckboxLabel: 'Добавить границы',
84
+ stripeCheckboxLabel: 'Чередующиеся строки (зебра)',
85
+ previewTabLabel: 'Предпросмотр',
86
+ codeTabLabel: 'Код HTML',
87
+ emptyStateLabel: 'Введите данные, чтобы увидеть таблицу',
88
+ copyButtonLabel: 'Копировать код',
89
+ copiedLabel: 'Скопировано!',
90
+ };
91
+
92
+ export const content: ToolLocaleContent<ConversorExcelCsvHtmlUI> = {
93
+ slug,
94
+ title,
95
+ description,
96
+ ui,
97
+ faqTitle: 'Часто задаваемые вопросы',
98
+ faq: faqData,
99
+ bibliographyTitle: 'Ресурсы по HTML-таблицам и форматам данных',
100
+ bibliography,
101
+ howTo: howToData,
102
+ schemas: [faqSchema, howToSchema, appSchema],
103
+ seo: [
104
+ { type: 'title', text: 'Легко конвертируйте Excel и CSV в HTML-таблицы', level: 2 },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'В современной веб-разработке представление табличных данных является одним из наиболее эффективных способов передачи структурированной информации. Однако ручное преобразование данных из электронных таблиц, таких как <strong>Excel</strong>, или файлов <strong>CSV</strong> в HTML-теги <code>&lt;table&gt;</code>, <code>&lt;tr&gt;</code> и <code>&lt;td&gt;</code> утомительно и чревато ошибками.',
108
+ },
109
+ { type: 'title', text: 'Зачем использовать семантические HTML-таблицы?', level: 3 },
110
+ {
111
+ type: 'list',
112
+ items: [
113
+ '<strong>Доступность:</strong> программы чтения с экрана могут интерпретировать структуру и помогать пользователям с нарушениями зрения.',
114
+ '<strong>SEO:</strong> поисковые системы индексируют содержимое ячеек, улучшая рейтинг ваших данных.',
115
+ '<strong>Адаптивность:</strong> с помощью небольшого количества CSS HTML-таблицы могут адаптироваться к мобильным устройствам.',
116
+ '<strong>Удобство поддержки:</strong> редактировать данные в HTML гораздо проще, чем повторно создавать изображение целиком.',
117
+ ],
118
+ },
119
+ { type: 'title', text: 'Как работает конвертер Excel в HTML', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Наша утилита использует нативный текстовый парсер, который обрабатывает файлы с разделителями-запятыми (CSV). Большинство программ для работы с электронными таблицами, включая Microsoft Excel, Google Таблицы и LibreOffice Calc, позволяют экспортировать данные в формате CSV.',
123
+ },
124
+ ],
125
+ };
@@ -1,126 +1,126 @@
1
1
  import { bibliography } from '../bibliography';
2
- import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { ConversorExcelCsvHtmlUI } from '../ui';
5
-
6
- const slug = 'excel-csv-html-table-converter';
7
- const title = 'Excel 和 CSV 转 HTML 表格转换器代码生成器';
8
- const description = '立即将您的 Excel 或 CSV 数据转换为干净、语义化的 HTML 表格。面向开发者和内容创作者的免费工具。';
9
-
10
- const faqData = [
11
- {
12
- question: '如何将 Excel 文件 (.xlsx) 转换为 HTML?',
13
- answer: '首先,在 Excel 中打开文件并将其另存为 CSV(逗号分隔)。然后,将该 CSV 文件上传到我们的工具或粘贴其内容以获取 HTML 表格代码。',
14
- },
15
- {
16
- question: '生成的代码包含 CSS 样式吗?',
17
- answer: '生成器生成干净的 HTML,并带有用于边框和斑马纹的可选类。最终的视觉样式取决于您网站自身的 CSS,从而确保完美的集成。',
18
- },
19
- {
20
- question: '我可以上传非常大的 CSV 文件吗?',
21
- answer: '可以,我们的工具在您的浏览器中本地处理数据。这意味着它非常快速且安全,因为您的数据永远不会在互联网上传输。',
22
- },
23
- {
24
- question: '它与 Google 表格兼容吗?',
25
- answer: '绝对兼容。在 Google 表格中,转到"文件">"下载">"逗号分隔值 (.csv)",然后将该文件用于我们的工具。',
26
- },
27
- ];
28
-
29
- const howToData = [
30
- {
31
- name: '准备数据',
32
- text: '准备好您的 Excel 或 CSV 文件。确保数据干净。',
33
- },
34
- {
35
- name: '加载数据',
36
- text: '在输入区域粘贴 CSV 文本或将文件直接拖到转换器中。',
37
- },
38
- {
39
- name: '配置表格',
40
- text: '选择是否将第一行用作表头以及是否需要基本样式。',
41
- },
42
- {
43
- name: '复制代码',
44
- text: '切换到"HTML 代码"选项卡并复制结果以粘贴到您的网站上。',
45
- },
46
- ];
47
-
48
- const faqSchema: WithContext<FAQPage> = {
49
- '@context': 'https://schema.org',
50
- '@type': 'FAQPage',
51
- mainEntity: faqData.map((item) => ({
52
- '@type': 'Question',
53
- name: item.question,
54
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
- })),
56
- };
57
-
58
- const howToSchema: WithContext<HowToThing> = {
59
- '@context': 'https://schema.org',
60
- '@type': 'HowTo',
61
- name: title,
62
- description,
63
- step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
64
- };
65
-
66
- const appSchema: WithContext<SoftwareApplication> = {
67
- '@context': 'https://schema.org',
68
- '@type': 'SoftwareApplication',
69
- name: title,
70
- description,
71
- applicationCategory: 'UtilityApplication',
72
- operatingSystem: 'All',
73
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'CNY' },
74
- inLanguage: 'zh',
75
- };
76
-
77
- const ui: ConversorExcelCsvHtmlUI = {
78
- csvInputLabel: '在此处粘贴您的 CSV',
79
- csvInputPlaceholder: '姓名,年龄,城市\n张三,25,北京\n李四,30,上海',
80
- uploadLabel: '或上传您的文件 (CSV)',
81
- dragDropLabel: '将文件拖放到此处',
82
- headerCheckboxLabel: '将第一行用作表头',
83
- bordersCheckboxLabel: '添加边框',
84
- stripeCheckboxLabel: '斑马纹',
85
- previewTabLabel: '预览',
86
- codeTabLabel: 'HTML 代码',
87
- emptyStateLabel: '输入数据以查看表格',
88
- copyButtonLabel: '复制代码',
89
- copiedLabel: '已复制!',
90
- };
91
-
92
- export const content: ToolLocaleContent<ConversorExcelCsvHtmlUI> = {
93
- slug,
94
- title,
95
- description,
96
- ui,
97
- faqTitle: '常见问题',
98
- faq: faqData,
99
- bibliographyTitle: '关于 HTML 表格和数据格式的资源',
100
- bibliography,
101
- howTo: howToData,
102
- schemas: [faqSchema, howToSchema, appSchema],
103
- seo: [
104
- { type: 'title', text: '轻松将 Excel 和 CSV 转换为 HTML 表格', level: 2 },
105
- {
106
- type: 'paragraph',
107
- html: '在现代网页开发中,展示表格数据是传达结构化信息最有效的方式之一。然而,手动将 <strong>Excel</strong> 电子表格或 <strong>CSV</strong> 文件中的数据转换为 HTML <code>&lt;table&gt;</code>、<code>&lt;tr&gt;</code> 和 <code>&lt;td&gt;</code> 标签既乏味又容易出错。',
108
- },
109
- { type: 'title', text: '为什么要使用语义化的 HTML 表格?', level: 3 },
110
- {
111
- type: 'list',
112
- items: [
113
- '<strong>无障碍性:</strong>屏幕阅读器可以解释结构并帮助视觉障碍用户。',
114
- '<strong>SEO:</strong>搜索引擎会索引单元格内容,提高数据的排名。',
115
- '<strong>响应性:</strong>通过一些 CSS,HTML 表格可以适应移动设备。',
116
- '<strong>可维护性:</strong>在 HTML 中编辑数据比重新生成整个图像要容易得多。',
117
- ],
118
- },
119
- { type: 'title', text: 'Excel 转 HTML 转换器的工作原理', level: 3 },
120
- {
121
- type: 'paragraph',
122
- html: '我们的工具使用原生的文本解析器处理逗号分隔文件 (CSV)。大多数电子表格程序,包括 Microsoft Excel、Google 表格和 LibreOffice Calc,都允许您将数据导出为 CSV 格式。',
123
- },
124
- ],
125
- };
126
-
2
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { ConversorExcelCsvHtmlUI } from '../ui';
5
+
6
+ const slug = 'excel-csv-html-table-converter';
7
+ const title = 'Excel 和 CSV 转 HTML 表格转换器代码生成器';
8
+ const description = '立即将您的 Excel 或 CSV 数据转换为干净、语义化的 HTML 表格。面向开发者和内容创作者的免费工具。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '如何将 Excel 文件 (.xlsx) 转换为 HTML?',
13
+ answer: '首先,在 Excel 中打开文件并将其另存为 CSV(逗号分隔)。然后,将该 CSV 文件上传到我们的工具或粘贴其内容以获取 HTML 表格代码。',
14
+ },
15
+ {
16
+ question: '生成的代码包含 CSS 样式吗?',
17
+ answer: '生成器生成干净的 HTML,并带有用于边框和斑马纹的可选类。最终的视觉样式取决于您网站自身的 CSS,从而确保完美的集成。',
18
+ },
19
+ {
20
+ question: '我可以上传非常大的 CSV 文件吗?',
21
+ answer: '可以,我们的工具在您的浏览器中本地处理数据。这意味着它非常快速且安全,因为您的数据永远不会在互联网上传输。',
22
+ },
23
+ {
24
+ question: '它与 Google 表格兼容吗?',
25
+ answer: '绝对兼容。在 Google 表格中,转到"文件">"下载">"逗号分隔值 (.csv)",然后将该文件用于我们的工具。',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: '准备数据',
32
+ text: '准备好您的 Excel 或 CSV 文件。确保数据干净。',
33
+ },
34
+ {
35
+ name: '加载数据',
36
+ text: '在输入区域粘贴 CSV 文本或将文件直接拖到转换器中。',
37
+ },
38
+ {
39
+ name: '配置表格',
40
+ text: '选择是否将第一行用作表头以及是否需要基本样式。',
41
+ },
42
+ {
43
+ name: '复制代码',
44
+ text: '切换到"HTML 代码"选项卡并复制结果以粘贴到您的网站上。',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowToThing> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
64
+ };
65
+
66
+ const appSchema: WithContext<SoftwareApplication> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilityApplication',
72
+ operatingSystem: 'All',
73
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'CNY' },
74
+ inLanguage: 'zh',
75
+ };
76
+
77
+ const ui: ConversorExcelCsvHtmlUI = {
78
+ csvInputLabel: '在此处粘贴您的 CSV',
79
+ csvInputPlaceholder: '姓名,年龄,城市\n张三,25,北京\n李四,30,上海',
80
+ uploadLabel: '或上传您的文件 (CSV)',
81
+ dragDropLabel: '将文件拖放到此处',
82
+ headerCheckboxLabel: '将第一行用作表头',
83
+ bordersCheckboxLabel: '添加边框',
84
+ stripeCheckboxLabel: '斑马纹',
85
+ previewTabLabel: '预览',
86
+ codeTabLabel: 'HTML 代码',
87
+ emptyStateLabel: '输入数据以查看表格',
88
+ copyButtonLabel: '复制代码',
89
+ copiedLabel: '已复制!',
90
+ };
91
+
92
+ export const content: ToolLocaleContent<ConversorExcelCsvHtmlUI> = {
93
+ slug,
94
+ title,
95
+ description,
96
+ ui,
97
+ faqTitle: '常见问题',
98
+ faq: faqData,
99
+ bibliographyTitle: '关于 HTML 表格和数据格式的资源',
100
+ bibliography,
101
+ howTo: howToData,
102
+ schemas: [faqSchema, howToSchema, appSchema],
103
+ seo: [
104
+ { type: 'title', text: '轻松将 Excel 和 CSV 转换为 HTML 表格', level: 2 },
105
+ {
106
+ type: 'paragraph',
107
+ html: '在现代网页开发中,展示表格数据是传达结构化信息最有效的方式之一。然而,手动将 <strong>Excel</strong> 电子表格或 <strong>CSV</strong> 文件中的数据转换为 HTML <code>&lt;table&gt;</code>、<code>&lt;tr&gt;</code> 和 <code>&lt;td&gt;</code> 标签既乏味又容易出错。',
108
+ },
109
+ { type: 'title', text: '为什么要使用语义化的 HTML 表格?', level: 3 },
110
+ {
111
+ type: 'list',
112
+ items: [
113
+ '<strong>无障碍性:</strong>屏幕阅读器可以解释结构并帮助视觉障碍用户。',
114
+ '<strong>SEO:</strong>搜索引擎会索引单元格内容,提高数据的排名。',
115
+ '<strong>响应性:</strong>通过一些 CSS,HTML 表格可以适应移动设备。',
116
+ '<strong>可维护性:</strong>在 HTML 中编辑数据比重新生成整个图像要容易得多。',
117
+ ],
118
+ },
119
+ { type: 'title', text: 'Excel 转 HTML 转换器的工作原理', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: '我们的工具使用原生的文本解析器处理逗号分隔文件 (CSV)。大多数电子表格程序,包括 Microsoft Excel、Google 表格和 LibreOffice Calc,都允许您将数据导出为 CSV 格式。',
123
+ },
124
+ ],
125
+ };
126
+
@@ -1,15 +1,15 @@
1
- ---
2
- import { SEORenderer } from '@jjlmoya/utils-shared';
3
- import { conversorExcelCsvHtml } from './index';
4
- import type { KnownLocale } from '../../types';
5
-
6
- interface Props {
7
- locale?: KnownLocale;
8
- }
9
-
10
- const { locale = 'es' } = Astro.props;
11
- const content = await conversorExcelCsvHtml.i18n[locale]?.();
12
- if (!content) return null;
13
- ---
14
-
15
- {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
1
+ ---
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
3
+ import { conversorExcelCsvHtml } from './index';
4
+ import type { KnownLocale } from '../../types';
5
+
6
+ interface Props {
7
+ locale?: KnownLocale;
8
+ }
9
+
10
+ const { locale = 'es' } = Astro.props;
11
+ const content = await conversorExcelCsvHtml.i18n[locale]?.();
12
+ if (!content) return null;
13
+ ---
14
+
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -181,4 +181,4 @@ export const content: ToolLocaleContent<CronGeneratorUI> = {
181
181
  },
182
182
  ],
183
183
  };
184
-
184
+
@@ -181,4 +181,4 @@ export const content: ToolLocaleContent<CronGeneratorUI> = {
181
181
  },
182
182
  ],
183
183
  };
184
-
184
+