add
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
import { Category } from '@/types/tools';
|
||||
|
||||
// 定义工具类别
|
||||
const categories: Category[] = [
|
||||
{ code: "all", active: true },
|
||||
{ code: "common", active: false },
|
||||
{ code: "json", active: false },
|
||||
{ code: "encoding", active: false },
|
||||
{ code: "network", active: false },
|
||||
{ code: "datetime", active: false },
|
||||
{ code: "code", active: false },
|
||||
{ code: "text", active: false },
|
||||
{ code: "image", active: false },
|
||||
{ code: "frontend", active: false },
|
||||
];
|
||||
|
||||
export default categories;
|
||||
@@ -0,0 +1,43 @@
|
||||
export const commonEn = {
|
||||
common: {
|
||||
backToHome: 'Back',
|
||||
theme: {
|
||||
light: 'Light Mode',
|
||||
dark: 'Dark Mode'
|
||||
},
|
||||
language: {
|
||||
title: 'Language',
|
||||
zh: 'Chinese',
|
||||
en: 'English'
|
||||
},
|
||||
search: 'Search tools...',
|
||||
favorites: 'Favorites',
|
||||
viewFavorites: 'View Favorites',
|
||||
addedToFavorites: 'Added to favorites!',
|
||||
allTools: 'All Tools',
|
||||
contact: 'Contact Us',
|
||||
contactEmail: 'Contact Email',
|
||||
copyEmail: 'Copy Email',
|
||||
copySuccess: 'Copied Successfully',
|
||||
loading: 'Loading...',
|
||||
siteDesc: 'Efficient Development Tool Integration Platform',
|
||||
productRecommend: 'Product Recommendations',
|
||||
feedback: 'Provide Feedback',
|
||||
siteName: 'JiSuXiang'
|
||||
},
|
||||
categories: {
|
||||
all: 'All Tools',
|
||||
common: 'Common Tools',
|
||||
json: 'JSON Tools',
|
||||
encoding: 'Encoding & Encryption',
|
||||
network: 'Network Tools',
|
||||
datetime: 'Date & Time',
|
||||
code: 'Code Tools',
|
||||
text: 'Text Processing',
|
||||
image: 'Image Tools',
|
||||
frontend: 'Frontend Dev',
|
||||
favorites: 'My Favorites'
|
||||
}
|
||||
};
|
||||
|
||||
export default commonEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import commonZh from './zh';
|
||||
import commonEn from './en';
|
||||
|
||||
export const common = {
|
||||
zh: commonZh,
|
||||
en: commonEn
|
||||
};
|
||||
|
||||
export default common;
|
||||
@@ -0,0 +1,43 @@
|
||||
export const commonZh = {
|
||||
common: {
|
||||
backToHome: '返回',
|
||||
theme: {
|
||||
light: '浅色模式',
|
||||
dark: '深色模式'
|
||||
},
|
||||
language: {
|
||||
title: '语言',
|
||||
zh: '中文',
|
||||
en: '英文'
|
||||
},
|
||||
search: '搜索工具...',
|
||||
favorites: '收藏夹',
|
||||
viewFavorites: '查看收藏',
|
||||
addedToFavorites: '已添加到收藏夹!',
|
||||
allTools: '全部工具',
|
||||
contact: '联系我们',
|
||||
contactEmail: '联系邮箱',
|
||||
copyEmail: '复制邮箱',
|
||||
copySuccess: '复制成功',
|
||||
loading: '加载中...',
|
||||
siteDesc: '高效开发工具集成平台',
|
||||
productRecommend: '产品推荐',
|
||||
feedback: '提供反馈',
|
||||
siteName: '极速箱'
|
||||
},
|
||||
categories: {
|
||||
all: '全部工具',
|
||||
common: '常用工具',
|
||||
json: 'JSON工具',
|
||||
encoding: '编码加密',
|
||||
network: '网络工具',
|
||||
datetime: '时间日期',
|
||||
code: '代码工具',
|
||||
text: '文本处理',
|
||||
image: '图像工具',
|
||||
frontend: '前端开发',
|
||||
favorites: '我的收藏'
|
||||
}
|
||||
};
|
||||
|
||||
export default commonZh;
|
||||
@@ -0,0 +1,31 @@
|
||||
import commonEn from './common/en';
|
||||
import tools from './tools';
|
||||
|
||||
export const en = {
|
||||
...commonEn,
|
||||
tools: {
|
||||
json_formatter: tools.json_formatter.en,
|
||||
regex_tester: tools.regex_tester.en,
|
||||
timestamp_converter: tools.timestamp_converter.en,
|
||||
encoding_converter: tools.encoding_converter.en,
|
||||
code_formatter: tools.code_formatter.en,
|
||||
color_tools: tools.color_tools.en,
|
||||
crypto_tools: tools.crypto_tools.en,
|
||||
css_gradient_generator: tools.css_gradient_generator.en,
|
||||
date_calculator: tools.date_calculator.en,
|
||||
html_markdown_converter: tools.html_markdown_converter.en,
|
||||
http_tester: tools.http_tester.en,
|
||||
image_compressor: tools.image_compressor.en,
|
||||
ip_lookup: tools.ip_lookup.en,
|
||||
json_converter: tools.json_converter.en,
|
||||
json_editor: tools.json_editor.en,
|
||||
jwt_decoder: tools.jwt_decoder.en,
|
||||
qrcode_generator: tools.qrcode_generator.en,
|
||||
text_counter: tools.text_counter.en,
|
||||
timezone_converter: tools.timezone_converter.en,
|
||||
unicode_converter: tools.unicode_converter.en,
|
||||
url_encoder: tools.url_encoder.en
|
||||
}
|
||||
};
|
||||
|
||||
export default en;
|
||||
@@ -0,0 +1,12 @@
|
||||
import zh from './zh';
|
||||
import en from './en';
|
||||
|
||||
export const languages = {
|
||||
zh,
|
||||
en
|
||||
};
|
||||
|
||||
export type Language = keyof typeof languages;
|
||||
export type LanguageData = typeof zh | typeof en;
|
||||
|
||||
export default languages;
|
||||
@@ -0,0 +1,51 @@
|
||||
export const codeFormatterEn = {
|
||||
title: 'Code Formatter',
|
||||
description: 'Code beautifier for HTML/CSS/JS/SQL and more',
|
||||
warning_missing_files: 'Warning: Formatting tool files may be missing, functionality may be limited',
|
||||
load_failed: 'Failed to load formatting library, please refresh the page and try again',
|
||||
error_empty_input: 'Please enter code to format',
|
||||
error_browser_only: 'Formatting is only available in browsers',
|
||||
error_library_loading: 'Formatting library has not finished loading, please try again later',
|
||||
error_unsupported_language: 'Unsupported language type: {language}',
|
||||
error_prettier: 'Formatting library error: {message}',
|
||||
error_formatting: 'Formatting error: {message}',
|
||||
error_unknown: 'Unknown error',
|
||||
error_initialization: 'Initialization failed',
|
||||
input_code: 'Input Code',
|
||||
formatted_result: 'Formatted Result',
|
||||
input_placeholder: 'Please enter {language} code...',
|
||||
result_placeholder: 'Formatted code will be displayed here',
|
||||
click_format: 'Click the "Format" button below to process',
|
||||
load_example: 'Load Example',
|
||||
clear: 'Clear',
|
||||
copy_failed: 'Copy failed:',
|
||||
formatting_error_title: 'Formatting Error',
|
||||
format: 'Format',
|
||||
processing: 'Processing...',
|
||||
loading_library: 'Loading formatting library...',
|
||||
first_time_loading: 'First time use requires loading the formatting library, please wait...',
|
||||
usage_guide: 'Usage Guide',
|
||||
usage_step1: 'Select the code language type, enter or paste the code you want to format',
|
||||
usage_step2: 'Click the "Format" button to process the code',
|
||||
usage_step3: 'After formatting, you can copy or download the result',
|
||||
usage_step4: 'If you encounter errors, check your code syntax',
|
||||
prettier_core_loaded: 'Prettier core loaded successfully',
|
||||
babel_parser_loaded: 'Babel parser loaded successfully',
|
||||
html_parser_loaded: 'HTML parser loaded successfully',
|
||||
css_parser_loaded: 'CSS parser loaded successfully',
|
||||
typescript_parser_loaded: 'TypeScript parser loaded successfully',
|
||||
markdown_parser_loaded: 'Markdown parser loaded successfully',
|
||||
yaml_parser_loaded: 'YAML parser loaded successfully',
|
||||
graphql_parser_loaded: 'GraphQL parser loaded successfully',
|
||||
all_modules_loaded: 'All Prettier modules loaded!',
|
||||
load_error: 'Failed to load Prettier:',
|
||||
using_parser: 'Using parser:',
|
||||
available_plugins: 'Available plugins:',
|
||||
prettier_error_log: 'Prettier error:',
|
||||
copy: 'Copy',
|
||||
copied: 'Copied',
|
||||
download: 'Download',
|
||||
language_select: 'Select Language'
|
||||
};
|
||||
|
||||
export default codeFormatterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import codeFormatterZh from './zh';
|
||||
import codeFormatterEn from './en';
|
||||
|
||||
export const codeFormatter = {
|
||||
zh: codeFormatterZh,
|
||||
en: codeFormatterEn
|
||||
};
|
||||
|
||||
export default codeFormatter;
|
||||
@@ -0,0 +1,51 @@
|
||||
export const codeFormatterZh = {
|
||||
title: '代码格式化',
|
||||
description: 'HTML/CSS/JS/SQL等多种语言的代码美化',
|
||||
warning_missing_files: '警告:格式化工具文件可能缺失,功能可能受限',
|
||||
load_failed: '加载格式化库失败,请刷新页面重试',
|
||||
error_empty_input: '请输入需要格式化的代码',
|
||||
error_browser_only: '格式化功能仅在浏览器中可用',
|
||||
error_library_loading: '格式化库尚未加载完成,请稍后再试',
|
||||
error_unsupported_language: '不支持的语言类型: {language}',
|
||||
error_prettier: '格式化库错误: {message}',
|
||||
error_formatting: '格式化错误: {message}',
|
||||
error_unknown: '未知错误',
|
||||
error_initialization: '初始化失败',
|
||||
input_code: '输入代码',
|
||||
formatted_result: '格式化结果',
|
||||
input_placeholder: '请输入{language}代码...',
|
||||
result_placeholder: '格式化后的代码将显示在这里',
|
||||
click_format: '点击下方的"格式化"按钮开始处理',
|
||||
load_example: '加载示例',
|
||||
clear: '清空',
|
||||
copy_failed: '复制失败:',
|
||||
formatting_error_title: '格式化错误',
|
||||
format: '格式化',
|
||||
processing: '处理中...',
|
||||
loading_library: '加载格式化库...',
|
||||
first_time_loading: '首次使用时需要加载格式化库,请稍等...',
|
||||
usage_guide: '使用说明',
|
||||
usage_step1: '选择代码语言类型,输入或粘贴需要格式化的代码',
|
||||
usage_step2: '点击"格式化"按钮处理代码',
|
||||
usage_step3: '格式化后可以复制或下载结果',
|
||||
usage_step4: '如果遇到错误,请检查代码语法',
|
||||
prettier_core_loaded: 'Prettier核心加载成功',
|
||||
babel_parser_loaded: 'Babel解析器加载成功',
|
||||
html_parser_loaded: 'HTML解析器加载成功',
|
||||
css_parser_loaded: 'CSS解析器加载成功',
|
||||
typescript_parser_loaded: 'TypeScript解析器加载成功',
|
||||
markdown_parser_loaded: 'Markdown解析器加载成功',
|
||||
yaml_parser_loaded: 'YAML解析器加载成功',
|
||||
graphql_parser_loaded: 'GraphQL解析器加载成功',
|
||||
all_modules_loaded: '所有Prettier模块加载完成!',
|
||||
load_error: '加载Prettier失败:',
|
||||
using_parser: '使用parser:',
|
||||
available_plugins: '可用的插件:',
|
||||
prettier_error_log: 'Prettier错误:',
|
||||
copy: '复制',
|
||||
copied: '已复制',
|
||||
download: '下载',
|
||||
language_select: '选择语言'
|
||||
};
|
||||
|
||||
export default codeFormatterZh;
|
||||
@@ -0,0 +1,59 @@
|
||||
export const colorToolsEn = {
|
||||
title: 'Color Tools',
|
||||
description: 'Color picker, format converter, palette generator',
|
||||
color_selection: 'Color Selection',
|
||||
random_color: 'Random Color',
|
||||
hex: 'HEX',
|
||||
rgb: 'RGB',
|
||||
hsl: 'HSL',
|
||||
color_formats: {
|
||||
hex: 'HEX',
|
||||
rgb: 'RGB',
|
||||
hsl: 'HSL'
|
||||
},
|
||||
color_palette: 'Color Palette',
|
||||
palette_actions: {
|
||||
add_color: 'Add Color',
|
||||
random_color: 'Random Color',
|
||||
save_palette: 'Save Palette',
|
||||
clear_palette: 'Clear Palette',
|
||||
save_to_local: 'Save to Local'
|
||||
},
|
||||
save_palette_success: 'Palette saved to local storage',
|
||||
save_palette_error: 'Failed to save palette',
|
||||
palette_color_name: 'Color Name',
|
||||
palette_color_name_input: 'Enter color name...',
|
||||
add: 'Add',
|
||||
cancel: 'Cancel',
|
||||
example_palette: {
|
||||
primary: 'Primary',
|
||||
secondary: 'Secondary',
|
||||
accent: 'Accent',
|
||||
dark: 'Dark',
|
||||
light: 'Light'
|
||||
},
|
||||
color_preview: 'Color Preview',
|
||||
contrast_effects: 'Contrast Effects',
|
||||
white_text: 'White Text',
|
||||
black_text: 'Black Text',
|
||||
border_background: 'Border and Background',
|
||||
border_effect: 'Border Effect',
|
||||
transparent_background: 'Transparent Background',
|
||||
color_variants: 'Color Variants',
|
||||
complementary_color: 'Complementary Color',
|
||||
analogous_harmony: 'Analogous Harmony',
|
||||
usage_guide: {
|
||||
title: 'Color Tools Usage Guide',
|
||||
content: 'This tool provides color selection, format conversion, and palette functions, supporting:',
|
||||
features: [
|
||||
'Conversion and copying of HEX, RGB, and HSL color formats',
|
||||
'Brightness scale display, quickly select different brightness of the same color',
|
||||
'Complementary and adjacent harmony colors to help design harmonious color schemes',
|
||||
'Personalized palette saving, support for adding and deleting custom colors'
|
||||
]
|
||||
},
|
||||
copy_success: 'Copied',
|
||||
copy_failed: 'Copy failed'
|
||||
};
|
||||
|
||||
export default colorToolsEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import colorToolsZh from './zh';
|
||||
import colorToolsEn from './en';
|
||||
|
||||
export const colorTools = {
|
||||
zh: colorToolsZh,
|
||||
en: colorToolsEn
|
||||
};
|
||||
|
||||
export default colorTools;
|
||||
@@ -0,0 +1,59 @@
|
||||
export const colorToolsZh = {
|
||||
title: '颜色工具',
|
||||
description: '颜色选择、格式转换、调色板生成工具',
|
||||
color_selection: '颜色选择',
|
||||
random_color: '随机颜色',
|
||||
hex: 'HEX',
|
||||
rgb: 'RGB',
|
||||
hsl: 'HSL',
|
||||
color_formats: {
|
||||
hex: 'HEX',
|
||||
rgb: 'RGB',
|
||||
hsl: 'HSL'
|
||||
},
|
||||
color_palette: '颜色调色板',
|
||||
palette_actions: {
|
||||
add_color: '添加颜色',
|
||||
random_color: '随机颜色',
|
||||
save_palette: '保存调色板',
|
||||
clear_palette: '清空调色板',
|
||||
save_to_local: '保存到本地'
|
||||
},
|
||||
save_palette_success: '调色板已保存到本地',
|
||||
save_palette_error: '保存调色板失败',
|
||||
palette_color_name: '颜色名称',
|
||||
palette_color_name_input: '输入颜色名称...',
|
||||
add: '添加',
|
||||
cancel: '取消',
|
||||
example_palette: {
|
||||
primary: '主色',
|
||||
secondary: '辅助色',
|
||||
accent: '强调色',
|
||||
dark: '深色',
|
||||
light: '浅色'
|
||||
},
|
||||
color_preview: '颜色预览',
|
||||
contrast_effects: '对比效果',
|
||||
white_text: '白色文本',
|
||||
black_text: '黑色文本',
|
||||
border_background: '边框和背景',
|
||||
border_effect: '边框效果',
|
||||
transparent_background: '透明度背景',
|
||||
color_variants: '颜色变体',
|
||||
complementary_color: '互补色',
|
||||
analogous_harmony: '邻近和谐色',
|
||||
usage_guide: {
|
||||
title: '颜色工具使用说明',
|
||||
content: '本工具提供颜色选择、格式转换和调色板功能,支持:',
|
||||
features: [
|
||||
'HEX、RGB、HSL三种颜色格式的转换和复制',
|
||||
'亮度色阶展示,快速选择不同亮度的相同颜色',
|
||||
'互补色和邻近色展示,帮助设计和谐的配色方案',
|
||||
'个性化调色板保存,支持添加和删除自定义颜色'
|
||||
]
|
||||
},
|
||||
copy_success: '已复制',
|
||||
copy_failed: '复制失败'
|
||||
};
|
||||
|
||||
export default colorToolsZh;
|
||||
@@ -0,0 +1,75 @@
|
||||
export const cryptoToolsEn = {
|
||||
title: 'Encryption Tools',
|
||||
description: 'Common hash and encryption algorithms like MD5/SHA/AES/DES',
|
||||
// Algorithm names and descriptions
|
||||
algorithms: {
|
||||
md5: {
|
||||
name: 'MD5',
|
||||
description: 'A widely used hash function that produces a 128-bit (16-byte) hash value. Irreversible, not suitable for security scenarios.',
|
||||
additional_info: 'MD5 can be used for file verification, but should not be used for security purposes as it has been proven vulnerable to collision attacks.'
|
||||
},
|
||||
sha1: {
|
||||
name: 'SHA-1',
|
||||
description: 'Produces a 160-bit (20-byte) hash value. Irreversible, more secure than MD5, but not recommended for security-sensitive applications.',
|
||||
additional_info: 'Although SHA-1 is more secure than MD5, it has also been proven vulnerable to collisions and is recommended for non-security scenarios.'
|
||||
},
|
||||
sha256: {
|
||||
name: 'SHA-256',
|
||||
description: 'A member of the SHA-2 family, produces a 256-bit (32-byte) hash value. Irreversible, relatively high security.',
|
||||
additional_info: 'SHA-256 is a member of the SHA-2 family and is widely used for password storage and digital signatures.'
|
||||
},
|
||||
sha512: {
|
||||
name: 'SHA-512',
|
||||
description: 'A member of the SHA-2 family, produces a 512-bit (64-byte) hash value. Irreversible, very high security.',
|
||||
additional_info: 'SHA-512 provides higher security and is suitable for scenarios with extremely high security requirements.'
|
||||
},
|
||||
aes: {
|
||||
name: 'AES',
|
||||
description: 'A symmetric encryption algorithm that requires a key, can be used to encrypt and decrypt data.',
|
||||
additional_info: 'AES is currently the most popular symmetric encryption algorithm. This tool uses AES-256-CBC mode. The same key is required for both encryption and decryption.'
|
||||
},
|
||||
base64: {
|
||||
name: 'Base64',
|
||||
description: 'An encoding method that can be used to transmit binary data between incompatible systems. Can encode and decode.',
|
||||
additional_info: 'Base64 is not an encryption algorithm but an encoding method, commonly used to transmit binary data in text protocols.'
|
||||
}
|
||||
},
|
||||
// UI elements
|
||||
input_text: 'Original Text',
|
||||
encrypted_text: 'Encrypted Text',
|
||||
base64_encoded: 'Base64 Encoded',
|
||||
secret_key: 'Secret Key',
|
||||
result: 'Result',
|
||||
hash_result: 'Hash Result',
|
||||
encrypted_result: 'Encryption Result',
|
||||
decoded_result: 'Decoded Result',
|
||||
// Buttons and operations
|
||||
encode: 'Encode',
|
||||
decode: 'Decode',
|
||||
encrypt: 'Encrypt',
|
||||
decrypt: 'Decrypt',
|
||||
calculate: 'Calculate',
|
||||
copy_result: 'Copy Result',
|
||||
copied: 'Copied',
|
||||
clear: 'Clear',
|
||||
load_example: 'Load Example',
|
||||
// Placeholders
|
||||
input_placeholder: 'Please enter text to process...',
|
||||
decrypt_placeholder: 'Please enter ciphertext to decrypt...',
|
||||
base64_decode_placeholder: 'Please enter Base64 encoded text to decode...',
|
||||
key_placeholder: 'Please enter secret key...',
|
||||
result_placeholder: 'Result will be shown here...',
|
||||
// Status messages
|
||||
operation_success: 'Operation completed successfully',
|
||||
encryption_success: 'Encryption completed successfully',
|
||||
decryption_success: 'Decryption completed successfully',
|
||||
copy_failed: 'Failed to copy to clipboard',
|
||||
input_required: 'Please enter text to process',
|
||||
key_required: 'Please enter secret key',
|
||||
decryption_failed: 'Decryption failed, please check if the ciphertext and key are correct',
|
||||
base64_decode_failed: 'Base64 decoding failed, please check if the input format is correct',
|
||||
// Algorithm information
|
||||
algorithm_info: 'Algorithm Information'
|
||||
};
|
||||
|
||||
export default cryptoToolsEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import cryptoToolsZh from './zh';
|
||||
import cryptoToolsEn from './en';
|
||||
|
||||
export const cryptoTools = {
|
||||
zh: cryptoToolsZh,
|
||||
en: cryptoToolsEn
|
||||
};
|
||||
|
||||
export default cryptoTools;
|
||||
@@ -0,0 +1,75 @@
|
||||
export const cryptoToolsZh = {
|
||||
title: '加密解密工具',
|
||||
description: 'MD5/SHA/AES/DES等常用哈希和加密算法',
|
||||
// 算法名称和描述
|
||||
algorithms: {
|
||||
md5: {
|
||||
name: 'MD5',
|
||||
description: '一种广泛使用的哈希函数,产生128位(16字节)哈希值。不可逆,不适用于安全场景。',
|
||||
additional_info: 'MD5可以用于文件校验,但因已被证明存在碰撞攻击,不应用于安全场景。'
|
||||
},
|
||||
sha1: {
|
||||
name: 'SHA-1',
|
||||
description: '产生160位(20字节)哈希值。不可逆,安全性比MD5高,但不推荐用于安全敏感应用。',
|
||||
additional_info: 'SHA-1虽比MD5更安全,但也已被证明存在碰撞风险,建议用于非安全场景。'
|
||||
},
|
||||
sha256: {
|
||||
name: 'SHA-256',
|
||||
description: 'SHA-2家族的成员,产生256位(32字节)哈希值。不可逆,安全性较高。',
|
||||
additional_info: 'SHA-256是SHA-2家族的一员,被广泛用于密码存储和数字签名。'
|
||||
},
|
||||
sha512: {
|
||||
name: 'SHA-512',
|
||||
description: 'SHA-2家族的成员,产生512位(64字节)哈希值。不可逆,安全性很高。',
|
||||
additional_info: 'SHA-512提供更高安全性,适用于对安全性要求极高的场景。'
|
||||
},
|
||||
aes: {
|
||||
name: 'AES',
|
||||
description: '对称加密算法,需要密钥,可用于加密和解密数据。',
|
||||
additional_info: 'AES是目前最流行的对称加密算法,本工具使用的是AES-256-CBC模式。加密和解密都需要相同的密钥。'
|
||||
},
|
||||
base64: {
|
||||
name: 'Base64',
|
||||
description: '一种编码方式,可用于在不兼容的系统之间传输二进制数据。可编码解码。',
|
||||
additional_info: 'Base64不是加密算法,而是一种编码方式,常用于在文本协议中传输二进制数据。'
|
||||
}
|
||||
},
|
||||
// 界面元素
|
||||
input_text: '原始文本',
|
||||
encrypted_text: '加密文本',
|
||||
base64_encoded: 'Base64编码',
|
||||
secret_key: '密钥',
|
||||
result: '结果',
|
||||
hash_result: '哈希结果',
|
||||
encrypted_result: '加密结果',
|
||||
decoded_result: '解码结果',
|
||||
// 按钮和操作
|
||||
encode: '编码',
|
||||
decode: '解码',
|
||||
encrypt: '加密',
|
||||
decrypt: '解密',
|
||||
calculate: '计算',
|
||||
copy_result: '复制结果',
|
||||
copied: '已复制',
|
||||
clear: '清空',
|
||||
load_example: '加载示例',
|
||||
// 占位符
|
||||
input_placeholder: '请输入需要处理的文本...',
|
||||
decrypt_placeholder: '请输入需要解密的密文...',
|
||||
base64_decode_placeholder: '请输入需要解码的Base64编码...',
|
||||
key_placeholder: '请输入密钥...',
|
||||
result_placeholder: '结果将显示在这里...',
|
||||
// 状态消息
|
||||
operation_success: '操作成功完成',
|
||||
encryption_success: '加密操作成功完成',
|
||||
decryption_success: '解密操作成功完成',
|
||||
copy_failed: '复制到剪贴板失败',
|
||||
input_required: '请输入需要处理的文本',
|
||||
key_required: '请输入密钥',
|
||||
decryption_failed: '解密失败,请检查密文和密钥是否正确',
|
||||
base64_decode_failed: 'Base64解码失败,请检查输入格式是否正确',
|
||||
// 算法说明
|
||||
algorithm_info: '算法说明'
|
||||
};
|
||||
|
||||
export default cryptoToolsZh;
|
||||
@@ -0,0 +1,39 @@
|
||||
export const cssGradientGeneratorEn = {
|
||||
title: 'CSS Gradient Generator',
|
||||
description: 'Generate CSS gradient code online, supporting linear and radial gradients',
|
||||
gradient_type: 'Gradient Type',
|
||||
linear_gradient: 'Linear Gradient',
|
||||
radial_gradient: 'Radial Gradient',
|
||||
gradient_direction: 'Gradient Direction',
|
||||
gradient_shape_position: 'Gradient Shape & Position',
|
||||
custom_angle: 'Custom Angle',
|
||||
apply: 'Apply',
|
||||
gradient_shape: 'Gradient Shape',
|
||||
circle: 'Circle',
|
||||
ellipse: 'Ellipse',
|
||||
gradient_position: 'Gradient Position',
|
||||
gradient_colors: 'Gradient Colors',
|
||||
add_color_stop: 'Add Color Stop',
|
||||
random_gradient: 'Random Gradient',
|
||||
preset_colors: 'Preset Color Combinations',
|
||||
apply_preset: 'Apply Preset Colors',
|
||||
gradient_preview: 'Gradient Preview',
|
||||
preview_hint: 'Click the gradient preview above to view full-screen effect. Adjust parameters on the left to preview gradient changes in real-time.',
|
||||
css_code: 'CSS Code',
|
||||
css_comment: '/* CSS Gradient Code */',
|
||||
copy_code: 'Copy Code',
|
||||
copied: 'Copied',
|
||||
copy_failed: 'Copy Failed',
|
||||
direction_titles: {
|
||||
'225deg': 'Top Left to Bottom Right',
|
||||
'270deg': 'Top to Bottom',
|
||||
'315deg': 'Top Right to Bottom Left',
|
||||
'180deg': 'Left to Right',
|
||||
'0deg': 'Right to Left',
|
||||
'135deg': 'Bottom Left to Top Right',
|
||||
'90deg': 'Bottom to Top',
|
||||
'45deg': 'Bottom Right to Top Left'
|
||||
}
|
||||
};
|
||||
|
||||
export default cssGradientGeneratorEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import cssGradientGeneratorZh from './zh';
|
||||
import cssGradientGeneratorEn from './en';
|
||||
|
||||
export const cssGradientGenerator = {
|
||||
zh: cssGradientGeneratorZh,
|
||||
en: cssGradientGeneratorEn
|
||||
};
|
||||
|
||||
export default cssGradientGenerator;
|
||||
@@ -0,0 +1,39 @@
|
||||
export const cssGradientGeneratorZh = {
|
||||
title: 'CSS渐变生成器',
|
||||
description: '在线生成CSS渐变代码,支持线性和径向渐变',
|
||||
gradient_type: '渐变类型',
|
||||
linear_gradient: '线性渐变',
|
||||
radial_gradient: '径向渐变',
|
||||
gradient_direction: '渐变方向',
|
||||
gradient_shape_position: '渐变形状与位置',
|
||||
custom_angle: '自定义角度',
|
||||
apply: '应用',
|
||||
gradient_shape: '渐变形状',
|
||||
circle: '圆形',
|
||||
ellipse: '椭圆形',
|
||||
gradient_position: '渐变位置',
|
||||
gradient_colors: '渐变颜色',
|
||||
add_color_stop: '添加颜色停止点',
|
||||
random_gradient: '随机渐变',
|
||||
preset_colors: '预设颜色组合',
|
||||
apply_preset: '应用预设颜色',
|
||||
gradient_preview: '渐变预览',
|
||||
preview_hint: '点击上方的渐变预览可查看全屏效果。调整左侧的参数可实时预览渐变效果变化。',
|
||||
css_code: 'CSS代码',
|
||||
css_comment: '/* CSS渐变代码 */',
|
||||
copy_code: '复制代码',
|
||||
copied: '已复制',
|
||||
copy_failed: '复制失败',
|
||||
direction_titles: {
|
||||
'225deg': '左上到右下',
|
||||
'270deg': '上到下',
|
||||
'315deg': '右上到左下',
|
||||
'180deg': '左到右',
|
||||
'0deg': '右到左',
|
||||
'135deg': '左下到右上',
|
||||
'90deg': '下到上',
|
||||
'45deg': '右下到左上'
|
||||
}
|
||||
};
|
||||
|
||||
export default cssGradientGeneratorZh;
|
||||
@@ -0,0 +1,56 @@
|
||||
export const dateCalculatorEn = {
|
||||
title: 'Date Calculator',
|
||||
description: 'Calculate the difference between two dates or add/subtract time from a date',
|
||||
mode: {
|
||||
diff: 'Date Difference',
|
||||
add: 'Date Addition/Subtraction'
|
||||
},
|
||||
diff_calculator: {
|
||||
title: 'Calculate the difference between two dates',
|
||||
start_date: 'Start Date:',
|
||||
end_date: 'End Date:',
|
||||
current: 'Current',
|
||||
swap_dates: 'Swap Dates',
|
||||
result_title: 'Calculation Result:',
|
||||
years: 'Years:',
|
||||
months: 'Months:',
|
||||
weeks: 'Weeks:',
|
||||
days: 'Days:',
|
||||
hours: 'Hours:',
|
||||
minutes: 'Minutes:',
|
||||
seconds: 'Seconds:',
|
||||
year_unit: 'years',
|
||||
month_unit: 'months',
|
||||
week_unit: 'weeks',
|
||||
day_unit: 'days',
|
||||
hour_unit: 'hours',
|
||||
minute_unit: 'minutes',
|
||||
second_unit: 'seconds',
|
||||
no_valid_dates: 'Please select valid start and end dates'
|
||||
},
|
||||
add_calculator: {
|
||||
title: 'Date Addition/Subtraction',
|
||||
base_date: 'Base Date:',
|
||||
operation: 'Select Operation:',
|
||||
add: 'Add',
|
||||
subtract: 'Subtract',
|
||||
time_amount: 'Time Amount:',
|
||||
time_unit: 'Time Unit:',
|
||||
result_title: 'Calculation Result:',
|
||||
add_result: 'Date after adding {amount} {unit}:',
|
||||
subtract_result: 'Date after subtracting {amount} {unit}:',
|
||||
copied: 'Copied',
|
||||
copy_result: 'Copy Result',
|
||||
no_valid_input: 'Please select a valid base date and time amount',
|
||||
notes_title: 'Notes:',
|
||||
note1: 'Adding/subtracting months and years may be affected by different month lengths',
|
||||
note2: 'Calculations automatically handle leap years and leap months',
|
||||
note3: 'Results account for daylight saving time (if applicable)'
|
||||
},
|
||||
error: {
|
||||
calculation_error: 'Date calculation error',
|
||||
copy_failed: 'Copy failed'
|
||||
}
|
||||
};
|
||||
|
||||
export default dateCalculatorEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import dateCalculatorZh from './zh';
|
||||
import dateCalculatorEn from './en';
|
||||
|
||||
export const dateCalculator = {
|
||||
zh: dateCalculatorZh,
|
||||
en: dateCalculatorEn
|
||||
};
|
||||
|
||||
export default dateCalculator;
|
||||
@@ -0,0 +1,56 @@
|
||||
export const dateCalculatorZh = {
|
||||
title: '日期计算器',
|
||||
description: '计算两个日期之间的差值或给日期添加/减去指定时间',
|
||||
mode: {
|
||||
diff: '日期差值计算',
|
||||
add: '日期加减计算'
|
||||
},
|
||||
diff_calculator: {
|
||||
title: '计算两个日期之间的差值',
|
||||
start_date: '开始日期:',
|
||||
end_date: '结束日期:',
|
||||
current: '当前',
|
||||
swap_dates: '交换日期',
|
||||
result_title: '计算结果:',
|
||||
years: '年份:',
|
||||
months: '月份:',
|
||||
weeks: '周数:',
|
||||
days: '天数:',
|
||||
hours: '小时:',
|
||||
minutes: '分钟:',
|
||||
seconds: '秒数:',
|
||||
year_unit: '年',
|
||||
month_unit: '月',
|
||||
week_unit: '周',
|
||||
day_unit: '天',
|
||||
hour_unit: '小时',
|
||||
minute_unit: '分钟',
|
||||
second_unit: '秒',
|
||||
no_valid_dates: '请选择有效的开始和结束日期'
|
||||
},
|
||||
add_calculator: {
|
||||
title: '日期加减计算',
|
||||
base_date: '基准日期:',
|
||||
operation: '选择操作:',
|
||||
add: '添加',
|
||||
subtract: '减去',
|
||||
time_amount: '时间量:',
|
||||
time_unit: '时间单位:',
|
||||
result_title: '计算结果:',
|
||||
add_result: '添加 {amount} {unit} 后的日期是:',
|
||||
subtract_result: '减去 {amount} {unit} 后的日期是:',
|
||||
copied: '已复制',
|
||||
copy_result: '复制结果',
|
||||
no_valid_input: '请选择有效的基准日期和时间量',
|
||||
notes_title: '注意事项:',
|
||||
note1: '月份和年份的加减可能受到不同月份天数的影响',
|
||||
note2: '计算会自动处理闰年和闰月',
|
||||
note3: '结果已考虑夏令时影响(如果适用)'
|
||||
},
|
||||
error: {
|
||||
calculation_error: '日期计算错误',
|
||||
copy_failed: '复制失败'
|
||||
}
|
||||
};
|
||||
|
||||
export default dateCalculatorZh;
|
||||
@@ -0,0 +1,33 @@
|
||||
export const encodingConverterEn = {
|
||||
title: 'Encoding Converter',
|
||||
description: 'Base64/URL/Unicode encoding and decoding tool',
|
||||
base64_desc: 'Encode text to Base64 string or decode Base64 string to text',
|
||||
url_desc: 'Encode or decode special characters in URLs',
|
||||
unicode_desc: 'Convert text to Unicode encoding or Unicode encoding to text',
|
||||
html_desc: 'Encode or decode special characters in HTML',
|
||||
encode: 'Encode',
|
||||
decode: 'Decode',
|
||||
load_example: 'Load Example',
|
||||
clear_all: 'Clear All',
|
||||
text_to_encode: 'Input Text',
|
||||
text_to_decode: 'Input Encoded Text',
|
||||
encoded_result: 'Encoded Result',
|
||||
decoded_result: 'Decoded Result',
|
||||
swap_operation: 'Swap Operation',
|
||||
input_placeholder: 'Enter content to process...',
|
||||
output_placeholder: 'Results will be displayed here...',
|
||||
copy: 'Copy Result',
|
||||
example_text: 'Hello, World!',
|
||||
hello: 'Hello',
|
||||
html_example: 'HTML Example & Special Characters',
|
||||
general_error: 'An error occurred during conversion',
|
||||
unsupported_type: 'Unsupported encoding type',
|
||||
invalid_base64: 'Invalid Base64 encoded string',
|
||||
invalid_url: 'Invalid URL encoded string',
|
||||
invalid_unicode: 'Invalid Unicode encoded string',
|
||||
invalid_html: 'Invalid HTML encoded string',
|
||||
copy_failed: 'Copy failed:',
|
||||
clipboard_error: 'Failed to copy to clipboard'
|
||||
};
|
||||
|
||||
export default encodingConverterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import encodingConverterZh from './zh';
|
||||
import encodingConverterEn from './en';
|
||||
|
||||
export const encodingConverter = {
|
||||
zh: encodingConverterZh,
|
||||
en: encodingConverterEn
|
||||
};
|
||||
|
||||
export default encodingConverter;
|
||||
@@ -0,0 +1,33 @@
|
||||
export const encodingConverterZh = {
|
||||
title: '编码转换工具',
|
||||
description: 'Base64/URL/Unicode编解码转换工具',
|
||||
base64_desc: '将文本编码为Base64字符串或将Base64字符串解码为文本',
|
||||
url_desc: '对URL中的特殊字符进行编码或解码',
|
||||
unicode_desc: '将文本转换为Unicode编码或将Unicode编码转换为文本',
|
||||
html_desc: '对HTML中的特殊字符进行编码或解码',
|
||||
encode: '编码',
|
||||
decode: '解码',
|
||||
load_example: '加载示例',
|
||||
clear_all: '清空',
|
||||
text_to_encode: '输入文本',
|
||||
text_to_decode: '输入编码',
|
||||
encoded_result: '编码结果',
|
||||
decoded_result: '解码结果',
|
||||
swap_operation: '交换操作',
|
||||
input_placeholder: '输入要处理的内容...',
|
||||
output_placeholder: '结果将在这里显示...',
|
||||
copy: '复制结果',
|
||||
example_text: '你好,世界!',
|
||||
hello: '你好',
|
||||
html_example: 'HTML示例 & 特殊字符',
|
||||
general_error: '转换过程中发生错误',
|
||||
unsupported_type: '不支持的编码类型',
|
||||
invalid_base64: '无效的Base64编码字符串',
|
||||
invalid_url: '无效的URL编码字符串',
|
||||
invalid_unicode: '无效的Unicode编码字符串',
|
||||
invalid_html: '无效的HTML编码字符串',
|
||||
copy_failed: '复制失败:',
|
||||
clipboard_error: '复制到剪贴板失败'
|
||||
};
|
||||
|
||||
export default encodingConverterZh;
|
||||
@@ -0,0 +1,37 @@
|
||||
export const htmlMarkdownConverterEn = {
|
||||
title: 'HTML & Markdown Converter',
|
||||
description: 'Convert between HTML and Markdown formats',
|
||||
md2html: 'Markdown → HTML',
|
||||
html2md: 'HTML → Markdown',
|
||||
load_example: 'Load Example',
|
||||
clear: 'Clear',
|
||||
loading_modules: 'Loading conversion modules, please wait...',
|
||||
md_input: 'Markdown Input',
|
||||
html_input: 'HTML Input',
|
||||
md_output: 'Markdown Output',
|
||||
html_output: 'HTML Output',
|
||||
exchange: 'Exchange Input/Output',
|
||||
convert: 'Convert',
|
||||
converting: 'Converting...',
|
||||
md_placeholder: 'Enter Markdown content...',
|
||||
html_placeholder: 'Enter HTML content...',
|
||||
md_result_placeholder: 'Markdown conversion result will appear here...',
|
||||
html_result_placeholder: 'HTML conversion result will appear here...',
|
||||
copy_result: 'Copy Result',
|
||||
copied: 'Copied',
|
||||
error_empty: 'Please enter content to convert',
|
||||
error_convert: 'Conversion failed: {error}',
|
||||
error_unknown: 'Unknown error',
|
||||
error_copy: 'Failed to copy to clipboard',
|
||||
error_load: 'Failed to load conversion libraries, please refresh the page',
|
||||
feature_title: 'Features',
|
||||
feature_intro: 'This tool provides bidirectional conversion between HTML and Markdown, supporting the following features:',
|
||||
feature_1: 'Complete Markdown syntax support, including headings, lists, code blocks, tables, etc.',
|
||||
feature_2: 'Preserves HTML formatting and styles',
|
||||
feature_3: 'Supports nested structures, such as nested lists and quotes',
|
||||
feature_4: 'Maintains clear document structure after conversion',
|
||||
md2html_description: 'Use this tool to convert Markdown documents into HTML code for web display.',
|
||||
html2md_description: 'Use this tool to convert HTML code into more readable and writable Markdown format.'
|
||||
};
|
||||
|
||||
export default htmlMarkdownConverterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import htmlMarkdownConverterZh from './zh';
|
||||
import htmlMarkdownConverterEn from './en';
|
||||
|
||||
export const htmlMarkdownConverter = {
|
||||
zh: htmlMarkdownConverterZh,
|
||||
en: htmlMarkdownConverterEn
|
||||
};
|
||||
|
||||
export default htmlMarkdownConverter;
|
||||
@@ -0,0 +1,37 @@
|
||||
export const htmlMarkdownConverterZh = {
|
||||
title: 'HTML与Markdown互转',
|
||||
description: '在HTML和Markdown格式之间进行双向转换',
|
||||
md2html: 'Markdown → HTML',
|
||||
html2md: 'HTML → Markdown',
|
||||
load_example: '加载示例',
|
||||
clear: '清空',
|
||||
loading_modules: '正在加载转换模块,请稍候...',
|
||||
md_input: 'Markdown 输入',
|
||||
html_input: 'HTML 输入',
|
||||
md_output: 'Markdown 输出',
|
||||
html_output: 'HTML 输出',
|
||||
exchange: '交换输入输出',
|
||||
convert: '转换',
|
||||
converting: '转换中...',
|
||||
md_placeholder: '请输入Markdown内容...',
|
||||
html_placeholder: '请输入HTML内容...',
|
||||
md_result_placeholder: 'Markdown 转换结果将显示在这里...',
|
||||
html_result_placeholder: 'HTML 转换结果将显示在这里...',
|
||||
copy_result: '复制结果',
|
||||
copied: '已复制',
|
||||
error_empty: '请输入需要转换的内容',
|
||||
error_convert: '转换失败: {error}',
|
||||
error_unknown: '未知错误',
|
||||
error_copy: '复制到剪贴板失败',
|
||||
error_load: '加载转换库失败,请刷新页面重试',
|
||||
feature_title: '功能说明',
|
||||
feature_intro: '此工具提供HTML与Markdown之间的双向转换功能,支持以下特性:',
|
||||
feature_1: '完整的Markdown语法支持,包括标题、列表、代码块、表格等',
|
||||
feature_2: '保留HTML格式和样式',
|
||||
feature_3: '支持嵌套结构,如嵌套列表和引用',
|
||||
feature_4: '转换后保持文档结构清晰',
|
||||
md2html_description: '使用此工具可以将Markdown文档转换为可在网页中显示的HTML代码。',
|
||||
html2md_description: '使用此工具可以将HTML代码转换为更易读写的Markdown格式。'
|
||||
};
|
||||
|
||||
export default htmlMarkdownConverterZh;
|
||||
@@ -0,0 +1,82 @@
|
||||
export const httpTesterEn = {
|
||||
title: 'HTTP Request Tester',
|
||||
description: 'API interface debugging tool, supporting various request methods and parameter settings',
|
||||
|
||||
// Request form
|
||||
http_request: 'HTTP Request',
|
||||
clear: 'Clear',
|
||||
enter_url: 'Enter URL',
|
||||
send_request: 'Send Request',
|
||||
public_network: 'Public',
|
||||
local_network: 'Local/LAN',
|
||||
|
||||
// Request parameter tabs
|
||||
request_headers: 'Request Headers',
|
||||
request_body: 'Request Body',
|
||||
|
||||
// Request headers section
|
||||
add_header: 'Add Header',
|
||||
header_key: 'Name',
|
||||
header_value: 'Value',
|
||||
|
||||
// Request body section
|
||||
body_format: 'Body Format',
|
||||
json_format: 'JSON',
|
||||
text_format: 'Text',
|
||||
form_format: 'Form',
|
||||
enter_request_body: 'Enter request body content',
|
||||
add_form_field: 'Add Form Field',
|
||||
form_field_key: 'Field Name',
|
||||
form_field_value: 'Field Value',
|
||||
|
||||
// History
|
||||
history: 'History',
|
||||
history_empty: 'No history records',
|
||||
clear_history: 'Clear History',
|
||||
clear_history_confirm: 'Are you sure you want to clear the history?',
|
||||
|
||||
// Response results
|
||||
response_result: 'Response Result',
|
||||
copied: 'Copied',
|
||||
copy: 'Copy',
|
||||
generate_doc: 'Generate Doc',
|
||||
response_body: 'Response Body',
|
||||
response_headers: 'Response Headers',
|
||||
request_info: 'Request Info',
|
||||
|
||||
// Request information
|
||||
request_method: 'Request Method',
|
||||
request_url: 'Request URL',
|
||||
request_body_sent: 'Request Body',
|
||||
network_mode: 'Network Mode',
|
||||
network_mode_public: 'Public Network Mode',
|
||||
network_mode_local: 'Local/LAN Mode',
|
||||
|
||||
// Status and errors
|
||||
loading: 'Loading...',
|
||||
copy_failed: 'Copy failed',
|
||||
|
||||
// CORS settings modal
|
||||
cors_settings: 'Local/LAN CORS Settings Guide',
|
||||
close: 'Close',
|
||||
cors_description: 'When sending requests to local or LAN services, the browser\'s same-origin policy blocks cross-origin requests. To allow these requests, you need to configure CORS (Cross-Origin Resource Sharing) response headers on the server side.',
|
||||
cors_warning: 'In production environments, please configure CORS carefully. It is recommended to use stricter settings rather than allowing access from all sources. The following configurations are for local development and testing only.',
|
||||
|
||||
// HTTPS to HTTP issues
|
||||
https_to_http_title: 'HTTPS to HTTP Service Access Issues',
|
||||
https_to_http_description: 'When you access HTTP internal services through an HTTPS website, the browser\'s security policy blocks such "mixed content" requests. Here are the recommended solutions:',
|
||||
solution_one: 'Solution 1: Configure HTTPS certificates for internal services',
|
||||
solution_one_1: 'Use self-signed certificates (development environment)',
|
||||
solution_one_2: 'Use intranet CA issued certificates (enterprise environment)',
|
||||
solution_one_3: 'Modify internal service configuration, enable HTTPS',
|
||||
solution_two: 'Solution 2: Adjust browser security settings (development environment only)',
|
||||
solution_two_1: 'Chrome: Click the lock icon in the address bar → Site settings → Insecure content → Allow',
|
||||
solution_two_2: 'Firefox: Enter about:config in the address bar → Search and disable security.mixed_content.block_active_content',
|
||||
solution_two_3: 'Edge: Click the lock icon in the address bar → Site permissions → Insecure content → Allow',
|
||||
security_note: 'Note: Adjusting browser security settings is only recommended for development environments and will reduce browser security. Production environments should use the HTTPS certificate solution.',
|
||||
|
||||
// Other tips
|
||||
need_advanced: 'Need advanced testing features? Try RunAPI'
|
||||
};
|
||||
|
||||
export default httpTesterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import httpTesterZh from './zh';
|
||||
import httpTesterEn from './en';
|
||||
|
||||
export const httpTester = {
|
||||
zh: httpTesterZh,
|
||||
en: httpTesterEn
|
||||
};
|
||||
|
||||
export default httpTester;
|
||||
@@ -0,0 +1,82 @@
|
||||
export const httpTesterZh = {
|
||||
title: 'HTTP请求测试',
|
||||
description: 'API接口调试工具,支持多种请求方法和参数设置',
|
||||
|
||||
// 请求表单
|
||||
http_request: 'HTTP请求',
|
||||
clear: '清空',
|
||||
enter_url: '输入URL',
|
||||
send_request: '发送请求',
|
||||
public_network: '公网',
|
||||
local_network: '本地/局域网',
|
||||
|
||||
// 请求参数标签页
|
||||
request_headers: '请求头',
|
||||
request_body: '请求体',
|
||||
|
||||
// 请求头部分
|
||||
add_header: '添加请求头',
|
||||
header_key: '名称',
|
||||
header_value: '值',
|
||||
|
||||
// 请求体部分
|
||||
body_format: '请求体格式',
|
||||
json_format: 'JSON',
|
||||
text_format: '文本',
|
||||
form_format: '表单',
|
||||
enter_request_body: '输入请求体内容',
|
||||
add_form_field: '添加表单字段',
|
||||
form_field_key: '字段名',
|
||||
form_field_value: '字段值',
|
||||
|
||||
// 历史记录
|
||||
history: '历史记录',
|
||||
history_empty: '暂无历史记录',
|
||||
clear_history: '清空历史',
|
||||
clear_history_confirm: '确定要清空历史记录吗?',
|
||||
|
||||
// 响应结果
|
||||
response_result: '响应结果',
|
||||
copied: '已复制',
|
||||
copy: '复制',
|
||||
generate_doc: '生成文档',
|
||||
response_body: '响应体',
|
||||
response_headers: '响应头',
|
||||
request_info: '请求信息',
|
||||
|
||||
// 请求信息
|
||||
request_method: '请求方法',
|
||||
request_url: '请求URL',
|
||||
request_body_sent: '请求体',
|
||||
network_mode: '网络模式',
|
||||
network_mode_public: '公网模式',
|
||||
network_mode_local: '本地/局域网模式',
|
||||
|
||||
// 状态和错误
|
||||
loading: '请求中...',
|
||||
copy_failed: '复制失败',
|
||||
|
||||
// 跨域设置弹窗
|
||||
cors_settings: '本地/局域网跨域设置指南',
|
||||
close: '关闭',
|
||||
cors_description: '当发送请求到本地或局域网服务时,浏览器的同源策略会阻止跨域请求。为了允许这些请求,你需要在服务端配置CORS(跨域资源共享)响应头。',
|
||||
cors_warning: '在生产环境中,请谨慎配置CORS,建议使用更严格的设置,而不是允许所有源访问。以下配置仅用于本地开发和测试。',
|
||||
|
||||
// HTTPS访问HTTP问题
|
||||
https_to_http_title: 'HTTPS访问HTTP服务问题',
|
||||
https_to_http_description: '当您通过HTTPS网站访问HTTP内部服务时,浏览器的安全策略会阻止这种"混合内容"请求。以下是推荐的解决方案:',
|
||||
solution_one: '方案一:为内部服务配置HTTPS证书',
|
||||
solution_one_1: '使用自签名证书(开发环境)',
|
||||
solution_one_2: '使用内网CA签发证书(企业环境)',
|
||||
solution_one_3: '修改内部服务配置,启用HTTPS',
|
||||
solution_two: '方案二:调整浏览器安全设置(仅开发环境)',
|
||||
solution_two_1: 'Chrome: 点击地址栏锁图标 → 站点设置 → 不安全内容 → 允许',
|
||||
solution_two_2: 'Firefox: 地址栏输入 about:config → 搜索并禁用 security.mixed_content.block_active_content',
|
||||
solution_two_3: 'Edge: 点击地址栏锁图标 → 站点权限 → 不安全内容 → 允许',
|
||||
security_note: '注意:调整浏览器安全设置仅建议在开发环境使用,会降低浏览器安全性。生产环境应使用HTTPS证书方案。',
|
||||
|
||||
// 其他提示
|
||||
need_advanced: '需要高级测试功能? 试试RunAPI'
|
||||
};
|
||||
|
||||
export default httpTesterZh;
|
||||
@@ -0,0 +1,40 @@
|
||||
export const imageCompressorEn = {
|
||||
title: 'Image Compressor',
|
||||
description: 'Pure frontend image compression tool supporting multiple formats',
|
||||
select_image: 'Select Image File',
|
||||
choose_file: 'Choose File',
|
||||
compression_settings: 'Compression Settings',
|
||||
quality: 'Quality',
|
||||
max_width: 'Max Width (pixels)',
|
||||
max_height: 'Max Height (pixels)',
|
||||
output_format: 'Output Format',
|
||||
auto_format: 'Auto (Keep Original Format)',
|
||||
maintain_ratio: 'Maintain Aspect Ratio',
|
||||
compression_info: 'Compression Info',
|
||||
original_size: 'Original Size',
|
||||
compressed_size: 'Compressed Size',
|
||||
compression_ratio: 'Compression Ratio',
|
||||
compress_image: 'Compress Image',
|
||||
compressing: 'Compressing...',
|
||||
download_compressed: 'Download Compressed Image',
|
||||
reset: 'Reset',
|
||||
original_image: 'Original Image',
|
||||
compressed_image: 'Compressed Image',
|
||||
no_image_selected: 'No Image Selected',
|
||||
no_compressed_image: 'No Compressed Image',
|
||||
compression_failed: 'Compression Failed',
|
||||
bytes: 'Bytes',
|
||||
kb: 'KB',
|
||||
mb: 'MB',
|
||||
gb: 'GB',
|
||||
usage_guide: 'Usage Guide',
|
||||
guide_1: 'Supports compression of multiple image formats, including JPEG, PNG, and WebP',
|
||||
guide_2: 'Adjust compression quality and maximum dimensions to balance file size and image quality',
|
||||
guide_3: 'Maintains original aspect ratio to prevent image distortion',
|
||||
guide_4: 'Compression is performed in the browser, no images are uploaded to servers',
|
||||
guide_5: 'Preview images before and after compression to see the effect and file size changes',
|
||||
guide_6: 'Supports batch processing of multiple images',
|
||||
guide_7: 'Compressed images can be downloaded directly for use'
|
||||
};
|
||||
|
||||
export default imageCompressorEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import imageCompressorZh from './zh';
|
||||
import imageCompressorEn from './en';
|
||||
|
||||
export const imageCompressor = {
|
||||
zh: imageCompressorZh,
|
||||
en: imageCompressorEn
|
||||
};
|
||||
|
||||
export default imageCompressor;
|
||||
@@ -0,0 +1,40 @@
|
||||
export const imageCompressorZh = {
|
||||
title: '图片压缩',
|
||||
description: '纯前端实现的图片压缩工具,支持多种格式',
|
||||
select_image: '选择图片文件',
|
||||
choose_file: '选择文件',
|
||||
compression_settings: '压缩设置',
|
||||
quality: '质量',
|
||||
max_width: '最大宽度 (像素)',
|
||||
max_height: '最大高度 (像素)',
|
||||
output_format: '输出格式',
|
||||
auto_format: '自动 (保持原格式)',
|
||||
maintain_ratio: '保持宽高比',
|
||||
compression_info: '压缩信息',
|
||||
original_size: '原始大小',
|
||||
compressed_size: '压缩后大小',
|
||||
compression_ratio: '压缩率',
|
||||
compress_image: '压缩图片',
|
||||
compressing: '压缩中...',
|
||||
download_compressed: '下载压缩图片',
|
||||
reset: '重置',
|
||||
original_image: '原始图片',
|
||||
compressed_image: '压缩后图片',
|
||||
no_image_selected: '未选择图片',
|
||||
no_compressed_image: '未压缩图片',
|
||||
compression_failed: '压缩失败',
|
||||
bytes: '字节',
|
||||
kb: 'KB',
|
||||
mb: 'MB',
|
||||
gb: 'GB',
|
||||
usage_guide: '使用说明',
|
||||
guide_1: '支持多种图片格式的压缩,包括JPEG、PNG和WebP',
|
||||
guide_2: '可以调整压缩质量和最大尺寸,平衡文件大小和图片质量',
|
||||
guide_3: '支持保持原始宽高比,避免图片变形',
|
||||
guide_4: '压缩过程在浏览器中完成,不会上传图片到服务器',
|
||||
guide_5: '可以预览压缩前后的图片效果和文件大小变化',
|
||||
guide_6: '支持批量处理多张图片',
|
||||
guide_7: '压缩后的图片可以直接下载使用'
|
||||
};
|
||||
|
||||
export default imageCompressorZh;
|
||||
@@ -0,0 +1,47 @@
|
||||
import jsonFormatter from './json_formatter';
|
||||
import regexTester from './regex_tester';
|
||||
import timestampConverter from './timestamp_converter';
|
||||
import encodingConverter from './encoding_converter';
|
||||
import codeFormatter from './code_formatter';
|
||||
import colorTools from './color_tools';
|
||||
import cryptoTools from './crypto_tools';
|
||||
import cssGradientGenerator from './css_gradient_generator';
|
||||
import dateCalculator from './date_calculator';
|
||||
import htmlMarkdownConverter from './html_markdown_converter';
|
||||
import httpTester from './http_tester';
|
||||
import imageCompressor from './image_compressor';
|
||||
import ipLookup from './ip_lookup';
|
||||
import jsonConverter from './json_converter';
|
||||
import jsonEditor from './json_editor';
|
||||
import jwtDecoder from './jwt_decoder';
|
||||
import qrcodeGenerator from './qrcode_generator';
|
||||
import textCounter from './text_counter';
|
||||
import timezoneConverter from './timezone_converter';
|
||||
import unicodeConverter from './unicode_converter';
|
||||
import urlEncoder from './url_encoder';
|
||||
|
||||
export const tools = {
|
||||
json_formatter: jsonFormatter,
|
||||
regex_tester: regexTester,
|
||||
timestamp_converter: timestampConverter,
|
||||
encoding_converter: encodingConverter,
|
||||
code_formatter: codeFormatter,
|
||||
color_tools: colorTools,
|
||||
crypto_tools: cryptoTools,
|
||||
css_gradient_generator: cssGradientGenerator,
|
||||
date_calculator: dateCalculator,
|
||||
html_markdown_converter: htmlMarkdownConverter,
|
||||
http_tester: httpTester,
|
||||
image_compressor: imageCompressor,
|
||||
ip_lookup: ipLookup,
|
||||
json_converter: jsonConverter,
|
||||
json_editor: jsonEditor,
|
||||
jwt_decoder: jwtDecoder,
|
||||
qrcode_generator: qrcodeGenerator,
|
||||
text_counter: textCounter,
|
||||
timezone_converter: timezoneConverter,
|
||||
unicode_converter: unicodeConverter,
|
||||
url_encoder: urlEncoder
|
||||
};
|
||||
|
||||
export default tools;
|
||||
@@ -0,0 +1,68 @@
|
||||
export const ipLookupEn = {
|
||||
title: 'IP Address Lookup',
|
||||
description: 'Query detailed information about IP addresses, including geolocation and ISP details',
|
||||
input_placeholder: 'Enter IP address to query',
|
||||
my_ip: 'My IP',
|
||||
search: 'Search',
|
||||
copy: 'Copy',
|
||||
copied: 'Copied',
|
||||
unknown: 'Unknown',
|
||||
result_title: 'Query Results',
|
||||
input_label: 'Enter IP Address:',
|
||||
input_placeholder_example: 'Example: 8.8.8.8',
|
||||
search_button: 'Search',
|
||||
my_ip_button: 'Lookup My IP Address',
|
||||
instruction_title: 'Instructions:',
|
||||
instructions: {
|
||||
line1: 'Enter an IP address and click the "Search" button',
|
||||
line2: 'Supports both IPv4 and IPv6 addresses',
|
||||
line3: 'Click "Lookup My IP Address" to get your current IP information',
|
||||
line4: 'Results include geolocation, ISP and technical details'
|
||||
},
|
||||
results: {
|
||||
title: 'Query Results',
|
||||
empty_state: 'Enter an IP address and click search to get detailed information',
|
||||
ip_address: 'IP Address'
|
||||
},
|
||||
ip_info: {
|
||||
ip: 'IP Address',
|
||||
country: 'Country/Region',
|
||||
region: 'Province',
|
||||
city: 'City',
|
||||
isp: 'ISP',
|
||||
timezone: 'Timezone',
|
||||
coordinates: 'Coordinates',
|
||||
source: 'Data Source',
|
||||
ip_type: 'IP Type',
|
||||
ip_class: 'IP Class',
|
||||
binary: 'Binary',
|
||||
hex: 'Hexadecimal'
|
||||
},
|
||||
technical_details: 'Technical Details',
|
||||
ip_classes: {
|
||||
private: 'Private IP',
|
||||
public: 'Public IP',
|
||||
loopback: 'Loopback Address',
|
||||
link_local: 'Link-local Address'
|
||||
},
|
||||
errors: {
|
||||
invalid_ip: 'Invalid IP address',
|
||||
query_failed: 'Query failed, please try again later',
|
||||
copy_failed: 'Copy failed'
|
||||
},
|
||||
api_sources: {
|
||||
pconline: 'PConline',
|
||||
ipcn: 'IP.CN',
|
||||
ipapi: 'ip-api.com',
|
||||
baidu: 'Baidu IP',
|
||||
meitu: 'Meitu IP'
|
||||
},
|
||||
console_errors: {
|
||||
pconline: 'PConline data parsing error',
|
||||
ipcn: 'IP.CN data parsing error',
|
||||
ipapi: 'ip-api.com data parsing error',
|
||||
meitu: 'Meitu IP data parsing error'
|
||||
}
|
||||
};
|
||||
|
||||
export default ipLookupEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import ipLookupZh from './zh';
|
||||
import ipLookupEn from './en';
|
||||
|
||||
export const ipLookup = {
|
||||
zh: ipLookupZh,
|
||||
en: ipLookupEn
|
||||
};
|
||||
|
||||
export default ipLookup;
|
||||
@@ -0,0 +1,68 @@
|
||||
export const ipLookupZh = {
|
||||
title: 'IP地址查询',
|
||||
description: '查询IP地址的详细信息,包括地理位置、运营商等信息',
|
||||
input_placeholder: '请输入要查询的IP地址',
|
||||
my_ip: '我的IP',
|
||||
search: '查询',
|
||||
copy: '复制',
|
||||
copied: '已复制',
|
||||
unknown: '未知',
|
||||
result_title: '查询结果',
|
||||
input_label: '输入IP地址:',
|
||||
input_placeholder_example: '例如: 8.8.8.8',
|
||||
search_button: '查询',
|
||||
my_ip_button: '查询我的IP地址',
|
||||
instruction_title: '使用说明:',
|
||||
instructions: {
|
||||
line1: '输入IP地址后点击"查询"按钮',
|
||||
line2: '支持IPv4和IPv6地址查询',
|
||||
line3: '点击"查询我的IP地址"获取您当前的IP信息',
|
||||
line4: '查询结果包含地理位置、运营商等信息'
|
||||
},
|
||||
results: {
|
||||
title: '查询结果',
|
||||
empty_state: '输入IP地址并点击查询按钮获取详细信息',
|
||||
ip_address: 'IP地址'
|
||||
},
|
||||
ip_info: {
|
||||
ip: 'IP地址',
|
||||
country: '国家/地区',
|
||||
region: '省份',
|
||||
city: '城市',
|
||||
isp: '运营商',
|
||||
timezone: '时区',
|
||||
coordinates: '经纬度',
|
||||
source: '数据来源',
|
||||
ip_type: 'IP类型',
|
||||
ip_class: 'IP类别',
|
||||
binary: '二进制',
|
||||
hex: '十六进制'
|
||||
},
|
||||
technical_details: '技术详情',
|
||||
ip_classes: {
|
||||
private: '私有IP',
|
||||
public: '公网IP',
|
||||
loopback: '回环地址',
|
||||
link_local: '链路本地地址'
|
||||
},
|
||||
errors: {
|
||||
invalid_ip: '无效的IP地址',
|
||||
query_failed: '查询失败,请稍后重试',
|
||||
copy_failed: '复制失败'
|
||||
},
|
||||
api_sources: {
|
||||
pconline: '太平洋电脑网',
|
||||
ipcn: 'IP.CN',
|
||||
ipapi: 'ip-api.com',
|
||||
baidu: '百度IP',
|
||||
meitu: '美图IP'
|
||||
},
|
||||
console_errors: {
|
||||
pconline: '太平洋电脑网数据解析错误',
|
||||
ipcn: 'IP.CN数据解析错误',
|
||||
ipapi: 'ip-api.com数据解析错误',
|
||||
meitu: '美图IP数据解析错误'
|
||||
}
|
||||
};
|
||||
|
||||
export default ipLookupZh;
|
||||
@@ -0,0 +1,100 @@
|
||||
export const jsonConverterEn = {
|
||||
title: 'JSON Converter',
|
||||
description: 'Convert between JSON and XML/CSV/YAML formats',
|
||||
select_format_type: 'Select Conversion Format Type',
|
||||
format_types: {
|
||||
xml: {
|
||||
name: 'XML',
|
||||
description: 'Convert between JSON and XML'
|
||||
},
|
||||
csv: {
|
||||
name: 'CSV',
|
||||
description: 'Convert between JSON and CSV'
|
||||
},
|
||||
yaml: {
|
||||
name: 'YAML',
|
||||
description: 'Convert between JSON and YAML'
|
||||
}
|
||||
},
|
||||
direction: {
|
||||
json_to_format: 'JSON',
|
||||
format_to_json: '{format}'
|
||||
},
|
||||
actions: {
|
||||
load_example: 'Load Example',
|
||||
clear: 'Clear',
|
||||
convert: 'Convert',
|
||||
converting: 'Converting...',
|
||||
copy: 'Copy',
|
||||
copied: 'Copied',
|
||||
download: 'Download'
|
||||
},
|
||||
advanced_options: {
|
||||
show: 'Show Advanced Options',
|
||||
hide: 'Hide Advanced Options',
|
||||
csv: {
|
||||
delimiter: 'Delimiter',
|
||||
delimiters: {
|
||||
comma: 'Comma (,)',
|
||||
semicolon: 'Semicolon (;)',
|
||||
tab: 'Tab',
|
||||
pipe: 'Pipe (|)'
|
||||
},
|
||||
include_header: 'Include Header',
|
||||
generate_header: 'Generate CSV Header',
|
||||
parse_header: 'Parse CSV Header as Field Names'
|
||||
},
|
||||
xml: {
|
||||
root_element: 'XML Root Element Name',
|
||||
root_placeholder: 'Root element name'
|
||||
},
|
||||
description: 'These options will affect the format and structure of the conversion result.'
|
||||
},
|
||||
input: {
|
||||
json: 'JSON Input',
|
||||
format: '{format} Input',
|
||||
json_placeholder: 'Please enter JSON data...',
|
||||
format_placeholder: 'Please enter {format} data...'
|
||||
},
|
||||
output: {
|
||||
json: 'JSON Output',
|
||||
format: '{format} Output',
|
||||
json_placeholder: 'Converted JSON will appear here...',
|
||||
format_placeholder: 'Converted {format} will appear here...'
|
||||
},
|
||||
notes: {
|
||||
title: 'Conversion Notes',
|
||||
xml: {
|
||||
title: 'Notes for JSON and XML conversion:',
|
||||
items: [
|
||||
'JSON object keys will be converted to XML elements',
|
||||
'XML attributes may be lost during conversion',
|
||||
'Array elements will be converted to repeated elements with the same name'
|
||||
]
|
||||
},
|
||||
csv: {
|
||||
title: 'Notes for JSON and CSV conversion:',
|
||||
items: [
|
||||
'CSV format is best suited for flat data structures',
|
||||
'Nested objects will be flattened or merged into a single field',
|
||||
'Complex structures may lose information during conversion'
|
||||
]
|
||||
},
|
||||
yaml: {
|
||||
title: 'Notes for JSON and YAML conversion:',
|
||||
items: [
|
||||
'YAML supports richer data types and comments',
|
||||
'JSON is a strict subset of YAML',
|
||||
'Most data structures are preserved during conversion'
|
||||
]
|
||||
}
|
||||
},
|
||||
errors: {
|
||||
invalid_json: 'Invalid JSON format',
|
||||
conversion_error: 'An error occurred during conversion',
|
||||
copy_failed: 'Copy failed:',
|
||||
clipboard_error: 'Failed to copy to clipboard'
|
||||
}
|
||||
};
|
||||
|
||||
export default jsonConverterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import jsonConverterZh from './zh';
|
||||
import jsonConverterEn from './en';
|
||||
|
||||
export const jsonConverter = {
|
||||
zh: jsonConverterZh,
|
||||
en: jsonConverterEn
|
||||
};
|
||||
|
||||
export default jsonConverter;
|
||||
@@ -0,0 +1,100 @@
|
||||
export const jsonConverterZh = {
|
||||
title: 'JSON转换工具',
|
||||
description: 'JSON与XML/CSV/YAML格式互相转换',
|
||||
select_format_type: '选择转换格式类型',
|
||||
format_types: {
|
||||
xml: {
|
||||
name: 'XML',
|
||||
description: 'JSON与XML之间互相转换'
|
||||
},
|
||||
csv: {
|
||||
name: 'CSV',
|
||||
description: 'JSON与CSV之间互相转换'
|
||||
},
|
||||
yaml: {
|
||||
name: 'YAML',
|
||||
description: 'JSON与YAML之间互相转换'
|
||||
}
|
||||
},
|
||||
direction: {
|
||||
json_to_format: 'JSON',
|
||||
format_to_json: '{format}'
|
||||
},
|
||||
actions: {
|
||||
load_example: '加载示例',
|
||||
clear: '清空',
|
||||
convert: '转换',
|
||||
converting: '转换中...',
|
||||
copy: '复制',
|
||||
copied: '已复制',
|
||||
download: '下载'
|
||||
},
|
||||
advanced_options: {
|
||||
show: '显示高级选项',
|
||||
hide: '隐藏高级选项',
|
||||
csv: {
|
||||
delimiter: '分隔符',
|
||||
delimiters: {
|
||||
comma: '逗号 (,)',
|
||||
semicolon: '分号 (;)',
|
||||
tab: '制表符 (Tab)',
|
||||
pipe: '竖线 (|)'
|
||||
},
|
||||
include_header: '包含表头',
|
||||
generate_header: '生成CSV表头',
|
||||
parse_header: '解析CSV表头作为字段名'
|
||||
},
|
||||
xml: {
|
||||
root_element: 'XML根元素名称',
|
||||
root_placeholder: '根元素名称'
|
||||
},
|
||||
description: '这些选项将影响转换结果的格式和结构。'
|
||||
},
|
||||
input: {
|
||||
json: 'JSON 输入',
|
||||
format: '{format} 输入',
|
||||
json_placeholder: '请输入JSON数据...',
|
||||
format_placeholder: '请输入{format}数据...'
|
||||
},
|
||||
output: {
|
||||
json: 'JSON 输出',
|
||||
format: '{format} 输出',
|
||||
json_placeholder: '转换后的JSON将显示在这里...',
|
||||
format_placeholder: '转换后的{format}将显示在这里...'
|
||||
},
|
||||
notes: {
|
||||
title: '转换说明',
|
||||
xml: {
|
||||
title: 'JSON与XML之间的转换注意事项:',
|
||||
items: [
|
||||
'JSON对象的键将转换为XML元素',
|
||||
'XML属性在转换后可能会丢失',
|
||||
'数组元素会被转换为同名的重复元素'
|
||||
]
|
||||
},
|
||||
csv: {
|
||||
title: 'JSON与CSV之间的转换注意事项:',
|
||||
items: [
|
||||
'CSV格式最适合扁平的数据结构',
|
||||
'嵌套对象会被展平或合并为一个字段',
|
||||
'复杂结构可能会在转换过程中丢失信息'
|
||||
]
|
||||
},
|
||||
yaml: {
|
||||
title: 'JSON与YAML之间的转换注意事项:',
|
||||
items: [
|
||||
'YAML支持更丰富的数据类型和注释',
|
||||
'JSON是YAML的严格子集',
|
||||
'转换过程中保留大部分数据结构'
|
||||
]
|
||||
}
|
||||
},
|
||||
errors: {
|
||||
invalid_json: '输入的JSON格式无效',
|
||||
conversion_error: '转换过程中发生错误',
|
||||
copy_failed: '复制失败:',
|
||||
clipboard_error: '复制到剪贴板失败'
|
||||
}
|
||||
};
|
||||
|
||||
export default jsonConverterZh;
|
||||
@@ -0,0 +1,23 @@
|
||||
export const jsonEditorEn = {
|
||||
title: 'JSON Editor',
|
||||
description: 'Online JSON data editing and modification',
|
||||
editor_loading: 'Editor loading...',
|
||||
copy: 'Copy',
|
||||
download: 'Download',
|
||||
upload: 'Upload',
|
||||
clear: 'Clear',
|
||||
file_name: 'File name:',
|
||||
copied_to_clipboard: 'Copied to clipboard',
|
||||
copy_failed: 'Copy failed:',
|
||||
download_success: 'Downloaded {fileName}',
|
||||
download_failed: 'Download failed: Invalid JSON data',
|
||||
loaded_file: 'Loaded file {fileName}',
|
||||
loaded_as_text: 'Loaded {fileName} as text (invalid JSON format)',
|
||||
read_file_failed: 'Failed to read file',
|
||||
editor_cleared: 'Editor has been cleared',
|
||||
confirm_clear: 'Are you sure you want to clear the editor content?',
|
||||
invalid_json: 'Unable to get valid JSON content',
|
||||
edit_json_here: 'Edit your JSON data here'
|
||||
};
|
||||
|
||||
export default jsonEditorEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import jsonEditorZh from './zh';
|
||||
import jsonEditorEn from './en';
|
||||
|
||||
export const jsonEditor = {
|
||||
zh: jsonEditorZh,
|
||||
en: jsonEditorEn
|
||||
};
|
||||
|
||||
export default jsonEditor;
|
||||
@@ -0,0 +1,23 @@
|
||||
export const jsonEditorZh = {
|
||||
title: 'JSON编辑器',
|
||||
description: '在线编辑与修改JSON数据',
|
||||
editor_loading: '编辑器加载中...',
|
||||
copy: '复制',
|
||||
download: '下载',
|
||||
upload: '上传',
|
||||
clear: '清空',
|
||||
file_name: '文件名:',
|
||||
copied_to_clipboard: '已复制到剪贴板',
|
||||
copy_failed: '复制失败:',
|
||||
download_success: '已下载 {fileName}',
|
||||
download_failed: '下载失败:无效的JSON数据',
|
||||
loaded_file: '已加载文件 {fileName}',
|
||||
loaded_as_text: '已以文本形式加载 {fileName}(JSON格式无效)',
|
||||
read_file_failed: '读取文件失败',
|
||||
editor_cleared: '编辑器已清空',
|
||||
confirm_clear: '确定要清空编辑器内容吗?',
|
||||
invalid_json: '无法获取有效的JSON内容',
|
||||
edit_json_here: '在这里编辑您的JSON数据'
|
||||
};
|
||||
|
||||
export default jsonEditorZh;
|
||||
@@ -0,0 +1,63 @@
|
||||
export const jsonFormatterEn = {
|
||||
title: 'JSON Formatter',
|
||||
description: 'JSON data beautify and validation tool',
|
||||
beautify: 'Beautify',
|
||||
compress: 'Compress',
|
||||
expand_all: 'Expand All',
|
||||
collapse_all: 'Collapse All',
|
||||
clear: 'Clear',
|
||||
load_example: 'Load Example',
|
||||
history: 'History',
|
||||
save: 'Save',
|
||||
cancel: 'Cancel',
|
||||
input_json: 'Input JSON',
|
||||
paste_json_here: 'Paste JSON here',
|
||||
jsonpath_query: 'JSONPath Query',
|
||||
optional: '(Optional)',
|
||||
enter_jsonpath: 'Enter JSONPath expression, e.g.: $.store.book[0].title',
|
||||
query_result: 'Query Result',
|
||||
output: 'Formatted Result',
|
||||
copy: 'Copy',
|
||||
large_json_warning: 'Large File Mode',
|
||||
json_history: 'JSON History',
|
||||
history_empty: 'No history records',
|
||||
remove_favorite: 'Remove Favorite',
|
||||
add_favorite: 'Add Favorite',
|
||||
edit_title: 'Edit Title',
|
||||
delete: 'Delete',
|
||||
save_to_history: 'Save to History',
|
||||
enter_title: 'Enter Title',
|
||||
json_valid: '✓ JSON is valid',
|
||||
json_invalid: '✗ Invalid JSON',
|
||||
large_json_processed: '✓ Large JSON processed ({size} KB)',
|
||||
load_history_error: 'Failed to load history:',
|
||||
copy_failed: 'Copy failed:',
|
||||
normal_mode: 'Normal Mode',
|
||||
fold_mode: 'Fold Mode',
|
||||
reformat: 'Reformat',
|
||||
processing: 'Processing...',
|
||||
cancel_processing: 'Cancel Processing',
|
||||
processing_large_json: 'Processing large JSON...',
|
||||
processing_large_json_message: 'Processing large JSON...\nThis may take a few seconds',
|
||||
parsing_json: 'Parsing JSON...',
|
||||
characters: 'characters',
|
||||
jsonpath_placeholder: 'Enter JSONPath query, e.g.: author.name',
|
||||
query_result_placeholder: 'Query results will be shown here',
|
||||
favorites: 'Favorites',
|
||||
all_history: 'All History',
|
||||
no_saved_records: 'No saved JSON records',
|
||||
save_first_record: 'Click the "Save" button to add your first record',
|
||||
edit_saved_json: 'Edit Saved JSON',
|
||||
update: 'Update',
|
||||
paste_json_placeholder: 'Please enter or paste JSON data...',
|
||||
usage_guide: 'Usage Guide',
|
||||
guide_1: 'Supports formatting and validating standard JSON data',
|
||||
guide_2: 'Can process common non-standard JSON formats (like JS objects)',
|
||||
guide_3: 'Supports fold mode for easy viewing of complex JSON structures',
|
||||
guide_4: 'JSONPath queries support dot notation (e.g., author.name) and array indices (e.g., features[0])',
|
||||
guide_5: 'Compress/Beautify mode can be freely switched',
|
||||
guide_6: 'Processing large JSON data may take a few seconds',
|
||||
guide_7: 'Multiple JSON data can be saved to history for comparison'
|
||||
};
|
||||
|
||||
export default jsonFormatterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import jsonFormatterZh from './zh';
|
||||
import jsonFormatterEn from './en';
|
||||
|
||||
export const jsonFormatter = {
|
||||
zh: jsonFormatterZh,
|
||||
en: jsonFormatterEn
|
||||
};
|
||||
|
||||
export default jsonFormatter;
|
||||
@@ -0,0 +1,63 @@
|
||||
export const jsonFormatterZh = {
|
||||
title: 'JSON格式化',
|
||||
description: 'JSON数据美化与验证工具',
|
||||
beautify: '美化',
|
||||
compress: '压缩',
|
||||
expand_all: '全部展开',
|
||||
collapse_all: '全部折叠',
|
||||
clear: '清空',
|
||||
load_example: '加载示例',
|
||||
history: '历史记录',
|
||||
save: '保存',
|
||||
cancel: '取消',
|
||||
input_json: '输入JSON',
|
||||
paste_json_here: '粘贴JSON到此处',
|
||||
jsonpath_query: 'JSONPath查询',
|
||||
optional: '(可选)',
|
||||
enter_jsonpath: '输入JSONPath表达式,例如: $.store.book[0].title',
|
||||
query_result: '查询结果',
|
||||
output: '格式化结果',
|
||||
copy: '复制',
|
||||
large_json_warning: '大文件模式',
|
||||
json_history: 'JSON历史记录',
|
||||
history_empty: '暂无历史记录',
|
||||
remove_favorite: '取消收藏',
|
||||
add_favorite: '添加收藏',
|
||||
edit_title: '编辑标题',
|
||||
delete: '删除',
|
||||
save_to_history: '保存到历史记录',
|
||||
enter_title: '输入标题',
|
||||
json_valid: '✓ JSON校验通过',
|
||||
json_invalid: '✗ 无效的JSON',
|
||||
large_json_processed: '✓ 大型JSON已处理 ({size} KB)',
|
||||
load_history_error: '加载历史记录失败:',
|
||||
copy_failed: '复制失败:',
|
||||
normal_mode: '普通模式',
|
||||
fold_mode: '折叠模式',
|
||||
reformat: '重新格式化',
|
||||
processing: '处理中...',
|
||||
cancel_processing: '取消处理',
|
||||
processing_large_json: '处理大型JSON中...',
|
||||
processing_large_json_message: '正在处理大型JSON...\n这可能需要几秒钟',
|
||||
parsing_json: '正在解析JSON...',
|
||||
characters: '字符',
|
||||
jsonpath_placeholder: '输入JSONPath查询,例如: author.name',
|
||||
query_result_placeholder: '查询结果将显示在这里',
|
||||
favorites: '收藏项目',
|
||||
all_history: '全部历史',
|
||||
no_saved_records: '暂无保存的JSON记录',
|
||||
save_first_record: '点击"保存"按钮添加您的第一条记录',
|
||||
edit_saved_json: '编辑保存的JSON',
|
||||
update: '更新',
|
||||
paste_json_placeholder: '请输入或粘贴JSON数据...',
|
||||
usage_guide: '使用说明',
|
||||
guide_1: '支持格式化和验证标准JSON数据',
|
||||
guide_2: '可以处理常见的不规范JSON格式(如JS对象)',
|
||||
guide_3: '支持折叠模式,方便查看复杂JSON结构',
|
||||
guide_4: 'JSONPath查询支持点符号(如author.name)和数组索引(如features[0])',
|
||||
guide_5: '展示压缩/美化模式可以自由切换',
|
||||
guide_6: '处理大型JSON数据可能需要几秒钟时间',
|
||||
guide_7: '可以保存多个JSON数据到历史记录中,方便比较查看'
|
||||
};
|
||||
|
||||
export default jsonFormatterZh;
|
||||
@@ -0,0 +1,62 @@
|
||||
export const jwtDecoderEn = {
|
||||
title: 'JWT Decoder & Validator',
|
||||
description: 'Decode and verify JSON Web Tokens',
|
||||
decode_jwt: 'Decode JWT Token',
|
||||
jwt_token: 'JWT Token:',
|
||||
hide_parts: 'Hide Parts',
|
||||
show_parts: 'Show Parts',
|
||||
paste_jwt: 'Paste JWT token here...',
|
||||
token_structure: 'JWT Token Structure',
|
||||
header: 'Header',
|
||||
payload: 'Payload',
|
||||
signature: 'Signature',
|
||||
parsing_error: 'Error parsing JWT token',
|
||||
token_empty: 'JWT token cannot be empty',
|
||||
invalid_format: 'Invalid JWT format, should be a three-part structure (header.payload.signature)',
|
||||
parsing_failed: 'JWT parsing failed, may contain invalid JSON data',
|
||||
invalid_base64: 'Invalid Base64 encoding',
|
||||
expired: 'Expired',
|
||||
days: 'days',
|
||||
hours: 'hours',
|
||||
minutes: 'minutes',
|
||||
seconds: 'seconds',
|
||||
copied_content: 'Content copied to clipboard',
|
||||
copy_failed: 'Copy failed:',
|
||||
clipboard_error: 'Failed to copy to clipboard',
|
||||
token_copied: 'JWT token copied to clipboard',
|
||||
load_example: 'Load Example',
|
||||
clear: 'Clear',
|
||||
copy_token: 'Copy Token',
|
||||
jwt_status: 'JWT Status:',
|
||||
format_valid: 'Format Valid',
|
||||
format_invalid: 'Format Invalid',
|
||||
expiration_status: 'Expiration Status:',
|
||||
issue_time: 'Issue Time:',
|
||||
header_tab: 'Header',
|
||||
payload_tab: 'Payload',
|
||||
signature_tab: 'Signature',
|
||||
copied: 'Copied',
|
||||
copy: 'Copy',
|
||||
// Info panel
|
||||
what_is_jwt: 'What is JWT?',
|
||||
jwt_full_name: 'JSON Web Token (JWT) Decoder & Validator',
|
||||
jwt_intro: 'JWT (JSON Web Token) is an open standard used to securely transmit information between parties as a compact and self-contained object.',
|
||||
jwt_parts: 'JWT consists of three parts separated by dots (.):',
|
||||
header_desc: 'Contains the token type and signing algorithm',
|
||||
payload_desc: 'Contains claims, such as user info, permissions, etc.',
|
||||
signature_desc: 'Used to verify the message signature',
|
||||
tool_purpose: 'This tool allows you to quickly decode JWT tokens, verify their format, and check expiration status, but does not verify signature validity.',
|
||||
common_use_cases: 'Common JWT Use Cases',
|
||||
use_case_1: 'Authentication',
|
||||
use_case_2: 'Information Exchange',
|
||||
use_case_3: 'Single Sign On',
|
||||
use_case_4: 'Authorization',
|
||||
use_case_5: 'API Access Control',
|
||||
// Expiration status
|
||||
valid_remaining: 'Valid, remaining {time}',
|
||||
not_set: 'No expiration time set',
|
||||
// Example JWT user
|
||||
example_user: 'JiSuXiang User'
|
||||
};
|
||||
|
||||
export default jwtDecoderEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import jwtDecoderZh from './zh';
|
||||
import jwtDecoderEn from './en';
|
||||
|
||||
export const jwtDecoder = {
|
||||
zh: jwtDecoderZh,
|
||||
en: jwtDecoderEn
|
||||
};
|
||||
|
||||
export default jwtDecoder;
|
||||
@@ -0,0 +1,62 @@
|
||||
export const jwtDecoderZh = {
|
||||
title: 'JWT解析与验证',
|
||||
description: '解码和验证JSON Web Token',
|
||||
decode_jwt: '解码JWT令牌',
|
||||
jwt_token: 'JWT令牌:',
|
||||
hide_parts: '隐藏分段',
|
||||
show_parts: '显示分段',
|
||||
paste_jwt: '粘贴JWT令牌到这里...',
|
||||
token_structure: 'JWT令牌结构',
|
||||
header: '头部',
|
||||
payload: '载荷',
|
||||
signature: '签名',
|
||||
parsing_error: '解析JWT令牌时发生错误',
|
||||
token_empty: 'JWT令牌不能为空',
|
||||
invalid_format: '无效的JWT格式,应为三段式结构(header.payload.signature)',
|
||||
parsing_failed: 'JWT解析失败,可能包含无效的JSON数据',
|
||||
invalid_base64: '无效的Base64编码',
|
||||
expired: '已过期',
|
||||
days: '天',
|
||||
hours: '小时',
|
||||
minutes: '分钟',
|
||||
seconds: '秒',
|
||||
copied_content: '内容已复制到剪贴板',
|
||||
copy_failed: '复制失败:',
|
||||
clipboard_error: '复制到剪贴板失败',
|
||||
token_copied: 'JWT令牌已复制到剪贴板',
|
||||
load_example: '加载示例',
|
||||
clear: '清空',
|
||||
copy_token: '复制令牌',
|
||||
jwt_status: 'JWT状态:',
|
||||
format_valid: '格式有效',
|
||||
format_invalid: '格式无效',
|
||||
expiration_status: '过期状态:',
|
||||
issue_time: '签发时间:',
|
||||
header_tab: '头部 (Header)',
|
||||
payload_tab: '载荷 (Payload)',
|
||||
signature_tab: '签名 (Signature)',
|
||||
copied: '已复制',
|
||||
copy: '复制',
|
||||
// 信息面板
|
||||
what_is_jwt: '什么是JWT?',
|
||||
jwt_full_name: 'JSON Web Token(JWT)解码与验证',
|
||||
jwt_intro: 'JWT(JSON Web Token)是一种开放标准,用于在网络应用间传递声明(Claims)的紧凑且自包含的方式。',
|
||||
jwt_parts: 'JWT由三部分组成,各部分用点(.)分隔:',
|
||||
header_desc: '包含令牌类型和签名算法',
|
||||
payload_desc: '包含声明(Claims),如用户信息、权限等',
|
||||
signature_desc: '用于验证消息的签名',
|
||||
tool_purpose: '使用此工具可以快速解码JWT令牌,验证其格式,并检查过期状态,但不会验证签名的有效性。',
|
||||
common_use_cases: '常见的JWT应用场景',
|
||||
use_case_1: '身份验证(Authentication)',
|
||||
use_case_2: '信息交换(Information Exchange)',
|
||||
use_case_3: '单点登录(Single Sign On)',
|
||||
use_case_4: '授权(Authorization)',
|
||||
use_case_5: 'API访问控制',
|
||||
// 过期状态
|
||||
valid_remaining: '有效,剩余 {time}',
|
||||
not_set: '未设置过期时间',
|
||||
// 示例JWT用户
|
||||
example_user: '极速箱用户'
|
||||
};
|
||||
|
||||
export default jwtDecoderZh;
|
||||
@@ -0,0 +1,48 @@
|
||||
export const qrcodeGeneratorEn = {
|
||||
title: 'QR Code Generator',
|
||||
description: 'Convert text/URL to QR code image',
|
||||
basic_settings: 'Basic Settings',
|
||||
qrcode_content: 'QR Code Content',
|
||||
size_pixels: 'Size (pixels)',
|
||||
margin_pixels: 'Margin (pixels)',
|
||||
dot_style: 'Dot Style',
|
||||
squares: 'Squares',
|
||||
dots: 'Dots',
|
||||
color_settings: 'Color Settings',
|
||||
background_color: 'Background Color',
|
||||
foreground_color: 'Foreground Color',
|
||||
eye_color: 'Eye Color',
|
||||
eye_radius: 'Eye Radius',
|
||||
preset_colors: 'Preset Colors',
|
||||
preset_classic_bw: 'Classic B&W',
|
||||
preset_blue_white: 'Business Blue',
|
||||
preset_vibrant_red: 'Vibrant Red',
|
||||
preset_fresh_green: 'Fresh Green',
|
||||
preset_tech_purple: 'Tech Purple',
|
||||
preset_dark_mode: 'Dark Mode',
|
||||
preset_orange_accent: 'Orange Accent',
|
||||
preset_warm_brown: 'Warm Brown',
|
||||
logo_settings: 'Logo Settings',
|
||||
upload_logo: 'Upload Logo',
|
||||
remove: 'Remove',
|
||||
logo_width: 'Logo Width (pixels)',
|
||||
logo_height: 'Logo Height (pixels)',
|
||||
logo_opacity: 'Logo Opacity',
|
||||
remove_code_behind_logo: 'Remove QR Code Behind Logo',
|
||||
preview: 'Preview',
|
||||
copy_content: 'Copy Content',
|
||||
download_qrcode: 'Download QR Code',
|
||||
reset_settings: 'Reset Settings',
|
||||
please_input_content: 'Please input content to generate QR code',
|
||||
instructions: 'Instructions',
|
||||
instruction_1: '1. Enter the content you want to generate as a QR code (URL, text, etc.)',
|
||||
instruction_2: '2. Adjust QR code style, color and other parameters in the control panel',
|
||||
instruction_3: '3. You can upload a logo image and set its size and opacity',
|
||||
instruction_4: '4. Click the download button to save the generated QR code image',
|
||||
note: 'Note: Long content may affect QR code readability, consider using short links',
|
||||
input_placeholder: 'Enter URL, text or other content...',
|
||||
copy_failed: 'Copy failed',
|
||||
download_failed: 'Download failed'
|
||||
};
|
||||
|
||||
export default qrcodeGeneratorEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import qrcodeGeneratorZh from './zh';
|
||||
import qrcodeGeneratorEn from './en';
|
||||
|
||||
export const qrcodeGenerator = {
|
||||
zh: qrcodeGeneratorZh,
|
||||
en: qrcodeGeneratorEn
|
||||
};
|
||||
|
||||
export default qrcodeGenerator;
|
||||
@@ -0,0 +1,48 @@
|
||||
export const qrcodeGeneratorZh = {
|
||||
title: '二维码生成',
|
||||
description: '文本/URL转二维码图片工具',
|
||||
basic_settings: '基本设置',
|
||||
qrcode_content: '二维码内容',
|
||||
size_pixels: '尺寸(像素)',
|
||||
margin_pixels: '边距(像素)',
|
||||
dot_style: '点样式',
|
||||
squares: '方块',
|
||||
dots: '圆点',
|
||||
color_settings: '颜色设置',
|
||||
background_color: '背景颜色',
|
||||
foreground_color: '前景颜色',
|
||||
eye_color: '眼睛颜色',
|
||||
eye_radius: '眼睛圆角',
|
||||
preset_colors: '预设颜色',
|
||||
preset_classic_bw: '黑白经典',
|
||||
preset_blue_white: '蓝白商务',
|
||||
preset_vibrant_red: '活力红',
|
||||
preset_fresh_green: '清新绿',
|
||||
preset_tech_purple: '科技紫',
|
||||
preset_dark_mode: '暗黑模式',
|
||||
preset_orange_accent: '橙色点缀',
|
||||
preset_warm_brown: '温暖棕',
|
||||
logo_settings: 'Logo设置',
|
||||
upload_logo: '上传Logo',
|
||||
remove: '移除',
|
||||
logo_width: 'Logo宽度(像素)',
|
||||
logo_height: 'Logo高度(像素)',
|
||||
logo_opacity: 'Logo透明度',
|
||||
remove_code_behind_logo: '移除Logo后方的二维码',
|
||||
preview: '预览',
|
||||
copy_content: '复制内容',
|
||||
download_qrcode: '下载二维码',
|
||||
reset_settings: '重置设置',
|
||||
please_input_content: '请输入内容生成二维码',
|
||||
instructions: '使用说明',
|
||||
instruction_1: '1. 输入需要生成二维码的内容,支持网址、文本等',
|
||||
instruction_2: '2. 通过右侧控制面板调整二维码的样式、颜色等参数',
|
||||
instruction_3: '3. 可以上传Logo图片并设置其大小和透明度',
|
||||
instruction_4: '4. 点击下载按钮保存生成的二维码图片',
|
||||
note: '注意:内容过长可能影响二维码识别率,建议使用简短链接',
|
||||
input_placeholder: '输入网址、文本或其他内容...',
|
||||
copy_failed: '复制失败',
|
||||
download_failed: '下载失败'
|
||||
};
|
||||
|
||||
export default qrcodeGeneratorZh;
|
||||
@@ -0,0 +1,44 @@
|
||||
export const regexTesterEn = {
|
||||
title: 'Regex Tester',
|
||||
description: 'Test regular expression matching in real-time',
|
||||
examples: {
|
||||
title: 'Common Examples',
|
||||
email: 'Email',
|
||||
phone: 'Phone Number',
|
||||
url: 'URL',
|
||||
ip: 'IP Address',
|
||||
chinese: 'Chinese Characters'
|
||||
},
|
||||
example_texts: {
|
||||
phone: 'Contact phone: 13812345678 or contact email: [email protected]',
|
||||
url: 'Visit https://example.com or http://localhost:3000',
|
||||
ip: 'Server IP: 192.168.1.1 and 10.0.0.1 and 256.256.256.256',
|
||||
chinese: 'Hello 你好,世界!World'
|
||||
},
|
||||
options: 'Regex Options',
|
||||
flags: 'Flags',
|
||||
flag_descriptions: {
|
||||
global: 'Global',
|
||||
case_insensitive: 'Case Insensitive',
|
||||
multiline: 'Multiline',
|
||||
dotall: 'Dot Matches All'
|
||||
},
|
||||
show_capture_groups: 'Show Capture Groups',
|
||||
regex_expression: 'Regular Expression',
|
||||
copy: 'Copy',
|
||||
enter_regex: 'Enter regular expression...',
|
||||
test_text: 'Test Text',
|
||||
character_count: 'Character Count',
|
||||
enter_test_text: 'Enter text to test...',
|
||||
match_results: 'Match Results',
|
||||
match_count: 'Match Count',
|
||||
found: 'Found',
|
||||
matches: 'matches',
|
||||
original_text_length: 'Original Text Length',
|
||||
result_characters: 'characters',
|
||||
no_matches: 'No Matches Found',
|
||||
capture_groups: 'Capture Group Details',
|
||||
match: 'Match'
|
||||
};
|
||||
|
||||
export default regexTesterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import regexTesterZh from './zh';
|
||||
import regexTesterEn from './en';
|
||||
|
||||
export const regexTester = {
|
||||
zh: regexTesterZh,
|
||||
en: regexTesterEn
|
||||
};
|
||||
|
||||
export default regexTester;
|
||||
@@ -0,0 +1,44 @@
|
||||
export const regexTesterZh = {
|
||||
title: '正则表达式测试',
|
||||
description: '实时验证正则表达式匹配效果',
|
||||
examples: {
|
||||
title: '常用示例',
|
||||
email: '电子邮箱',
|
||||
phone: '手机号码',
|
||||
url: 'URL地址',
|
||||
ip: 'IP地址',
|
||||
chinese: '中文字符'
|
||||
},
|
||||
example_texts: {
|
||||
phone: '联系电话:13812345678 或 联系邮箱:[email protected]',
|
||||
url: '访问 https://example.com 或 http://localhost:3000',
|
||||
ip: '服务器IP: 192.168.1.1 和 10.0.0.1 以及 256.256.256.256',
|
||||
chinese: 'Hello 你好,世界!World'
|
||||
},
|
||||
options: '正则选项',
|
||||
flags: '标志位',
|
||||
flag_descriptions: {
|
||||
global: '全局',
|
||||
case_insensitive: '忽略大小写',
|
||||
multiline: '多行',
|
||||
dotall: '点匹配所有'
|
||||
},
|
||||
show_capture_groups: '显示捕获组',
|
||||
regex_expression: '正则表达式',
|
||||
copy: '复制',
|
||||
enter_regex: '输入正则表达式...',
|
||||
test_text: '测试文本',
|
||||
character_count: '字符数',
|
||||
enter_test_text: '输入待测试的文本...',
|
||||
match_results: '匹配结果',
|
||||
match_count: '匹配数量',
|
||||
found: '找到',
|
||||
matches: '个匹配项',
|
||||
original_text_length: '原文本长度',
|
||||
result_characters: '字符',
|
||||
no_matches: '无匹配结果',
|
||||
capture_groups: '捕获组详情',
|
||||
match: '匹配'
|
||||
};
|
||||
|
||||
export default regexTesterZh;
|
||||
@@ -0,0 +1,29 @@
|
||||
export const textCounterEn = {
|
||||
title: 'Text Counter',
|
||||
description: 'Count characters, words, sentences, and paragraphs in text',
|
||||
input_text: 'Input Text',
|
||||
input_placeholder: 'Enter or paste text here...',
|
||||
empty_notice: 'Statistics will be displayed on the left once text is entered',
|
||||
statistics_results: 'Statistics Results',
|
||||
copy_results: 'Copy Results',
|
||||
copied: 'Copied',
|
||||
tool_options: 'Tool Options',
|
||||
load_chinese_example: 'Load Chinese Example',
|
||||
load_english_example: 'Load English Example',
|
||||
clear: 'Clear',
|
||||
copy_failed: 'Copy failed',
|
||||
statistics: {
|
||||
total_characters: 'Total Characters',
|
||||
characters_no_spaces: 'Characters (No Spaces)',
|
||||
chinese_characters: 'Chinese Characters',
|
||||
total_words: 'Total Words',
|
||||
chinese_words: 'Chinese Words',
|
||||
english_words: 'English Words',
|
||||
sentences: 'Sentences',
|
||||
paragraphs: 'Paragraphs',
|
||||
lines: 'Lines'
|
||||
},
|
||||
copy_result_text: 'Text Statistics Results:\nTotal Characters: {characters}\nCharacters (No Spaces): {charactersNoSpaces}\nChinese Characters: {chineseCharacters}\nTotal Words: {words}\nChinese Words: {chineseWords}\nEnglish Words: {englishWords}\nSentences: {sentences}\nParagraphs: {paragraphs}\nLines: {lines}'
|
||||
};
|
||||
|
||||
export default textCounterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import textCounterZh from './zh';
|
||||
import textCounterEn from './en';
|
||||
|
||||
export const textCounter = {
|
||||
zh: textCounterZh,
|
||||
en: textCounterEn
|
||||
};
|
||||
|
||||
export default textCounter;
|
||||
@@ -0,0 +1,29 @@
|
||||
export const textCounterZh = {
|
||||
title: '文本字数统计',
|
||||
description: '统计文本的字符数、词数、句子数和段落数',
|
||||
input_text: '输入文本',
|
||||
input_placeholder: '在此输入或粘贴文本...',
|
||||
empty_notice: '输入文本后将在左侧显示统计结果',
|
||||
statistics_results: '统计结果',
|
||||
copy_results: '复制结果',
|
||||
copied: '已复制',
|
||||
tool_options: '工具选项',
|
||||
load_chinese_example: '加载中文示例',
|
||||
load_english_example: '加载英文示例',
|
||||
clear: '清空',
|
||||
copy_failed: '复制失败',
|
||||
statistics: {
|
||||
total_characters: '总字符数',
|
||||
characters_no_spaces: '不含空格字符数',
|
||||
chinese_characters: '中文字符数',
|
||||
total_words: '总词数',
|
||||
chinese_words: '中文词数',
|
||||
english_words: '英文词数',
|
||||
sentences: '句子数',
|
||||
paragraphs: '段落数',
|
||||
lines: '行数'
|
||||
},
|
||||
copy_result_text: '字符统计结果:\n总字符数: {characters}\n不含空格字符数: {charactersNoSpaces}\n中文字符数: {chineseCharacters}\n总词数: {words}\n中文词数: {chineseWords}\n英文词数: {englishWords}\n句子数: {sentences}\n段落数: {paragraphs}\n行数: {lines}'
|
||||
};
|
||||
|
||||
export default textCounterZh;
|
||||
@@ -0,0 +1,24 @@
|
||||
export const timestampConverterEn = {
|
||||
title: 'Timestamp Converter',
|
||||
description: 'Unix timestamp and date/time conversion tool',
|
||||
timestamp: 'Timestamp',
|
||||
datetime: 'Date & Time',
|
||||
current_time: 'Current Time',
|
||||
current_time_colon: 'Current Time:',
|
||||
today_zero: 'Today at 00:00',
|
||||
this_monday: 'This Monday',
|
||||
this_month_start: 'This Month Start',
|
||||
this_year_start: 'This Year Start',
|
||||
enter_unix_timestamp: 'Enter Unix timestamp',
|
||||
use_current_time: 'Use Current Time',
|
||||
common_timestamps: 'Common Timestamps',
|
||||
copy_timestamp: 'Copy Timestamp',
|
||||
copy_datetime: 'Copy Date & Time',
|
||||
swap_positions: 'Swap Positions',
|
||||
timestamp_conversion_error: 'Timestamp conversion error',
|
||||
datetime_conversion_error: 'Date & time conversion error',
|
||||
datetime_format_error: 'Date & time format error',
|
||||
copy_failed: 'Copy failed'
|
||||
};
|
||||
|
||||
export default timestampConverterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import timestampConverterZh from './zh';
|
||||
import timestampConverterEn from './en';
|
||||
|
||||
export const timestampConverter = {
|
||||
zh: timestampConverterZh,
|
||||
en: timestampConverterEn
|
||||
};
|
||||
|
||||
export default timestampConverter;
|
||||
@@ -0,0 +1,24 @@
|
||||
export const timestampConverterZh = {
|
||||
title: '时间戳转换',
|
||||
description: 'Unix时间戳与日期时间的互相转换工具',
|
||||
timestamp: '时间戳',
|
||||
datetime: '日期时间',
|
||||
current_time: '当前时间',
|
||||
current_time_colon: '当前时间:',
|
||||
today_zero: '今日零点',
|
||||
this_monday: '本周一',
|
||||
this_month_start: '本月初',
|
||||
this_year_start: '今年初',
|
||||
enter_unix_timestamp: '请输入Unix时间戳',
|
||||
use_current_time: '使用当前时间',
|
||||
common_timestamps: '常用时间戳',
|
||||
copy_timestamp: '复制时间戳',
|
||||
copy_datetime: '复制日期时间',
|
||||
swap_positions: '交换位置',
|
||||
timestamp_conversion_error: '时间戳转换错误',
|
||||
datetime_conversion_error: '日期时间转换错误',
|
||||
datetime_format_error: '日期时间格式化错误',
|
||||
copy_failed: '复制失败'
|
||||
};
|
||||
|
||||
export default timestampConverterZh;
|
||||
@@ -0,0 +1,49 @@
|
||||
export const timezoneConverterEn = {
|
||||
title: 'Timezone Converter',
|
||||
description: 'Convert time between different timezones',
|
||||
date_time: 'Date & Time',
|
||||
source_timezone: 'Source Timezone',
|
||||
target_timezone: 'Target Timezone',
|
||||
conversion_result: 'Conversion Result',
|
||||
converted_time: 'Converted Time',
|
||||
detailed_result: 'Detailed Result',
|
||||
current_time: 'Current Time',
|
||||
use_current_time: 'Use Current Time',
|
||||
copy: 'Copy',
|
||||
copied: 'Copied',
|
||||
copy_failed: 'Copy failed',
|
||||
timezone_conversion_error: 'Timezone conversion error',
|
||||
input_date_time_select_timezone: 'Please enter date & time and select timezone to convert',
|
||||
timezone_note: 'Note: Timezone conversion results have taken daylight saving time into account, different regions may implement DST on different dates',
|
||||
timezone_display_note: 'Timezone names may vary based on your operating system and browser language settings',
|
||||
common_timezone_info: 'Common Timezone Information',
|
||||
asia_pacific: 'Asia Pacific',
|
||||
europe: 'Europe',
|
||||
americas: 'Americas',
|
||||
china: 'China',
|
||||
japan: 'Japan',
|
||||
korea: 'Korea',
|
||||
singapore: 'Singapore',
|
||||
india: 'India',
|
||||
australia: 'Australia',
|
||||
uk: 'UK',
|
||||
france: 'France',
|
||||
germany: 'Germany',
|
||||
russia: 'Russia',
|
||||
us_eastern: 'US Eastern',
|
||||
us_central: 'US Central',
|
||||
us_western: 'US Western',
|
||||
brazil: 'Brazil',
|
||||
about_timezone: 'About Timezone Notation:',
|
||||
timezone_offset_info: 'Offset like "+08:00" means 8 hours ahead of UTC',
|
||||
timezone_dst_info: 'Format like "+01:00/+02:00" indicates standard time/daylight saving time',
|
||||
dst_implementation: 'DST is typically implemented from March to November in the Northern Hemisphere',
|
||||
source_time: 'Source Time',
|
||||
target_time: 'Target Time',
|
||||
timestamp: 'Timestamp',
|
||||
iso_format: 'ISO Format',
|
||||
invalid_date_time: 'Invalid date time',
|
||||
please_enter_valid_date_time: 'Please enter a valid date time'
|
||||
};
|
||||
|
||||
export default timezoneConverterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import timezoneConverterZh from './zh';
|
||||
import timezoneConverterEn from './en';
|
||||
|
||||
export const timezoneConverter = {
|
||||
zh: timezoneConverterZh,
|
||||
en: timezoneConverterEn
|
||||
};
|
||||
|
||||
export default timezoneConverter;
|
||||
@@ -0,0 +1,49 @@
|
||||
export const timezoneConverterZh = {
|
||||
title: '时区转换',
|
||||
description: '不同时区之间的时间转换工具',
|
||||
date_time: '日期时间',
|
||||
source_timezone: '源时区',
|
||||
target_timezone: '目标时区',
|
||||
conversion_result: '转换结果',
|
||||
converted_time: '转换后时间',
|
||||
detailed_result: '详细结果',
|
||||
current_time: '当前时间',
|
||||
use_current_time: '使用当前时间',
|
||||
copy: '复制',
|
||||
copied: '已复制',
|
||||
copy_failed: '复制失败',
|
||||
timezone_conversion_error: '时区转换错误',
|
||||
input_date_time_select_timezone: '请输入日期时间并选择时区进行转换',
|
||||
timezone_note: '注意:时区转换结果已考虑了夏令时的影响,不同地区的夏令时实施日期可能不同',
|
||||
timezone_display_note: '时区名称根据操作系统和浏览器语言设置可能有所不同',
|
||||
common_timezone_info: '常见时区信息',
|
||||
asia_pacific: '亚太地区',
|
||||
europe: '欧洲地区',
|
||||
americas: '美洲地区',
|
||||
china: '中国',
|
||||
japan: '日本',
|
||||
korea: '韩国',
|
||||
singapore: '新加坡',
|
||||
india: '印度',
|
||||
australia: '澳大利亚',
|
||||
uk: '英国',
|
||||
france: '法国',
|
||||
germany: '德国',
|
||||
russia: '俄罗斯',
|
||||
us_eastern: '美国东部',
|
||||
us_central: '美国中部',
|
||||
us_western: '美国西部',
|
||||
brazil: '巴西',
|
||||
about_timezone: '关于时区表示:',
|
||||
timezone_offset_info: '偏移量如 "+08:00" 表示比 UTC 快8小时',
|
||||
timezone_dst_info: '形如 "+01:00/+02:00" 表示标准时间/夏令时',
|
||||
dst_implementation: '夏令时在北半球通常从3月到11月实施',
|
||||
source_time: '源时间',
|
||||
target_time: '目标时间',
|
||||
timestamp: '时间戳',
|
||||
iso_format: 'ISO 格式',
|
||||
invalid_date_time: '无效的日期时间',
|
||||
please_enter_valid_date_time: '请输入有效的日期时间'
|
||||
};
|
||||
|
||||
export default timezoneConverterZh;
|
||||
@@ -0,0 +1,30 @@
|
||||
export const unicodeConverterEn = {
|
||||
title: 'Unicode Converter',
|
||||
description: 'Convert between Unicode and characters',
|
||||
text_to_unicode: 'Text to Unicode',
|
||||
unicode_to_text: 'Unicode to Text',
|
||||
text_to_unicode_description: 'Convert text to Unicode encoding format',
|
||||
unicode_to_text_description: 'Convert Unicode encoding to readable text',
|
||||
load_example: 'Load Example',
|
||||
clear: 'Clear',
|
||||
original_text: 'Original Text',
|
||||
unicode_encoding: 'Unicode Encoding',
|
||||
converted_text: 'Converted Text',
|
||||
swap_input_output: 'Swap Input and Output',
|
||||
copy: 'Copy',
|
||||
copied: 'Copied',
|
||||
text_to_unicode_placeholder: 'Enter text to convert to Unicode...',
|
||||
unicode_to_text_placeholder: 'Enter Unicode encoding to convert to text...',
|
||||
unicode_result_placeholder: 'Unicode encoding result will be displayed here...',
|
||||
text_result_placeholder: 'Text conversion result will be displayed here...',
|
||||
conversion_error: 'Conversion failed: ',
|
||||
copy_failed: 'Copy failed',
|
||||
feature_intro: 'Feature Introduction',
|
||||
unicode_description: 'Unicode is a character encoding standard that can represent all characters in the world. In JavaScript and many programming languages, Unicode characters can be represented in the form of \\uXXXX, where XXXX is the hexadecimal code point of the character.',
|
||||
supported_operations: 'This tool supports two conversion operations:',
|
||||
operation_text_to_unicode: 'Text to Unicode: Convert non-ASCII characters (such as Chinese, Japanese, etc.) to \\uXXXX format',
|
||||
operation_unicode_to_text: 'Unicode to Text: Convert \\uXXXX format encoding back to readable text',
|
||||
note: 'Note: This tool only converts non-ASCII characters (characters with Unicode code points greater than 127), while ASCII characters remain unchanged.'
|
||||
};
|
||||
|
||||
export default unicodeConverterEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import unicodeConverterZh from './zh';
|
||||
import unicodeConverterEn from './en';
|
||||
|
||||
export const unicodeConverter = {
|
||||
zh: unicodeConverterZh,
|
||||
en: unicodeConverterEn
|
||||
};
|
||||
|
||||
export default unicodeConverter;
|
||||
@@ -0,0 +1,30 @@
|
||||
export const unicodeConverterZh = {
|
||||
title: 'Unicode中文互转',
|
||||
description: 'Unicode编码与中文字符的互相转换',
|
||||
text_to_unicode: '文本转Unicode',
|
||||
unicode_to_text: 'Unicode转文本',
|
||||
text_to_unicode_description: '将文本转换为Unicode编码格式',
|
||||
unicode_to_text_description: '将Unicode编码转换为可读文本',
|
||||
load_example: '加载示例',
|
||||
clear: '清空',
|
||||
original_text: '原始文本',
|
||||
unicode_encoding: 'Unicode编码',
|
||||
converted_text: '转换后文本',
|
||||
swap_input_output: '交换输入和输出',
|
||||
copy: '复制',
|
||||
copied: '已复制',
|
||||
text_to_unicode_placeholder: '输入需要转换为Unicode的文本...',
|
||||
unicode_to_text_placeholder: '输入需要转换为文本的Unicode编码...',
|
||||
unicode_result_placeholder: 'Unicode编码结果将显示在这里...',
|
||||
text_result_placeholder: '文本转换结果将显示在这里...',
|
||||
conversion_error: '转换失败: ',
|
||||
copy_failed: '复制失败',
|
||||
feature_intro: '功能介绍',
|
||||
unicode_description: 'Unicode是一种字符编码标准,可以表示世界上所有字符。在JavaScript和很多编程语言中,Unicode字符可以用\\uXXXX的形式表示,其中XXXX是字符的十六进制码点。',
|
||||
supported_operations: '本工具支持两种转换操作:',
|
||||
operation_text_to_unicode: '文本转Unicode: 将非ASCII字符(如中文、日文等)转换为\\uXXXX格式',
|
||||
operation_unicode_to_text: 'Unicode转文本: 将\\uXXXX格式的编码转换回可读文本',
|
||||
note: '注意:此工具只会转换非ASCII字符(Unicode码点大于127的字符),ASCII字符保持不变。'
|
||||
};
|
||||
|
||||
export default unicodeConverterZh;
|
||||
@@ -0,0 +1,44 @@
|
||||
export const urlEncoderEn = {
|
||||
title: 'URL Encoder/Decoder',
|
||||
description: 'Encode and decode URL special characters',
|
||||
original_text: 'Original Text',
|
||||
url_encoded_text: 'URL Encoded Text',
|
||||
input_original_text: 'Input Original Text',
|
||||
input_encoded_text: 'Input Encoded Text',
|
||||
enter_text_to_encode: 'Enter text to encode here...',
|
||||
enter_text_to_decode: 'Enter URL encoded text to decode here...',
|
||||
encoding_result: 'Encoding Result',
|
||||
decoding_result: 'Decoding Result',
|
||||
encoded_result_placeholder: 'Encoding result will appear here...',
|
||||
decoded_result_placeholder: 'Decoding result will appear here...',
|
||||
clear: 'Clear',
|
||||
show_history: 'Show History',
|
||||
hide_history: 'Hide History',
|
||||
copied: 'Copied',
|
||||
copy_result: 'Copy Result',
|
||||
error_processing: 'Error processing text',
|
||||
copy_failed: 'Failed to copy to clipboard',
|
||||
copied_to_clipboard: 'Copied to clipboard',
|
||||
history: 'History',
|
||||
clear_history: 'Clear History',
|
||||
no_history: 'No history records',
|
||||
encode: 'Encode',
|
||||
decode: 'Decode',
|
||||
uri_encoding: 'URI Encoding',
|
||||
uri_component_encoding: 'URI Component Encoding',
|
||||
uri_encoding_description: 'Uses encodeURI and decodeURI functions - does not encode URL necessary characters like / ? : @ & = + $ #',
|
||||
uri_component_description: 'Uses encodeURIComponent and decodeURIComponent functions - encodes all special characters including / ? : @ & = + $ #',
|
||||
url_encoding_explanation: 'URL Encoding Explanation',
|
||||
uri_vs_component: 'URI Encoding vs URI Component Encoding',
|
||||
encode_uri_description: 'Used to encode entire URLs, preserves URL special characters',
|
||||
encode_uri_component_description: 'Used to encode URL parameter values, encodes all special characters',
|
||||
usage_scenarios: 'Usage Scenarios',
|
||||
scenario_1: 'Pass non-ASCII characters, such as Chinese or special characters, in URLs',
|
||||
scenario_2: 'Prevent URL injection and XSS attacks',
|
||||
scenario_3: 'Ensure correct URL format, avoiding parsing errors caused by special characters',
|
||||
encoding_rules: 'Encoding Rules',
|
||||
rules_1: 'Only letters, numbers and the following special characters remain unchanged: - _ . ! ~ * \' ( )',
|
||||
rules_2: 'Other characters are encoded as % followed by two hexadecimal digits'
|
||||
};
|
||||
|
||||
export default urlEncoderEn;
|
||||
@@ -0,0 +1,9 @@
|
||||
import urlEncoderZh from './zh';
|
||||
import urlEncoderEn from './en';
|
||||
|
||||
export const urlEncoder = {
|
||||
zh: urlEncoderZh,
|
||||
en: urlEncoderEn
|
||||
};
|
||||
|
||||
export default urlEncoder;
|
||||
@@ -0,0 +1,44 @@
|
||||
export const urlEncoderZh = {
|
||||
title: 'URL编解码',
|
||||
description: 'URL特殊字符的编码与解码转换',
|
||||
original_text: '原始文本',
|
||||
url_encoded_text: 'URL编码文本',
|
||||
input_original_text: '输入原始文本',
|
||||
input_encoded_text: '输入编码文本',
|
||||
enter_text_to_encode: '在此输入要编码的文本...',
|
||||
enter_text_to_decode: '在此输入要解码的URL编码...',
|
||||
encoding_result: '编码结果',
|
||||
decoding_result: '解码结果',
|
||||
encoded_result_placeholder: '编码结果将显示在这里...',
|
||||
decoded_result_placeholder: '解码结果将显示在这里...',
|
||||
clear: '清空',
|
||||
show_history: '显示历史记录',
|
||||
hide_history: '隐藏历史记录',
|
||||
copied: '已复制',
|
||||
copy_result: '复制结果',
|
||||
error_processing: '处理文本时发生错误',
|
||||
copy_failed: '复制到剪贴板失败',
|
||||
copied_to_clipboard: '已复制到剪贴板',
|
||||
history: '历史记录',
|
||||
clear_history: '清空历史',
|
||||
no_history: '暂无历史记录',
|
||||
encode: '编码',
|
||||
decode: '解码',
|
||||
uri_encoding: 'URI编码',
|
||||
uri_component_encoding: 'URI组件编码',
|
||||
uri_encoding_description: '使用encodeURI和decodeURI函数 - 不编码URL必要字符如 / ? : @ & = + $ #',
|
||||
uri_component_description: '使用encodeURIComponent和decodeURIComponent函数 - 编码所有特殊字符包括 / ? : @ & = + $ #',
|
||||
url_encoding_explanation: 'URL编码说明',
|
||||
uri_vs_component: 'URI编码 vs URI组件编码',
|
||||
encode_uri_description: '用于编码整个URL,保留URL特殊字符',
|
||||
encode_uri_component_description: '用于编码URL参数值,会编码所有特殊字符',
|
||||
usage_scenarios: '应用场景',
|
||||
scenario_1: '在URL中传递中文、特殊字符或其他非ASCII字符',
|
||||
scenario_2: '防止URL注入和XSS攻击',
|
||||
scenario_3: '确保URL格式正确,避免因特殊字符导致的解析错误',
|
||||
encoding_rules: '编码规则',
|
||||
rules_1: '仅字母、数字和以下特殊符号保持不变: - _ . ! ~ * \' ( )',
|
||||
rules_2: '其他字符会被编码为 % 后跟两位十六进制数字'
|
||||
};
|
||||
|
||||
export default urlEncoderZh;
|
||||
@@ -0,0 +1,31 @@
|
||||
import commonZh from './common/zh';
|
||||
import tools from './tools';
|
||||
|
||||
export const zh = {
|
||||
...commonZh,
|
||||
tools: {
|
||||
json_formatter: tools.json_formatter.zh,
|
||||
regex_tester: tools.regex_tester.zh,
|
||||
timestamp_converter: tools.timestamp_converter.zh,
|
||||
encoding_converter: tools.encoding_converter.zh,
|
||||
code_formatter: tools.code_formatter.zh,
|
||||
color_tools: tools.color_tools.zh,
|
||||
crypto_tools: tools.crypto_tools.zh,
|
||||
css_gradient_generator: tools.css_gradient_generator.zh,
|
||||
date_calculator: tools.date_calculator.zh,
|
||||
html_markdown_converter: tools.html_markdown_converter.zh,
|
||||
http_tester: tools.http_tester.zh,
|
||||
image_compressor: tools.image_compressor.zh,
|
||||
ip_lookup: tools.ip_lookup.zh,
|
||||
json_converter: tools.json_converter.zh,
|
||||
json_editor: tools.json_editor.zh,
|
||||
jwt_decoder: tools.jwt_decoder.zh,
|
||||
qrcode_generator: tools.qrcode_generator.zh,
|
||||
text_counter: tools.text_counter.zh,
|
||||
timezone_converter: tools.timezone_converter.zh,
|
||||
unicode_converter: tools.unicode_converter.zh,
|
||||
url_encoder: tools.url_encoder.zh
|
||||
}
|
||||
};
|
||||
|
||||
export default zh;
|
||||
@@ -0,0 +1,140 @@
|
||||
import {
|
||||
faCode, faExchangeAlt, faClock, faGlobe, faLink, faLock,
|
||||
faImage, faCogs, faFileCode, faKey, faFont,
|
||||
faCalendarAlt, faPalette, faEdit, faRuler, faNetworkWired
|
||||
} from '@fortawesome/free-solid-svg-icons';
|
||||
import { Tool } from '@/types/tools';
|
||||
|
||||
// 定义工具列表
|
||||
const tools: Tool[] = [
|
||||
{
|
||||
code: 'json_formatter',
|
||||
icon: faCode,
|
||||
category: ['common', 'json'],
|
||||
keywords: ['json', 'json格式化', '格式化', '美化', '压缩', '校验', 'formatter', 'validator', 'gshjson', 'gshjson', 'jsonxg', 'jxg']
|
||||
},
|
||||
{
|
||||
code: 'http_tester',
|
||||
icon: faGlobe,
|
||||
category: ['common','network'],
|
||||
keywords: ['http测试', 'api测试', '接口测试', '请求测试', 'http', 'api', 'request', 'jiekou', 'qingqiu', 'ceshi', 'postman']
|
||||
},
|
||||
{
|
||||
code: 'timestamp_converter',
|
||||
icon: faClock,
|
||||
category: ['common', 'datetime'],
|
||||
keywords: ['时间戳', '时间', '日期', 'timestamp', 'time', 'date', 'unix时间', 'datetime', 'shijian', 'sjc', 'sj', 'riqi', 'rq']
|
||||
},
|
||||
|
||||
{
|
||||
code: 'encoding_converter',
|
||||
icon: faExchangeAlt,
|
||||
category: ['common', 'encoding'],
|
||||
keywords: ['编码', '解码', 'base64', 'url编码', 'unicode', '编码转换', 'encoding', 'decoding', 'bianma', 'jiema', 'bm', 'jm']
|
||||
},
|
||||
{
|
||||
code: 'regex_tester',
|
||||
icon: faKey,
|
||||
category: ['text'],
|
||||
keywords: ['正则', '正则表达式', 'regex', '表达式', '正则测试', 'regular expression', 'zhengze', 'zz']
|
||||
},
|
||||
{
|
||||
code: 'crypto_tools',
|
||||
icon: faLock,
|
||||
category: ['encoding'],
|
||||
keywords: ['加密', '解密', '哈希', 'md5', 'sha', 'aes', 'des', '加密工具', '解密工具', 'encrypt', 'decrypt', 'hash', 'jiami', 'jiemi', 'jm']
|
||||
},
|
||||
{
|
||||
code: 'color_tools',
|
||||
icon: faPalette,
|
||||
category: ['frontend'],
|
||||
keywords: ['颜色', '调色板', '颜色转换', '颜色选择', 'color', 'rgb', 'hex', 'hsv', 'hsl', 'yanse', 'ys', 'colors']
|
||||
},
|
||||
{
|
||||
code: 'code_formatter',
|
||||
icon: faFileCode,
|
||||
category: ['code'],
|
||||
keywords: ['代码格式化', '代码美化', '格式化', '美化', 'code', 'formatter', 'beautify', 'html', 'css', 'js', 'sql', 'daima', 'dm', 'geshi']
|
||||
},
|
||||
|
||||
{
|
||||
code: 'json_editor',
|
||||
icon: faEdit,
|
||||
category: ['common', 'json'],
|
||||
keywords: ['json编辑器', 'json修改', '编辑器', 'json', 'editor', 'jsonbj', 'json编辑', 'bianji', 'bj']
|
||||
},
|
||||
{
|
||||
code: 'json_converter',
|
||||
icon: faExchangeAlt,
|
||||
category: ['json'],
|
||||
keywords: ['json转换', 'json2xml', 'json2csv', 'json2yaml', 'xml转json', 'csv转json', 'yaml转json', 'jsonzh', 'json互转', 'zhuanhuan', 'zh']
|
||||
},
|
||||
{
|
||||
code: 'url_encoder',
|
||||
icon: faLink,
|
||||
category: ['encoding'],
|
||||
keywords: ['url编码', 'url解码', 'url转换', '网址编码', 'urlencode', 'urldecode', 'url编解码', 'wangzhi', 'wz']
|
||||
},
|
||||
{
|
||||
code: 'unicode_converter',
|
||||
icon: faFont,
|
||||
category: ['encoding'],
|
||||
keywords: ['unicode', '中文', '编码转换', 'unicode转中文', '中文转unicode', 'zhongwen', 'zw', 'unicode编码', 'unicode解码']
|
||||
},
|
||||
{
|
||||
code: 'jwt_decoder',
|
||||
icon: faLock,
|
||||
category: ['encoding'],
|
||||
keywords: ['jwt', 'token', 'jwt解析', 'jwt验证', 'json web token', '令牌', 'token解析', 'jwtjx', 'lingpai']
|
||||
},
|
||||
{
|
||||
code: 'ip_lookup',
|
||||
icon: faNetworkWired,
|
||||
category: ['common','network'],
|
||||
keywords: ['ip查询', 'ip地址', 'ip归属地', '地址查询', 'ip', 'ip归属', 'dizhi', 'dz', 'ip地址查询', 'ipdz']
|
||||
},
|
||||
{
|
||||
code: 'date_calculator',
|
||||
icon: faCalendarAlt,
|
||||
category: ['datetime'],
|
||||
keywords: ['日期计算', '日期差值', '计算器', '日期', 'date', 'calculator', 'date差值', '天数计算', 'riqi', 'rq', 'jsq']
|
||||
},
|
||||
{
|
||||
code: 'timezone_converter',
|
||||
icon: faClock,
|
||||
category: ['datetime'],
|
||||
keywords: ['时区', '时区转换', '时间转换', '时区计算', 'timezone', 'time zone', 'shiqu', 'sq', 'GMT', 'UTC']
|
||||
},
|
||||
{
|
||||
code: 'text_counter',
|
||||
icon: faRuler,
|
||||
category: ['text'],
|
||||
keywords: ['字数统计', '字符统计', '字数', '词数', '行数', '计数', 'word count', 'character count', 'zishu', 'zs', 'tongji', 'tj']
|
||||
},
|
||||
{
|
||||
code: 'html_markdown_converter',
|
||||
icon: faFileCode,
|
||||
category: ['code', 'text'],
|
||||
keywords: ['html', 'markdown', 'md', 'html转markdown', 'markdown转html', '文档转换', 'html2md', 'md2html', 'wenzhang']
|
||||
},
|
||||
{
|
||||
code: 'image_compressor',
|
||||
icon: faImage,
|
||||
category: ['common', 'image'],
|
||||
keywords: ['图片压缩', '压缩图片', '图片', '压缩', 'image', 'compress', 'compressor', 'tupian', 'tp', 'yasuo', 'ys']
|
||||
},
|
||||
{
|
||||
code: 'qrcode_generator',
|
||||
icon: faImage,
|
||||
category: ['common','image'],
|
||||
keywords: ['二维码', '二维码生成', 'qrcode', 'qr码', '扫码', '二维码生成器', 'erweima', 'ewm', 'saoma', 'sm']
|
||||
},
|
||||
{
|
||||
code: 'css_gradient_generator',
|
||||
icon: faCogs,
|
||||
category: ['frontend'],
|
||||
keywords: ['css渐变', '渐变', '渐变背景', 'css', 'gradient', '背景', 'css生成器', 'jianbian', 'jb', 'beijing', 'bj']
|
||||
}
|
||||
] as Tool[];
|
||||
|
||||
export default tools;
|
||||
Reference in New Issue
Block a user