Skip to content

Commit 827951a

Browse files
committed
chore: missing translations
1 parent 5b73095 commit 827951a

23 files changed

+269
-123
lines changed

app/assets/locale/en.json

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,69 @@
5252
"Allowed JPG, GIF or PNG, Max size of 800K": "Allowed JPG, GIF or PNG, Max size of 800K",
5353
"days": "days",
5454
"© {year} Developed by {link}": "© {year} Developed by {link}",
55-
"Introduction": "Introduction"
55+
"Introduction": "Introduction",
56+
"This field is required": "This field is required",
57+
"The Email field must be a valid email": "The Email field must be a valid email",
58+
"Field must contain at least one uppercase, lowercase, special character and digit with min 8 chars": "Field must contain at least one uppercase, lowercase, special character and digit with min 8 chars",
59+
"The Confirm Password field confirmation does not match": "The Confirm Password field confirmation does not match",
60+
"Enter number between {min} and {max}": "Enter number between {min} and {max}",
61+
"This field must be an integer": "This field must be an integer",
62+
"The Regex field format is invalid": "The Regex field format is invalid",
63+
"The Alpha field may only contain alphabetic characters": "The Alpha field may only contain alphabetic characters",
64+
"URL is invalid": "URL is invalid",
65+
"The Min Character field must be at least {length} characters": "The Min Character field must be at least {length} characters",
66+
"All Character are not valid": "All Character are not valid",
67+
"Apps": "Apps",
68+
"Logout": "Logout",
69+
"Another confirmation email has been sent to your email address!": "Another confirmation email has been sent to your email address!",
70+
"An error has occured, please try again later": "An error has occured, please try again later",
71+
"Verify your email ✉️": "Verify your email ✉️",
72+
"Resend Confirmation {countdown}": "Resend Confirmation {countdown}",
73+
"Forgot Password? 🔒": "Forgot Password? 🔒",
74+
"Enter your email and we\\'ll send you instructions to reset your password": "Enter your email and we\\'ll send you instructions to reset your password",
75+
"Email": "Email",
76+
"Send Reset Link": "Send Reset Link",
77+
"Back to login": "Back to login",
78+
"Welcome to {appName} 👋🏻": "Welcome to {appName} 👋🏻",
79+
"Please sign-in to your account and start the adventure": "Please sign-in to your account and start the adventure",
80+
"Password": "Password",
81+
"Remember me": "Remember me",
82+
"Forgot Password?": "Forgot Password?",
83+
"Sign In": "Sign In",
84+
"New on our platform?": "New on our platform?",
85+
"Create an account": "Create an account",
86+
"or": "or",
87+
"Please confirm your email address before signin!": "Please confirm your email address before signin!",
88+
"Adventure starts here 🚀": "Adventure starts here 🚀",
89+
"Getting subtitle from video with ease!": "Getting subtitle from video with ease!",
90+
"Confirm Password": "Confirm Password",
91+
"Sign up": "Sign up",
92+
"Already have an account?": "Already have an account?",
93+
"Sign In instead": "Sign In instead",
94+
"Verify your account ✉️": "Verify your account ✉️",
95+
"Please click the button below to confirm your registration\\.": "Please click the button below to confirm your registration\\.",
96+
"Verify Registration": "Verify Registration",
97+
"We are launching soon 🚀": "We are launching soon 🚀",
98+
"Our website is opening soon\\. Please register to get notified when it\\'s ready!": "Our website is opening soon\\. Please register to get notified when it\\'s ready!",
99+
"Enter your email or username": "Enter your email or username",
100+
"Coming Soon": "Coming Soon",
101+
"Page Not Found": "Page Not Found",
102+
"We couldn\\'t find the page you are looking for\\.": "We couldn\\'t find the page you are looking for\\.",
103+
"You are not authorized! 🔐": "You are not authorized! 🔐",
104+
"You don\\'t have permission to access this page\\. Go Home!": "You don\\'t have permission to access this page\\. Go Home!",
105+
"Oops! Something went wrong\\.": "Oops! Something went wrong\\.",
106+
"We are working on it and we\\'ll get it fixed as soon as we can": "We are working on it and we\\'ll get it fixed as soon as we can",
107+
"Back to Home": "Back to Home",
108+
"We are always happy to help!": "We are always happy to help!",
109+
"Best way to get answer faster!": "Best way to get answer faster!",
110+
"Hello, how can we help?": "Hello, how can we help?",
111+
"or choose a category to quickly find the help you need": "or choose a category to quickly find the help you need",
112+
"No results found": "No results found",
113+
"You still have a question?": "You still have a question?",
114+
"If you cannot find a question in our FAQ, you can always contact us\\. We will answer to you shortly!": "If you cannot find a question in our FAQ, you can always contact us\\. We will answer to you shortly!",
115+
"Under Maintenance! 🚧": "Under Maintenance! 🚧",
116+
"Sorry for the inconvenience but we\\'re performing some maintenance at the moment": "Sorry for the inconvenience but we\\'re performing some maintenance at the moment",
117+
"Account activation link sent to your email address: {email} Please follow the link inside to continue\\.": "Account activation link sent to your email address: {email} Please follow the link inside to continue\\.",
118+
"I agree to {policyLink}": "I agree to {policyLink}",
119+
"privacy policy & terms": "privacy policy & terms"
56120
}

app/assets/locale/vi.json

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,69 @@
5252
"Allowed JPG, GIF or PNG, Max size of 800K": "Cho phép JPG, GIF hoặc PNG, Kích thước tối đa 800K",
5353
"days": "ngày",
5454
"© {year} Developed by {link}": "© {year} Phát triển bởi {link}",
55-
"Introduction": "Giới thiệu"
55+
"Introduction": "Giới thiệu",
56+
"This field is required": "Trường này là bắt buộc",
57+
"The Email field must be a valid email": "Trường Email phải là một email hợp lệ",
58+
"Field must contain at least one uppercase, lowercase, special character and digit with min 8 chars": "Trường phải chứa ít nhất một chữ hoa, chữ thường, ký tự đặc biệt và số với tối thiểu 8 ký tự",
59+
"The Confirm Password field confirmation does not match": "Xác nhận mật khẩu không khớp",
60+
"Enter number between {min} and {max}": "Nhập số giữa {min} và {max}",
61+
"This field must be an integer": "Trường này phải là một số nguyên",
62+
"The Regex field format is invalid": "Định dạng trường không hợp lệ",
63+
"The Alpha field may only contain alphabetic characters": "Trường này chỉ có thể chứa các ký tự chữ cái",
64+
"URL is invalid": "URL không hợp lệ",
65+
"The Min Character field must be at least {length} characters": "Trường Ký tự tối thiểu phải có ít nhất {length} ký tự",
66+
"All Character are not valid": "Tất cả các ký tự không hợp lệ",
67+
"Apps": "Ứng dụng",
68+
"Logout": "Đăng xuất",
69+
"Another confirmation email has been sent to your email address!": "Một email xác nhận khác đã được gửi đến địa chỉ email của bạn!",
70+
"An error has occured, please try again later": "Đã xảy ra lỗi, vui lòng thử lại sau",
71+
"Verify your email ✉️": "Xác minh email của bạn ✉️",
72+
"Resend Confirmation {countdown}": "Gửi lại xác nhận {countdown}",
73+
"Forgot Password? 🔒": "Quên mật khẩu? 🔒",
74+
"Enter your email and we\\'ll send you instructions to reset your password": "Nhập email của bạn và chúng tôi sẽ gửi cho bạn hướng dẫn để đặt lại mật khẩu",
75+
"Email": "Email",
76+
"Send Reset Link": "Gửi liên kết đặt lại",
77+
"Back to login": "Quay lại đăng nhập",
78+
"Welcome to {appName} 👋🏻": "Chào mừng đến với {appName} 👋🏻",
79+
"Please sign-in to your account and start the adventure": "Vui lòng đăng nhập vào tài khoản của bạn và bắt đầu khám phá",
80+
"Password": "Mật khẩu",
81+
"Remember me": "Nhớ mật khẩu",
82+
"Forgot Password?": "Quên mật khẩu?",
83+
"Sign In": "Đăng nhập",
84+
"New on our platform?": "Bạn là người mới?",
85+
"Create an account": "Tạo tài khoản",
86+
"or": "hoặc",
87+
"Please confirm your email address before signin!": "Vui lòng xác nhận địa chỉ email của bạn trước khi đăng nhập!",
88+
"Adventure starts here 🚀": "Cuộc phiêu lưu bắt đầu từ đây 🚀",
89+
"Getting subtitle from video with ease!": "Lấy phụ đề từ video một cách dễ dàng!",
90+
"Confirm Password": "Xác nhận mật khẩu",
91+
"Sign up": "Đăng ký",
92+
"Already have an account?": "Đã có tài khoản?",
93+
"Sign In instead": "Thay vào đó, đăng nhập",
94+
"Verify your account ✉️": "Xác minh tài khoản của bạn ✉️",
95+
"Please click the button below to confirm your registration\\.": "Vui lòng nhấp vào nút bên dưới để xác minh đăng ký của bạn\\.",
96+
"Verify Registration": "Xác minh đăng ký",
97+
"We are launching soon 🚀": "Chúng tôi sẽ ra mắt sớm 🚀",
98+
"Our website is opening soon\\. Please register to get notified when it\\'s ready!": "Trang web của chúng tôi sẽ sớm mở \\. Vui lòng đăng ký để nhận thông báo khi nó sẵn sàng!",
99+
"Enter your email or username": "Nhập email hoặc tên người dùng của bạn",
100+
"Coming Soon": "Sắp ra mắt",
101+
"Page Not Found": "Không tìm thấy trang",
102+
"We couldn\\'t find the page you are looking for\\.": "Chúng tôi không thể tìm thấy trang bạn đang tìm kiếm\\.",
103+
"You are not authorized! 🔐": "Bạn không được phép! 🔐",
104+
"You don\\'t have permission to access this page\\. Go Home!": "Bạn không có quyền truy cập trang này\\. Về trang chủ!",
105+
"Oops! Something went wrong\\.": "Rất tiếc! Đã xảy ra lỗi\\.",
106+
"We are working on it and we\\'ll get it fixed as soon as we can": "Chúng tôi đang làm việc để khắc phục và sẽ sửa chữa sớm nhất có thể",
107+
"Back to Home": "Quay lại trang chủ",
108+
"We are always happy to help!": "Chúng tôi luôn sẵn lòng giúp đỡ!",
109+
"Best way to get answer faster!": "Cách tốt nhất để nhận được câu trả lời nhanh hơn!",
110+
"Hello, how can we help?": "Xin chào, chúng tôi có thể giúp gì?",
111+
"or choose a category to quickly find the help you need": "hoặc chọn một danh mục để nhanh chóng tìm thấy sự trợ giúp bạn cần",
112+
"No results found": "Không tìm thấy kết quả",
113+
"You still have a question?": "Bạn vẫn còn thắc mắc?",
114+
"If you cannot find a question in our FAQ, you can always contact us\\. We will answer to you shortly!": "Nếu bạn không thể tìm thấy câu hỏi trong phần Câu hỏi thường gặp của chúng tôi, bạn luôn có thể liên hệ với chúng tôi\\. Chúng tôi sẽ trả lời bạn sớm!",
115+
"Under Maintenance! 🚧": "Đang bảo trì! 🚧",
116+
"Sorry for the inconvenience but we\\'re performing some maintenance at the moment": "Xin lỗi vì sự bất tiện nhưng chúng tôi đang thực hiện một số bảo trì vào lúc này",
117+
"Account activation link sent to your email address: {email} Please follow the link inside to continue\\.": "Liên kết kích hoạt tài khoản đã được gửi đến địa chỉ email của bạn: {email} Vui lòng làm theo liên kết bên trong để tiếp tục\\.",
118+
"I agree to {policyLink}": "Tôi đồng ý với {policyLink}",
119+
"privacy policy & terms": "chính sách bảo mật và điều khoản"
56120
}

app/error.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const errToShow = computed(() => {
3131
return {
3232
status: 401,
3333
title: 'You are not authorized! 🔐',
34-
description: 'You don\'t have permission to access this page. Go Home!',
34+
description: 'You don\'t have permission to access this page\. Go Home!',
3535
}
3636
default:
3737
if (isDev) {
@@ -44,7 +44,7 @@ const errToShow = computed(() => {
4444
else {
4545
return {
4646
status: 500,
47-
title: 'Oops! Something went wrong.',
47+
title: 'Oops! Something went wrong\.',
4848
description: 'We are working on it and we\'ll get it fixed as soon as we can',
4949
}
5050
}

app/layouts/components/DefaultLayoutWithHorizontalNav.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<script lang="ts" setup>
22
import NavBarI18n from '@base/@core/components/I18n.vue'
3-
import { VNodeRenderer } from '@base/@layouts/components/VNodeRenderer'
4-
import { themeConfig } from '@base/config'
3+
54
import { HorizontalNavLayout } from '@base/@layouts'
65
76
// Components

app/layouts/components/DefaultLayoutWithVerticalNav.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script lang="ts" setup>
22
import NavBarI18n from '@base/@core/components/I18n.vue'
33
import { useConfigStore } from '@base/@core/stores/config'
4-
import { themeConfig } from '@base/config'
4+
55
import { VerticalNavLayout } from '@base/@layouts'
66
77
// Components

app/layouts/components/Footer.vue

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
<script setup lang="ts">
22
const { t } = useI18n()
33
4-
const VNodeCredit = () => h('div', {
5-
class: 'd-flex align-center text-base',
6-
innerHTML: t(
7-
'© {year} Developed by {link}',
8-
{
9-
year: new Date().getFullYear(),
10-
link: `<a href="https://thecodeorigin.com" target="_blank" rel="noopener noreferrer" class="text-primary ms-1">Thecodeorigin</a>`,
11-
}
12-
)
13-
})
4+
function VNodeCredit() {
5+
return h('div', {
6+
class: 'd-flex align-center text-base',
7+
innerHTML: t(
8+
'© {year} Developed by {link}',
9+
{
10+
year: new Date().getFullYear(),
11+
link: `<a href="https://thecodeorigin.com" target="_blank" rel="noopener noreferrer" class="text-primary ms-1">Thecodeorigin</a>`,
12+
},
13+
),
14+
})
15+
}
1416
</script>
1517

1618
<template>

app/layouts/components/NavBarNotifications.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<script lang="ts" setup>
2+
import { formatDistanceToNow } from '#imports'
3+
24
type Notification = any
35
46
const systemNotificationStore = useSystemNotificationStore()

app/layouts/components/NavSearchBar.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ const layoutStore = useLayoutStore()
3333
3434
const suggestionGroups = computed(() => {
3535
const results: SuggestionGroup[] = [
36-
{ title: 'Popular', content: [] } as SuggestionGroup,
37-
{ title: 'Apps', content: [] } as SuggestionGroup,
38-
{ title: 'Settings', content: [] } as SuggestionGroup,
36+
{ title: t('Popular'), content: [] } as SuggestionGroup,
37+
{ title: t('Apps'), content: [] } as SuggestionGroup,
38+
{ title: t('Settings'), content: [] } as SuggestionGroup,
3939
]
4040
4141
for (const layoutItem of layoutStore.layoutItems) {
@@ -48,21 +48,21 @@ const suggestionGroups = computed(() => {
4848
if ('group' in layoutItem) {
4949
switch (layoutItem.group) {
5050
case NavGroupType.POPULAR:
51-
results[0].content.push(item)
51+
results[0]?.content.push(item)
5252
break
5353
case NavGroupType.APP:
54-
results[1].content.push(item)
54+
results[1]?.content.push(item)
5555
break
5656
case NavGroupType.SETTINGS:
57-
results[2].content.push(item)
57+
results[2]?.content.push(item)
5858
break
5959
default:
60-
results[1].content.push(item)
60+
results[1]?.content.push(item)
6161
break
6262
}
6363
}
6464
else {
65-
results[1].content.push(item)
65+
results[1]?.content.push(item)
6666
}
6767
}
6868

app/layouts/components/UserProfile.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ const userProfileList: Array<{
165165
append-icon="ri-logout-box-r-line"
166166
@click="logout"
167167
>
168-
Logout
168+
{{ $t('Logout') }}
169169
</VBtn>
170170
</VListItem>
171171
</PerfectScrollbar>

app/pages/access-control.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ definePageMeta({
33
action: 'read',
44
subject: 'AclDemo',
55
})
6+
7+
const { can } = useAbility()
68
</script>
79

810
<template>
@@ -19,7 +21,7 @@ definePageMeta({
1921
</VCard>
2022
</VCol>
2123
<VCol
22-
v-if="$can('read', 'all')"
24+
v-if="can('read', 'all')"
2325
cols="12"
2426
md="6"
2527
>

0 commit comments

Comments
 (0)