Skip to content

Commit 6576f3b

Browse files
committed
i18n
1 parent 3aeecd7 commit 6576f3b

File tree

4 files changed

+11
-107
lines changed

4 files changed

+11
-107
lines changed

src/App.vue

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,7 @@
326326
<script setup lang="ts">
327327
import { ref, computed, onMounted, onUnmounted, watch, nextTick } from "vue";
328328
import { invoke } from "@tauri-apps/api/core";
329+
import { useI18n } from "vue-i18n";
329330
import type {
330331
ContextMenuState,
331332
TabType,
@@ -345,6 +346,9 @@ import ClipboardMainContent from "./components/ClipboardMainContent.vue";
345346
import SettingsModal from "./components/SettingsModal.vue";
346347
import UpdateDialog from "./components/UpdateDialog.vue";
347348
349+
// 国际化
350+
const { t } = useI18n();
351+
348352
// 页面状态
349353
const activeTab = ref<TabType>("snippets");
350354
const selectedLanguage = ref<string>("");
@@ -583,7 +587,9 @@ const saveClipboardAsSnippet = async (content: string) => {
583587
584588
// 创建代码片段
585589
const snippet = await createSnippet({
586-
title: `剪贴板内容 - ${new Date().toLocaleString()}`,
590+
title: `${t(
591+
"clipboard.clipboardContent"
592+
)} - ${new Date().toLocaleString()}`,
587593
language: detectedLanguage,
588594
code: content,
589595
tags: [],

src/composables/useSnippets.ts

Lines changed: 0 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -185,109 +185,6 @@ export function useSnippets() {
185185
}
186186
};
187187

188-
// 搜索代码片段
189-
const searchSnippets = async (query: string) => {
190-
if (!query.trim()) {
191-
await initializeSnippets();
192-
return;
193-
}
194-
195-
// 不设置loading状态,避免搜索时的loading提示
196-
error.value = null;
197-
198-
try {
199-
snippets.value = await snippetApi.search(query);
200-
201-
// 追踪代码片段搜索事件
202-
try {
203-
const { invoke } = await import("@tauri-apps/api/core");
204-
await invoke("track_event", {
205-
eventName: "snippet_searched",
206-
properties: {
207-
query_length: query.length,
208-
results_count: snippets.value.length,
209-
},
210-
});
211-
} catch (trackingError) {
212-
console.warn("Failed to track snippet search event:", trackingError);
213-
}
214-
} catch (err) {
215-
console.error("Failed to search snippets:", err);
216-
error.value = err instanceof Error ? err.message : "搜索代码片段失败";
217-
}
218-
// 搜索操作不需要loading提示
219-
};
220-
221-
// 根据语言过滤
222-
const filterByLanguage = async (language: string) => {
223-
if (!language) {
224-
await initializeSnippets();
225-
return;
226-
}
227-
228-
// 不设置loading状态,避免过滤时的loading提示
229-
error.value = null;
230-
231-
try {
232-
snippets.value = await snippetApi.getByLanguage(language);
233-
234-
// 追踪代码片段语言过滤事件
235-
try {
236-
const { invoke } = await import("@tauri-apps/api/core");
237-
await invoke("track_event", {
238-
eventName: "snippet_filtered_by_language",
239-
properties: {
240-
language: language,
241-
results_count: snippets.value.length,
242-
},
243-
});
244-
} catch (trackingError) {
245-
console.warn(
246-
"Failed to track snippet language filter event:",
247-
trackingError
248-
);
249-
}
250-
} catch (err) {
251-
console.error("Failed to filter snippets by language:", err);
252-
error.value = err instanceof Error ? err.message : "按语言过滤失败";
253-
}
254-
// 过滤操作不需要loading提示
255-
};
256-
257-
// 新增:根据标签过滤
258-
const filterByTags = async (tags: string[]) => {
259-
if (!tags.length) {
260-
await initializeSnippets();
261-
return;
262-
}
263-
264-
error.value = null;
265-
266-
try {
267-
snippets.value = await snippetApi.getByTags(tags);
268-
269-
// 追踪代码片段标签过滤事件
270-
try {
271-
const { invoke } = await import("@tauri-apps/api/core");
272-
await invoke("track_event", {
273-
eventName: "snippet_filtered_by_tags",
274-
properties: {
275-
tags_count: tags.length,
276-
results_count: snippets.value.length,
277-
},
278-
});
279-
} catch (trackingError) {
280-
console.warn(
281-
"Failed to track snippet tags filter event:",
282-
trackingError
283-
);
284-
}
285-
} catch (err) {
286-
console.error("Failed to filter snippets by tags:", err);
287-
error.value = err instanceof Error ? err.message : "按标签过滤失败";
288-
}
289-
};
290-
291188
// 新增:获取所有标签
292189
const getAllTags = async (): Promise<string[]> => {
293190
try {
@@ -347,9 +244,6 @@ export function useSnippets() {
347244
createSnippet,
348245
updateSnippet,
349246
deleteSnippet,
350-
searchSnippets,
351-
filterByLanguage,
352-
filterByTags,
353247
getAllTags,
354248
selectSnippet,
355249
getSnippetById,

src/i18n/locales/en-US.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,11 @@ export default {
103103

104104
// Clipboard
105105
clipboard: {
106+
title: "Clipboard",
106107
history: "Clipboard History",
107108
noHistory: "No clipboard history yet",
108109
copyToClipboard: "Copy to Clipboard",
110+
clipboardContent: "Clipboard Content",
109111
saveAsSnippet: "Save as Code Snippet",
110112
copiedToClipboard: "Copied to clipboard",
111113
savedAsSnippet: "Saved as code snippet",

src/i18n/locales/zh-CN.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,11 @@ export default {
101101

102102
// 剪贴板
103103
clipboard: {
104+
title: "剪贴板",
104105
history: "剪贴板历史",
105106
noHistory: "暂无剪贴板历史",
106107
copyToClipboard: "复制到剪贴板",
108+
clipboardContent: "剪贴板内容",
107109
saveAsSnippet: "保存为代码片段",
108110
copiedToClipboard: "已复制到剪贴板",
109111
savedAsSnippet: "已保存为代码片段",

0 commit comments

Comments
 (0)