Skip to content
This repository was archived by the owner on Mar 27, 2023. It is now read-only.

Commit feae882

Browse files
committed
completed basic i18n with english and mandarin menu translations
1 parent 4aac6eb commit feae882

File tree

9 files changed

+160
-49
lines changed

9 files changed

+160
-49
lines changed

quasar/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"dependencies": {
1414
"@quasar/extras": "^1.0.0",
1515
"axios": "^0.18.1",
16+
"emoji-mart-vue": "^2.6.6",
1617
"js-cookie": "^2.2.0",
1718
"quasar": "^1.0.0",
1819
"vue-i18n": "^8.0.0",

quasar/src/boot/components.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ import LeftMenuLink from "components/LeftMenuLink.vue";
44
import MainHeader from "layouts/primary/MainHeader.vue";
55
import MainLeftDrawer from "layouts/primary/MainLeftDrawer.vue";
66
import MainCarousel from "components/MainCarousel.vue";
7+
import { Emoji } from "emoji-mart-vue";
78

89
// leave the export, even if you don't use it
910
export default async ({ Vue }) => {
11+
Vue.component("Emoji", Emoji);
1012
Vue.component("BasePage", BasePage);
1113
Vue.component("DarkMode", DarkMode);
1214
Vue.component("LeftMenuLink", LeftMenuLink);

quasar/src/i18n/cn-cn/index.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
1-
// This is just an example,
2-
// so you can safely delete all default props below
1+
import leftDrawer from "./leftDrawer";
32

43
export default {
5-
leftDrawer: {
6-
home: {
7-
main: "目录",
8-
sub: "从此开始"
9-
}
10-
},
11-
failed: "你好",
12-
success: "bu hao"
4+
...leftDrawer
135
};
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
const leftDrawer = {
2+
leftDrawer: {
3+
home: {
4+
main: "首页",
5+
sub: "从这里开始"
6+
},
7+
about: {
8+
main: "关于",
9+
sub: "关于这个APP"
10+
},
11+
protected: {
12+
main: "保护",
13+
sub: "受保护的Vue页面"
14+
},
15+
toDo: {
16+
main: "To-Do",
17+
sub: "To-Do应用程序"
18+
},
19+
services: {
20+
main: "服务",
21+
sub: "监控,管理,元数据"
22+
},
23+
examples: {
24+
main: "例子",
25+
sub: "REST, Websockets, 等",
26+
websockets: {
27+
main: "Websockets",
28+
sub: "如何使用Websockets"
29+
}
30+
},
31+
tests: {
32+
main: "测试",
33+
sub: "系统测试",
34+
redis: {
35+
main: "Redis",
36+
sub: "redis测试"
37+
}
38+
},
39+
environment: {
40+
main: "环境",
41+
sub: "环境变量"
42+
}
43+
}
44+
};
45+
46+
export default leftDrawer;

quasar/src/i18n/en-us/index.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
1-
// This is just an example,
2-
// so you can safely delete all default props below
1+
import leftDrawer from "./leftDrawer";
32

43
export default {
5-
leftDrawer: {
6-
home: {
7-
main: "Home",
8-
sub: "Start here"
9-
}
10-
},
4+
...leftDrawer,
115
failed: "Hello",
126
success: "Action was successful"
137
};
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
const leftDrawer = {
2+
leftDrawer: {
3+
home: {
4+
main: "Home",
5+
sub: "Start here"
6+
},
7+
about: {
8+
main: "About",
9+
sub: "About this site"
10+
},
11+
protected: {
12+
main: "Protected",
13+
sub: "This page is private"
14+
},
15+
toDo: {
16+
main: "To-Do",
17+
sub: "Site To-Do List"
18+
},
19+
services: {
20+
main: "Services",
21+
sub: "Monitoring, admin, metadata"
22+
},
23+
examples: {
24+
main: "Examples",
25+
sub: "REST, Websockets, tasks",
26+
websockets: {
27+
main: "Websockets",
28+
sub: "How to use websockets"
29+
}
30+
},
31+
tests: {
32+
main: "Tests",
33+
sub: "System Checks",
34+
redis: {
35+
main: "Redis",
36+
sub: "Test redis connection"
37+
}
38+
},
39+
environment: {
40+
main: "Environment",
41+
sub: "Environment Variables"
42+
}
43+
}
44+
};
45+
46+
export default leftDrawer;

quasar/src/layouts/primary/MainHeader.vue

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,19 @@
1414

1515
<q-toolbar-title>Verbose Equals True</q-toolbar-title>
1616

17-
<q-select v-model="lang" :options="langs" />
17+
<span class="lang">
18+
<emoji :native="false" height="100%" :sheetSize="64" :emoji="lang.emoji" :size="28" />
19+
</span>
20+
21+
<q-select
22+
dark
23+
dense
24+
color="white"
25+
v-model="lang"
26+
:options="langs"
27+
/>
28+
29+
1830
<q-btn
1931
id="login"
2032
:ripple="false"
@@ -46,21 +58,32 @@ import AuthModal from "components/AuthModal.vue";
4658
export default {
4759
data() {
4860
return {
49-
lang: this.$i18n.locale,
61+
showing: false,
62+
lang: {
63+
label: "US English",
64+
value: "en-us",
65+
emoji: ":flag-us:"
66+
},
5067
langs: [
5168
{
52-
label: "Chinese",
53-
value: "cn-cn"
69+
label: "US English",
70+
value: "en-us",
71+
emoji: ":flag-us:"
5472
},
5573
{
56-
label: "US English",
57-
value: "en-us"
58-
}
74+
label: "Chinese",
75+
value: "cn-cn",
76+
emoji: ":flag-cn:"
77+
},
5978
]
6079
};
6180
},
6281
components: { AuthModal },
6382
methods: {
83+
setLang(lang){
84+
console.log(lang);
85+
this.lang = lang
86+
},
6487
logout() {
6588
this.$store.dispatch("AUTH_LOGOUT").then(() => this.$router.push("/"));
6689
this.$router.go();
@@ -70,11 +93,12 @@ export default {
7093
}
7194
},
7295
created() {
73-
this.$i18n.locale = "cn-cn";
96+
this.$i18n.locale = 'en-us';
7497
},
7598
watch: {
7699
lang(lang) {
77-
this.$i18n.locale = lang;
100+
console.log(lang);
101+
this.$i18n.locale = lang.value;
78102
// import(`quasar/i18n/${lang}`).then(language => {
79103
// this.$q.lang.set(language.default)
80104
// })
@@ -83,4 +107,12 @@ export default {
83107
};
84108
</script>
85109

86-
<style lang="scss" scoped></style>
110+
<style scoped>
111+
.lang {
112+
margin-right: 20px;
113+
cursor: pointer;
114+
}
115+
.q-select {
116+
margin-right: 20px;
117+
}
118+
</style>

quasar/src/layouts/primary/MainLeftDrawer.vue

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,72 +12,72 @@
1212
:label="$t('leftDrawer.home.main')"
1313
to="/"
1414
icon="home"
15-
caption="Start Here"
15+
:caption="$t('leftDrawer.home.sub')"
1616
/>
1717

1818
<left-menu-link
19-
label="About"
19+
:label="$t('leftDrawer.about.main')"
2020
to="/about"
2121
icon="info"
22-
caption="About this site"
22+
:caption="$t('leftDrawer.about.sub')"
2323
/>
2424

2525
<left-menu-link
26-
label="Protected"
26+
:label="$t('leftDrawer.protected.main')"
2727
to="/protected"
2828
icon="lock"
29-
caption="This page is private"
29+
:caption="$t('leftDrawer.protected.sub')"
3030
/>
3131

3232
<left-menu-link
33-
label="To-Do"
33+
:label="$t('leftDrawer.toDo.main')"
3434
to="/to-do"
3535
icon="check"
36-
caption="Site To-Do List"
36+
:caption="$t('leftDrawer.toDo.sub')"
3737
/>
3838

3939
<left-menu-link
4040
v-if="$store.getters.isAuthenticated"
41-
label="Services"
41+
:label="$t('leftDrawer.services.main')"
4242
to="/services"
4343
icon="insert_chart_outlined"
44-
caption="Monitoring, admin, metadata"
44+
:caption="$t('leftDrawer.services.sub')"
4545
/>
4646
<q-expansion-item
4747
:content-inset-level="0.5"
4848
v-if="$store.getters.isAuthenticated"
4949
expand-separator
5050
icon="perm_identity"
51-
label="Examples"
52-
caption="REST, Websockets, "
51+
:label="$t('leftDrawer.examples.main')"
52+
:caption="$t('leftDrawer.tests.sub')"
5353
>
5454
<left-menu-link
55-
label="Services"
55+
:label="$t('leftDrawer.examples.websockets.main')"
5656
to="/examples/websockets"
5757
icon="offline_bolt"
58-
caption="How to use websockets"
58+
:caption="$t('leftDrawer.examples.websockets.sub')"
5959
/>
6060
</q-expansion-item>
6161
<q-expansion-item
6262
:content-inset-level="0.5"
6363
v-if="$store.getters.isAuthenticated"
6464
expand-separator
6565
icon="check_circle"
66-
label="Tests"
67-
caption="Debug Tests"
66+
:label="$t('leftDrawer.tests.main')"
67+
:caption="$t('leftDrawer.tests.main')"
6868
>
6969
<left-menu-link
70-
label="Redis"
70+
:label="$t('leftDrawer.tests.redis.main')"
7171
to="/examples/redis"
7272
icon="offline_bolt"
73-
caption="Test redis connection"
73+
:caption="$t('leftDrawer.tests.redis.sub')"
7474
/>
7575
</q-expansion-item>
7676
<left-menu-link
77-
label="Environment Variables"
77+
:label="$t('leftDrawer.environment.main')"
7878
to="/debug/environment-variables"
7979
icon="offline_bolt"
80-
caption="Displays Environment Variables for Debug Purposes"
80+
:caption="$t('leftDrawer.environment.main')"
8181
/>
8282
</q-list>
8383
</q-drawer>

quasar/src/pages/Environment.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
<template>
22
<base-page>
33
<h4>Environment Variables</h4>
4-
5-
{{ $t("failed") }}
64
<div v-for="(value, key) in env" :key="key">
75
<q-chip>{{ key }}</q-chip
86
><q-chip text-color="white" color="teal">{{ value }}</q-chip>

0 commit comments

Comments
 (0)