vscode插件i18n-automatically扫描前后js的对比图
44 removals
Words removed | 55 |
Total words | 664 |
Words removed (%) | 8.28 |
283 lines
66 additions
Words added | 56 |
Total words | 665 |
Words added (%) | 8.42 |
300 lines
// 之前的测试文件内容保持不变
import i18n from '@/i18n'; // 之前的测试文件内容保持不变
// test.js
// test.js
// 这是一个用于测试中文国际化处理的 JavaScript 文件
// 这是一个用于测试中文国际化处理的 JavaScript 文件
// 导入模块(假设存在)
// 导入模块(假设存在)
import { translate } from './i18n-helper';
import { translate } from './i18n-helper';
// 常量和变量声明
// 常量和变量声明
const APP_NAME = '我的应用';
const APP_NAME = i18n.t('demoTest-test-js-before-19299734e410bfd44-1');
let userCount = 0;
let userCount = 0;
/**
/**
* 用户类
* 用户类
* @class
* @class
*/
*/
class User {
class User {
constructor(name, age) {
constructor(name, age) {
this.name = name;
this.name = name;
this.age = age;
this.age = age;
}
}
// 实例方法
// 实例方法
introduce() {
introduce() {
console.log(`大家好,我叫${this.name},今年${this.age}岁。`);
console.log(`大家好,我叫${this.name},今年${this.age}岁。`);
}
}
// 静态方法
// 静态方法
static getGreeting() {
static getGreeting() {
return '欢迎使用我们的系统!';
return i18n.t('demoTest-test-js-before-19299734e410bfd44-2');
}
}
}
}
// 箭头函数
// 箭头函数
const greet = (name) => `你好,${name}!`;
const greet = (name) =>
`${i18n.t('demoTest-test-js-before-19299734e410bfd44-3')}${name}!`;
// 异步函数
// 异步函数
async function fetchData(url) {
async function fetchData(url) {
try {
try {
const response = await fetch(url);
const response = await fetch(url);
if (!response.ok) {
if (!response.ok) {
throw new Error('网络请求失败');
throw new Error('网络请求失败');
}
}
return await response.json();
return await response.json();
} catch (error) {
} catch (error) {
console.error('发生错误:', error.message);
console.error('发生错误:', error.message);
}
}
}
}
// 对象字面量
// 对象字面量
const config = {
const config = {
language: '中文',
language: i18n.t('demoTest-test-js-before-19299734e410bfd44-4'),
region: '中国',
region: i18n.t('demoTest-test-js-before-19299734e410bfd44-5'),
settings: {
settings: {
theme: '暗色',
theme: i18n.t('demoTest-test-js-before-19299734e410bfd44-6'),
fontSize: '中',
fontSize: i18n.t('demoTest-test-js-before-19299734e410bfd44-7'),
},
},
};
};
// 数组和数组方法
// 数组和数组方法
const fruits = ['苹果', '香蕉', '橙子', '葡萄'];
const fruits = [
i18n.t('demoTest-test-js-before-19299734e410bfd44-8'),
i18n.t('demoTest-test-js-before-19299734e410bfd44-9'),
i18n.t('demoTest-test-js-before-19299734e410bfd44-10'),
i18n.t('demoTest-test-js-before-19299734e410bfd44-11'),
];
console.log('水果列表:', fruits.join('、'));
console.log('水果列表:', fruits.join('、'));
// 模板字符串和函数调用
// 模板字符串和函数调用
function processUser(user) {
function processUser(user) {
const message = `处理用户:${user.name},年龄:${user.age}`;
const message = `${i18n.t('demoTest-test-js-before-19299734e410bfd44-12')}${user.name}${i18n.t('demoTest-test-js-before-19299734e410bfd44-13')}${user.age}`;
console.log(message);
console.log(message);
if (user.age < 18) {
if (user.age < 18) {
return `抱歉,${user.name}还未成年,不能使用此服务。`;
return `${i18n.t('demoTest-test-js-before-19299734e410bfd44-14')}${user.name}${i18n.t('demoTest-test-js-before-19299734e410bfd44-15')}`;
}
}
return `欢迎,${user.name}!您已经成功注册。`;
return `${i18n.t('demoTest-test-js-before-19299734e410bfd44-16')}${user.name}${i18n.t('demoTest-test-js-before-19299734e410bfd44-17')}`;
}
}
// 条件语句和错误处理
// 条件语句和错误处理
function divide(a, b) {
function divide(a, b) {
if (b === 0) {
if (b === 0) {
throw new Error('除数不能为零!');
throw new Error('除数不能为零!');
}
}
return a / b;
return a / b;
}
}
try {
try {
console.log(divide(10, 2));
console.log(divide(10, 2));
console.log(divide(10, 0));
console.log(divide(10, 0));
} catch (error) {
} catch (error) {
console.error('计算错误:', error.message);
console.error('计算错误:', error.message);
}
}
// 使用 Promise
// 使用 Promise
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
delay(1000).then(() => {
delay(1000).then(() => {
console.log('一秒钟过去了...');
console.log('一秒钟过去了...');
});
});
// 立即调用的函数表达式 (IIFE)
// 立即调用的函数表达式 (IIFE)
(function () {
(function () {
console.log('这是一个自执行的匿名函数');
console.log('这是一个自执行的匿名函数');
})();
})();
// 导出
// 导出
export { APP_NAME, User, greet, fetchData, config, processUser };
export { APP_NAME, User, greet, fetchData, config, processUser };
// userManagement.js
// userManagement.js
import { ApiClient } from './api-client';
import { ApiClient } from './api-client';
// 用户角色枚举
// 用户角色枚举
const UserRole = {
const UserRole = {
ADMIN: '管理员',
ADMIN: i18n.t('demoTest-test-js-before-19299734e410bfd44-18'),
EDITOR: '编辑',
EDITOR: i18n.t('demoTest-test-js-before-19299734e410bfd44-19'),
VIEWER: '查看者',
VIEWER: i18n.t('demoTest-test-js-before-19299734e410bfd44-20'),
};
};
// 模拟 API 客户端
// 模拟 API 客户端
const apiClient = new ApiClient('https://api.example.com');
const apiClient = new ApiClient('https://api.example.com');
/**
/**
* 用户管理类
* 用户管理类
*/
*/
class UserManager {
class UserManager {
constructor() {
constructor() {
this.users = [];
this.users = [];
console.log('用户管理系统初始化'); // StringLiteral in console.log
console.log('用户管理系统初始化'); // StringLiteral in console.log
}
}
/**
/**
* 添加新用户
* 添加新用户
* @param {Object} user - 用户信息
* @param {Object} user - 用户信息
*/
*/
addUser(user) {
addUser(user) {
this.users.push(user);
this.users.push(user);
console.log(`新用户 ${user.name} 已添加`); // Template literal in console.log
console.log(`新用户 ${user.name} 已添加`); // Template literal in console.log
}
}
/**
/**
* 获取用户信息
* 获取用户信息
* @param {number} id - 用户ID
* @param {number} id - 用户ID
* @returns {Object|undefined}
* @returns {Object|undefined}
*/
*/
getUser(id) {
getUser(id) {
return this.users.find((user) => user.id === id);
return this.users.find((user) => user.id === id);
}
}
/**
/**
* 更新用户信息
* 更新用户信息
* @param {number} id - 用户ID
* @param {number} id - 用户ID
* @param {Object} updateInfo - 更新的信息
* @param {Object} updateInfo - 更新的信息
*/
*/
updateUser(id, updateInfo) {
updateUser(id, updateInfo) {
const index = this.users.findIndex((user) => user.id === id);
const index = this.users.findIndex((user) => user.id === id);
if (index !== -1) {
if (index !== -1) {
this.users[index] = { ...this.users[index], ...updateInfo };
this.users[index] = { ...this.users[index], ...updateInfo };
console.log(`用户 ${id} 信息已更新`); // Template literal in console.log
console.log(`用户 ${id} 信息已更新`); // Template literal in console.log
} else {
} else {
console.error('用户未找到'); // StringLiteral in console.error
console.error('用户未找到'); // StringLiteral in console.error
}
}
}
}
/**
/**
* 删除用户
* 删除用户
* @param {number} id - 用户ID
* @param {number} id - 用户ID
*/
*/
deleteUser(id) {
deleteUser(id) {
const index = this.users.findIndex((user) => user.id === id);
const index = this.users.findIndex((user) => user.id === id);
if (index !== -1) {
if (index !== -1) {
this.users.splice(index, 1);
this.users.splice(index, 1);
console.log(`用户 ${id} 已删除`); // Template literal in console.log
console.log(`用户 ${id} 已删除`); // Template literal in console.log
} else {
} else {
console.error('用户未找到'); // StringLiteral in console.error
console.error('用户未找到'); // StringLiteral in console.error
}
}
}
}
/**
/**
* 列出所有用户
* 列出所有用户
*/
*/
listAllUsers() {
listAllUsers() {
console.log('所有用户:'); // StringLiteral in console.log
console.log('所有用户:'); // StringLiteral in console.log
this.users.forEach((user) => {
this.users.forEach((user) => {
console.log(`ID: ${user.id}, 姓名: ${user.name}, 角色: ${user.role}`); // Template literal in console.log
console.log(`ID: ${user.id}, 姓名: ${user.name}, 角色: ${user.role}`); // Template literal in console.log
});
});
}
}
}
}
// 创建用户管理实例
// 创建用户管理实例
const userManager = new UserManager();
const userManager = new UserManager();
// 添加测试用户
// 添加测试用户
userManager.addUser({ id: 1, name: '张三', role: UserRole.ADMIN });
userManager.addUser({
userManager.addUser({ id: 2, name: '李四', role: UserRole.EDITOR });
id: 1,
name: i18n.t('demoTest-test-js-before-19299734e410bfd44-21'),
role: UserRole.ADMIN,
});
userManager.addUser({
id: 2,
name: i18n.t('demoTest-test-js-before-19299734e410bfd44-22'),
role: UserRole.EDITOR,
});
// 列出所有用户
// 列出所有用户
userManager.listAllUsers();
userManager.listAllUsers();
// 模拟异步操作
// 模拟异步操作
async function fetchUserData(userId) {
async function fetchUserData(userId) {
try {
try {
const response = await apiClient.get(`/users/${userId}`);
const response = await apiClient.get(`/users/${userId}`);
console.log(`获取到用户数据: ${JSON.stringify(response)}`); // Template literal in console.log
console.log(`获取到用户数据: ${JSON.stringify(response)}`); // Template literal in console.log
return response;
return response;
} catch (error) {
} catch (error) {
console.error(`获取用户数据失败: ${error.message}`); // Template literal in console.error
console.error(`获取用户数据失败: ${error.message}`); // Template literal in console.error
throw error;
throw error;
}
}
}
}
// 使用异步函数
// 使用异步函数
fetchUserData(1)
fetchUserData(1)
.then((userData) => {
.then((userData) => {
console.log(`用户名: ${userData.name}`); // Template literal in console.log
console.log(`用户名: ${userData.name}`); // Template literal in console.log
})
})
.catch((error) => {
.catch((error) => {
console.error('发生错误:', error); // StringLiteral in console.error
console.error('发生错误:', error); // StringLiteral in console.error
});
});
// 条件语句中的字符串
// 条件语句中的字符串
function checkUserRole(user) {
function checkUserRole(user) {
if (user.role === UserRole.ADMIN) {
if (user.role === UserRole.ADMIN) {
return '这是管理员账户';
return i18n.t('demoTest-test-js-before-19299734e410bfd44-23');
} else if (user.role === UserRole.EDITOR) {
} else if (user.role === UserRole.EDITOR) {
return '这是编辑账户';
return i18n.t('demoTest-test-js-before-19299734e410bfd44-24');
} else {
} else {
return '这是普通账户';
return i18n.t('demoTest-test-js-before-19299734e410bfd44-25');
}
}
}
}
// 对象字面量中的字符串
// 对象字面量中的字符串
const messages = {
const messages = {
welcome: '欢迎使用用户管理系统',
welcome: i18n.t('demoTest-test-js-before-19299734e410bfd44-26'),
goodbye: '感谢使用,再见',
goodbye: i18n.t('demoTest-test-js-before-19299734e410bfd44-27'),
};
};
// 数组中的字符串
// 数组中的字符串
const chineseZodiac = [
const chineseZodiac = [
'鼠',
i18n.t('demoTest-test-js-before-19299734e410bfd44-28'),
'牛',
i18n.t('demoTest-test-js-before-19299734e410bfd44-29'),
'虎',
i18n.t('demoTest-test-js-before-19299734e410bfd44-30'),
'兔',
i18n.t('demoTest-test-js-before-19299734e410bfd44-31'),
'龙',
i18n.t('demoTest-test-js-before-19299734e410bfd44-32'),
'蛇',
i18n.t('demoTest-test-js-before-19299734e410bfd44-33'),
'马',
i18n.t('demoTest-test-js-before-19299734e410bfd44-34'),
'羊',
i18n.t('demoTest-test-js-before-19299734e410bfd44-35'),
'猴',
i18n.t('demoTest-test-js-before-19299734e410bfd44-36'),
'鸡',
i18n.t('demoTest-test-js-before-19299734e410bfd44-37'),
'狗',
i18n.t('demoTest-test-js-before-19299734e410bfd44-38'),
'猪',
i18n.t('demoTest-test-js-before-19299734e410bfd44-39'),
];
];
// 正则表达式中的中文
// 正则表达式中的中文
const chineseNameRegex = /^[\u4e00-\u9fa5]{2,4}$/;
const chineseNameRegex = /^[\u4e00-\u9fa5]{2,4}$/;
// 调试代码(在生产环境中应该被移除)
// 调试代码(在生产环境中应该被移除)
function debugUser(user) {
function debugUser(user) {
console.log('--- 调试信息 ---');
console.log('--- 调试信息 ---');
console.log(`用户ID: ${user.id}`);
console.log(`用户ID: ${user.id}`);
console.log(`用户名: ${user.name}`);
console.log(`用户名: ${user.name}`);
console.log(`用户角色: ${user.role}`);
console.log(`用户角色: ${user.role}`);
console.log('--- 调试结束 ---');
console.log('--- 调试结束 ---');
}
}
// 注释中的中文
// 注释中的中文
/*
/*
* 这是一个多行注释
* 这是一个多行注释
* 用来说明这段代码的作用
* 用来说明这段代码的作用
* 注意:请勿在生产环境中调用 debugUser 函数
* 注意:请勿在生产环境中调用 debugUser 函数
*/
*/
// 使用模板字符串的复杂字符串
// 使用模板字符串的复杂字符串
const userSummary = `
const userSummary = `${i18n.t('demoTest-test-js-before-19299734e410bfd44-40')}${
用户总结:
userManager.users.length
- 总用户数: ${userManager.users.length}
}${i18n.t('demoTest-test-js-before-19299734e410bfd44-41')}${
- 管理员数: ${userManager.users.filter((u) => u.role === UserRole.ADMIN).length}
userManager.users.filter((u) => u.role === UserRole.ADMIN).length
- 编辑数: ${userManager.users.filter((u) => u.role === UserRole.EDITOR).length}
}${i18n.t('demoTest-test-js-before-19299734e410bfd44-42')}${
- 查看者数: ${userManager.users.filter((u) => u.role === UserRole.VIEWER).length}
userManager.users.filter((u) => u.role === UserRole.EDITOR).length
}${i18n.t('demoTest-test-js-before-19299734e410bfd44-43')}${
userManager.users.filter((u) => u.role === UserRole.VIEWER).length
}
`;
`;
console.log(userSummary);
console.log(userSummary);
// 导出模块
// 导出模块
export { UserManager, UserRole, fetchUserData };
export { UserManager, UserRole, fetchUserData };