Skip to content

Commit

Permalink
feat: Ukrainian language (#48)
Browse files Browse the repository at this point in the history
* feat: Ukrainian language

* feat: Migration build

* feat: Recommendations

* feat: Links, breaking changes page

* feat: global api

* fix: #9

* fix: #10 v-model

* #21 translate attr imcludes class and style

* #20 Translate: listeners are removed

* Update src/uk/breaking-changes/listeners-removed.md

* Update src/uk/breaking-changes/listeners-removed.md

* Update src/uk/breaking-changes/listeners-removed.md

* Update src/uk/breaking-changes/listeners-removed.md

* #19 Translate: Slots unification

* #18 Translate: render function API

* #28 Translate: PropsData

* #27 Translate:

* #27 Translate:

* #26 Translate: inline-template attribute

* #25 Translate: filters

* Update src/uk/breaking-changes/filters.md

* #24 Translate: events API

* #23 Translate: keycode modifiers

* Update src/uk/breaking-changes/keycode-modifiers.md

* Translate: custom elements interop

* Translate: custom directives #30

* Update src/uk/breaking-changes/custom-directives.md

Co-authored-by: Nazar Niphone <[email protected]>

* Update src/uk/breaking-changes/custom-directives.md

Co-authored-by: Nazar Niphone <[email protected]>

* Update src/uk/breaking-changes/custom-directives.md

Co-authored-by: Nazar Niphone <[email protected]>

* Update src/uk/breaking-changes/custom-directives.md

Co-authored-by: Nazar Niphone <[email protected]>

* translation improvements

* translate: key Attribute #11

* translate: v-bind merge behavior #13

* translate: v-if vs. v-for precedence #12

* translate: v-on.native modifier removed #14

* translate: title fix #14

* translate: functional components #15

* translate: async components #16

* translate: emits option #17

* translate: attribute coercion behavior #29

* translate: mount changes #32

* translate: props default this access #33

* translate: transition class change #34

* translate: transition as root #35

* translate: transition group root element #36

* translate: vnode lifecycle events #37

* translate: watch on arrays #38

* Update src/uk/breaking-changes/v-if-v-for.md

Co-authored-by: Olesya Kogivchak <[email protected]>

* Update src/uk/breaking-changes/v-if-v-for.md

Co-authored-by: Olesya Kogivchak <[email protected]>

* Update src/uk/breaking-changes/key-attribute.md

Co-authored-by: Olesya Kogivchak <[email protected]>

* Translate: data option

---------

Co-authored-by: olesyakogivchak <[email protected]>
Co-authored-by: Nazar Niphone <[email protected]>
Co-authored-by: Max Druzhinin <[email protected]>
Co-authored-by: Olesya Kogivchak <[email protected]>
  • Loading branch information
5 people committed May 1, 2023
1 parent d283ef0 commit 794629c
Show file tree
Hide file tree
Showing 42 changed files with 3,758 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -2,3 +2,4 @@ node_modules
.DS_Store
.pnpm-debug.log
.vitepress/dist
.idea
1 change: 1 addition & 0 deletions .vitepress/config.js
Expand Up @@ -14,6 +14,7 @@ export default {
{text: 'English', link: '/'},
{text: '中文简体', link: '/zh/'},
{text: '日本語(翻訳中)', link: '/ja/'},
{text: 'Українська', link: '/uk/'},
]
},
locales: locales.themeConfig
Expand Down
3 changes: 3 additions & 0 deletions .vitepress/locales/index.js
@@ -1,16 +1,19 @@
import en from './en'
import zh from './zh'
import ja from './ja'
import uk from './uk'

export default {
vitepressConfig: {
'/': en.vitepressConfig,
'/zh/': zh.vitepressConfig,
'/ja/': ja.vitepressConfig,
'/uk/': uk.vitepressConfig,
},
themeConfig: {
'/': en.themeConfig,
'/zh/': zh.themeConfig,
'/ja/': ja.themeConfig,
'/uk/': uk.themeConfig,
}
}
164 changes: 164 additions & 0 deletions .vitepress/locales/uk.js
@@ -0,0 +1,164 @@
export default {
vitepressConfig: {
title: 'Міграція з Vue 3',
description: 'Гід з міграції з Vue 2 на Vue 3',
lang: 'ua-UK'
},
themeConfig: {
docFooter: {
prev: 'Попередня сторінка',
next: 'Наступна сторінка',
},
outlineTitle: 'На цій сторінці',
nav: [
{ text: 'Документація по Vue 3', link: 'https://ua.vuejs.org' },
],

sidebar: [
{
text: 'Гід',
items: [
{ text: 'Огляд', link: '/uk/' },
{ text: 'Нові рекомендації', link: '/uk/recommendations' },
{ text: 'Міграційна збірка', link: '/uk/migration-build' },
{
text: 'Несумісні зміни',
link: '/uk/breaking-changes/'
}
]
},
{
text: 'Глобальний API',
items: [
{
text: 'Екземпляр програми глобального API',
link: '/uk/breaking-changes/global-api'
},
{
text: 'Глобальний API струшування дерева',
link: '/uk/breaking-changes/global-api-treeshaking'
}
]
},
{
text: 'Шаблон директив',
items: [
{ text: 'v-model', link: '/uk/breaking-changes/v-model' },
{
text: 'Зміни використання key',
link: '/uk/breaking-changes/key-attribute'
},
{
text: 'Пріоритет v-if проти v-for',
link: '/uk/breaking-changes/v-if-v-for'
},
{ text: 'Поведінка злиття v-bind', link: '/uk/breaking-changes/v-bind' },
{
text: 'Модифікатор v-on.native видалено',
link: '/uk/breaking-changes/v-on-native-modifier-removed'
}
]
},
{
text: 'Компоненти',
items: [
{
text: 'Функціональні компоненти',
link: '/uk/breaking-changes/functional-components'
},
{
text: 'Асинхронні компоненти',
link: '/uk/breaking-changes/async-components'
},
{ text: 'Опція emits', link: '/uk/breaking-changes/emits-option' }
]
},
{
text: 'Функції рендерингу',
items: [
{
text: 'API функцій рендерингу',
link: '/uk/breaking-changes/render-function-api'
},
{
text: 'Уніфікація слотів',
link: '/uk/breaking-changes/slots-unification'
},
{
text: '$listeners об\'єднано з $attrs',
link: '/uk/breaking-changes/listeners-removed'
},
{
text: '$attrs включає class & style',
link: '/uk/breaking-changes/attrs-includes-class-style'
}
]
},
{
text: 'Спеціальні елементи',
items: [
{
text: 'Зміни взаємодії',
link: '/uk/breaking-changes/custom-elements-interop'
}
]
},
{
text: 'Видалені API',
items: [
{
text: 'Модифікатор v-on keyCode',
link: '/uk/breaking-changes/keycode-modifiers'
},
{ text: 'API подій', link: '/uk/breaking-changes/events-api' },
{ text: 'Фільтри', link: '/uk/breaking-changes/filters' },
{
text: 'inline-template',
link: '/uk/breaking-changes/inline-template-attribute'
},
{ text: '$children', link: '/uk/breaking-changes/children' },
{ text: 'Опція propsData', link: '/uk/breaking-changes/props-data' }
]
},
{
text: 'Інші незначні зміни',
items: [
{
text: 'Поведінка приведення атрибутів',
link: '/uk/breaking-changes/attribute-coercion'
},
{
text: 'Користувацькі директиви',
link: '/uk/breaking-changes/custom-directives'
},
{ text: 'Опція Data', link: '/uk/breaking-changes/data-option' },
{
text: 'Зміни в API монтування',
link: '/uk/breaking-changes/mount-changes'
},
{
text: 'Доступ до this в функції реквізитів',
link: '/uk/breaking-changes/props-default-this'
},
{
text: 'Зміни класів переходів',
link: '/uk/breaking-changes/transition'
},
{
text: 'Transition як кореневий елемент',
link: '/uk/breaking-changes/transition-as-root'
},
{
text: 'Transition Group як кореневий елемент',
link: '/uk/breaking-changes/transition-group'
},
{
text: 'Події життєвого циклу VNode',
link: '/uk/breaking-changes/vnode-lifecycle-events'
},
{ text: 'Спостерігачі за масивами', link: '/uk/breaking-changes/watch' }
]
}
]
}
}
6 changes: 6 additions & 0 deletions .vitepress/theme/MigrationBadges.vue
Expand Up @@ -19,6 +19,12 @@ const localeBadges = {
breaking: '破壊的変更',
removed: '削除',
updated: '更新'
},
'ua-UK': {
new: 'нове',
breaking: 'несумісно',
removed: 'видалено',
updated: 'змінено'
}
}
Expand Down
95 changes: 95 additions & 0 deletions src/uk/VueMastery.vue
@@ -0,0 +1,95 @@
<template>
<div class="vue-mastery-link">
<a
href="https://www.vuemastery.com/migration-guide-cheat-sheet/"
target="_blank"
>
<div class="banner-wrapper">
<img
class="banner"
alt="Vue Mastery banner"
width="96px"
height="56px"
src="https://storage.googleapis.com/vue-mastery.appspot.com/flamelink/media/vuemastery-graphical-link-96x56.png"
/>
</div>
<p class="description">
Отримайте безкоштовну шпаргалку з посібника з міграції на <span>VueMastery.com</span>
</p>
<div class="logo-wrapper">
<img
alt="Vue Mastery Logo"
width="25px"
src="https://storage.googleapis.com/vue-mastery.appspot.com/flamelink/media/vue-mastery-logo.png"
/>
</div>
</a>
</div>
</template>

<style>
.vue-mastery-link {
background-color: #f9f9f9;
border-radius: 8px;
padding: 8px 16px 8px 8px;
}
.vue-mastery-link a {
display: flex;
align-items: center;
text-decoration: none;
}
.vue-mastery-link .banner {
background-color: #f9f9f9;
border-radius: 4px;
width: 96px;
height: 56px;
object-fit: cover;
}
.vue-mastery-link .description {
flex: 1;
font-weight: 500;
font-size: 14px;
line-height: 20px;
color: #213547;
margin: 0 0 0 16px;
}
.vue-mastery-link .description span {
color: #42b883;
}
.vue-mastery-link .logo-wrapper {
position: relative;
width: 48px;
height: 48px;
border-radius: 50%;
background-color: #ffffff;
display: flex;
justify-content: center;
align-items: center;
}
.vue-mastery-link .logo-wrapper img {
width: 25px;
object-fit: contain;
}
@media (max-width: 576px) {
.vue-mastery-link .banner {
width: 56px;
}
.vue-mastery-link .description {
font-size: 12px;
line-height: 18px;
}
.vue-mastery-link .logo-wrapper {
position: relative;
width: 32px;
height: 32px;
}
}
</style>

0 comments on commit 794629c

Please sign in to comment.