1) Here are a list of terms/words that I think should be fixed in the translation: statement 语句 prepared statment 预处理语句 partitioning/partition function 分区函数 reference 引用 table 表 table type 表类型 underlying table 底层表 derived table 衍生表 native 本地 key 键 schema 数据库 (synonym for database) schedule/scheduler 调度/调度器 syntax 语法 context 上下文 collation 排序规则 grant 授予,授权 constrain 约束 truncate 截短 abort 中止 specify/specified 指定(的) incorrect 错误(的) count 个数 packet 数据包 clause 子句 checksum 校验和 relay log 中继日志 backup progress log 备份进度日志 creation contex 创建上下文 group function 分组函数 2) I think it's better to not translate commands, variable, arguments, options or data types, such as CREATE TABLE, ALTER VIEW, BLOB, TEXT, DATE, 'max_binlog_cache_size', --skip-name-resolve, etc. Just leave them as they are. As a simple rule, I think every thing that's in all upper cases, do not need to be translated. For example: ER_TRANS_CACHE_FULL eng "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again" chs "多语句的事务需要超过 'max_binlog_cache_size' 字节的存储空间,请增加该变量后重试" ER_SLAVE_MUST_STOP eng "This operation cannot be performed with a running slave; run STOP SLAVE first" chs "该操作不能在从服务器运行时执行,请先运行 STOP SLAVE" ER_BAD_SLAVE eng "The server is not configured as slave; fix with CHANGE MASTER TO" chs "该服务器未配置为从服务器,请使用 CHANGE MASTER TO" ER_READ_ONLY_TRANSACTION 25000 eng "Update locks cannot be acquired during a READ UNCOMMITTED transaction" chs "无法在 READ UNCOMMITTED 的事务中取得更新锁定" 3) Here are some sentences that I'd prefer to be translated something as following: ER_EMPTY_QUERY 42000 eng "Query was empty" chs "查询为空" ER_MULTIPLE_PRI_KEY 42000 S1009 eng "Multiple primary key defined" chs "定义了多个主键" ER_UPDATE_TABLE_USED eng "You can't specify target table '%-.192s' for update in FROM clause" chs "不能在 FROM 子句中指定用于更新的表 '%-.192s'" ER_NO_UNIQUE_LOGFILE eng "Can't generate a unique log-filename %-.200s.(1-999)\n" chs "无法生成唯一的日志文件名 %-.200s.(1-999)\n" # Please note the '.' is the separator of file name and extension ER_TOO_BIG_SELECT 42000 eng "The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay" chs "该 SELECT 将检查超过 MAX_JOIN_SIZE 行,请检查 WHERE 条件,如果该 SELECT 没有问题,并使用 SET SQL_BIG_SELECTS=1 或 SET SQL_MAX_JOIN_SIZE=#" ER_TOO_MANY_TABLES eng "Too many tables; MySQL can only use %d tables in a join" chs "表过多,MySQL 在一个连接中最多只能使用 %d 个表" ER_TOO_BIG_ROWSIZE 42000 eng "Row size too large. The maximum row size for the used table type, not counting BLOBs, is %ld. You have to change some columns to TEXT or BLOBs" chs "行过大。在当前类型的表中,最大的行大小 (不包括 BLOB) 为 %ld 。你需要把某些字段改为 TEXT 或 BLOB 类型" ER_CANT_FIND_DL_ENTRY eng "Can't find symbol '%-.128s' in library" chs "在库中找不到符号 '%-.128s'" ER_MIX_OF_GROUP_FUNC_AND_FIELDS 42000 eng "Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause" chs "在没有 GROUP BY 字句时混合使用分组字段 (MIN(),MAX(),COUNT(),...) 和非分组字段是非法的" ER_SYNTAX_ERROR 42000 eng "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use" chs "SQL 语法错误,请查看对应版本的 MySQL 手册以确定正确的使用语法" ER_NET_PACKETS_OUT_OF_ORDER 08S01 eng "Got packets out of order" chs "数据包次序错误" ER_WRONG_MRG_TABLE eng "Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist" chs "由于表的定义不同或者不是 MyISAM 类型或者不存在而无法打开底层表" ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE eng "You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column" chs "你正在使用安全更新模式,并且更新表时没有使用键字段的 WHERE 字句" ER_FT_MATCHING_KEY_NOT_FOUND eng "Can't find FULLTEXT index matching the column list" chs "找不到匹配字段列表的 FULLTEXT 索引" ER_LOCK_OR_ACTIVE_TRANSACTION eng "Can't execute the given command because you have active locked tables or an active transaction" chs "有正在使用的已锁定的表或正在执行的事务,无法执行给定的命令" ER_CANT_USE_OPTION_HERE 42000 eng "Incorrect usage/placement of '%s'" chs "'%s' 的用法/位置错误" ER_SLAVE_IGNORED_SSL_PARAMS eng "SSL parameters in CHANGE MASTER are ignored because this MySQL slave was compiled without SSL support; they can be used later if MySQL slave with SSL is started" chs "此 MySQL 从服务器在编译时没有加入 SSL 支持,CHANGE MASTER 中的 SSL 参数将被忽略,直到以后使用支持 SSL 的从服务器" ER_MISSING_SKIP_SLAVE eng "It is recommended to use --skip-slave-start when doing step-by-step replication with START SLAVE UNTIL; otherwise, you will get problems if you get an unexpected slave's mysqld restart" chs "使用 START SLAVE UNTIL 执行步进式复制时,推荐使用 --skip-slave-start 选项,否则从服务器 mysqld 意外重新启动时将会发生问题" ER_UNTIL_COND_IGNORED eng "SQL thread is not to be started so UNTIL options are ignored" chs "SQL 线程将不会被启动,忽略 UNTIL 选项" ER_NON_UPDATABLE_TABLE eng "The target table %-.100s of the %s is not updatable" chs "目标表 %-.100s (%s) 无法更新" ER_TOO_MUCH_AUTO_TIMESTAMP_COLS eng "Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause" chs "表定义错误,在 DEFAULT 或 ON UPDATE 字句中只能有一个 CURRENT_TIMESTAMP 的 TIMESTAMP 字段" ER_SP_SUBSELECT_NYI 0A000 eng "Subquery value not supported" chs "不支持子查询作为值" ER_DIVISION_BY_ZERO 22012 eng "Division by 0" chs "除数为零" ER_NONEXISTING_PROC_GRANT 42000 eng "There is no such grant defined for user '%-.48s' on host '%-.64s' on routine '%-.192s'" chs "用户 '%-.48s' 主机 '%-.64s' 在存储过程 '%-.192s' 上没有这样的授权" ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR eng "Can't load value from file with fixed size rows to variable" chs "从固定行大小文件中加载值到变量失败" ER_SP_NOT_VAR_ARG 42000 eng "OUT or INOUT argument %d for routine %s is not a variable or NEW pseudo-variable in BEFORE trigger" chs "OUT 或 INOUT 参数 %d 于存储过程 %s 不是变量或 BEFORE 触发器中的 NEW 伪变量" ER_FAILED_ROUTINE_BREAK_BINLOG eng "A routine failed and has neither NO SQL nor READS SQL DATA in its declaration and binary logging is enabled; if non-transactional tables were updated, the binary log will miss their changes" chs "列程出错,而且其声明中没有 NO SQL 或 READS SQL DATA,并已启用二进制日志,如果更新了一个非事务表,二进制日志将不会记录这些改动" ER_AMBIGUOUS_FIELD_TERM eng "First character of the FIELDS TERMINATED string is ambiguous; please use non-optional and non-empty FIELDS ENCLOSED BY" chs "FIELDS TERMINATED 字符串的首字母有歧义,请使用非可选且非空的 FEILDS ENCLOSED BY" ER_PARTITION_ENTRY_ERROR eng "Partitioning can not be used stand-alone in query" chs "在查询中不能单独使用分区" ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF eng "A %-.192s must include all columns in the table's partitioning function" chs "%-.192s 必须包含表分区函数中的所有字段" ER_FOREIGN_KEY_ON_PARTITIONED eng "Foreign key clause is not yet supported in conjunction with partitioning" chs "外键子句尚未支持分区" ER_EVENT_EXEC_TIME_IN_THE_PAST eng "Event execution time is in the past. Event has been disabled" chs "已过事件执行时间。事件已被禁止" ER_EVENT_COMPILE_ERROR eng "Error during compilation of event's body" chs "在编译事件体时发生错误" ER_DROP_INDEX_FK eng "Cannot drop index '%-.192s': needed in a foreign key constraint" chs "删除索引 '%-.192s' 失败: 外键约束需要该索引" ER_NDB_CANT_SWITCH_BINLOG_FORMAT eng "The NDB cluster engine does not support changing the binlog format on the fly yet" chs "NDB 集群引擎不支持运行时修改二进制日志格式" ER_PARTITION_NO_TEMPORARY eng "Cannot create temporary table with partitions" chs "不能创建分区临时表" ER_DUP_ENTRY_AUTOINCREMENT_CASE eng "ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '%-.192s' for key '%-.192s'" chs "ALTER TABLE 使自增重排,造成重复项 '%-.192s' (键 '%-.192s')" ER_DUP_ENTRY_WITH_KEY_NAME 23000 S1009 eng "Duplicate entry '%-.64s' for key '%-.192s'" chs "重复项 '%-.64s' 对于键 '%-.192s'" ER_BINLOG_LOGGING_IMPOSSIBLE eng "Binary logging not possible. Message: %s" chs "无法写二进制日志。信息: %s" ER_SLAVE_AMBIGOUS_EXEC_MODE eng "Ambiguous slave modes combination. %s" chs "从服务器运行模式组合有歧义。 %s" ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT eng "The BINLOG statement of type `%s` was not preceded by a format description BINLOG statement." chs "`%s` 类型 BINLOG 语句之前没有一个描述格式的 BINLOG 语句。" ER_SLAVE_CORRUPT_EVENT eng "Corrupted replication event was detected" chs "检测到损坏的复制事件" ER_BACKUP_UNLOCK_DRIVER eng "Can't unlock %-.64s backup driver after creating the validity point" chs "在创建检查点后无法解锁备份驱动 %-.64s" ER_BACKUP_GET_DATA eng "Error when polling %-.64s backup driver for its data" chs "轮询备份驱动 %-.64s 的数据时发生错误" ER_BACKUP_UNKNOWN_BE eng "Backup engine #%d needed for restoring from backup image has unknown type" chs "还原备份映象时需要的备份引擎 #%d 类型未知" ER_BACKUP_WRONG_TABLE_BE eng "Backup image specifies wrong backup engine #%d for one of the tables" chs "备份映象为其中一个表指定了错误的备份引擎 #%d" ER_BACKUP_CANT_RESTORE_VIEW eng "Could not restore view %-.64s. Please check the view definition for possible missing dependencies." chs "无法还原视图 %-.64s 。请检查视图定义是否缺少所依赖的东西。" ER_BACKUP_UNKNOWN_OBJECT eng "Backup image refers to an object which could not be found in the catalog" chs "备份映象中引用了一个不在目录中的对象" ER_BACKUP_CANT_RESTORE_TS eng "Could not create tablespace %-.64s needed by tables being restored." chs "无法创建还原的表所需要的表空间 %-.64s 。" ER_BACKUP_TS_CHANGE eng "Tablespace %-.64s needed by tables being restored, but the current tablespace definition differs from how it was when backup was made." chs "还原的表需要表空间 %-.64s,但当前表空间的定义和创建备份时的定义不一致。" ER_WARN_ENGINE_TRANSACTION_ROLLBACK eng "Storage engine %s does not support rollback for this statement. Transaction rolled back and must be restarted" chs "存储引擎 %s 不支持该命令的回滚。已回滚的事务必须重新开始" ER_BACKUP_SYNCHRONIZE eng "Backup failed to synchronize table images." chs "备份时同步表映象失败。" ER_BACKUP_OBTAIN_NAME_LOCK_FAILED eng "Restore failed to obtain the name locks on the tables." chs "还原时获得表的名称锁失败。" ER_BACKUP_RELEASE_NAME_LOCK_FAILED eng "Restore failed to release the name locks on the tables." chs "还原时释放表的名称锁失败。"