diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index adaf4daa7a70..7c5d0c398200 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -130,7 +130,8 @@ export default defineConfig({
ru: { label: 'Русский', lang: 'ru-RU', dir: 'ltr' },
es: { label: 'Español', lang: 'es', dir: 'ltr' },
ko: { label: '한국어', lang: 'ko-KR', dir: 'ltr' },
- fa: { label: 'فارسی', lang: 'fa-IR', dir: 'rtl' }
+ fa: { label: 'فارسی', lang: 'fa-IR', dir: 'rtl' },
+ uk: { label: 'Українська', lang: 'uk-UA', dir: 'ltr' }
},
vite: {
diff --git a/docs/lunaria.config.json b/docs/lunaria.config.json
index 4f93f4dca566..0ce1de65d920 100644
--- a/docs/lunaria.config.json
+++ b/docs/lunaria.config.json
@@ -44,6 +44,10 @@
{
"label": "فارسی",
"lang": "fa"
+ },
+ {
+ "label": "Українська",
+ "lang": "uk"
}
],
"outDir": ".vitepress/dist/_translations",
diff --git a/docs/uk/config.ts b/docs/uk/config.ts
new file mode 100644
index 000000000000..0eda2cae43bd
--- /dev/null
+++ b/docs/uk/config.ts
@@ -0,0 +1,142 @@
+import { createRequire } from 'module'
+import { defineAdditionalConfig, type DefaultTheme } from 'vitepress'
+
+const require = createRequire(import.meta.url)
+const pkg = require('vitepress/package.json')
+
+export default defineAdditionalConfig({
+ description: 'Генератор статичних сайтів на основі Vite & Vue.',
+
+ themeConfig: {
+ nav: nav(),
+
+ sidebar: {
+ '/uk/guide/': { base: '/uk/guide/', items: sidebarGuide() },
+ '/uk/reference/': { base: '/uk/reference/', items: sidebarReference() }
+ },
+
+ editLink: {
+ pattern: 'https://github.com/vuejs/vitepress/edit/main/docs/:path',
+ text: 'Редагувати цю сторінку на GitHub'
+ },
+
+ footer: {
+ message: 'Випущено під ліцензією MIT.',
+ copyright: 'Всі права збережено © 2019–дотепер Evan You'
+ }
+ }
+})
+
+function nav(): DefaultTheme.NavItem[] {
+ return [
+ {
+ text: 'Гід',
+ link: '/uk/guide/what-is-vitepress',
+ activeMatch: '/uk/guide/'
+ },
+ {
+ text: 'Довідка',
+ link: '/uk/reference/site-config',
+ activeMatch: '/uk/reference/'
+ },
+ {
+ text: pkg.version,
+ items: [
+ {
+ text: '1.6.4',
+ link: 'https://vuejs.github.io/vitepress/v1/'
+ },
+ {
+ text: 'Журнал змін',
+ link: 'https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md'
+ },
+ {
+ text: 'Внесок',
+ link: 'https://github.com/vuejs/vitepress/blob/main/.github/contributing.md'
+ }
+ ]
+ }
+ ]
+}
+
+function sidebarGuide(): DefaultTheme.SidebarItem[] {
+ return [
+ {
+ text: 'Introduction',
+ collapsed: false,
+ items: [
+ { text: 'What is VitePress?', link: 'what-is-vitepress' },
+ { text: 'Getting Started', link: 'getting-started' },
+ { text: 'Routing', link: 'routing' },
+ { text: 'Deploy', link: 'deploy' }
+ ]
+ },
+ {
+ text: 'Writing',
+ collapsed: false,
+ items: [
+ { text: 'Markdown Extensions', link: 'markdown' },
+ { text: 'Asset Handling', link: 'asset-handling' },
+ { text: 'Frontmatter', link: 'frontmatter' },
+ { text: 'Using Vue in Markdown', link: 'using-vue' },
+ { text: 'Internationalization', link: 'i18n' }
+ ]
+ },
+ {
+ text: 'Customization',
+ collapsed: false,
+ items: [
+ { text: 'Using a Custom Theme', link: 'custom-theme' },
+ {
+ text: 'Extending the Default Theme',
+ link: 'extending-default-theme'
+ },
+ { text: 'Build-Time Data Loading', link: 'data-loading' },
+ { text: 'SSR Compatibility', link: 'ssr-compat' },
+ { text: 'Connecting to a CMS', link: 'cms' }
+ ]
+ },
+ {
+ text: 'Experimental',
+ collapsed: false,
+ items: [
+ { text: 'MPA Mode', link: 'mpa-mode' },
+ { text: 'Sitemap Generation', link: 'sitemap-generation' }
+ ]
+ },
+ { text: 'Config & API Reference', base: '/reference/', link: 'site-config' }
+ ]
+}
+
+function sidebarReference(): DefaultTheme.SidebarItem[] {
+ return [
+ {
+ text: 'Reference',
+ items: [
+ { text: 'Site Config', link: 'site-config' },
+ { text: 'Frontmatter Config', link: 'frontmatter-config' },
+ { text: 'Runtime API', link: 'runtime-api' },
+ { text: 'CLI', link: 'cli' },
+ {
+ text: 'Default Theme',
+ base: '/reference/default-theme-',
+ items: [
+ { text: 'Overview', link: 'config' },
+ { text: 'Nav', link: 'nav' },
+ { text: 'Sidebar', link: 'sidebar' },
+ { text: 'Home Page', link: 'home-page' },
+ { text: 'Footer', link: 'footer' },
+ { text: 'Layout', link: 'layout' },
+ { text: 'Badge', link: 'badge' },
+ { text: 'Team Page', link: 'team-page' },
+ { text: 'Prev / Next Links', link: 'prev-next-links' },
+ { text: 'Edit Link', link: 'edit-link' },
+ { text: 'Last Updated Timestamp', link: 'last-updated' },
+ { text: 'Search', link: 'search' },
+ { text: 'Carbon Ads', link: 'carbon-ads' }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/docs/uk/index.md b/docs/uk/index.md
new file mode 100644
index 000000000000..c4d713a47b19
--- /dev/null
+++ b/docs/uk/index.md
@@ -0,0 +1,35 @@
+---
+layout: home
+
+hero:
+ name: VitePress
+ text: Генератор статичних сайтів на основі Vite та Vue
+ tagline: Markdown у Красиву Документацію за лічені хвилини
+ actions:
+ - theme: brand
+ text: Що таке VitePress?
+ link: /guide/what-is-vitepress
+ - theme: alt
+ text: Швидкий старт
+ link: /guide/getting-started
+ - theme: alt
+ text: GitHub
+ link: https://github.com/vuejs/vitepress
+ image:
+ src: /vitepress-logo-large.svg
+ alt: VitePress
+
+features:
+ - icon: 📝
+ title: Зосередьтесь на вмісті
+ details: Без зусиль створюйте чудові сайти документації лише за допомогою Markdown.
+ - icon:
+ title: Насолоджуйтесь досвідом розробки Vite
+ details: Миттєвий запуск сервера, блискавично швидкі гарячі оновлення та використання плагінів екосистеми Vite.
+ - icon:
+ title: Налаштовуйте за допомогою Vue
+ details: Використовуйте синтаксис та компоненти Vue безпосередньо в Markdown або створюйте власні теми за допомогою Vue.
+ - icon: 🚀
+ title: Запускайте сайти швидко
+ details: Швидке початкове завантаження завдяки статичному HTML, швидка навігація після завантаження завдяки клієнтській маршрутизації.
+---