Skip to content

Commit 2477b61

Browse files
author
Sami Kolari
committed
translation lang added
1 parent 1d83b3e commit 2477b61

File tree

13 files changed

+767
-21
lines changed

13 files changed

+767
-21
lines changed

public/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!DOCTYPE html>
2-
<html lang="">
2+
<html>
33
<head>
44
<meta charset="utf-8">
55
<meta http-equiv="X-UA-Compatible" content="IE=edge">

src/App.vue

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,16 @@
33
<router-view />
44
</div>
55
</template>
6+
7+
<script>
8+
export default {
9+
created() {
10+
document.documentElement.lang = this.$i18n.locale
11+
},
12+
watch: {
13+
'$i18n.locale'() {
14+
document.documentElement.lang = this.$i18n.locale
15+
}
16+
}
17+
}
18+
</script>

src/components/CompanyCarousel.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div>
2+
<div v-if="activeCompany">
33
<div class="row carousel-container bg-grey-light rounded">
44
<button
55
class="col-sm-1 flex center middle"

src/components/Navbar.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
<button
6464
class="type-uppercase"
6565
:class="[lang === $i18n.locale ? 'color-theme' : 'color-white', {['mb-2xsmall'] : i !== langNames.length - 1}]"
66-
@click="$i18n.locale = lang">
66+
@click="setLang(lang)">
6767
{{ name }}
6868
</button>
6969
</div>
@@ -112,6 +112,10 @@ export default {
112112
document.getElementById(item.toLowerCase().replaceAll(' ', '-')).scrollIntoView({
113113
behavior: 'smooth'
114114
})
115+
},
116+
setLang(lang) {
117+
this.$i18n.locale = lang
118+
window.localStorage.setItem('lang', lang)
115119
}
116120
},
117121
watch: {

src/components/ResourceBox.vue

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<div :key="activeTab">
1515
<div class="row mb-medium">
1616
<div class="col-sm-9 pl-medium">
17-
{{ $tm('resources.tabs').find(({ key }) => key === activeTab).description }}
17+
{{ selectedDescription }}
1818
</div>
1919
<div class="col-sm-3 pr-medium flex bottom end">
2020
<div class="relative">
@@ -123,7 +123,8 @@ export default {
123123
ChevronIcon
124124
},
125125
data: () => ({
126-
activeTab: '',
126+
tabs: ['libraries', 'tools', 'learning'],
127+
activeTab: 'libraries',
127128
sortBy: 'default',
128129
direction: 'descending',
129130
filterInputFocused: false,
@@ -141,6 +142,11 @@ export default {
141142
selectedList() {
142143
return this.$tm(`resourcesList.${this.activeTab}`)
143144
},
145+
selectedDescription() {
146+
const tab = this.$tm('resources.tabs').find(({ key }) => key === this.activeTab)
147+
if (tab) return tab.description
148+
return ''
149+
},
144150
visibleItems() {
145151
const filtered = this.selectedList
146152
.filter((item) => !this.tagFilterExactMatch || (item.tags && item.tags.some((tag) => tag.toLowerCase() === this.filterInput.toLowerCase())))
@@ -167,9 +173,6 @@ export default {
167173
.sort((a, b) => a > b ? 1 : -1))]
168174
}
169175
},
170-
created() {
171-
this.activeTab = this.$tm('resources.tabs')[0].key
172-
},
173176
watch: {
174177
activeTab() {
175178
this.filterInput = ''

src/content/ach.js

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
export default () => ({
2+
langName: 'translation',
3+
newsBanner: 'crwdns525:0crwdne525:0',
4+
navbar: {
5+
items: [
6+
'crwdns527:0crwdne527:0',
7+
'crwdns529:0crwdne529:0',
8+
'crwdns531:0crwdne531:0',
9+
'crwdns533:0crwdne533:0'
10+
],
11+
dropdownName: 'crwdns535:0crwdne535:0',
12+
dropdown: [
13+
{
14+
name: 'crwdns537:0crwdne537:0',
15+
url: 'crwdns539:0crwdne539:0',
16+
description: 'crwdns541:0crwdne541:0'
17+
},
18+
{
19+
name: 'crwdns543:0crwdne543:0',
20+
url: 'crwdns545:0crwdne545:0',
21+
description: 'crwdns547:0crwdne547:0'
22+
},
23+
{
24+
name: 'crwdns549:0crwdne549:0',
25+
url: 'crwdns551:0crwdne551:0',
26+
description: 'crwdns553:0crwdne553:0'
27+
},
28+
{
29+
name: 'crwdns555:0crwdne555:0',
30+
url: 'crwdns557:0crwdne557:0',
31+
description: 'crwdns559:0crwdne559:0'
32+
},
33+
{
34+
name: 'crwdns561:0crwdne561:0',
35+
url: 'crwdns563:0crwdne563:0',
36+
description: 'crwdns565:0crwdne565:0'
37+
},
38+
{
39+
name: 'crwdns567:0crwdne567:0',
40+
url: 'crwdns569:0crwdne569:0',
41+
description: 'crwdns571:0crwdne571:0'
42+
}
43+
]
44+
},
45+
introduction: {
46+
title: 'crwdns573:0crwdne573:0',
47+
body: 'crwdns575:0crwdne575:0',
48+
companies: [
49+
{
50+
name: 'crwdns577:0crwdne577:0',
51+
description: 'crwdns579:0crwdne579:0',
52+
imgName: 'crwdns581:0crwdne581:0'
53+
},
54+
{
55+
name: 'crwdns583:0crwdne583:0',
56+
description: 'crwdns585:0crwdne585:0',
57+
imgName: 'crwdns587:0crwdne587:0'
58+
},
59+
{
60+
name: 'crwdns589:0crwdne589:0',
61+
description: 'crwdns591:0crwdne591:0',
62+
imgName: 'crwdns593:0crwdne593:0'
63+
},
64+
{
65+
name: 'crwdns595:0crwdne595:0',
66+
description: 'crwdns597:0crwdne597:0',
67+
imgName: 'crwdns599:0crwdne599:0'
68+
}
69+
]
70+
},
71+
gettingStarted: {
72+
title: 'crwdns601:0crwdne601:0',
73+
body: 'crwdns603:0crwdne603:0'
74+
},
75+
community: {
76+
title: 'crwdns605:0crwdne605:0',
77+
body: 'crwdns607:0crwdne607:0'
78+
},
79+
resources: {
80+
title: 'crwdns609:0crwdne609:0',
81+
body: 'crwdns611:0crwdne611:0',
82+
tabs: [
83+
{
84+
name: 'crwdns613:0crwdne613:0',
85+
key: 'crwdns615:0crwdne615:0',
86+
description: 'crwdns617:0crwdne617:0'
87+
},
88+
{
89+
name: 'crwdns619:0crwdne619:0',
90+
key: 'crwdns621:0crwdne621:0',
91+
description: 'crwdns623:0crwdne623:0'
92+
},
93+
{
94+
name: 'crwdns625:0crwdne625:0',
95+
key: 'crwdns627:0crwdne627:0',
96+
description: 'crwdns629:0crwdne629:0'
97+
}
98+
]
99+
}
100+
})

src/content/chinese.js

Lines changed: 125 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,127 @@
11
export default () => ({
2-
langName: '中国人'
2+
langName: '中国人',
3+
newsBanner: '🎉 RF 4.0 is out! <a href="www.google.com">Click here</a> for release notes',
4+
navbar: {
5+
items: [
6+
'Introduction',
7+
'Getting started',
8+
'Community',
9+
'Resources'
10+
],
11+
dropdownName: 'Links',
12+
dropdown: [
13+
{
14+
name: 'Github',
15+
url: 'https://github.com/robotframework/robotframework',
16+
description: 'Source code + issues'
17+
},
18+
{
19+
name: 'Forum',
20+
url: 'http://forum.robotframework.org/',
21+
description: 'Discuss Robot Framework'
22+
},
23+
{
24+
name: 'Foundation',
25+
url: 'https://robotframework.org/foundation/',
26+
description: 'Support the development'
27+
},
28+
{
29+
name: 'Robocon',
30+
url: 'https://robocon.io/',
31+
description: 'Annual conference'
32+
},
33+
{
34+
name: 'Shop',
35+
url: 'https://reddyshop.co/robotframework/',
36+
description: 'Support the development'
37+
},
38+
{
39+
name: 'RPA',
40+
url: 'https://robotframework.org/rpa/',
41+
description: 'RPA stuff'
42+
}
43+
]
44+
},
45+
introduction: {
46+
title: 'Introduction',
47+
body:
48+
`Robot Framework is a generic open source automation framework.
49+
It can be used for test automation and robotic process automation (RPA).<br><br>
50+
51+
Robot Framework is actively supported, with many industry-leading companies using
52+
it in their software development.<br><br>
53+
54+
Robot Framework is open and extensible and can be integrated with virtually any
55+
other tool to create powerful and flexible automation solutions. Being open source
56+
also means that Robot Framework is free to use without licensing costs. Robot Framework
57+
has easy syntax, utilizing human-readable keywords. Its capabilities can be extended
58+
by libraries implemented with Python or Java. The framework has a rich ecosystem
59+
around it, consisting of libraries and tools that are developed as separate projects.`,
60+
companies: [
61+
{
62+
name: 'ABB',
63+
description: 'ABB is using Robot Framework in software development for testing distribution automation related configuration tools, web interfaces and embedded devices.',
64+
imgName: 'ABB.svg'
65+
},
66+
{
67+
name: 'Cisco',
68+
description: 'Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise.',
69+
imgName: 'Cisco.svg'
70+
},
71+
{
72+
name: 'Condé Nast',
73+
description: 'Condé Nast <a href="https://technology.condenast.com/story/automated-testing-qa-brand-sites-robot-framework">transformed their quality assurance for their brand sites,</a> such as Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.',
74+
imgName: 'Condé_Nast.svg'
75+
},
76+
{
77+
name: 'KONE',
78+
description: 'KONE is widely using Robot Framework in software development for testing embedded systems in elevators and escalators.',
79+
imgName: 'Kone.svg'
80+
}
81+
]
82+
},
83+
gettingStarted: {
84+
title: 'Getting Started',
85+
body:
86+
`Robot Framework is open and extensible and can be integrated with virtually any other
87+
tool to create powerful and flexible automation solutions. Being open source also means
88+
that Robot Framework is free to use without licensing costs. Robot Framework has easy
89+
syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries
90+
implemented with Python or Java.`
91+
},
92+
community: {
93+
title: 'Community',
94+
body:
95+
`Robot Framework has a vibrant community around it with various online forums, annual
96+
RoboCon conference, and meetup groups around the world.`
97+
},
98+
resources: {
99+
title: 'Resources',
100+
body:
101+
'If you want to add your library here, make a PR.',
102+
tabs: [
103+
{
104+
name: 'Libraries',
105+
key: 'libraries',
106+
description: `Libraries provide the actual automation and testing capabilities to
107+
Robot Framework by providing keywords. Several standard libraries are bundled with
108+
the framework, and there are separately developed external libraries galore that
109+
can be installed based on your needs. Creating your own libraries is a breeze.`
110+
},
111+
{
112+
name: 'Tools',
113+
key: 'tools',
114+
description: `Supporting tools ease automation: editing, running, building and so on.
115+
Most of these tools are developed as separate projects, but some are built into the framework itself.`
116+
},
117+
{
118+
name: 'Learning',
119+
key: 'learning',
120+
description: `Want to get started? Looking for a way to do things? Here are the most
121+
important documentation resources needed to work with Robot Framework. Notice that
122+
individual libraries and tools in the ecosystem have their own documentation that
123+
is typically accessed via their project pages.`
124+
}
125+
]
126+
}
3127
})

0 commit comments

Comments
 (0)