Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
54db6eda
Commit
54db6eda
authored
Sep 14, 2022
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update common locales
parent
c5b26e33
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
33 additions
and
28 deletions
+33
-28
ArchivedMemo.tsx
web/src/components/ArchivedMemo.tsx
+0
-1
CreateShortcutDialog.tsx
web/src/components/CreateShortcutDialog.tsx
+4
-4
SearchBar.tsx
web/src/components/SearchBar.tsx
+2
-2
useI18n.ts
web/src/labs/i18n/useI18n.ts
+1
-1
en.json
web/src/locales/en.json
+12
-9
zh.json
web/src/locales/zh.json
+14
-11
No files found.
web/src/components/ArchivedMemo.tsx
View file @
54db6eda
...
@@ -21,7 +21,6 @@ const ArchivedMemo: React.FC<Props> = (props: Props) => {
...
@@ -21,7 +21,6 @@ const ArchivedMemo: React.FC<Props> = (props: Props) => {
};
};
const
{
t
}
=
useI18n
();
const
{
t
}
=
useI18n
();
const
[
showConfirmDeleteBtn
,
toggleConfirmDeleteBtn
]
=
useToggle
(
false
);
const
[
showConfirmDeleteBtn
,
toggleConfirmDeleteBtn
]
=
useToggle
(
false
);
const
imageUrls
=
Array
.
from
(
memo
.
content
.
match
(
IMAGE_URL_REG
)
??
[]).
map
((
s
)
=>
s
.
replace
(
IMAGE_URL_REG
,
"$1"
));
const
handleDeleteMemoClick
=
async
()
=>
{
const
handleDeleteMemoClick
=
async
()
=>
{
if
(
showConfirmDeleteBtn
)
{
if
(
showConfirmDeleteBtn
)
{
...
...
web/src/components/CreateShortcutDialog.tsx
View file @
54db6eda
...
@@ -101,7 +101,7 @@ const CreateShortcutDialog: React.FC<Props> = (props: Props) => {
...
@@ -101,7 +101,7 @@ const CreateShortcutDialog: React.FC<Props> = (props: Props) => {
<
div
className=
"dialog-header-container"
>
<
div
className=
"dialog-header-container"
>
<
p
className=
"title-text"
>
<
p
className=
"title-text"
>
<
span
className=
"icon-text"
>
🚀
</
span
>
<
span
className=
"icon-text"
>
🚀
</
span
>
{
shortcutId
?
t
(
"
common.edit-shortcut"
)
:
t
(
"common
.create-shortcut"
)
}
{
shortcutId
?
t
(
"
shortcut-list.edit-shortcut"
)
:
t
(
"shortcut-list
.create-shortcut"
)
}
</
p
>
</
p
>
<
button
className=
"btn close-btn"
onClick=
{
destroy
}
>
<
button
className=
"btn close-btn"
onClick=
{
destroy
}
>
<
Icon
.
X
/>
<
Icon
.
X
/>
...
@@ -113,7 +113,7 @@ const CreateShortcutDialog: React.FC<Props> = (props: Props) => {
...
@@ -113,7 +113,7 @@ const CreateShortcutDialog: React.FC<Props> = (props: Props) => {
<
input
className=
"title-input"
type=
"text"
placeholder=
"shortcut title"
value=
{
title
}
onChange=
{
handleTitleInputChange
}
/>
<
input
className=
"title-input"
type=
"text"
placeholder=
"shortcut title"
value=
{
title
}
onChange=
{
handleTitleInputChange
}
/>
</
div
>
</
div
>
<
div
className=
"form-item-container filter-form-container"
>
<
div
className=
"form-item-container filter-form-container"
>
<
span
className=
"normal-text"
>
{
t
(
"common.filter
s
"
)
}
</
span
>
<
span
className=
"normal-text"
>
{
t
(
"common.filter"
)
}
</
span
>
<
div
className=
"filters-wrapper"
>
<
div
className=
"filters-wrapper"
>
{
filters
.
map
((
f
,
index
)
=>
{
{
filters
.
map
((
f
,
index
)
=>
{
return
(
return
(
...
@@ -127,7 +127,7 @@ const CreateShortcutDialog: React.FC<Props> = (props: Props) => {
...
@@ -127,7 +127,7 @@ const CreateShortcutDialog: React.FC<Props> = (props: Props) => {
);
);
})
}
})
}
<
div
className=
"create-filter-btn"
onClick=
{
handleAddFilterBenClick
}
>
<
div
className=
"create-filter-btn"
onClick=
{
handleAddFilterBenClick
}
>
{
t
(
"
common
.new-filter"
)
}
{
t
(
"
shortcut-list
.new-filter"
)
}
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
...
@@ -136,7 +136,7 @@ const CreateShortcutDialog: React.FC<Props> = (props: Props) => {
...
@@ -136,7 +136,7 @@ const CreateShortcutDialog: React.FC<Props> = (props: Props) => {
<
div
></
div
>
<
div
></
div
>
<
div
className=
"btns-container"
>
<
div
className=
"btns-container"
>
<
span
className=
{
`tip-text ${filters.length === 0 && "hidden"}`
}
>
<
span
className=
{
`tip-text ${filters.length === 0 && "hidden"}`
}
>
<
strong
>
{
shownMemoLength
}
</
strong
>
{
t
(
"
common
.eligible-memo"
)
}
<
strong
>
{
shownMemoLength
}
</
strong
>
{
t
(
"
shortcut-list
.eligible-memo"
)
}
</
span
>
</
span
>
<
button
className=
{
`btn save-btn ${requestState.isLoading ? "requesting" : ""}`
}
onClick=
{
handleSaveBtnClick
}
>
<
button
className=
{
`btn save-btn ${requestState.isLoading ? "requesting" : ""}`
}
onClick=
{
handleSaveBtnClick
}
>
{
t
(
"common.save"
)
}
{
t
(
"common.save"
)
}
...
...
web/src/components/SearchBar.tsx
View file @
54db6eda
...
@@ -30,9 +30,9 @@ const SearchBar = () => {
...
@@ -30,9 +30,9 @@ const SearchBar = () => {
</
div
>
</
div
>
<
div
className=
"quickly-action-wrapper"
>
<
div
className=
"quickly-action-wrapper"
>
<
div
className=
"quickly-action-container"
>
<
div
className=
"quickly-action-container"
>
<
p
className=
"title-text"
>
{
t
(
"
common.quickly-filter"
)
}
</
p
>
<
p
className=
"title-text"
>
{
t
(
"
search.quickly-filter"
).
toUpperCase
(
)
}
</
p
>
<
div
className=
"section-container types-container"
>
<
div
className=
"section-container types-container"
>
<
span
className=
"section-text"
>
{
t
(
"common.type
s"
)
}
:
</
span
>
<
span
className=
"section-text"
>
{
t
(
"common.type
"
).
toUpperCase
(
)
}
:
</
span
>
<
div
className=
"values-container"
>
<
div
className=
"values-container"
>
{
memoSpecialTypes
.
map
((
t
,
idx
)
=>
{
{
memoSpecialTypes
.
map
((
t
,
idx
)
=>
{
return
(
return
(
...
...
web/src/labs/i18n/useI18n.ts
View file @
54db6eda
...
@@ -21,7 +21,7 @@ const useI18n = () => {
...
@@ -21,7 +21,7 @@ const useI18n = () => {
};
};
},
[]);
},
[]);
const
translate
=
(
key
:
string
)
=>
{
const
translate
=
(
key
:
string
)
:
string
=>
{
const
keys
=
key
.
split
(
"."
);
const
keys
=
key
.
split
(
"."
);
let
value
=
resources
[
locale
];
let
value
=
resources
[
locale
];
for
(
const
k
of
keys
)
{
for
(
const
k
of
keys
)
{
...
...
web/src/locales/en.json
View file @
54db6eda
...
@@ -26,17 +26,11 @@
...
@@ -26,17 +26,11 @@
"sign-in"
:
"Sign in"
,
"sign-in"
:
"Sign in"
,
"sign-out"
:
"Sign out"
,
"sign-out"
:
"Sign out"
,
"back-to-home"
:
"Back to Home"
,
"back-to-home"
:
"Back to Home"
,
"type"
:
"Type"
,
"shortcuts"
:
"Shortcuts"
,
"shortcuts"
:
"Shortcuts"
,
"create-shortcut"
:
"Create Shortcut"
,
"edit-shortcut"
:
"Edit Shortcut"
,
"title"
:
"Title"
,
"title"
:
"Title"
,
"filter"
:
"Filter"
,
"filter"
:
"Filter"
,
"filters"
:
"Filters"
,
"tags"
:
"Tags"
"new-filter"
:
"New Filter"
,
"eligible-memo"
:
"eligible memo"
,
"tags"
:
"Tags"
,
"quickly-filter"
:
"QUICKLY FILTER"
,
"types"
:
"TYPE"
},
},
"slogan"
:
"An open source, self-hosted knowledge base that works with a SQLite db file."
,
"slogan"
:
"An open source, self-hosted knowledge base that works with a SQLite db file."
,
"auth"
:
{
"auth"
:
{
...
@@ -77,9 +71,18 @@
...
@@ -77,9 +71,18 @@
"memo-list"
:
{
"memo-list"
:
{
"fetching-data"
:
"fetching data..."
"fetching-data"
:
"fetching data..."
},
},
"shortcut-list"
:
{
"create-shortcut"
:
"Create Shortcut"
,
"edit-shortcut"
:
"Edit Shortcut"
,
"new-filter"
:
"New Filter"
,
"eligible-memo"
:
"eligible memo"
},
"tag-list"
:
{
"tag-list"
:
{
"tip-text"
:
"Enter `#tag ` to create"
"tip-text"
:
"Enter `#tag ` to create"
},
},
"search"
:
{
"quickly-filter"
:
"Quickly filter"
},
"setting"
:
{
"setting"
:
{
"my-account"
:
"My Account"
,
"my-account"
:
"My Account"
,
"preference"
:
"Preference"
,
"preference"
:
"Preference"
,
...
...
web/src/locales/zh.json
View file @
54db6eda
...
@@ -26,17 +26,11 @@
...
@@ -26,17 +26,11 @@
"sign-in"
:
"登录"
,
"sign-in"
:
"登录"
,
"sign-out"
:
"退出登录"
,
"sign-out"
:
"退出登录"
,
"back-to-home"
:
"回到主页"
,
"back-to-home"
:
"回到主页"
,
"shortcuts"
:
"快捷方式"
,
"type"
:
"类型"
,
"create-shortcut"
:
"创建快捷方式"
,
"shortcuts"
:
"捷径"
,
"edit-shortcut"
:
"编辑快捷方式"
,
"title"
:
"标题"
,
"title"
:
"标题"
,
"filter"
:
"过滤"
,
"filter"
:
"过滤器"
,
"filters"
:
"全部过滤"
,
"tags"
:
"全部标签"
"new-filter"
:
"新建过滤"
,
"eligible-memo"
:
"符合条件的memo"
,
"tags"
:
"全部标签"
,
"quickly-filter"
:
"快速过滤"
,
"types"
:
"类型"
},
},
"slogan"
:
"一个开源的、支持私有化部署的碎片化知识卡片管理工具。"
,
"slogan"
:
"一个开源的、支持私有化部署的碎片化知识卡片管理工具。"
,
"auth"
:
{
"auth"
:
{
...
@@ -77,9 +71,18 @@
...
@@ -77,9 +71,18 @@
"memo-list"
:
{
"memo-list"
:
{
"fetching-data"
:
"请求数据中..."
"fetching-data"
:
"请求数据中..."
},
},
"shortcut-list"
:
{
"create-shortcut"
:
"创建捷径"
,
"edit-shortcut"
:
"编辑捷径"
,
"new-filter"
:
"新建过滤器"
,
"eligible-memo"
:
"符合条件的 memo"
},
"tag-list"
:
{
"tag-list"
:
{
"tip-text"
:
"输入`#tag `来创建标签"
"tip-text"
:
"输入`#tag `来创建标签"
},
},
"search"
:
{
"quickly-filter"
:
"快速过滤"
},
"setting"
:
{
"setting"
:
{
"my-account"
:
"我的账号"
,
"my-account"
:
"我的账号"
,
"preference"
:
"偏好设置"
,
"preference"
:
"偏好设置"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment