2597 lines
89 KiB
JavaScript
2597 lines
89 KiB
JavaScript
export const UI_LANGS = [
|
||
["en", "English"],
|
||
["zh", "简体中文"],
|
||
["zh_TW", "繁體中文"],
|
||
["ja", "日本語"],
|
||
["ko", "한국어"],
|
||
];
|
||
|
||
const customApiLangs = `["en", "English - English"],
|
||
["zh-CN", "Simplified Chinese - 简体中文"],
|
||
["zh-TW", "Traditional Chinese - 繁體中文"],
|
||
["ar", "Arabic - العربية"],
|
||
["bg", "Bulgarian - Български"],
|
||
["ca", "Catalan - Català"],
|
||
["hr", "Croatian - Hrvatski"],
|
||
["cs", "Czech - Čeština"],
|
||
["da", "Danish - Dansk"],
|
||
["nl", "Dutch - Nederlands"],
|
||
["fi", "Finnish - Suomi"],
|
||
["fr", "French - Français"],
|
||
["de", "German - Deutsch"],
|
||
["el", "Greek - Ελληνικά"],
|
||
["hi", "Hindi - हिन्दी"],
|
||
["hu", "Hungarian - Magyar"],
|
||
["id", "Indonesian - Indonesia"],
|
||
["it", "Italian - Italiano"],
|
||
["ja", "Japanese - 日本語"],
|
||
["ko", "Korean - 한국어"],
|
||
["ms", "Malay - Melayu"],
|
||
["mt", "Maltese - Malti"],
|
||
["nb", "Norwegian - Norsk Bokmål"],
|
||
["pl", "Polish - Polski"],
|
||
["pt", "Portuguese - Português"],
|
||
["ro", "Romanian - Română"],
|
||
["ru", "Russian - Русский"],
|
||
["sk", "Slovak - Slovenčina"],
|
||
["sl", "Slovenian - Slovenščina"],
|
||
["es", "Spanish - Español"],
|
||
["sv", "Swedish - Svenska"],
|
||
["ta", "Tamil - தமிழ்"],
|
||
["te", "Telugu - తెలుగు"],
|
||
["th", "Thai - ไทย"],
|
||
["tr", "Turkish - Türkçe"],
|
||
["uk", "Ukrainian - Українська"],
|
||
["vi", "Vietnamese - Tiếng Việt"],
|
||
`;
|
||
|
||
const customApiHelpZH = `// 请求数据默认格式
|
||
{
|
||
"url": "{{url}}",
|
||
"method": "POST",
|
||
"headers": {
|
||
"Content-type": "application/json",
|
||
"Authorization": "Bearer {{key}}"
|
||
},
|
||
"body": {
|
||
"text": "{{text}}", // 待翻译文字
|
||
"from": "{{from}}", // 文字的语言(可能为空)
|
||
"to": "{{to}}", // 目标语言
|
||
},
|
||
}
|
||
|
||
|
||
// 返回数据默认格式
|
||
{
|
||
text: "", // 翻译后的文字
|
||
from: "", // 识别的源语言
|
||
to: "", // 目标语言(可选)
|
||
}
|
||
|
||
|
||
// Hook 范例
|
||
// URL
|
||
https://translate.googleapis.com/translate_a/single?client=gtx&dj=1&dt=t&ie=UTF-8&q={{text}}&sl=en&tl=zh-CN
|
||
|
||
// Request Hook
|
||
(text, from, to, url, key) => [url, {
|
||
headers: {
|
||
"Content-type": "application/json",
|
||
},
|
||
method: "GET",
|
||
body: null,
|
||
}]
|
||
|
||
// Response Hook
|
||
// 其中返回数组第一个值表示译文字符串,第二个值为布尔值,表示原文语言与目标语言是否相同
|
||
(res, text, from, to) => [res.sentences.map((item) => item.trans).join(" "), to === res.src]
|
||
|
||
|
||
// 支持的语言代码如下
|
||
${customApiLangs}
|
||
`;
|
||
|
||
const customApiHelpEN = `// Default request
|
||
{
|
||
"url": "{{url}}",
|
||
"method": "POST",
|
||
"headers": {
|
||
"Content-type": "application/json",
|
||
"Authorization": "Bearer {{key}}"
|
||
},
|
||
"body": {
|
||
"text": "{{text}}", // Text to be translated
|
||
"from": "{{from}}", // The language of the text (may be empty)
|
||
"to": "{{to}}", // Target language
|
||
},
|
||
}
|
||
|
||
|
||
// Default response
|
||
{
|
||
text: "", // translated text
|
||
from: "", // Recognized source language
|
||
to: "", // Target language (optional)
|
||
}
|
||
|
||
|
||
/// Hook Example
|
||
// URL
|
||
https://translate.googleapis.com/translate_a/single?client=gtx&dj=1&dt=t&ie=UTF-8&q={{text}}&sl=en&tl=zh-CN
|
||
|
||
// Request Hook
|
||
(text, from, to, url, key) => [url, {
|
||
headers: {
|
||
"Content-type": "application/json",
|
||
},
|
||
method: "GET",
|
||
body: null,
|
||
}]
|
||
|
||
// Response Hook
|
||
// In the returned array, the first value is the translated string, while the second value is a boolean
|
||
// that indicates whether the source language is the same as the target language.
|
||
(res, text, from, to) => [res.sentences.map((item) => item.trans).join(" "), to === res.src]
|
||
|
||
|
||
// The supported language codes are as follows
|
||
${customApiLangs}
|
||
`;
|
||
|
||
const requestHookHelperZH = `1、第一个参数包含如下字段:'texts', 'from', 'to', 'url', 'key', 'model', 'systemPrompt', ...
|
||
2、返回值必须是包含以下字段的对象: 'url', 'body', 'headers', 'method'
|
||
3、如返回空值,则hook函数不会产生任何效果。
|
||
|
||
// 示例
|
||
async (args, { url, body, headers, userMsg, method } = {}) => {
|
||
return { url, body, headers, userMsg, method };
|
||
}`;
|
||
|
||
const requestHookHelperEN = `1. The first parameter contains the following fields: 'texts', 'from', 'to', 'url', 'key', 'model', 'systemPrompt', ...
|
||
2. The return value must be an object containing the following fields: 'url', 'body', 'headers', 'method'
|
||
3. If a null value is returned, the hook function will have no effect.
|
||
|
||
// Example
|
||
async (args, { url, body, headers, userMsg, method } = {}) => {
|
||
return { url, body, headers, userMsg, method };
|
||
}`;
|
||
|
||
const responsetHookHelperZH = `1、第一个参数包含如下字段:'res', ...
|
||
2、返回值必须是包含以下字段的对象: 'translations'
|
||
('translations' 应为一个二维数组:[[译文, 原文语言]])
|
||
3、如返回空值,则hook函数不会产生任何效果。
|
||
|
||
// 示例
|
||
async ({ res, ...args }) => {
|
||
const translations = [["你好", "en"]];
|
||
const modelMsg = {}; // 用于AI上下文
|
||
return { translations, modelMsg };
|
||
}`;
|
||
|
||
const responsetHookHelperEN = `1. The first parameter contains the following fields: 'res', ...
|
||
2. The return value must be an object containing the following fields: 'translations'
|
||
('translations' should be a two-dimensional array: [[translation, source language]]).
|
||
3. If a null value is returned, the hook function will have no effect.
|
||
|
||
// Example
|
||
async ({ res, ...args }) => {
|
||
const translations = [["你好", "en"]];
|
||
const modelMsg = {}; // For AI context
|
||
return { translations, modelMsg };
|
||
}`;
|
||
|
||
export const I18N = {
|
||
app_name: {
|
||
zh: `简约翻译`,
|
||
en: `KISS Translator`,
|
||
zh_TW: `簡約翻譯`,
|
||
ja: `KISS Translator`,
|
||
ko: `KISS Translator`,
|
||
},
|
||
translate: {
|
||
zh: `翻译`,
|
||
en: `Translate`,
|
||
zh_TW: `翻譯`,
|
||
ja: `翻訳`,
|
||
ko: `번역`,
|
||
},
|
||
custom_api_help: {
|
||
zh: customApiHelpZH,
|
||
en: customApiHelpEN,
|
||
zh_TW: customApiHelpZH,
|
||
ja: customApiHelpEN,
|
||
ko: customApiHelpEN,
|
||
},
|
||
request_hook_helper: {
|
||
zh: requestHookHelperZH,
|
||
en: requestHookHelperEN,
|
||
zh_TW: requestHookHelperZH,
|
||
ja: requestHookHelperEN,
|
||
ko: requestHookHelperEN,
|
||
},
|
||
response_hook_helper: {
|
||
zh: responsetHookHelperZH,
|
||
en: responsetHookHelperEN,
|
||
zh_TW: responsetHookHelperZH,
|
||
ja: responsetHookHelperEN,
|
||
ko: responsetHookHelperEN,
|
||
},
|
||
translate_alt: {
|
||
zh: `翻译`,
|
||
en: `Translate`,
|
||
zh_TW: `翻譯`,
|
||
ja: `翻訳`,
|
||
ko: `번역`,
|
||
},
|
||
basic_setting: {
|
||
zh: `基本设置`,
|
||
en: `Basic Setting`,
|
||
zh_TW: `基本設定`,
|
||
ja: `基本設定`,
|
||
ko: `기본 설정`,
|
||
},
|
||
rules_setting: {
|
||
zh: `规则设置`,
|
||
en: `Rules Setting`,
|
||
zh_TW: `規則設定`,
|
||
ja: `ルール設定`,
|
||
ko: `규칙 설정`,
|
||
},
|
||
apis_setting: {
|
||
zh: `接口设置`,
|
||
en: `Apis Setting`,
|
||
zh_TW: `API設定`,
|
||
ja: `API設定`,
|
||
ko: `API 설정`,
|
||
},
|
||
sync_setting: {
|
||
zh: `同步设置`,
|
||
en: `Sync Setting`,
|
||
zh_TW: `同步設定`,
|
||
ja: `同期設定`,
|
||
ko: `동기화 설정`,
|
||
},
|
||
patch_setting: {
|
||
zh: `补丁设置`,
|
||
en: `Patch Setting`,
|
||
zh_TW: `修補設定`,
|
||
ja: `パッチ設定`,
|
||
ko: `패치 설정`,
|
||
},
|
||
patch_setting_help: {
|
||
zh: `针对一些特殊网站的修正脚本,以便翻译软件得到更好的展示效果。`,
|
||
en: `Corrected scripts for some special websites so that the translation software can get better display results.`,
|
||
zh_TW: `針對某些特殊網站的修正腳本,讓翻譯軟體有更好的顯示效果。`,
|
||
ja: `一部の特殊なウェブサイト用の修正スクリプトで、翻訳ソフトウェアの表示効果を向上させます。`,
|
||
ko: `일부 특수 웹사이트를 위한 수정 스크립트로, 번역 소프트웨어의 표시 효과를 개선합니다.`,
|
||
},
|
||
inject_webfix: {
|
||
zh: `注入修复补丁`,
|
||
en: `Inject Webfix`,
|
||
zh_TW: `注入修正補丁`,
|
||
ja: `Webfixを注入`,
|
||
ko: `웹 수정 패치 주입`,
|
||
},
|
||
about: {
|
||
zh: `关于`,
|
||
en: `About`,
|
||
zh_TW: `關於`,
|
||
ja: `概要`,
|
||
ko: `정보`,
|
||
},
|
||
about_md: {
|
||
zh: `README.md`,
|
||
en: `README.en.md`,
|
||
zh_TW: `README.md`,
|
||
ja: `README.ja.md`, // 假设的文件名
|
||
ko: `README.ko.md`, // 假设的文件名
|
||
},
|
||
about_md_local: {
|
||
zh: `请 [点击这里](${process.env.REACT_APP_HOMEPAGE}) 查看详情。`,
|
||
en: `Please [click here](${process.env.REACT_APP_HOMEPAGE}) for details.`,
|
||
zh_TW: `請 [點這裡](${process.env.REACT_APP_HOMEPAGE}) 查看詳細內容。`,
|
||
ja: `詳細は [こちら](${process.env.REACT_APP_HOMEPAGE}) をクリックしてください。`,
|
||
ko: `자세한 내용은 [여기](${process.env.REACT_APP_HOMEPAGE})를 클릭하세요.`,
|
||
},
|
||
ui_lang: {
|
||
zh: `界面语言`,
|
||
en: `Interface Language`,
|
||
zh_TW: `介面語言`,
|
||
ja: `インターフェース言語`,
|
||
ko: `인터페이스 언어`,
|
||
},
|
||
fetch_limit: {
|
||
zh: `最大并发请求数量 (1-100)`,
|
||
en: `Maximum Number Of Concurrent Requests (1-100)`,
|
||
zh_TW: `最大同時請求數量 (1-100)`,
|
||
ja: `最大同時リクエスト数 (1-100)`,
|
||
ko: `최대 동시 요청 수 (1-100)`,
|
||
},
|
||
if_think: {
|
||
zh: `启用或禁用模型的深度思考能力`,
|
||
en: `Enable or disable the model’s thinking behavior `,
|
||
zh_TW: `啟用或停用模型的深度思考能力`,
|
||
ja: `モデルの思考行動を有効または無効にする`,
|
||
ko: `모델의 사고 행동 활성화 또는 비활성화`,
|
||
},
|
||
think: {
|
||
zh: `启用深度思考`,
|
||
en: `enable thinking`,
|
||
zh_TW: `啟用深度思考`,
|
||
ja: `思考を有効にする`,
|
||
ko: `사고 활성화`,
|
||
},
|
||
nothink: {
|
||
zh: `禁用深度思考`,
|
||
en: `disable thinking`,
|
||
zh_TW: `停用深度思考`,
|
||
ja: `思考を無効にする`,
|
||
ko: `사고 비활성화`,
|
||
},
|
||
think_ignore: {
|
||
zh: `忽略以下模型的<think>输出,逗号(,)分割,当模型支持思考但ollama不支持时需要填写本参数`,
|
||
en: `Ignore the <think> block for the following models, comma (,) separated`,
|
||
zh_TW: `忽略以下模型的 <think> 輸出,以逗號 (,) 分隔;當模型支援思考但 ollama 不支援時需要填寫此參數`,
|
||
ja: `以下のモデルの<think>出力を無視する (コンマ(,)区切り)。モデルが思考をサポートしているが、ollamaがサポートしていない場合に記入が必要です`,
|
||
ko: `다음 모델의 <think> 블록 무시 (쉼표(,)로 구분), 모델이 사고를 지원하지만 ollama가 지원하지 않는 경우 이 매개변수를 입력해야 합니다`,
|
||
},
|
||
fetch_interval: {
|
||
zh: `每次请求间隔时间 (0-5000ms)`,
|
||
en: `Time Between Requests (0-5000ms)`,
|
||
zh_TW: `每次請求間隔時間 (0-5000ms)`,
|
||
ja: `リクエスト間隔 (0-5000ms)`,
|
||
ko: `요청 간 시간 (0-5000ms)`,
|
||
},
|
||
translate_interval: {
|
||
zh: `翻译间隔时间 (10-2000ms)`,
|
||
en: `Translation Interval (10-2000ms)`,
|
||
zh_TW: `翻譯間隔時間 (10-2000ms)`,
|
||
ja: `翻訳間隔 (10-2000ms)`,
|
||
ko: `번역 간격 (10-2000ms)`,
|
||
},
|
||
http_timeout: {
|
||
zh: `请求超时时间 (5000-60000ms)`,
|
||
en: `Request Timeout Time (5000-60000ms)`,
|
||
zh_TW: `請求逾時時間 (5000-60000ms)`,
|
||
ja: `リクエストタイムアウト (5000-60000ms)`,
|
||
ko: `요청 시간 초과 (5000-60000ms)`,
|
||
},
|
||
custom_header: {
|
||
zh: `自定义Header参数`,
|
||
en: `Custom Header Params`,
|
||
zh_TW: `自訂 Header 參數`,
|
||
ja: `カスタムヘッダー`,
|
||
ko: `사용자 지정 헤더`,
|
||
},
|
||
custom_header_help: {
|
||
zh: `使用JSON格式,例如 "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0"`,
|
||
en: `Use JSON format, for example "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0"`,
|
||
zh_TW: `使用JSON格式,例如 "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0"`,
|
||
ja: `JSON形式を使用してください。例: "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0"`,
|
||
ko: `JSON 형식을 사용하세요. 예: "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0"`,
|
||
},
|
||
custom_body: {
|
||
zh: `自定义Body参数`,
|
||
en: `Custom Body Params`,
|
||
zh_TW: `自訂 Body 參數`,
|
||
ja: `カスタムボディ`,
|
||
ko: `사용자 지정 바디`,
|
||
},
|
||
custom_body_help: {
|
||
zh: `使用JSON格式,例如 "top_p": 0.7`,
|
||
en: `Use JSON format, for example "top_p": 0.7`,
|
||
zh_TW: `使用JSON格式,例如 "top_p": 0.7`,
|
||
ja: `JSON形式を使用してください。例: "top_p": 0.7`,
|
||
ko: `JSON 형식을 사용하세요. 예: "top_p": 0.7`,
|
||
},
|
||
min_translate_length: {
|
||
zh: `最小翻译字符数 (1-100)`,
|
||
en: `Minimum number Of Translated Characters (1-100)`,
|
||
zh_TW: `最小翻譯字元數 (1-100)`,
|
||
ja: `最小翻訳文字数 (1-100)`,
|
||
ko: `최소 번역 문자 수 (1-100)`,
|
||
},
|
||
max_translate_length: {
|
||
zh: `最大翻译字符数 (100-100000)`,
|
||
en: `Maximum number Of Translated Characters (100-100000)`,
|
||
zh_TW: `最大翻譯字元數 (100-100000)`,
|
||
ja: `最大翻訳文字数 (100-100000)`,
|
||
ko: `최대 번역 문자 수 (100-100000)`,
|
||
},
|
||
num_of_newline_characters: {
|
||
zh: `换行字符数 (1-1000)`,
|
||
en: `Number of Newline Characters (1-1000)`,
|
||
zh_TW: `換行字元數 (1-1000)`,
|
||
ja: `改行文字数 (1-1000)`,
|
||
ko: `줄바꿈 문자 수 (1-1000)`,
|
||
},
|
||
translate_service: {
|
||
zh: `翻译服务`,
|
||
en: `Translate Service`,
|
||
zh_TW: `翻譯服務`,
|
||
ja: `翻訳サービス`,
|
||
ko: `번역 서비스`,
|
||
},
|
||
translate_service_multiple: {
|
||
zh: `翻译服务 (支持多选)`,
|
||
en: `Translation service (multiple supported)`,
|
||
zh_TW: `翻譯服務 (支援多選)`,
|
||
ja: `翻訳サービス (複数選択可)`,
|
||
ko: `번역 서비스 (다중 선택 지원)`,
|
||
},
|
||
translate_timing: {
|
||
zh: `翻译时机`,
|
||
en: `Translate Timing`,
|
||
zh_TW: `翻譯時機`,
|
||
ja: `翻訳タイミング`,
|
||
ko: `번역 시점`,
|
||
},
|
||
mk_pagescroll: {
|
||
zh: `滚动加载翻译(推荐)`,
|
||
en: `Rolling Loading (Suggested)`,
|
||
zh_TW: `滾動載入翻譯(建議)`,
|
||
ja: `スクロール翻訳 (推奨)`,
|
||
ko: `스크롤 번역 (권장)`,
|
||
},
|
||
mk_pageopen: {
|
||
zh: `立即全部翻译`,
|
||
en: `Translate all now`,
|
||
zh_TW: `立即全部翻譯`,
|
||
ja: `すぐにすべて翻訳`,
|
||
ko: `즉시 모두 번역`,
|
||
},
|
||
mk_mouseover: {
|
||
zh: `鼠标悬停翻译`,
|
||
en: `Mouseover`,
|
||
zh_TW: `滑鼠懸停翻譯`,
|
||
ja: `マウスオーバー翻訳`,
|
||
ko: `마우스오버 번역`,
|
||
},
|
||
mk_ctrlKey: {
|
||
zh: `Control + 鼠标悬停`,
|
||
en: `Control + Mouseover`,
|
||
zh_TW: `Control + 滑鼠懸停`,
|
||
ja: `Control + マウスオーバー`,
|
||
ko: `Control + 마우스오버`,
|
||
},
|
||
mk_shiftKey: {
|
||
zh: `Shift + 鼠标悬停`,
|
||
en: `Shift + Mouseover`,
|
||
zh_TW: `Shift + 滑鼠懸停`,
|
||
ja: `Shift + マウスオーバー`,
|
||
ko: `Shift + 마우스오버`,
|
||
},
|
||
mk_altKey: {
|
||
zh: `Alt + 鼠标悬停`,
|
||
en: `Alt + Mouseover`,
|
||
zh_TW: `Alt + 滑鼠懸停`,
|
||
ja: `Alt + マウスオーバー`,
|
||
ko: `Alt + 마우스오버`,
|
||
},
|
||
from_lang: {
|
||
zh: `原文语言`,
|
||
en: `Source Language`,
|
||
zh_TW: `原文語言`,
|
||
ja: `原文の言語`,
|
||
ko: `원본 언어`,
|
||
},
|
||
to_lang: {
|
||
zh: `目标语言`,
|
||
en: `Target Language`,
|
||
zh_TW: `目標語言`,
|
||
ja: `翻訳先の言語`,
|
||
ko: `대상 언어`,
|
||
},
|
||
to_lang2: {
|
||
zh: `第二目标语言`,
|
||
en: `Target Language 2`,
|
||
zh_TW: `第二目標語言`,
|
||
ja: `第二翻訳先の言語`,
|
||
ko: `두 번째 대상 언어`,
|
||
},
|
||
to_lang2_helper: {
|
||
zh: `设定后,与目标语言产生互译效果,但依赖远程语言识别。`,
|
||
en: `After setting, it will produce mutual translation effect with the target language, but it relies on remote language recognition.`,
|
||
zh_TW: `設定後會與目標語言互譯,但依賴遠端語言識別。`,
|
||
ja: `設定後、ターゲット言語との相互翻訳が可能になりますが、リモート言語認識に依存します。`,
|
||
ko: `설정 후, 대상 언어와 상호 번역 효과가 발생하지만, 원격 언어 인식에 의존합니다.`,
|
||
},
|
||
text_style: {
|
||
zh: `译文样式`,
|
||
en: `Text Style`,
|
||
zh_TW: `譯文樣式`,
|
||
ja: `翻訳テキストスタイル`,
|
||
ko: `번역 텍스트 스타일`,
|
||
},
|
||
text_style_alt: {
|
||
zh: `译文样式`,
|
||
en: `Text Style`,
|
||
zh_TW: `譯文樣式`,
|
||
ja: `翻訳テキストスタイル`,
|
||
ko: `번역 텍스트 스타일`,
|
||
},
|
||
bg_color: {
|
||
zh: `样式颜色`,
|
||
en: `Style Color`,
|
||
zh_TW: `樣式顏色`,
|
||
ja: `スタイルカラー`,
|
||
ko: `스타일 색상`,
|
||
},
|
||
remain_unchanged: {
|
||
zh: `保留不变`,
|
||
en: `Remain Unchanged`,
|
||
zh_TW: `保留不變`,
|
||
ja: `変更しない`,
|
||
ko: `변경하지 않음`,
|
||
},
|
||
google_api: {
|
||
zh: `谷歌翻译接口`,
|
||
en: `Google Translate API`,
|
||
zh_TW: `Google 翻譯介面`,
|
||
ja: `Google 翻訳 API`,
|
||
ko: `Google 번역 API`,
|
||
},
|
||
default_selector: {
|
||
zh: `默认选择器`,
|
||
en: `Default selector`,
|
||
zh_TW: `預設選擇器`,
|
||
ja: `デフォルトセレクタ`,
|
||
ko: `기본 선택자`,
|
||
},
|
||
selector_rules: {
|
||
zh: `选择器规则`,
|
||
en: `Selector Rules`,
|
||
zh_TW: `選擇器規則`,
|
||
ja: `セレクタールール`,
|
||
ko: `선택자 규칙`,
|
||
},
|
||
save: {
|
||
zh: `保存`,
|
||
en: `Save`,
|
||
zh_TW: `儲存`,
|
||
ja: `保存`,
|
||
ko: `저장`,
|
||
},
|
||
edit: {
|
||
zh: `编辑`,
|
||
en: `Edit`,
|
||
zh_TW: `編輯`,
|
||
ja: `編集`,
|
||
ko: `수정`,
|
||
},
|
||
cancel: {
|
||
zh: `取消`,
|
||
en: `Cancel`,
|
||
zh_TW: `取消`,
|
||
ja: `キャンセル`,
|
||
ko: `취소`,
|
||
},
|
||
delete: {
|
||
zh: `删除`,
|
||
en: `Delete`,
|
||
zh_TW: `刪除`,
|
||
ja: `削除`,
|
||
ko: `삭제`,
|
||
},
|
||
reset: {
|
||
zh: `重置`,
|
||
en: `Reset`,
|
||
zh_TW: `重設`,
|
||
ja: `リセット`,
|
||
ko: `초기화`,
|
||
},
|
||
add: {
|
||
zh: `添加`,
|
||
en: `Add`,
|
||
zh_TW: `新增`,
|
||
ja: `追加`,
|
||
ko: `추가`,
|
||
},
|
||
inject_rules: {
|
||
zh: `注入订阅规则`,
|
||
en: `Inject Subscribe Rules`,
|
||
zh_TW: `注入訂閱規則`,
|
||
ja: `購読ルールを注入`,
|
||
ko: `구독 규칙 주입`,
|
||
},
|
||
personal_rules: {
|
||
zh: `个人规则`,
|
||
en: `Rules`,
|
||
zh_TW: `個人規則`,
|
||
ja: `個人ルール`,
|
||
ko: `개인 규칙`,
|
||
},
|
||
subscribe_rules: {
|
||
zh: `订阅规则`,
|
||
en: `Subscribe`,
|
||
zh_TW: `訂閱規則`,
|
||
ja: `購読ルール`,
|
||
ko: `구독 규칙`,
|
||
},
|
||
overwrite_subscribe_rules: {
|
||
zh: `覆写订阅规则`,
|
||
en: `Overwrite`,
|
||
zh_TW: `覆寫訂閱規則`,
|
||
ja: `購読ルールを上書き`,
|
||
ko: `구독 규칙 덮어쓰기`,
|
||
},
|
||
subscribe_url: {
|
||
zh: `订阅地址`,
|
||
en: `Subscribe URL`,
|
||
zh_TW: `訂閱網址`,
|
||
ja: `購読URL`,
|
||
ko: `구독 URL`,
|
||
},
|
||
rules_warn_1: {
|
||
zh: `1、规则生效的优先级依次为:个人规则 > 订阅规则 > 全局规则。"全局规则"相当于兜底规则。`,
|
||
en: `1. The priority of rules is: personal rules > subscription rules > global rules. "Global rules" are like a fallback rule.`,
|
||
zh_TW: `1.規則生效的優先順序依序為:個人規則 > 訂閱規則 > 全域規則。 "全域規則"相當於兜底規則。`,
|
||
ja: `1. ルールの優先順位: 個人ルール > 購読ルール > グローバルルール。「グローバルルール」はフォールバックルールのようなものです。`,
|
||
ko: `1. 규칙 우선순위: 개인 규칙 > 구독 규칙 > 전역 규칙. "전역 규칙"은 일종의 폴백(fallback) 규칙입니다.`,
|
||
},
|
||
rules_warn_2: {
|
||
zh: `2、“订阅规则”选择注入后才会生效。`,
|
||
en: `2. "Subscription rules" will take effect only after injection is selected.`,
|
||
zh_TW: `2、「訂閱規則」選擇注入後才會生效。`,
|
||
ja: `2. 「購読ルール」は注入を選択した後にのみ有効になります。`,
|
||
ko: `2. "구독 규칙"은 주입을 선택한 후에만 적용됩니다.`,
|
||
},
|
||
rules_warn_3: {
|
||
zh: `3、关于规则填写:输入框留空或下拉框选“*”表示采用全局规则。`,
|
||
en: `3. Regarding filling in the rules: Leave the input box blank or select "*" in the drop-down box to use global rule.`,
|
||
zh_TW: `3. 規則填寫說明:輸入框留空或下拉選擇「*」表示使用全域規則。`,
|
||
ja: `3. ルールの記入について: 入力ボックスを空白にするか、ドロップダウンで「*」を選択すると、グローバルルールが使用されます。`,
|
||
ko: `3. 규칙 작성 관련: 입력란을 비워두거나 드롭다운에서 "*"를 선택하면 전역 규칙이 사용됩니다.`,
|
||
},
|
||
sync_warn: {
|
||
zh: `涉及隐私数据的同步请谨慎选择第三方同步服务,建议自行搭建 kiss-worker 或 WebDAV 服务。`,
|
||
en: `When synchronizing data that involves privacy, please be cautious about choosing third-party sync services. It is recommended to set up your own sync service using kiss-worker or WebDAV.`,
|
||
zh_TW: `同步涉及隱私資料時,請謹慎選擇第三方同步服務;建議自建 kiss-worker 或 WebDAV 服務。`,
|
||
ja: `プライバシーに関わるデータを同期する場合、サードパーティの同期サービスは慎重に選択してください。kiss-worker や WebDAV サービスを自己ホスティングすることをお勧めします。`,
|
||
ko: `개인정보가 포함된 데이터를 동기화할 경우, 타사 동기화 서비스 선택에 신중을 기하십시오. 자체 kiss-worker 또는 WebDAV 서비스를 구축하는 것을 권장합니다.`,
|
||
},
|
||
sync_warn_2: {
|
||
zh: `如果服务器存在其他客户端同步的数据,第一次同步将直接覆盖本地配置,后面则根据修改时间,新的覆盖旧的。`,
|
||
en: `If the server has data synchronized by other clients, the first synchronization will directly overwrite the local configuration, and later, according to the modification time, the new one will overwrite the old one.`,
|
||
zh_TW: `若伺服器上存在其他用戶端同步的資料,第一次同步會直接覆蓋本機設定;之後則依修改時間,由新的覆蓋舊的。`,
|
||
ja: `サーバーに他のクライアントによって同期されたデータがある場合、最初の同期はローカル設定を直接上書きし、その後は変更時間に応じて新しいものが古いものを上書きします。`,
|
||
ko: `서버에 다른 클라이언트가 동기화한 데이터가 있는 경우, 첫 번째 동기화는 로컬 구성을 직접 덮어쓰며, 이후에는 수정 시간에 따라 새 항목이 기존 항목을 덮어씁니다.`,
|
||
},
|
||
about_sync_api: {
|
||
zh: `自建kiss-wroker数据同步服务`,
|
||
en: `Self-hosting a Kiss-worker data sync service`,
|
||
zh_TW: `自建 kiss-wroker 資料同步服務`,
|
||
ja: `Kiss-worker データ同期サービスをセルフホストする`,
|
||
ko: `Kiss-worker 데이터 동기화 서비스 자체 호스팅`,
|
||
},
|
||
about_api: {
|
||
zh: `1、其中 BuiltinAI 为浏览器内置AI翻译,目前仅 Chrome 138 及以上版本得到支持。`,
|
||
en: `1. BuiltinAI is the browser's built-in AI translation, which is currently only supported by Chrome 138 and above.`,
|
||
zh_TW: `1.其中 BuiltinAI 為瀏覽器內建AI翻譯,目前僅 Chrome 138 以上版本支援。`,
|
||
ja: `1. BuiltinAI はブラウザ内蔵のAI翻訳で、現在 Chrome 138 以降のバージョンでのみサポートされています。`,
|
||
ko: `1. BuiltinAI는 브라우저 내장 AI 번역으로, 현재 Chrome 138 이상 버전에서만 지원됩니다.`,
|
||
},
|
||
about_api_2: {
|
||
zh: `2、大部分AI接口都与OpenAI兼容,因此选择OpenAI类型即可。“是否聚合发送翻译请求”所对应的 Prompt 并不相同,并且不是所有接口都支持聚合翻译。`,
|
||
en: `2. Most AI interfaces are compatible with OpenAI, so you can simply select the OpenAI type. The prompts corresponding to “Whether to aggregate translation requests” are different, and not all interfaces support aggregated translation.`,
|
||
zh_TW: `2. 大部分的 AI 介面都與 OpenAI 相容,因此選擇 OpenAI 類型即可。「是否聚合發送翻譯請求」所對應的 Prompt 並不相同,並且不是所有介面都支援聚合翻譯。`,
|
||
ja: `2. ほとんどの AI インターフェースは OpenAI と互換性があるため、OpenAI タイプを選択すれば問題ありません。「翻訳リクエストをまとめて送信するかどうか」に対応するプロンプトは異なり、すべてのインターフェースが集約翻訳をサポートしているわけではありません。`,
|
||
ko: `2. 대부분의 AI 인터페이스는 OpenAI와 호환되므로 OpenAI 유형을 선택하면 됩니다. “번역 요청을 집합적으로 보낼지 여부”에 대응하는 프롬프트는 서로 다르며, 모든 인터페이스가 집합 번역을 지원하는 것은 아닙니다.`,
|
||
},
|
||
about_api_3: {
|
||
zh: `3、理论上,所有翻译接口,都可以通过自定义接口 (Custom) 的形式使用。`,
|
||
en: `3. In theory, all translation interfaces can be used by configuring them as a custom interface.`,
|
||
zh_TW: `3. 理論上,所有翻譯介面都可以透過自訂介面(Custom)的方式來使用。`,
|
||
ja: `3. 理論的には、すべての翻訳インターフェースはカスタム(Custom)インターフェースとして設定することで利用できます。`,
|
||
ko: `3. 이론적으로 모든 번역 인터페이스는 커스텀(Custom) 인터페이스로 설정하여 사용할 수 있습니다.`,
|
||
},
|
||
about_api_proxy: {
|
||
zh: `查看自建一个翻译接口代理`,
|
||
en: `Check out the self-built translation interface proxy`,
|
||
zh_TW: `查看如何自建翻譯介面 Proxy`,
|
||
ja: `自作の翻訳インターフェースプロキシをチェックする`,
|
||
ko: `자체 구축 번역 인터페이스 프록시 확인하기`,
|
||
},
|
||
setting_helper: {
|
||
zh: `新旧配置并不兼容,导出的旧版配置,勿再次导入。`,
|
||
en: `The old and new configurations are not compatible. Do not import the exported old configuration again.`,
|
||
zh_TW: `新舊配置並不相容,匯出的舊版配置,勿再次匯入。`,
|
||
ja: `新旧の設定に互換性はありません。エクスポートした古い設定を再度インポートしないでください。`,
|
||
ko: `이전 구성과 새 구성은 호환되지 않습니다. 내보낸 이전 구성을 다시 가져오지 마십시오.`,
|
||
},
|
||
style_none: {
|
||
zh: `无`,
|
||
en: `None`,
|
||
zh_TW: `無`,
|
||
ja: `なし`,
|
||
ko: `없음`,
|
||
},
|
||
under_line: {
|
||
zh: `下划直线`,
|
||
en: `Underline`,
|
||
zh_TW: `下劃直線`,
|
||
ja: `下線`,
|
||
ko: `밑줄`,
|
||
},
|
||
dot_line: {
|
||
zh: `下划点状线`,
|
||
en: `Dotted Underline`,
|
||
zh_TW: `下劃點狀線`,
|
||
ja: `点線の下線`,
|
||
ko: `점선 밑줄`,
|
||
},
|
||
dash_line: {
|
||
zh: `下划虚线`,
|
||
en: `Dashed Underline`,
|
||
zh_TW: `下劃虛線`,
|
||
ja: `破線の下線`,
|
||
ko: `파선 밑줄`,
|
||
},
|
||
dash_box: {
|
||
zh: `虚线框`,
|
||
en: `Dashed Box`,
|
||
zh_TW: `虛線框`,
|
||
ja: `破線ボックス`,
|
||
ko: `파선 상자`,
|
||
},
|
||
dash_line_bold: {
|
||
zh: `下划虚线加粗`,
|
||
en: `Dashed Underline Bold`,
|
||
zh_TW: `下劃虛線`,
|
||
ja: `破線の下線 (太字)`,
|
||
ko: `굵은 파선 밑줄`,
|
||
},
|
||
dash_box_bold: {
|
||
zh: `虚线框加粗`,
|
||
en: `Dashed Box Bold`,
|
||
zh_TW: `虛線框加粗`,
|
||
ja: `破線ボックス (太字)`,
|
||
ko: `굵은 파선 상자`,
|
||
},
|
||
marker: {
|
||
zh: `马克笔`,
|
||
en: `Marker`,
|
||
zh_TW: `馬克筆`,
|
||
ja: `マーカー`,
|
||
ko: `마커`,
|
||
},
|
||
gradient_marker: {
|
||
zh: `渐变马克笔`,
|
||
en: `Gradient Marker`,
|
||
zh_TW: `漸層馬克筆`,
|
||
ja: `グラデーションマーカー`,
|
||
ko: `그라데이션 마커`,
|
||
},
|
||
wavy_line: {
|
||
zh: `下划波浪线`,
|
||
en: `Wavy Underline`,
|
||
zh_TW: `下劃波浪線`,
|
||
ja: `波線の下線`,
|
||
ko: `물결 밑줄`,
|
||
},
|
||
wavy_line_bold: {
|
||
zh: `下划波浪线加粗`,
|
||
en: `Wavy Underline Bold`,
|
||
zh_TW: `下劃波浪線加粗`,
|
||
ja: `波線の下線 (太字)`,
|
||
ko: `굵은 물결 밑줄`,
|
||
},
|
||
fuzzy: {
|
||
zh: `模糊`,
|
||
en: `Fuzzy`,
|
||
zh_TW: `模糊`,
|
||
ja: `ぼかし`,
|
||
ko: `흐림`,
|
||
},
|
||
highlight: {
|
||
zh: `高亮`,
|
||
en: `Highlight`,
|
||
zh_TW: `反白標示`,
|
||
ja: `ハイライト`,
|
||
ko: `하이라이트`,
|
||
},
|
||
blockquote: {
|
||
zh: `引用`,
|
||
en: `Blockquote`,
|
||
zh_TW: `引用`,
|
||
ja: `引用`,
|
||
ko: `인용`,
|
||
},
|
||
gradient: {
|
||
zh: `渐变`,
|
||
en: `Gradient`,
|
||
zh_TW: `漸變`,
|
||
ja: `グラデーション`,
|
||
ko: `그라데이션`,
|
||
},
|
||
blink: {
|
||
zh: `闪现`,
|
||
en: `Blink`,
|
||
zh_TW: `閃現`,
|
||
ja: `点滅`,
|
||
ko: `깜박임`,
|
||
},
|
||
glow: {
|
||
zh: `发光`,
|
||
en: `Glow`,
|
||
zh_TW: `發光`,
|
||
ja: `発光`,
|
||
ko: `발광`,
|
||
},
|
||
colorful: {
|
||
zh: `多彩`,
|
||
en: `Colorful`,
|
||
zh_TW: `多彩`,
|
||
ja: `カラフル`,
|
||
ko: `다채롭게`,
|
||
},
|
||
setting: {
|
||
zh: `设置`,
|
||
en: `Setting`,
|
||
zh_TW: `設定`,
|
||
ja: `設定`,
|
||
ko: `설정`,
|
||
},
|
||
pattern: {
|
||
zh: `匹配网址`,
|
||
en: `URL pattern`,
|
||
zh_TW: `匹配網址`,
|
||
ja: `URLパターン`,
|
||
ko: `URL 패턴`,
|
||
},
|
||
pattern_helper: {
|
||
zh: `1、支持星号(*)通配符。2、多个URL用换行或英文逗号“,”分隔。`,
|
||
en: `1. Supports the asterisk (*) wildcard character. 2. Separate multiple URLs with newlines or English commas ",".`,
|
||
zh_TW: `1. 支援星號 (*) 萬用字元。2. 多個 URL 請以換行或英文逗號「,」分隔。`,
|
||
ja: `1. アスタリスク (*) ワイルドカードをサポートします。 2. 複数のURLは改行または英語のコンマ「,」で区切ります。`,
|
||
ko: `1. 별표(*) 와일드카드 문자를 지원합니다. 2. 여러 URL은 줄바꿈 또는 영어 쉼표 ","로 구분합니다.`,
|
||
},
|
||
selector_helper: {
|
||
zh: `1、需要翻译的目标元素。2、开启自动扫描页面后,本设置无效。3、遵循CSS选择器语法。`,
|
||
en: `1. The target element to be translated. 2. This setting is invalid when automatic page scanning is enabled. 3. Follow the CSS selector syntax.`,
|
||
zh_TW: `1、需要翻譯的目標元素。 2.開啟自動掃描頁面後,本設定無效。 3.遵循CSS選擇器語法。`,
|
||
ja: `1. 翻訳対象の要素。 2. ページの自動スキャンを有効にすると、この設定は無効になります。 3. CSSセレクタ構文に従ってください。`,
|
||
ko: `1. 번역할 대상 요소입니다. 2. 자동 페이지 스캔이 활성화되면 이 설정은 무효화됩니다. 3. CSS 선택자 구문을 따릅니다.`,
|
||
},
|
||
translate_switch: {
|
||
zh: `开启翻译`,
|
||
en: `Translate Switch`,
|
||
zh_TW: `開啟翻譯`,
|
||
ja: `翻訳を有効にする`,
|
||
ko: `번역 켜기`,
|
||
},
|
||
default_enabled: {
|
||
zh: `默认开启`,
|
||
en: `Enabled`,
|
||
zh_TW: `預設開啟`,
|
||
ja: `デフォルトで有効`,
|
||
ko: `기본으로 사용`,
|
||
},
|
||
default_disabled: {
|
||
zh: `默认关闭`,
|
||
en: `Disabled`,
|
||
zh_TW: `預設關閉`,
|
||
ja: `デフォルトで無効`,
|
||
ko: `기본으로 사용 안함`,
|
||
},
|
||
selector: {
|
||
zh: `选择器`,
|
||
en: `Selector`,
|
||
zh_TW: `選擇器`,
|
||
ja: `セレクタ`,
|
||
ko: `선택자`,
|
||
},
|
||
target_selector: {
|
||
zh: `目标元素选择器`,
|
||
en: `Target element selector`,
|
||
zh_TW: `目標元素選擇器`,
|
||
ja: `対象要素セレクタ`,
|
||
ko: `대상 요소 선택자`,
|
||
},
|
||
keep_selector: {
|
||
zh: `保留元素选择器`,
|
||
en: `Keep unchanged selector`,
|
||
zh_TW: `保留元素選擇器`,
|
||
ja: `保持要素セレクタ`,
|
||
ko: `유지할 요소 선택자`,
|
||
},
|
||
keep_selector_helper: {
|
||
zh: `1、目标元素下面需要原样保留的子节点。2、遵循CSS选择器语法。`,
|
||
en: `1. The child nodes under the target element need to remain intact. 2. Follow the CSS selector syntax.`,
|
||
zh_TW: `1. 目標元素下的子節點需要保持原樣。 2. 遵循 CSS 選擇器語法。`,
|
||
ja: `1. 対象要素の下にある、そのまま保持する必要がある子ノード。 2. CSSセレクタ構文に従ってください。`,
|
||
ko: `1. 대상 요소 아래의 자식 노드 중 그대로 유지해야 하는 노드. 2. CSS 선택자 구문을 따릅니다.`,
|
||
},
|
||
root_selector: {
|
||
zh: `根节点选择器`,
|
||
en: `Root node selector`,
|
||
zh_TW: `根節點選擇器`,
|
||
ja: `ルートノードセレクタ`,
|
||
ko: `루트 노드 선택자`,
|
||
},
|
||
root_selector_helper: {
|
||
zh: `1、用于缩小页面翻译范围。2、遵循CSS选择器语法。`,
|
||
en: `1. Used to narrow the translation scope of the page. 2. Follow the CSS selector syntax.`,
|
||
zh_TW: `1.用於縮小頁面翻譯範圍。 2、遵循CSS選擇器語法。`,
|
||
ja: `1. ページの翻訳範囲を絞り込むために使用します。 2. CSSセレクタ構文に従ってください。`,
|
||
ko: `1. 페이지의 번역 범위를 좁히는 데 사용됩니다. 2. CSS 선택자 구문을 따릅니다.`,
|
||
},
|
||
ignore_selector: {
|
||
zh: `不翻译节点选择器`,
|
||
en: `Ignore node selectors`,
|
||
zh_TW: `不翻譯節點選擇器`,
|
||
ja: `翻訳しないノードセレクタ`,
|
||
ko: `번역 무시 노드 선택자`,
|
||
},
|
||
ignore_selector_helper: {
|
||
zh: `1、需要忽略的节点。2、遵循CSS选择器语法。`,
|
||
en: `1. Nodes to be ignored. 2. Follow CSS selector syntax.`,
|
||
zh_TW: `1、需要忽略的節點。 2、遵循CSS選擇器語法。`,
|
||
ja: `1. 無視するノード。 2. CSSセレクタ構文に従ってください。`,
|
||
ko: `1. 무시할 노드. 2. CSS 선택자 구문을 따릅니다.`,
|
||
},
|
||
terms: {
|
||
zh: `专业术语`,
|
||
en: `Terms`,
|
||
zh_TW: `專業術語`,
|
||
ja: `専門用語`,
|
||
ko: `전문 용어`,
|
||
},
|
||
terms_helper: {
|
||
zh: `1、支持正则表达式匹配,无需斜杆,不支持修饰符。2、多条术语用换行或分号“;”隔开。3、术语和译文用英文逗号“,”隔开。4、没有译文视为不翻译术语。`,
|
||
en: `1. Supports regular expression matching, no slash required, and no modifiers are supported. 2. Separate multiple terms with newlines or semicolons ";". 3. Terms and translations are separated by English commas ",". 4. If there is no translation, the term will be deemed not to be translated.`,
|
||
zh_TW: `1. 支援正則表達式比對,無需斜線,且不支援修飾符。2. 多條術語以換行或分號「;」分隔。3. 術語與譯文以英文逗號「,」分隔。4. 無譯文者視為不翻譯該術語。`,
|
||
ja: `1. 正規表現マッチングをサポート (スラッシュ不要、修飾子非対応)。 2. 複数の用語は改行またはセミコロン「;」で区切ります。 3. 用語と翻訳は英語のコンマ「,」で区切ります。 4. 翻訳がない場合は、その用語を翻訳しないものとみなします。`,
|
||
ko: `1. 정규식 일치를 지원하며, 슬래시가 필요 없고 수정자는 지원되지 않습니다. 2. 여러 용어는 줄바꿈 또는 세미콜론 ";"으로 구분합니다. 3. 용어와 번역은 영어 쉼표 ","로 구분합니다. 4. 번역이 없는 경우 해당 용어를 번역하지 않는 것으로 간주합니다.`,
|
||
},
|
||
ai_terms: {
|
||
zh: `AI专业术语`,
|
||
en: `AI Terms`,
|
||
zh_TW: `AI專業術語`,
|
||
ja: `AI専門用語`,
|
||
ko: `AI 전문 용어`,
|
||
},
|
||
ai_terms_helper: {
|
||
zh: `1、AI智能替换,不支持正则表达式。2、多条术语用换行或分号“;”隔开。3、术语和译文用英文逗号“,”隔开。4、没有译文视为不翻译术语。`,
|
||
en: `1. AI intelligent replacement does not support regular expressions.2. Separate multiple terms with newlines or semicolons ";". 3. Terms and translations are separated by English commas ",". 4. If there is no translation, the term will be deemed not to be translated.`,
|
||
zh_TW: `1.AI智能替換,不支援正規表示式。2. 多條術語以換行或分號「;」分隔。3. 術語與譯文以英文逗號「,」分隔。4. 無譯文者視為不翻譯該術語。`,
|
||
ja: `1. AIによるインテリジェントな置換 (正規表現非対応)。 2. 複数の用語は改行またはセミコロン「;」で区切ります。 3. 用語と翻訳は英語のコンマ「,」で区切ります。 4. 翻訳がない場合は、その用語を翻訳しないものとみなします。`,
|
||
ko: `1. AI 지능형 대체, 정규식을 지원하지 않습니다. 2. 여러 용어는 줄바꿈 또는 세미콜론 ";"으로 구분합니다. 3. 용어와 번역은 영어 쉼표 ","로 구분합니다. 4. 번역이 없는 경우 해당 용어를 번역하지 않는 것으로 간주합니다.`,
|
||
},
|
||
text_ext_style: {
|
||
zh: `译文附加样式`,
|
||
en: `Translation additional styles`,
|
||
zh_TW: `譯文附加樣式`,
|
||
ja: `翻訳の追加スタイル`,
|
||
ko: `번역 추가 스타일`,
|
||
},
|
||
selector_style: {
|
||
zh: `选择器节点样式`,
|
||
en: `Selector Style`,
|
||
zh_TW: `選擇器節點樣式`,
|
||
ja: `セレクタノードスタイル`,
|
||
ko: `선택자 노드 스타일`,
|
||
},
|
||
terms_style: {
|
||
zh: `专业术语样式`,
|
||
en: `Terms Style`,
|
||
zh_TW: `專業術語樣式`,
|
||
ja: `専門用語スタイル`,
|
||
ko: `전문 용어 스타일`,
|
||
},
|
||
highlight_style: {
|
||
zh: `词汇高亮样式`,
|
||
en: `Fav Words highlight style`,
|
||
zh_TW: `詞彙高亮樣式`,
|
||
ja: `単語ハイライトスタイル`,
|
||
ko: `단어 하이라이트 스타일`,
|
||
},
|
||
selector_style_helper: {
|
||
zh: `开启翻译时注入。`,
|
||
en: `It is injected when translation is turned on.`,
|
||
zh_TW: `在開啟翻譯時注入。`,
|
||
ja: `翻訳が有効なときに注入されます。`,
|
||
ko: `번역이 켜져 있을 때 주입됩니다.`,
|
||
},
|
||
selector_parent_style: {
|
||
zh: `选择器父节点样式`,
|
||
en: `Parent Selector Style`,
|
||
zh_TW: `選擇器父節點樣式`,
|
||
ja: `親セレクタスタイル`,
|
||
ko: `부모 선택자 스타일`,
|
||
},
|
||
selector_grand_style: {
|
||
zh: `选择器祖节点样式`,
|
||
en: `Grand Selector Style`,
|
||
zh_TW: `選擇器祖節點樣式`,
|
||
ja: `祖先セレクタスタイル`,
|
||
ko: `상위 선택자 스타일`,
|
||
},
|
||
inject_js: {
|
||
zh: `注入JS`,
|
||
en: `Inject JS`,
|
||
zh_TW: `注入 JS`,
|
||
ja: `JSを注入`,
|
||
ko: `JS 주입`,
|
||
},
|
||
inject_js_helper: {
|
||
zh: `预加载时注入,一个页面仅运行一次。内置全局对象 KT: {
|
||
apiTranslate,
|
||
apiDectect,
|
||
apiSetting,
|
||
apisMap,
|
||
toLang,
|
||
docInfo,
|
||
glossary,
|
||
}`,
|
||
en: `Injected during preload, runs only once per page. Built-in global object KT: {
|
||
apiTranslate,
|
||
apiDectect,
|
||
apiSetting,
|
||
apisMap,
|
||
toLang,
|
||
docInfo,
|
||
glossary,
|
||
}`,
|
||
zh_TW: `預先載入時注入,一個頁面僅運行一次。內建全域物件 KT: {
|
||
apiTranslate,
|
||
apiDectect,
|
||
apiSetting,
|
||
apisMap,
|
||
toLang,
|
||
docInfo,
|
||
glossary,
|
||
}`,
|
||
ja: `プリロード時に注入され、ページごとに1回だけ実行されます。組み込みグローバルオブジェクト KT: {
|
||
apiTranslate,
|
||
apiDectect,
|
||
apiSetting,
|
||
apisMap,
|
||
toLang,
|
||
docInfo,
|
||
glossary,
|
||
}`,
|
||
ko: `미리 로드 시 주입되며 페이지당 한 번만 실행됩니다. 내장 전역 객체 KT: {
|
||
apiTranslate,
|
||
apiDectect,
|
||
apiSetting,
|
||
apisMap,
|
||
toLang,
|
||
docInfo,
|
||
glossary,
|
||
}`,
|
||
},
|
||
inject_css: {
|
||
zh: `注入CSS`,
|
||
en: `Inject CSS`,
|
||
zh_TW: `注入 CSS`,
|
||
ja: `CSSを注入`,
|
||
ko: `CSS 주입`,
|
||
},
|
||
inject_css_helper: {
|
||
zh: `预加载时注入,一个页面仅运行一次。`,
|
||
en: `Injected during preload, runs only once per page.`,
|
||
zh_TW: `預先載入時注入,一個頁面僅運行一次。`,
|
||
ja: `プリロード時に注入され、ページごとに1回だけ実行されます。`,
|
||
ko: `미리 로드 시 주입되며 페이지당 한 번만 실행됩니다.`,
|
||
},
|
||
fixer_function: {
|
||
zh: `修复函数`,
|
||
en: `Fixer Function`,
|
||
zh_TW: `修復函式`,
|
||
ja: `修正関数`,
|
||
ko: `수정 함수`,
|
||
},
|
||
fixer_function_helper: {
|
||
zh: `1、br是将<br>换行替换成<p "kiss-p">。2、bn是将\\n换行替换成<p "kiss-p">。3、brToDiv和bnToDiv是替换成<div class="kiss-p">。`,
|
||
en: `1. br replaces <br> line breaks with <p "kiss-p">. 2. bn replaces \\n newline with <p "kiss-p">. 3. brToDiv and bnToDiv are replaced with <div class="kiss-p">.`,
|
||
zh_TW: `1. br 會將 <br> 換行替換為 <p "kiss-p">。2. bn 會將 \\n 換行替換為 <p "kiss-p">。3. brToDiv 與 bnToDiv 會替換為 <div class="kiss-p">。`,
|
||
ja: `1. br は <br> 改行を <p "kiss-p"> に置き換えます。 2. bn は \\n 改行を <p "kiss-p"> に置き換えます。 3. brToDiv と bnToDiv は <div class="kiss-p"> に置き換えます。`,
|
||
ko: `1. br은 <br> 줄바꿈을 <p "kiss-p">로 대체합니다. 2. bn은 \\n 줄바꿈을 <p "kiss-p">로 대체합니다. 3. brToDiv 및 bnToDiv는 <div class="kiss-p">로 대체됩니다.`,
|
||
},
|
||
import: {
|
||
zh: `导入`,
|
||
en: `Import`,
|
||
zh_TW: `匯入`,
|
||
ja: `インポート`,
|
||
ko: `가져오기`,
|
||
},
|
||
export: {
|
||
zh: `导出`,
|
||
en: `Export`,
|
||
zh_TW: `匯出`,
|
||
ja: `エクスポート`,
|
||
ko: `내보내기`,
|
||
},
|
||
export_translation: {
|
||
zh: `导出释义`,
|
||
en: `Export Translation`,
|
||
zh_TW: `匯出釋義`,
|
||
ja: `訳文のエクスポート`,
|
||
ko: `번역 내보내기`,
|
||
},
|
||
error_cant_be_blank: {
|
||
zh: `不能为空`,
|
||
en: `Can not be blank`,
|
||
zh_TW: `不可為空`,
|
||
ja: `空白にすることはできません`,
|
||
ko: `비워둘 수 없습니다`,
|
||
},
|
||
error_duplicate_values: {
|
||
zh: `存在重复的值`,
|
||
en: `There are duplicate values`,
|
||
zh_TW: `存在重複的值`,
|
||
ja: `重複する値が存在します`,
|
||
ko: `중복된 값이 있습니다`,
|
||
},
|
||
error_wrong_file_type: {
|
||
zh: `错误的文件类型`,
|
||
en: `Wrong file type`,
|
||
zh_TW: `檔案類型錯誤`,
|
||
ja: `不正なファイルタイプです`,
|
||
ko: `잘못된 파일 형식입니다`,
|
||
},
|
||
error_fetch_url: {
|
||
zh: `请检查url地址是否正确或稍后再试。`,
|
||
en: `Please check if the url address is correct or try again later.`,
|
||
zh_TW: `請檢查 URL 是否正確或稍後再試。`,
|
||
ja: `URLアドレスが正しいか確認するか、後でもう一度お試しください。`,
|
||
ko: `URL 주소가 올바른지 확인하거나 나중에 다시 시도하십시오.`,
|
||
},
|
||
deepl_api: {
|
||
zh: `DeepL 接口`,
|
||
en: `DeepL API`,
|
||
zh_TW: `DeepL 介面`,
|
||
ja: `DeepL API`,
|
||
ko: `DeepL API`,
|
||
},
|
||
deepl_key: {
|
||
zh: `DeepL 密钥`,
|
||
en: `DeepL Key`,
|
||
zh_TW: `DeepL 金鑰`,
|
||
ja: `DeepL キー`,
|
||
ko: `DeepL 키`,
|
||
},
|
||
openai_api: {
|
||
zh: `OpenAI 接口`,
|
||
en: `OpenAI API`,
|
||
zh_TW: `OpenAI 介面`,
|
||
ja: `OpenAI API`,
|
||
ko: `OpenAI API`,
|
||
},
|
||
openai_key: {
|
||
zh: `OpenAI 密钥`,
|
||
en: `OpenAI Key`,
|
||
zh_TW: `OpenAI 金鑰`,
|
||
ja: `OpenAI キー`,
|
||
ko: `OpenAI 키`,
|
||
},
|
||
openai_model: {
|
||
zh: `OpenAI 模型`,
|
||
en: `OpenAI Model`,
|
||
zh_TW: `OpenAI 模型`,
|
||
ja: `OpenAI モデル`,
|
||
ko: `OpenAI 모델`,
|
||
},
|
||
openai_prompt: {
|
||
zh: `OpenAI 提示词`,
|
||
en: `OpenAI Prompt`,
|
||
zh_TW: `OpenAI 提示詞`,
|
||
ja: `OpenAI プロンプト`,
|
||
ko: `OpenAI 프롬프트`,
|
||
},
|
||
if_clear_cache: {
|
||
zh: `是否清除缓存(默认缓存7天)`,
|
||
en: `Whether clear cache (Default cache is 7 days)`,
|
||
zh_TW: `是否清除快取(預設快取7天)`,
|
||
ja: `キャッシュをクリアしますか(デフォルトのキャッシュ期間は7日間です)`,
|
||
ko: `캐시를 지우시겠습니까 (기본 캐시 7일)`,
|
||
},
|
||
clear_cache_never: {
|
||
zh: `不清除缓存`,
|
||
en: `Never clear cache`,
|
||
zh_TW: `不清除快取`,
|
||
ja: `キャッシュをクリアしない`,
|
||
ko: `캐시 지우지 않음`,
|
||
},
|
||
clear_cache_restart: {
|
||
zh: `重启浏览器时清除缓存`,
|
||
en: `Clear cache when restarting browser`,
|
||
zh_TW: `重新啟動瀏覽器時清除快取`,
|
||
ja: `ブラウザ再起動時にキャッシュをクリア`,
|
||
ko: `브라우저 재시작 시 캐시 지우기`,
|
||
},
|
||
data_sync_type: {
|
||
zh: `数据同步方式`,
|
||
en: `Data Sync Type`,
|
||
zh_TW: `資料同步方式`,
|
||
ja: `データ同期タイプ`,
|
||
ko: `데이터 동기화 유형`,
|
||
},
|
||
data_sync_url: {
|
||
zh: `数据同步接口`,
|
||
en: `Data Sync API`,
|
||
zh_TW: `資料同步介面`,
|
||
ja: `データ同期API`,
|
||
ko: `데이터 동기화 API`,
|
||
},
|
||
data_sync_user: {
|
||
zh: `数据同步账户`,
|
||
en: `Data Sync User`,
|
||
zh_TW: `資料同步帳號`,
|
||
ja: `データ同期アカウント`,
|
||
ko: `데이터 동기화 계정`,
|
||
},
|
||
data_sync_key: {
|
||
zh: `数据同步密钥`,
|
||
en: `Data Sync Key`,
|
||
zh_TW: `資料同步金鑰`,
|
||
ja: `データ同期キー`,
|
||
ko: `데이터 동기화 키`,
|
||
},
|
||
sync_now: {
|
||
zh: `立即同步`,
|
||
en: `Sync Now`,
|
||
zh_TW: `立即同步`,
|
||
ja: `今すぐ同期`,
|
||
ko: `지금 동기화`,
|
||
},
|
||
sync_success: {
|
||
zh: `同步成功!`,
|
||
en: `Sync Success`,
|
||
zh_TW: `同步成功!`,
|
||
ja: `同期成功!`,
|
||
ko: `동기화 성공!`,
|
||
},
|
||
sync_failed: {
|
||
zh: `同步失败!`,
|
||
en: `Sync Error`,
|
||
zh_TW: `同步失敗!`,
|
||
ja: `同期失敗!`,
|
||
ko: `동기화 실패!`,
|
||
},
|
||
error_got_some_wrong: {
|
||
zh: `抱歉,出错了!`,
|
||
en: `Sorry, something went wrong!`,
|
||
zh_TW: `抱歉,發生錯誤!`,
|
||
ja: `申し訳ありません、エラーが発生しました!`,
|
||
ko: `죄송합니다, 오류가 발생했습니다!`,
|
||
},
|
||
error_sync_setting: {
|
||
zh: `您的同步类型必须为“KISS-Worker”,且需填写完整`,
|
||
en: `Your sync type must be "KISS-Worker" and must be filled in completely`,
|
||
zh_TW: `您的同步型態必須為「KISS-Worker」,且需填寫完整。`,
|
||
ja: `同期タイプは「KISS-Worker」である必要があり、すべて入力する必要があります。`,
|
||
ko: `동기화 유형은 "KISS-Worker"여야 하며, 모든 항목을 빠짐없이 입력해야 합니다.`,
|
||
},
|
||
click_test: {
|
||
zh: `点击测试`,
|
||
en: `Click Test`,
|
||
zh_TW: `點擊測試`,
|
||
ja: `クリックしてテスト`,
|
||
ko: `클릭 테스트`,
|
||
},
|
||
test_success: {
|
||
zh: `测试成功`,
|
||
en: `Test success`,
|
||
zh_TW: `測試成功`,
|
||
ja: `テスト成功`,
|
||
ko: `테스트 성공`,
|
||
},
|
||
test_failed: {
|
||
zh: `测试失败`,
|
||
en: `Test failed`,
|
||
zh_TW: `測試失敗`,
|
||
ja: `テスト失敗`,
|
||
ko: `테스트 실패`,
|
||
},
|
||
clear_all_cache_now: {
|
||
zh: `立即清除全部缓存`,
|
||
en: `Clear all cache now`,
|
||
zh_TW: `立即清除全部快取`,
|
||
ja: `すべてのキャッシュを今すぐクリア`,
|
||
ko: `모든 캐시 지금 지우기`,
|
||
},
|
||
clear_cache: {
|
||
zh: `清除缓存`,
|
||
en: `Clear Cache`,
|
||
zh_TW: `清除快取`,
|
||
ja: `キャッシュをクリア`,
|
||
ko: `캐시 지우기`,
|
||
},
|
||
clear_success: {
|
||
zh: `清除成功`,
|
||
en: `Clear success`,
|
||
zh_TW: `清除成功`,
|
||
ja: `クリア成功`,
|
||
ko: `지우기 성공`,
|
||
},
|
||
clear_failed: {
|
||
zh: `清除失败`,
|
||
en: `Clear failed`,
|
||
zh_TW: `清除失敗`,
|
||
ja: `クリア失敗`,
|
||
ko: `지우기 실패`,
|
||
},
|
||
share: {
|
||
zh: `分享`,
|
||
en: `Share`,
|
||
zh_TW: `分享`,
|
||
ja: `共有`,
|
||
ko: `공유`,
|
||
},
|
||
clear_all: {
|
||
zh: `清空`,
|
||
en: `Clear All`,
|
||
zh_TW: `清空`,
|
||
ja: `すべてクリア`,
|
||
ko: `모두 지우기`,
|
||
},
|
||
help: {
|
||
zh: `求助`,
|
||
en: `Help`,
|
||
zh_TW: `求助`,
|
||
ja: `ヘルプ`,
|
||
ko: `도움말`,
|
||
},
|
||
restore_default: {
|
||
zh: `恢复默认`,
|
||
en: `Restore Default`,
|
||
zh_TW: `恢復預設`,
|
||
ja: `デフォルトに戻す`,
|
||
ko: `기본값 복원`,
|
||
},
|
||
shortcuts_setting: {
|
||
zh: `快捷键设置`,
|
||
en: `Shortcuts Setting`,
|
||
zh_TW: `快捷鍵設定`,
|
||
ja: `ショートカット設定`,
|
||
ko: `단축키 설정`,
|
||
},
|
||
toggle_translate_shortcut: {
|
||
zh: `"开启翻译"快捷键`,
|
||
en: `"Toggle Translate" Shortcut`,
|
||
zh_TW: `「開啟翻譯」快捷鍵`,
|
||
ja: `「翻訳切り替え」ショートカット`,
|
||
ko: `"번역 켜기" 단축키`,
|
||
},
|
||
toggle_style_shortcut: {
|
||
zh: `"切换样式"快捷键`,
|
||
en: `"Toggle Style" Shortcut`,
|
||
zh_TW: `「切換樣式」快捷鍵`,
|
||
ja: `「スタイル切り替え」ショートカット`,
|
||
ko: `"스타일 전환" 단축키`,
|
||
},
|
||
toggle_popup_shortcut: {
|
||
zh: `"打开弹窗"快捷键`,
|
||
en: `"Open Popup" Shortcut`,
|
||
zh_TW: `「開啟彈窗」快捷鍵`,
|
||
ja: `「ポップアップを開く」ショートカット`,
|
||
ko: `"팝업 열기" 단축키`,
|
||
},
|
||
open_setting_shortcut: {
|
||
zh: `"打开设置"快捷键`,
|
||
en: `"Open Setting" Shortcut`,
|
||
zh_TW: `「開啟設定」快捷鍵`,
|
||
ja: `「設定を開く」ショートカット`,
|
||
ko: `"설정 열기" 단축키`,
|
||
},
|
||
hide_fab_button: {
|
||
zh: `隐藏悬浮按钮`,
|
||
en: `Hide Fab Button`,
|
||
zh_TW: `隱藏懸浮按鈕`,
|
||
ja: `フローティングボタンを隠す`,
|
||
ko: `플로팅 버튼 숨기기`,
|
||
},
|
||
fab_click_action: {
|
||
zh: `单击悬浮按钮动作`,
|
||
en: `Single Click Fab Action`,
|
||
zh_TW: `單擊懸浮按钮動作`,
|
||
ja: `フローティングボタンのクリック動作`,
|
||
ko: `플로팅 버튼 클릭 동작`,
|
||
},
|
||
fab_click_menu: {
|
||
zh: `弹出菜单`,
|
||
en: `Popup Menu`,
|
||
zh_TW: `彈出選單`,
|
||
ja: `メニューを開く`,
|
||
ko: `팝업 메뉴`,
|
||
},
|
||
fab_click_translate: {
|
||
zh: `直接翻译`,
|
||
en: `Translate`,
|
||
zh_TW: `直接翻譯`,
|
||
ja: `直接翻訳`,
|
||
ko: `바로 번역`,
|
||
},
|
||
hide_tran_button: {
|
||
zh: `隐藏翻译按钮`,
|
||
en: `Hide Translate Button`,
|
||
zh_TW: `隱藏翻譯按鈕`,
|
||
ja: `翻訳ボタンを隠す`,
|
||
ko: `번역 버튼 숨기기`,
|
||
},
|
||
hide_click_away: {
|
||
zh: `点击外部关闭弹窗`,
|
||
en: `Click outside to close the pop-up window`,
|
||
zh_TW: `點擊外部關閉彈窗`,
|
||
ja: `外部クリックでポップアップを閉じる`,
|
||
ko: `바깥쪽 클릭 시 팝업 닫기`,
|
||
},
|
||
use_simple_style: {
|
||
zh: `使用简洁界面`,
|
||
en: `Use a simple interface`,
|
||
zh_TW: `使用簡潔介面`,
|
||
ja: `シンプルUIを使用`,
|
||
ko: `간단한 인터페이스 사용`,
|
||
},
|
||
show: {
|
||
zh: `显示`,
|
||
en: `Show`,
|
||
zh_TW: `顯示`,
|
||
ja: `表示`,
|
||
ko: `표시`,
|
||
},
|
||
hide: {
|
||
zh: `隐藏`,
|
||
en: `Hide`,
|
||
zh_TW: `隱藏`,
|
||
ja: `非表示`,
|
||
ko: `숨기기`,
|
||
},
|
||
save_rule: {
|
||
zh: `保存本站规则`,
|
||
en: `Save this site rule`,
|
||
zh_TW: `保存本站規則`,
|
||
ja: `このサイトのルールを保存`,
|
||
ko: `이 사이트 규칙 저장`,
|
||
},
|
||
global_rule: {
|
||
zh: `全局规则`,
|
||
en: `Global Rule`,
|
||
zh_TW: `全域規則`,
|
||
ja: `グローバルルール`,
|
||
ko: `전역 규칙`,
|
||
},
|
||
input_translate: {
|
||
zh: `输入框翻译`,
|
||
en: `Input Box Translation`,
|
||
zh_TW: `輸入框翻譯`,
|
||
ja: `入力ボックス翻訳`,
|
||
ko: `입력창 번역`,
|
||
},
|
||
use_input_box_translation: {
|
||
zh: `启用输入框翻译`,
|
||
en: `Input Box Translation`,
|
||
zh_TW: `啟用輸入框翻譯`,
|
||
ja: `入力ボックス翻訳を有効にする`,
|
||
ko: `입력창 번역 사용`,
|
||
},
|
||
input_selector: {
|
||
zh: `输入框选择器`,
|
||
en: `Input Selector`,
|
||
zh_TW: `輸入框選擇器`,
|
||
ja: `入力ボックスセレクタ`,
|
||
ko: `입력창 선택자`,
|
||
},
|
||
input_selector_helper: {
|
||
zh: `用于输入框翻译。`,
|
||
en: `Used for input box translation.`,
|
||
zh_TW: `用於輸入框翻譯。`,
|
||
ja: `入力ボックスの翻訳に使用します。`,
|
||
ko: `입력창 번역에 사용됩니다.`,
|
||
},
|
||
trigger_trans_shortcut: {
|
||
zh: `触发翻译快捷键`,
|
||
en: `Trigger Translation Shortcut Keys`,
|
||
zh_TW: `觸發翻譯快捷鍵`,
|
||
ja: `翻訳ショートカットキー`,
|
||
ko: `번역 실행 단축키`,
|
||
},
|
||
trigger_trans_shortcut_help: {
|
||
zh: `默认为单击“AltLeft+KeyI”`,
|
||
en: `Default is "AltLeft+KeyI"`,
|
||
zh_TW: `預設為按下「AltLeft+KeyI」`,
|
||
ja: `デフォルトは「AltLeft+KeyI」です`,
|
||
ko: `기본값 "AltLeft+KeyI"`,
|
||
},
|
||
shortcut_press_count: {
|
||
zh: `快捷键连击次数`,
|
||
en: `Shortcut Press Number`,
|
||
zh_TW: `快捷鍵連擊次數`,
|
||
ja: `ショートカットの連続プレス回数`,
|
||
ko: `단축키 연속 입력 횟수`,
|
||
},
|
||
combo_timeout: {
|
||
zh: `连击超时时间 (10-1000ms)`,
|
||
en: `Combo Timeout (10-1000ms)`,
|
||
zh_TW: `連擊逾時 (10-1000ms)`,
|
||
ja: `連続プレスタイムアウト (10-1000ms)`,
|
||
ko: `연속 입력 시간 초과 (10-1000ms)`,
|
||
},
|
||
input_trans_start_sign: {
|
||
zh: `翻译起始标识`,
|
||
en: `Translation Start Sign`,
|
||
zh_TW: `翻譯起始標記`,
|
||
ja: `翻訳開始記号`,
|
||
ko: `번역 시작 표시`,
|
||
},
|
||
input_trans_start_sign_help: {
|
||
zh: `标识后面可以加目标语言代码,如: “/en 你好”、“/zh hello”`,
|
||
en: `The target language code can be added after the sign, such as: "/en 你好", "/zh hello"`,
|
||
zh_TW: `標記後可加上目標語言代碼,例如:「/en 你好」、「/zh hello」`,
|
||
ja: `記号の後に対象言語コードを追加できます。例:「/en 你好」、「/zh hello」`,
|
||
ko: `표시 뒤에 대상 언어 코드를 추가할 수 있습니다. 예: "/en 你好", "/zh hello"`,
|
||
},
|
||
detect_lang_remote: {
|
||
zh: `远程语言检测`,
|
||
en: `Remote language detection`,
|
||
zh_TW: `遠端語言偵測`,
|
||
ja: `リモート言語検出`,
|
||
ko: `원격 언어 감지`,
|
||
},
|
||
detect_lang_remote_help: {
|
||
zh: `启用后检测准确度增加,但会降低翻译速度,请酌情开启`,
|
||
en: `After enabling, the detection accuracy will increase, but it will reduce the translation speed. Please enable it as appropriate.`,
|
||
zh_TW: `啟用後可提升偵測準確度,但會降低翻譯速度,請視需要開啟。`,
|
||
ja: `有効にすると検出精度が向上しますが、翻訳速度が低下する可能性があります。必要に応じて有効にしてください。`,
|
||
ko: `활성화하면 감지 정확도가 높아지지만 번역 속도가 느려질 수 있습니다. 적절히 활성화하십시오.`,
|
||
},
|
||
detect_lang_service: {
|
||
zh: `语言检测服务`,
|
||
en: `Language detect service`,
|
||
zh_TW: `語言檢測服務`,
|
||
ja: `言語検出サービス`,
|
||
ko: `언어 감지 서비스`,
|
||
},
|
||
disable: {
|
||
zh: `禁用`,
|
||
en: `Disable`,
|
||
zh_TW: `停用`,
|
||
ja: `無効`,
|
||
ko: `비활성화`,
|
||
},
|
||
enable: {
|
||
zh: `启用`,
|
||
en: `Enable`,
|
||
zh_TW: `啟用`,
|
||
ja: `有効`,
|
||
ko: `활성화`,
|
||
},
|
||
selection_translate: {
|
||
zh: `划词翻译`,
|
||
en: `Selection Translation`,
|
||
zh_TW: `劃詞翻譯`,
|
||
ja: `選択翻訳`,
|
||
ko: `선택 번역`,
|
||
},
|
||
toggle_selection_translate: {
|
||
zh: `启用划词翻译`,
|
||
en: `Use Selection Translate`,
|
||
zh_TW: `啟用劃詞翻譯`,
|
||
ja: `選択翻訳を有効にする`,
|
||
ko: `선택 번역 사용`,
|
||
},
|
||
trigger_tranbox_shortcut: {
|
||
zh: `显示翻译框/翻译选中文字快捷键`,
|
||
en: `Open Translate Popup/Translate Selected Shortcut`,
|
||
zh_TW: `顯示翻譯框/翻譯選中文字快捷鍵`,
|
||
ja: `翻訳ポップアップ表示/選択翻訳ショートカット`,
|
||
ko: `번역창 표시/선택 번역 단축키`,
|
||
},
|
||
tranbtn_offset_x: {
|
||
zh: `翻译按钮偏移X(±200)`,
|
||
en: `Translate Button Offset X (±200)`,
|
||
zh_TW: `翻譯按鈕位移 X(±200)`,
|
||
ja: `翻訳ボタンオフセットX (±200)`,
|
||
ko: `번역 버튼 오프셋 X (±200)`,
|
||
},
|
||
tranbtn_offset_y: {
|
||
zh: `翻译按钮偏移Y(±200)`,
|
||
en: `Translate Button Offset Y (±200)`,
|
||
zh_TW: `翻譯按鈕位移 Y(±200)`,
|
||
ja: `翻訳ボタンオフセットY (±200)`,
|
||
ko: `번역 버튼 오프셋 Y (±200)`,
|
||
},
|
||
tranbox_offset_x: {
|
||
zh: `翻译框偏移X(±200)`,
|
||
en: `Translate Box Offset X (±200)`,
|
||
zh_TW: `翻譯框位移 X(±200)`,
|
||
ja: `翻訳ボックスオフセットX (±200)`,
|
||
ko: `번역창 오프셋 X (±200)`,
|
||
},
|
||
tranbox_offset_y: {
|
||
zh: `翻译框偏移Y(±200)`,
|
||
en: `Translate Box Offset Y (±200)`,
|
||
zh_TW: `翻譯框位移 Y(±200)`,
|
||
ja: `翻訳ボックスオフセットY (±200)`,
|
||
ko: `번역창 오프셋 Y (±200)`,
|
||
},
|
||
translated_text: {
|
||
zh: `译文`,
|
||
en: `Translated Text`,
|
||
zh_TW: `譯文`,
|
||
ja: `翻訳済みテキスト`,
|
||
ko: `번역된 텍스트`,
|
||
},
|
||
original_text: {
|
||
zh: `原文`,
|
||
en: `Original Text`,
|
||
zh_TW: `原文`,
|
||
ja: `原文`,
|
||
ko: `원본 텍스트`,
|
||
},
|
||
favorite_words: {
|
||
zh: `收藏词汇`,
|
||
en: `Favorite Words`,
|
||
zh_TW: `收藏詞彙`,
|
||
ja: `お気に入り単語`,
|
||
ko: `즐겨찾는 단어`,
|
||
},
|
||
touch_setting: {
|
||
zh: `触屏设置`,
|
||
en: `Touch Setting`,
|
||
zh_TW: `觸控設定`,
|
||
ja: `タッチ設定`,
|
||
ko: `터치 설정`,
|
||
},
|
||
touch_translate_shortcut: {
|
||
zh: `触屏翻译快捷方式 (支持多选)`,
|
||
en: `Touch Translate Shortcut (multiple supported)`,
|
||
zh_TW: `觸控翻譯捷徑 (支援多選)`,
|
||
ja: `タッチ翻訳ショートカット (複数選択可)`,
|
||
ko: `터치 번역 단축키 (다중 선택 지원)`,
|
||
},
|
||
touch_tap_0: {
|
||
zh: `禁用`,
|
||
en: `Disable`,
|
||
zh_TW: `停用`,
|
||
ja: `無効`,
|
||
ko: `비활성화`,
|
||
},
|
||
touch_tap_2: {
|
||
zh: `双指轻触`,
|
||
en: `Two finger tap`,
|
||
zh_TW: `雙指輕觸`,
|
||
ja: `2本指タップ`,
|
||
ko: `두 손가락 탭`,
|
||
},
|
||
touch_tap_3: {
|
||
zh: `三指轻触`,
|
||
en: `Three finger tap`,
|
||
zh_TW: `三指輕觸`,
|
||
ja: `3本指タップ`,
|
||
ko: `세 손가락 탭`,
|
||
},
|
||
touch_tap_4: {
|
||
zh: `四指轻触`,
|
||
en: `Four finger tap`,
|
||
zh_TW: `四指輕觸`,
|
||
ja: `4本指タップ`,
|
||
ko: `네 손가락 탭`,
|
||
},
|
||
touch_tap_5: {
|
||
zh: `单指双击`,
|
||
en: `Double-click`,
|
||
zh_TW: `單指雙擊`,
|
||
ja: `ダブルクリック`,
|
||
ko: `더블 클릭`,
|
||
},
|
||
touch_tap_6: {
|
||
zh: `单指三击`,
|
||
en: `Triple-click`,
|
||
zh_TW: `單指三擊`,
|
||
ja: `トリプルクリック`,
|
||
ko: `트리플 클릭`,
|
||
},
|
||
touch_tap_7: {
|
||
zh: `双指双击`,
|
||
en: `Two-finger double-click`,
|
||
zh_TW: `雙指雙擊`,
|
||
ja: `2本指ダブルクリック`,
|
||
ko: `두 손가락 더블 클릭`,
|
||
},
|
||
translate_blacklist: {
|
||
zh: `禁用翻译名单`,
|
||
en: `Translate Blacklist`,
|
||
zh_TW: `停用翻譯名單`,
|
||
ja: `翻訳ブラックリスト`,
|
||
ko: `번역 블랙리스트`,
|
||
},
|
||
disabled_orilist: {
|
||
zh: `禁用Origin名单`,
|
||
en: `Disabled Origin List`,
|
||
zh_TW: `停用 Origin 名單`,
|
||
ja: `無効化Originリスト`,
|
||
ko: `비활성화된 Origin 목록`,
|
||
},
|
||
disabled_csplist: {
|
||
zh: `禁用CSP名单`,
|
||
en: `Disabled CSP List`,
|
||
zh_TW: `停用 CSP 名單`,
|
||
ja: `無効化CSPリスト`,
|
||
ko: `비활성화된 CSP 목록`,
|
||
},
|
||
disabled_csplist_helper: {
|
||
zh: `3、通过调整CSP策略,使得某些页面能够注入JS/CSS/Media,请谨慎使用,除非您已知晓相关风险。`,
|
||
en: `3. By adjusting the CSP policy, some pages can inject JS/CSS/Media. Please use it with caution unless you are aware of the related risks.`,
|
||
zh_TW: `3. 透過調整 CSP 政策,使部分頁面可注入 JS/CSS/Media。請謹慎使用,除非您已知悉相關風險。`,
|
||
ja: `3. CSPポリシーを調整することにより、一部のページでJS/CSS/Mediaの注入が可能になります。関連するリスクを承知していない限り、慎重に使用してください。`,
|
||
ko: `3. CSP 정책을 조정하여 일부 페이지에서 JS/CSS/Media를 주입할 수 있습니다. 관련된 위험을 인지하고 있는 경우가 아니라면 주의해서 사용하십시오.`,
|
||
},
|
||
skip_langs: {
|
||
zh: `不翻译的语言`,
|
||
en: `Disable Languages`,
|
||
zh_TW: `不翻譯的語言`,
|
||
ja: `翻訳しない言語`,
|
||
ko: `번역하지 않을 언어`,
|
||
},
|
||
skip_langs_helper: {
|
||
zh: `此功能依赖准确的语言检测,建议启用远程语言检测。`,
|
||
en: `This feature relies on accurate language detection. It is recommended to enable remote language detection.`,
|
||
zh_TW: `此功能仰賴準確的語言偵測,建議啟用遠端語言偵測。`,
|
||
ja: `この機能は正確な言語検出に依存しているため、リモート言語検出を有効にすることをお勧めします。`,
|
||
ko: `이 기능은 정확한 언어 감지에 의존하므로 원격 언어 감지를 활성화하는 것이 좋습니다.`,
|
||
},
|
||
context_menus: {
|
||
zh: `右键菜单`,
|
||
en: `Context Menus`,
|
||
zh_TW: `右鍵選單`,
|
||
ja: `コンテキストメニュー`,
|
||
ko: `컨텍스트 메뉴`,
|
||
},
|
||
hide_context_menus: {
|
||
zh: `隐藏右键菜单`,
|
||
en: `Hide Context Menus`,
|
||
zh_TW: `隱藏右鍵選單`,
|
||
ja: `コンテキストメニューを隠す`,
|
||
ko: `컨텍스트 메뉴 숨기기`,
|
||
},
|
||
simple_context_menus: {
|
||
zh: `简单右键菜单`,
|
||
en: `Simple_context_menus Context Menus`,
|
||
zh_TW: `簡易右鍵選單`,
|
||
ja: `シンプルコンテキストメニュー`,
|
||
ko: `간단한 컨텍스트 메뉴`,
|
||
},
|
||
secondary_context_menus: {
|
||
zh: `二级右键菜单`,
|
||
en: `Secondary Context Menus`,
|
||
zh_TW: `次級右鍵選單`,
|
||
ja: `サブコンテキストメニュー`,
|
||
ko: `보조 컨텍스트 메뉴`,
|
||
},
|
||
mulkeys_help: {
|
||
zh: `支持用换行或英文逗号“,”分隔,轮询调用。`,
|
||
en: `Supports polling calls separated by newlines or English commas ",".`,
|
||
zh_TW: `支援以換行或英文逗號「,」分隔,輪詢呼叫。`,
|
||
ja: `改行または英語のコンマ「,」で区切ってポーリングコールをサポートします。`,
|
||
ko: `줄바꿈 또는 영어 쉼표 ","로 구분된 폴링 호출을 지원합니다.`,
|
||
},
|
||
translation_element_tag: {
|
||
zh: `译文元素标签`,
|
||
en: `Translation Element Tag`,
|
||
zh_TW: `譯文元素標籤`,
|
||
ja: `翻訳要素タグ`,
|
||
ko: `번역 요소 태그`,
|
||
},
|
||
show_only_translations: {
|
||
zh: `仅显示译文`,
|
||
en: `Show Only Translations`,
|
||
zh_TW: `僅顯示譯文`,
|
||
ja: `翻訳のみ表示`,
|
||
ko: `번역만 보기`,
|
||
},
|
||
show_only_translations_help: {
|
||
zh: `非完美实现,某些页面可能有样式等问题。`,
|
||
en: `It is not a perfect implementation and some pages may have style issues.`,
|
||
zh_TW: `此為非完美實作,部分頁面可能出現樣式等問題。`,
|
||
ja: `完全な実装ではなく、一部のページでスタイルの問題が発生する可能性があります。`,
|
||
ko: `완벽한 구현이 아니며 일부 페이지에서 스타일 문제가 발생할 수 있습니다.`,
|
||
},
|
||
translate_page_title: {
|
||
zh: `是否翻译页面标题`,
|
||
en: `Translate Page Title`,
|
||
zh_TW: `是否翻譯頁面標題`,
|
||
ja: `ページタイトルを翻訳する`,
|
||
ko: `페이지 제목 번역`,
|
||
},
|
||
more: {
|
||
zh: `更多`,
|
||
en: `More`,
|
||
zh_TW: `更多`,
|
||
ja: `もっと見る`,
|
||
ko: `더보기`,
|
||
},
|
||
less: {
|
||
zh: `更少`,
|
||
en: `Less`,
|
||
zh_TW: `更少`,
|
||
ja: `少なく`,
|
||
ko: `줄이기`,
|
||
},
|
||
fixer_selector: {
|
||
zh: `网页修复选择器`,
|
||
en: `Fixer Selector`,
|
||
zh_TW: `網頁修復選擇器`,
|
||
ja: `Web修正セレクタ`,
|
||
ko: `웹페이지 수정 선택자`,
|
||
},
|
||
reg_niutrans: {
|
||
zh: `获取小牛翻译密钥【简约翻译专属新用户注册赠送300万字符】`,
|
||
en: `Get NiuTrans APIKey [KISS Translator Exclusive New User Registration Free 3 Million Characters]`,
|
||
zh_TW: `取得小牛翻譯金鑰【簡約翻譯專屬新用戶註冊贈送 300 萬字元】`,
|
||
ja: `NiuTrans APIキーを取得 [KISS翻訳 専用 新規ユーザー登録で300万文字無料]`,
|
||
ko: `NiuTrans API 키 받기 [KISS 번역기 신규 사용자 등록 시 300만 자 무료 제공]`,
|
||
},
|
||
trigger_mode: {
|
||
zh: `触发方式`,
|
||
en: `Trigger Mode`,
|
||
zh_TW: `觸發方式`,
|
||
ja: `トリガーモード`,
|
||
ko: `트리거 모드`,
|
||
},
|
||
trigger_click: {
|
||
zh: `点击触发`,
|
||
en: `Click Trigger`,
|
||
zh_TW: `點擊觸發`,
|
||
ja: `クリックトリガー`,
|
||
ko: `클릭 트리거`,
|
||
},
|
||
trigger_hover: {
|
||
zh: `鼠标悬停触发`,
|
||
en: `Hover Trigger`,
|
||
zh_TW: `滑鼠懸停觸發`,
|
||
ja: `ホバートリガー`,
|
||
ko: `호버 트리거`,
|
||
},
|
||
trigger_select: {
|
||
zh: `选中触发`,
|
||
en: `Select Trigger`,
|
||
zh_TW: `選取觸發`,
|
||
ja: `選択トリガー`,
|
||
ko: `선택 트리거`,
|
||
},
|
||
extend_styles: {
|
||
zh: `附加样式`,
|
||
en: `Extend Styles`,
|
||
zh_TW: `附加樣式`,
|
||
ja: `拡張スタイル`,
|
||
ko: `확장 스타일`,
|
||
},
|
||
custom_option: {
|
||
zh: `自定义选项`,
|
||
en: `Custom Option`,
|
||
zh_TW: `自訂選項`,
|
||
ja: `カスタムオプション`,
|
||
ko: `사용자 지정 옵션`,
|
||
},
|
||
translate_selected_text: {
|
||
zh: `翻译选中文字`,
|
||
en: `Translate Selected Text`,
|
||
zh_TW: `翻譯選取文字`,
|
||
ja: `選択したテキストを翻訳`,
|
||
ko: `선택한 텍스트 번역`,
|
||
},
|
||
toggle_style: {
|
||
zh: `切换样式`,
|
||
en: `Toggle Style`,
|
||
zh_TW: `切換樣式`,
|
||
ja: `スタイルを切り替え`,
|
||
ko: `스타일 전환`,
|
||
},
|
||
open_menu: {
|
||
zh: `打开弹窗菜单`,
|
||
en: `Open Popup Menu`,
|
||
zh_TW: `開啟彈窗選單`,
|
||
ja: `ポップアップメニューを開く`,
|
||
ko: `팝업 메뉴 열기`,
|
||
},
|
||
open_setting: {
|
||
zh: `打开设置`,
|
||
en: `Open Setting`,
|
||
zh_TW: `開啟設定`,
|
||
ja: `設定を開く`,
|
||
ko: `설정 열기`,
|
||
},
|
||
follow_selection: {
|
||
zh: `翻译框跟随选中文本`,
|
||
en: `Transbox Follow Selection`,
|
||
zh_TW: `翻譯框跟隨選取文字`,
|
||
ja: `翻訳ボックスを選択範囲に追従`,
|
||
ko: `번역 상자가 선택 항목 따라가기`,
|
||
},
|
||
tranbox_auto_height: {
|
||
zh: `翻译框自适应高度`,
|
||
en: `Translation box adaptive height`,
|
||
zh_TW: `翻譯框自適應高度`,
|
||
ja: `翻訳ボックスの高さ自動調整`,
|
||
ko: `번역 상자 높이 자동 조절`,
|
||
},
|
||
translate_start_hook: {
|
||
zh: `翻译开始钩子函数`,
|
||
en: `Translate Start Hook`,
|
||
zh_TW: `翻譯開始 Hook`,
|
||
ja: `翻訳開始フック`,
|
||
ko: `번역 시작 후크`,
|
||
},
|
||
translate_start_hook_helper: {
|
||
zh: `翻译前时运行,入参为: {text,
|
||
fromLang,
|
||
toLang,
|
||
apiSetting,
|
||
docInfo,
|
||
glossary,}`,
|
||
en: `Run before translation, input parameters are: {text,
|
||
fromLang,
|
||
toLang,
|
||
apiSetting,
|
||
docInfo,
|
||
glossary,}`,
|
||
zh_TW: `翻譯前時運行,入參為: {text,
|
||
fromLang,
|
||
toLang,
|
||
apiSetting,
|
||
docInfo,
|
||
glossary,}`,
|
||
ja: `翻訳前に実行、入力パラメータ: {text,
|
||
fromLang,
|
||
toLang,
|
||
apiSetting,
|
||
docInfo,
|
||
glossary,}`,
|
||
ko: `번역 전 실행, 입력 매개변수: {text,
|
||
fromLang,
|
||
toLang,
|
||
apiSetting,
|
||
docInfo,
|
||
glossary,}`,
|
||
},
|
||
translate_end_hook: {
|
||
zh: `翻译完成钩子函数`,
|
||
en: `Translate End Hook`,
|
||
zh_TW: `翻譯完成 Hook`,
|
||
ja: `翻訳完了フック`,
|
||
ko: `번역 완료 후크`,
|
||
},
|
||
translate_end_hook_helper: {
|
||
zh: `翻译完成时运行,入参为: ({hostNode, parentNode, nodes, wrapperNode, innerNode})`,
|
||
en: `Run when translation is complete, input parameters are: ({hostNode, parentNode, nodes, wrapperNode, innerNode})`,
|
||
zh_TW: `翻譯完成時運行,入參為: ({hostNode, parentNode, nodes, wrapperNode, innerNode})`,
|
||
ja: `翻訳完了時に実行、入力パラメータ: ({hostNode, parentNode, nodes, wrapperNode, innerNode})`,
|
||
ko: `번역 완료 시 실행, 입력 매개변수: ({hostNode, parentNode, nodes, wrapperNode, innerNode})`,
|
||
},
|
||
translate_remove_hook: {
|
||
zh: `翻译移除钩子函数`,
|
||
en: `Translate Removed Hook`,
|
||
zh_TW: `翻譯移除 Hook`,
|
||
ja: `翻訳削除フック`,
|
||
ko: `번역 제거 후크`,
|
||
},
|
||
translate_remove_hook_helper: {
|
||
zh: `翻译移除时运行,入参为: 翻译节点。`,
|
||
en: `Run when translation is removed, the input parameters are: translation node.`,
|
||
zh_TW: `移除翻譯時執行,入參為:翻譯節點。`,
|
||
ja: `翻訳削除時に実行、入力パラメータ: 翻訳ノード。`,
|
||
ko: `번역 제거 시 실행, 입력 매개변수: 번역 노드.`,
|
||
},
|
||
english_dict: {
|
||
zh: `英文词典`,
|
||
en: `English Dictionary`,
|
||
zh_TW: `英文字典`,
|
||
ja: `英語辞書`,
|
||
ko: `영어 사전`,
|
||
},
|
||
english_suggest: {
|
||
zh: `英文建议`,
|
||
en: `English Suggest`,
|
||
zh_TW: `英文建議`,
|
||
ja: `英語サジェスト`,
|
||
ko: `영어 제안`,
|
||
},
|
||
api_name: {
|
||
zh: `接口名称`,
|
||
en: `API Name`,
|
||
zh_TW: `介面名稱`,
|
||
ja: `API名`,
|
||
ko: `API 이름`,
|
||
},
|
||
is_disabled: {
|
||
zh: `是否禁用`,
|
||
en: `Is Disabled`,
|
||
zh_TW: `是否停用`,
|
||
ja: `無効にする`,
|
||
ko: `비활성화 여부`,
|
||
},
|
||
translate_selected: {
|
||
zh: `是否启用划词翻译`,
|
||
en: `If translate selected`,
|
||
zh_TW: `是否啟用劃詞翻譯`,
|
||
ja: `選択範囲の翻訳を有効にする`,
|
||
ko: `선택 번역 사용 여부`,
|
||
},
|
||
use_batch_fetch: {
|
||
zh: `是否聚合发送翻译请求`,
|
||
en: `Whether to aggregate and send translation requests`,
|
||
zh_TW: `是否聚合發送翻譯請求`,
|
||
ja: `翻訳リクエストをまとめて送信`,
|
||
ko: `번역 요청 일괄 전송 여부`,
|
||
},
|
||
batch_interval: {
|
||
zh: `聚合请求等待时间(100-10000)`,
|
||
en: `Aggregation request waiting time (100-10000)`,
|
||
zh_TW: `聚合請求等待時間(100-10000)`,
|
||
ja: `一括リクエストの待機時間(100-10000)`,
|
||
ko: `일괄 요청 대기 시간(100-10000)`,
|
||
},
|
||
batch_size: {
|
||
zh: `聚合请求最大段落数(1-100)`,
|
||
en: `Maximum number of paragraphs in an aggregation request (1-100)`,
|
||
zh_TW: `聚合請求最大段落數(1-100)`,
|
||
ja: `一括リクエストの最大段落数(1-100)`,
|
||
ko: `일괄 요청 최대 단락 수(1-100)`,
|
||
},
|
||
batch_length: {
|
||
zh: `聚合请求最大文本长度(1000-100000)`,
|
||
en: `Maximum text length for aggregation requests (1000-100000)`,
|
||
zh_TW: `聚合請求最大文字長度(1000-100000)`,
|
||
ja: `一括リクエストの最大テキスト長(1000-100000)`,
|
||
ko: `일괄 요청 최대 텍스트 길이(1000-100000)`,
|
||
},
|
||
use_context: {
|
||
zh: `是否启用智能上下文`,
|
||
en: `Whether to enable AI context`,
|
||
zh_TW: `是否啟用智慧上下文`,
|
||
ja: `AIコンテキストを有効にする`,
|
||
ko: `AI 컨텍스트 활성화 여부`,
|
||
},
|
||
context_size: {
|
||
zh: `上下文会话数量(1-20)`,
|
||
en: `Number of context sessions(1-20)`,
|
||
zh_TW: `上下文會話數量(1-20)`,
|
||
ja: `コンテキストセッション数(1-20)`,
|
||
ko: `컨텍스트 세션 수(1-20)`,
|
||
},
|
||
auto_scan_page: {
|
||
zh: `自动扫描页面`,
|
||
en: `Auto scan page`,
|
||
zh_TW: `自動掃描頁面`,
|
||
ja: `ページを自動スキャン`,
|
||
ko: `페이지 자동 스캔`,
|
||
},
|
||
has_rich_text: {
|
||
zh: `启用富文本翻译`,
|
||
en: `Enable rich text translation`,
|
||
zh_TW: `啟用富文本翻譯`,
|
||
ja: `リッチテキスト翻訳を有効にする`,
|
||
ko: `리치 텍스트 번역 활성화`,
|
||
},
|
||
has_shadowroot: {
|
||
zh: `扫描Shadowroot`,
|
||
en: `Scan Shadowroot`,
|
||
zh_TW: `掃描Shadowroot`,
|
||
ja: `Shadowrootをスキャン`,
|
||
ko: `Shadowroot 스캔`,
|
||
},
|
||
mousehover_translate: {
|
||
zh: `鼠标悬停翻译`,
|
||
en: `Mouseover Translation`,
|
||
zh_TW: `滑鼠懸停翻譯`,
|
||
ja: `マウスオーバー翻訳`,
|
||
ko: `마우스오버 번역`,
|
||
},
|
||
use_mousehover_translation: {
|
||
zh: `启用鼠标悬停翻译`,
|
||
en: `Enable mouseover translation`,
|
||
zh_TW: `啟用滑鼠懸停翻譯`,
|
||
ja: `マウスオーバー翻訳を有効にする`,
|
||
ko: `마우스오버 번역 활성화`,
|
||
},
|
||
selected_translation_alert: {
|
||
zh: `划词翻译的开启和关闭请到“规则设置”里面设置。`,
|
||
en: `To turn selected translation on or off, please go to "Rule Settings".`,
|
||
zh_TW: `劃詞翻譯的開啟和關閉請到「規則設定」裡面設定。`,
|
||
ja: `選択翻訳のオン/オフは「ルール設定」で行ってください。`,
|
||
ko: `선택 번역 활성화/비활성화는 "규칙 설정"에서 하십시오.`,
|
||
},
|
||
mousehover_key_help: {
|
||
zh: `当快捷键置空时表示鼠标懸停直接翻译`,
|
||
en: `When the shortcut key is empty, it means that the mouse hovers to translate directly`,
|
||
zh_TW: `當快捷鍵置空時表示滑鼠懸停直接翻譯`,
|
||
ja: `ショートカットキーが空の場合、マウスオーバーで直接翻訳します`,
|
||
ko: `단축키가 비어 있으면 마우스오버 시 바로 번역합니다`,
|
||
},
|
||
autoscan_alt: {
|
||
zh: `自动扫描`,
|
||
en: `Auto Scan`,
|
||
zh_TW: `自動掃描`,
|
||
ja: `自動スキャン`,
|
||
ko: `자동 스캔`,
|
||
},
|
||
shadowroot_alt: {
|
||
zh: `ShadowRoot`,
|
||
en: `ShadowRoot`,
|
||
zh_TW: `ShadowRoot`,
|
||
ja: `ShadowRoot`,
|
||
ko: `ShadowRoot`,
|
||
},
|
||
richtext_alt: {
|
||
zh: `保留富文本`,
|
||
en: `Rich Text`,
|
||
zh_TW: `保留富文本`,
|
||
ja: `リッチテキスト`,
|
||
ko: `리치 텍스트`,
|
||
},
|
||
transonly_alt: {
|
||
zh: `隐藏原文`,
|
||
en: `Hide Original`,
|
||
zh_TW: `隱藏原文`,
|
||
ja: `原文を隠す`,
|
||
ko: `원문 숨기기`,
|
||
},
|
||
confirm_title: {
|
||
zh: `确认`,
|
||
en: `Confirm`,
|
||
zh_TW: `確認`,
|
||
ja: `確認`,
|
||
ko: `확인`,
|
||
},
|
||
confirm_message: {
|
||
zh: `确定操作吗?`,
|
||
en: `Are you sure you want to proceed?`,
|
||
zh_TW: `確定操作嗎?`,
|
||
ja: `操作を続行しますか?`,
|
||
ko: `계속하시겠습니까?`,
|
||
},
|
||
confirm_action: {
|
||
zh: `确定`,
|
||
en: `Confirm`,
|
||
zh_TW: `確定`,
|
||
ja: `確認`,
|
||
ko: `확인`,
|
||
},
|
||
cancel_action: {
|
||
zh: `取消`,
|
||
en: `Cancel`,
|
||
zh_TW: `取消`,
|
||
ja: `キャンセル`,
|
||
ko: `취소`,
|
||
},
|
||
pls_press_shortcut: {
|
||
zh: `请按下快捷键组合`,
|
||
en: `Please press the shortcut key combination`,
|
||
zh_TW: `請按下快速鍵組合`,
|
||
ja: `ショートカットキーを押してください`,
|
||
ko: `단축키 조합을 누르세요`,
|
||
},
|
||
load_setting_err: {
|
||
zh: `数据加载出错,请刷新页面或卸载后重新安装。`,
|
||
en: `Please press the shortcut key combination`, // 注意:这里的英文和繁体是用户上次错误的拷贝
|
||
zh_TW: `請按下快速鍵組合`, // 注意:这里的英文和繁体是用户上次错误的拷贝
|
||
ja: `データ読み込みエラー。ページを更新するか、アンインストール後に再インストールしてください。`, // 翻译自 "zh"
|
||
ko: `데이터 로딩 오류. 페이지를 새로 고치거나 제거 후 다시 설치하세요.`, // 翻译自 "zh"
|
||
},
|
||
translation_style: {
|
||
zh: `翻译风格`,
|
||
en: `Translation style`,
|
||
zh_TW: `翻譯風格`,
|
||
ja: `翻訳スタイル`,
|
||
ko: `번역 스타일`,
|
||
},
|
||
placeholder: {
|
||
zh: `占位符`,
|
||
en: `Placeholder`,
|
||
zh_TW: `佔位符`,
|
||
ja: `プレースホルダー`,
|
||
ko: `플레이스홀더`,
|
||
},
|
||
tag_name: {
|
||
zh: `占位标签名`,
|
||
en: `Placeholder tag name`,
|
||
zh_TW: `佔位標名`,
|
||
ja: `プレースホルダータグ名`,
|
||
ko: `플레이스홀더 태그 이름`,
|
||
},
|
||
system_prompt_helper: {
|
||
zh: `在未完全理解默认Prompt的情况下,请勿随意修改,否则可能无法工作。`,
|
||
en: `Do not modify the default prompt without fully understanding it, otherwise it may not work.`,
|
||
zh_TW: `在未完全理解預設Prompt的情況下,請勿隨意修改,否則可能無法運作。`,
|
||
ja: `デフォルトのプロンプトを完全に理解せずに変更しないでください。動作しなくなる可能性があります。`,
|
||
ko: `기본 프롬프트를 완전히 이해하지 않고 수정하지 마십시오. 작동하지 않을 수 있습니다.`,
|
||
},
|
||
if_pre_init: {
|
||
zh: `是否预初始化`,
|
||
en: `Whether to pre-initialize`,
|
||
zh_TW: `是否預初始化`,
|
||
ja: `事前初期化するか`,
|
||
ko: `사전 초기화 여부`,
|
||
},
|
||
export_old: {
|
||
zh: `导出旧版`,
|
||
en: `Export old version`,
|
||
zh_TW: `匯出舊版`,
|
||
ja: `旧バージョンをエクスポート`,
|
||
ko: `이전 버전 내보내기`,
|
||
},
|
||
favorite_words_helper: {
|
||
zh: `导入词汇请使用txt文件,每一行一个单词。`,
|
||
en: `To import vocabulary, please use a txt file with one word per line.`,
|
||
zh_TW: `匯入詞彙請使用txt文件,每一行一個單字。`,
|
||
ja: `単語をインポートするには、1行に1単語ずつ記述したtxtファイルを使用してください。`,
|
||
ko: `단어를 가져오려면 한 줄에 한 단어씩 .txt 파일을 사용하세요.`,
|
||
},
|
||
btn_tip_click_away: {
|
||
zh: `失焦隐藏/显示`,
|
||
en: `Loss of focus hide/show`,
|
||
zh_TW: `失焦隱藏/顯示`,
|
||
ja: `フォーカスを失った時に非表示/表示`,
|
||
ko: `포커스 잃을 시 숨기기/표시`,
|
||
},
|
||
btn_tip_follow_selection: {
|
||
zh: `跟随/固定模式`,
|
||
en: `Follow/Fixed Mode`,
|
||
zh_TW: `跟隨/固定模式`,
|
||
ja: `追従/固定モード`,
|
||
ko: `따라가기/고정 모드`,
|
||
},
|
||
btn_tip_simple_style: {
|
||
zh: `迷你/常规模式`,
|
||
en: `Mini/Regular Mode`,
|
||
zh_TW: `迷你/常規模式`,
|
||
ja: `ミニ/通常モード`,
|
||
ko: `미니/일반 모드`,
|
||
},
|
||
api_placeholder: {
|
||
zh: `占位符`,
|
||
en: `Placeholder`,
|
||
zh_TW: `佔位符`,
|
||
ja: `プレースホルダー`,
|
||
ko: `플레이스홀더`,
|
||
},
|
||
api_placetag: {
|
||
zh: `占位标签`,
|
||
en: `Placeholder tags`,
|
||
zh_TW: `佔位標`,
|
||
ja: `プレースホルダタグ`,
|
||
ko: `플레이스홀더 태그`,
|
||
},
|
||
detected_lang: {
|
||
zh: `语言检测`,
|
||
en: `Language detection`,
|
||
zh_TW: `語言偵測`,
|
||
ja: `言語検出`,
|
||
ko: `언어 감지`,
|
||
},
|
||
detected_result: {
|
||
zh: `检测结果`,
|
||
en: `Detect result`,
|
||
zh_TW: `檢測結果`,
|
||
ja: `検出結果`,
|
||
ko: `감지 결과`,
|
||
},
|
||
subtitle_translate: {
|
||
zh: `字幕翻译`,
|
||
en: `Subtitle Translation`,
|
||
zh_TW: `字幕翻譯`,
|
||
ja: `字幕翻訳`,
|
||
ko: `자막 번역`,
|
||
},
|
||
toggle_subtitle_translate: {
|
||
zh: `启用字幕翻译`,
|
||
en: `Enable subtitle translation`,
|
||
zh_TW: `啟用字幕翻譯`,
|
||
ja: `字幕翻訳を有効にする`,
|
||
ko: `자막 번역 활성화`,
|
||
},
|
||
is_bilingual_view: {
|
||
zh: `双语显示`,
|
||
en: `Enable bilingual display`,
|
||
zh_TW: `雙語顯示`,
|
||
ja: `バイリンガル表示`,
|
||
ko: `이중 언어 표시`,
|
||
},
|
||
is_skip_ad: {
|
||
zh: `快进广告`,
|
||
en: `Skip AD`,
|
||
zh_TW: `快轉廣告`,
|
||
ja: `広告をスキップ`,
|
||
ko: `광고 건너뛰기`,
|
||
},
|
||
download_subtitles: {
|
||
zh: `下载字幕`,
|
||
en: `Download subtitles`,
|
||
zh_TW: `下载字幕`,
|
||
ja: `字幕をダウンロード`,
|
||
ko: `자막 다운로드`,
|
||
},
|
||
background_styles: {
|
||
zh: `背景样式`,
|
||
en: `DBackground Style`,
|
||
zh_TW: `背景樣式`,
|
||
ja: `背景スタイル`,
|
||
ko: `배경 스타일`,
|
||
},
|
||
origin_styles: {
|
||
zh: `原文样式`,
|
||
en: `Original style`,
|
||
zh_TW: `原文樣式`,
|
||
ja: `原文スタイル`,
|
||
ko: `원문 스타일`,
|
||
},
|
||
translation_styles: {
|
||
zh: `译文样式`,
|
||
en: `Translation style`,
|
||
zh_TW: `譯文樣式`,
|
||
ja: `翻訳スタイル`,
|
||
ko: `번역문 스타일`,
|
||
},
|
||
ai_segmentation: {
|
||
zh: `AI智能断句`,
|
||
en: `AI intelligent punctuation`,
|
||
zh_TW: `AI智慧斷句`,
|
||
ja: `AIによるインテリジェントな文分割`,
|
||
ko: `AI 지능형 문장 분리`,
|
||
},
|
||
ai_chunk_length: {
|
||
zh: `AI处理切割长度(200-20000)`,
|
||
en: `AI processing chunk length(200-20000)`,
|
||
zh_TW: `AI处理切割长度(200-20000)`,
|
||
ja: `AI処理のチャンク長(200-20000)`,
|
||
ko: `AI 처리 청크 길이(200-20000)`,
|
||
},
|
||
subtitle_helper_1: {
|
||
zh: `1、目前仅支持Youtube桌面网站。`,
|
||
en: `1. Currently only supports Youtube desktop website.`,
|
||
zh_TW: `1.目前僅支援Youtube桌面網站,且僅支援瀏覽器擴充功能。`,
|
||
ja: `1. 現在、Youtubeのデスクトップサイトのみサポートしています。`,
|
||
ko: `1. 현재 Youtube 데스크톱 웹사이트만 지원합니다.`,
|
||
},
|
||
subtitle_helper_2: {
|
||
zh: `2、插件内置基础的字幕合并、断句算法,可满足大部分情况。`,
|
||
en: `2. The plug-in has built-in basic subtitle merging and sentence segmentation algorithms, which can meet most situations.`,
|
||
zh_TW: `2.插件內建基礎的字幕合併、斷句演算法,可滿足大部分情況。`,
|
||
ja: `2. プラグインには基本的な字幕結合と文分割アルゴリズムが組み込まれており、ほとんどの状況に対応できます。`,
|
||
ko: `2. 플러그인에는 기본적인 자막 병합 및 문장 분리 알고리즘이 내장되어 있어 대부분의 상황에 대응할 수 있습니다.`,
|
||
},
|
||
subtitle_helper_3: {
|
||
zh: `3、亦可以启用AI智能断句,但需考虑切割长度及AI接口能力,可能处理时间会很长,甚至处理失败,导致无法看到字幕。`,
|
||
en: `3. You can also enable AI intelligent segmentation, but you need to consider the segmentation length and AI interface capabilities. The processing time may be very long or even fail, resulting in the inability to see subtitles.`,
|
||
zh_TW: `3.亦可啟用AI智能斷句,但需考慮切割長度及AI介面能力,可能處理時間會很長,甚至處理失敗,導致無法看到字幕。`,
|
||
ja: `3. AIインテリジェント文分割を有効にすることもできますが、分割長とAIインターフェースの能力を考慮する必要があり、処理時間が長くなったり、失敗して字幕が表示されなくなる可能性があります。`,
|
||
ko: `3. AI 지능형 분리를 활성화할 수도 있지만, 분리 길이와 AI 인터페이스의 능력을 고려해야 하며, 처리 시간이 매우 길거나 실패하여 자막을 볼 수 없게 될 수도 있습니다.`,
|
||
},
|
||
default_styles_example: {
|
||
zh: `默认样式参考:`,
|
||
en: `Default styles reference:`,
|
||
zh_TW: `認樣式參考:`,
|
||
ja: `デフォルトスタイルの例:`,
|
||
ko: `기본 스타일 예시:`,
|
||
},
|
||
subtitle_load_succeed: {
|
||
zh: `双语字幕加载成功!`,
|
||
en: `Bilingual subtitles loaded successfully!`,
|
||
zh_TW: `双语字幕加载成功!`,
|
||
ja: `バイリンガル字幕の読み込みに成功しました!`,
|
||
ko: `이중 언어 자막 로딩 성공!`,
|
||
},
|
||
subtitle_load_failed: {
|
||
zh: `双语字幕加载失败!`,
|
||
en: `Failed to load bilingual subtitles!`,
|
||
zh_TW: `双语字幕加载失败!`,
|
||
ja: `バイリンガル字幕の読み込みに失敗しました!`,
|
||
ko: `이중 언어 자막 로딩 실패!`,
|
||
},
|
||
try_get_subtitle_data: {
|
||
zh: `尝试获取字幕数据,请稍候...`,
|
||
en: `Trying to get subtitle data, please wait...`,
|
||
zh_TW: `尝试获取字幕数据,请稍候...`,
|
||
ja: `字幕データを取得しています。お待ちください...`,
|
||
ko: `자막 데이터를 가져오는 중입니다. 잠시 기다려주세요...`,
|
||
},
|
||
subtitle_data_processing: {
|
||
zh: `字幕数据处理中...`,
|
||
en: `Subtitle data processing...`,
|
||
zh_TW: `字幕数据处理中...`,
|
||
ja: `字幕データを処理中...`,
|
||
ko: `자막 데이터 처리 중...`,
|
||
},
|
||
starting_to_process_subtitle: {
|
||
zh: `开始处理字幕数据...`,
|
||
en: `Starting to process subtitle data...`,
|
||
zh_TW: `开始处理字幕数据...`,
|
||
ja: `字幕データの処理を開始します...`,
|
||
ko: `자막 데이터 처리를 시작합니다...`,
|
||
},
|
||
subtitle_data_is_ready: {
|
||
zh: `字幕数据已准备就绪,请点击KT按钮加载`,
|
||
en: `The subtitle data is ready, please click the KT button to load it`,
|
||
zh_TW: `字幕資料已準備就緒,請點擊KT按鈕加載`,
|
||
ja: `字幕データの準備ができました。KTボタンをクリックして読み込んでください`,
|
||
ko: `자막 데이터가 준비되었습니다. KT 버튼을 클릭하여 로드하세요`,
|
||
},
|
||
starting_reprocess_events: {
|
||
zh: `重新处理字幕数据...`,
|
||
en: `Reprocess the subtitle data...`,
|
||
zh_TW: `重新处理字幕数据...`,
|
||
ja: `字幕データを再処理しています...`,
|
||
ko: `자막 데이터를 다시 처리 중...`,
|
||
},
|
||
waitting_for_subtitle: {
|
||
zh: `请等待字幕数据`,
|
||
en: `Please wait for the subtitle data.`,
|
||
zh_TW: `请等待字幕数据`,
|
||
ja: `字幕データを待機中`,
|
||
ko: `자막 데이터를 기다려주세요`,
|
||
},
|
||
ai_processing_pls_wait: {
|
||
zh: `AI处理中,请稍等...`,
|
||
en: `AI processing in progress, please wait...`,
|
||
zh_TW: `AI处理中,请稍等...`,
|
||
ja: `AI処理中です。お待ちください...`,
|
||
ko: `AI 처리 중입니다. 잠시 기다려주세요...`,
|
||
},
|
||
processing_subtitles: {
|
||
zh: `字幕处理中...`,
|
||
en: `Subtitle processing...`,
|
||
zh_TW: `字幕处理中...`,
|
||
ja: `字幕処理中...`,
|
||
ko: `자막 처리 중...`,
|
||
},
|
||
waiting_subtitles: {
|
||
zh: `等待字幕中`,
|
||
en: `Waiting for subtitles`,
|
||
zh_TW: `等待字幕中`,
|
||
ja: `字幕待機中`,
|
||
ko: `자막 대기 중`,
|
||
},
|
||
subtitle_is_not_yet_ready: {
|
||
zh: `字幕数据尚未准备好`,
|
||
en: `Subtitle is not yet ready.`,
|
||
zh_TW: `字幕数据尚未准备好`,
|
||
ja: `字幕データの準備がまだできていません。`,
|
||
ko: `자막 데이터가 아직 준비되지 않았습니다.`,
|
||
},
|
||
log_level: {
|
||
zh: `日志级别`,
|
||
en: `Log Level`,
|
||
zh_TW: `日誌等級`,
|
||
ja: `ログレベル`,
|
||
ko: `로그 레벨`,
|
||
},
|
||
goto_custom_api_example: {
|
||
zh: `点击查看【自定义接口示例】`,
|
||
en: `Click to view [Custom Interface Example]`,
|
||
zh_TW: `點選查看【自訂介面範例】`,
|
||
ja: `【カスタムインターフェースの例】を見る`,
|
||
ko: `[사용자 지정 인터페이스 예시] 보기`,
|
||
},
|
||
split_paragraph: {
|
||
zh: `切分长段落`,
|
||
en: `Split long paragraph`,
|
||
zh_TW: `切分長段落`,
|
||
ja: `長い段落を分割`,
|
||
ko: `긴 단락 나누기`,
|
||
},
|
||
split_length: {
|
||
zh: `切分长度 (0-10000)`,
|
||
en: `Segmentation length(0-10000)`,
|
||
zh_TW: `切分長度(0-10000)`,
|
||
ja: `分割長(0-10000)`,
|
||
ko: `분할 길이(0-10000)`,
|
||
},
|
||
highlight_words: {
|
||
zh: `高亮收藏词汇`,
|
||
en: `Highlight favorite words`,
|
||
zh_TW: `高亮收藏詞彙`,
|
||
ja: `お気に入り単語をハイライト`,
|
||
ko: `즐겨찾는 단어 하이라이트`,
|
||
},
|
||
split_disable: {
|
||
zh: `禁用`,
|
||
en: `Disable`,
|
||
zh_TW: `停用`,
|
||
ja: `無効`,
|
||
ko: `비활성화`,
|
||
},
|
||
split_textlength: {
|
||
zh: `按照长度切分`,
|
||
en: `Split by length`,
|
||
zh_TW: `依長度切分`,
|
||
ja: `長さで分割`,
|
||
ko: `길이로 나누기`,
|
||
},
|
||
split_punctuation: {
|
||
zh: `按照句子切分`,
|
||
en: `Split by sentence`,
|
||
zh_TW: `按照句子切分`,
|
||
ja: `文で分割`,
|
||
ko: `문장으로 나누기`,
|
||
},
|
||
highlight_disable: {
|
||
zh: `禁用`,
|
||
en: `Disable`,
|
||
zh_TW: `停用`,
|
||
ja: `無効`,
|
||
ko: `비활성화`,
|
||
},
|
||
highlight_beforetrans: {
|
||
zh: `翻译前高亮`,
|
||
en: `Highlight before translation`,
|
||
zh_TW: `翻譯前高亮`,
|
||
ja: `翻訳前にハイライト`,
|
||
ko: `번역 전 하이라이트`,
|
||
},
|
||
highlight_aftertrans: {
|
||
zh: `翻译后高亮`,
|
||
en: `Highlight after translation`,
|
||
zh_TW: `翻譯後高亮`,
|
||
ja: `翻訳後にハイライト`,
|
||
ko: `번역 후 하이라이트`,
|
||
},
|
||
pagescroll_root_margin: {
|
||
zh: `滚动加载提前触发 (0-10000px)`,
|
||
en: `Early triggering of scroll loading (0-10000px)`,
|
||
zh_TW: `滾動載入提前觸發 (0-10000px)`,
|
||
ja: `スクロール読み込みの事前トリガー (0-10000px)`,
|
||
ko: `스크롤 로딩 미리 트리거 (0-10000px)`,
|
||
},
|
||
styles_setting: {
|
||
zh: `样式设置`,
|
||
en: `Style Setting`,
|
||
zh_TW: `樣式設定`,
|
||
ja: `スタイル設定`,
|
||
ko: `스타일 설정`,
|
||
},
|
||
style_name: {
|
||
zh: `样式名称`,
|
||
en: `Style Name`,
|
||
zh_TW: `樣式名稱`,
|
||
ja: `スタイル名`,
|
||
ko: `스타일 이름`,
|
||
},
|
||
style_code: {
|
||
zh: `样式代码`,
|
||
en: `Style Code`,
|
||
zh_TW: `樣式程式碼`,
|
||
ja: `スタイルコード`,
|
||
ko: `스타일 코드`,
|
||
},
|
||
pre_trans_seconds: {
|
||
zh: `提前翻译时长 (10-36000s)`,
|
||
en: `Pre translation seconds (10-36000s)`,
|
||
zh_TW: `提前翻译时长 (10-36000s)`,
|
||
ja: `事前翻訳時間 (10-36000s)`,
|
||
ko: `미리 번역 시간 (10-36000s)`,
|
||
},
|
||
throttle_trans_interval: {
|
||
zh: `节流翻译间隔 (1-3600s)`,
|
||
en: `Throttling translation interval (1-3600s)`,
|
||
zh_TW: `节流翻译间隔 (1-3600s)`,
|
||
ja: `翻訳間隔のスロットリング (1-3600s)`,
|
||
ko: `번역 간격 조절 (1-3600s)`,
|
||
},
|
||
show_origin_subtitle: {
|
||
zh: `显示原字幕`,
|
||
en: `Show original subtitles`,
|
||
zh_TW: `显示原字幕`,
|
||
ja: `原字幕を表示`,
|
||
ko: `원본 자막 표시`,
|
||
},
|
||
subtitle_same_lang: {
|
||
zh: `原语言与目标语言相同,字幕不予处理`,
|
||
en: `The source language is the same as the target language, subtitles will not be processed`,
|
||
zh_TW: `原語言與目標語言相同時,字幕不予處理`,
|
||
ja: `原言語と目標言語が同じ場合、字幕は処理されません`,
|
||
ko: `원본 언어와 대상 언어가 동일한 경우, 자막은 처리되지 않습니다`,
|
||
},
|
||
plain_text_translate: {
|
||
zh: `纯文本翻译`,
|
||
en: `Plain text translation`,
|
||
zh_TW: `純文字翻譯`,
|
||
ja: `プレーンテキスト翻訳`,
|
||
ko: `순수 텍스트 번역`,
|
||
},
|
||
};
|
||
|
||
export const newI18n = (lang) => (key) => I18N[key]?.[lang] || "";
|