""" * Deprecated. """ import re def _line_lower_result_replace( line, result, line_match: str, result_match: str, result_replacement: str ) -> str: if line_match in line.lower() and result_match in result: return result.replace(result_match, result_replacement) else: return result def _line_lower_result_replace_multi( line, result, line_match: str, results_match: list, result_replacement: str ) -> str: for r in results_match: result = _line_lower_result_replace( line, result, line_match, r, result_replacement ) return result def _line_result_replace( line, result, line_match: str, result_match: str, result_replacement: str ) -> str: if line_match in line and result_match in result: return result.replace(result_match, result_replacement) else: return result def _result_replace(result, result_match: str, result_replacement: str) -> str: if result_match in result: return result.replace(result_match, result_replacement) else: return result def post_en2zh_auto_translation( line: str, auto_translated_line: str, mode="standard", md_file_path=None ) -> str: """ :param line: The English source line. :param auto_translated_line: The translated line by auto translation service. :returns: The post processed result. """ result = auto_translated_line # Correct general result. result = _result_replace(result, "发动机", "引擎") # Correct case sensitive translation result. result = _line_result_replace(line, result, "PingCAP", "Pingcap", "PingCAP") # Correct case insensitive translation result. # "tidb cloud" -> TiDB Cloud result = _line_lower_result_replace_multi( line, result, "tidb cloud", ["TiDB云", "TiDB 云"], "TiDB Cloud", ) # "sql layer cluster" -> SQL Layer 集群 result = _line_lower_result_replace_multi( line, result, "sql layer cluster", ["SQL层次集群", "SQL 层集群", "SQL 分层集群", "SQL层集群"], "SQL Layer 集群", ) # "Database Sharding" -> 分库分表 result = _line_lower_result_replace_multi( line, result, "database sharding", [ "数据库分片", ], "分库分表", ) # "region" -> Region result = _line_lower_result_replace_multi( line, result, "region", ["地区", "区域"], "Region", ) result = _line_lower_result_replace(line, result, "partial", "部分", "局部") result = _line_lower_result_replace(line, result, "flashback", "倒叙", "闪回") result = _line_lower_result_replace(line, result, "transaction", "交易", "事务") result = _line_lower_result_replace(line, result, "control machine", "控制机器", "中控机") result = _line_lower_result_replace(line, result, "clause", "条款", "子句") result = _line_lower_result_replace(line, result, "schema", "架构", "模式") result = _line_lower_result_replace(line, result, "architecture", "建筑", "架构") result = _line_lower_result_replace(line, result, "range", "射程", "范围") result = _line_lower_result_replace(line, result, "compaction", "压实", "压缩") result = _line_lower_result_replace(line, result, "column", "专栏", "列") result = _line_lower_result_replace(line, result, "value", "价值", "值") result = _line_lower_result_replace(line, result, "grant", "补助金", "授权") result = _line_lower_result_replace(line, result, "revoke", "吊销", "撤销") result = _line_lower_result_replace(line, result, "global level", "全球级别", "全局级别") result = _line_lower_result_replace(line, result, "table level", "表格级别", "表级别") result = _line_lower_result_replace(line, result, "schedule", "时间表", "调度") result = _line_lower_result_replace( line, result, "eng.edu.pingcap.com", "https://eng.edu.pingcap.com/catalog/info/id:204", "https://zhs.edu.pingcap.com/catalog/info/id:208", ) result = _line_lower_result_replace( line, result, "pingcap.com/education", "pingcap.com/education", "cn.pingcap.com/courses-catalog", ) if "key-value pair" in line.lower(): result = result.replace("键值对", "Key-Value pair") if "key-value" in line.lower(): result = result.replace("键-值", "Key-Value") if ( "key" in line.lower() and "keyword" not in line.lower() and "point" not in line.lower() ): if "关键词" in result: result = result.replace("关键词", "Key") if "密钥" in result: result = result.replace("密钥", "Key") if "关键字" in result: result = result.replace("关键字", "Key") if "钥匙" in result: result = result.replace("钥匙", "Key") if "键" in result: result = result.replace("键", "Key") # Correct complex translation result. # Remove trailing "。" for bullets if result.strip().startswith("+"): result = result.strip("。") if result.strip().startswith("#"): result = result.strip("。") # Remove the generated ** if "**" in result and "**" not in line: result = result.replace("**", "") # Remove the unwanted "(PD 一乘一)" at the end if re.match("^`[^`]+` *(PD 一乘一)[。]*$", result): result = result.replace("(PD 一乘一)", "") if "tidb/tikv/pd" in line.lower(): result = re.sub("tidb/tikv/pd", "TiDB/TiKV/PD", result, flags=re.IGNORECASE) if mode != "silent": print("[=", line, "=]", " -> ", "[=", result, "=]") return result def post_en2zh_auto_translation_md_prefix_aware(in_line: str, mode="standard") -> str: """ This routine will be called in a context with the Markdown prefix such as "#, +, -, *", etc. """ result = in_line if result.strip().startswith("+"): result = result.strip("。") if result.strip().startswith("#"): result = result.strip("。") if result.strip().startswith("["): result = result.strip("。") if mode != "silent": print("[=", result, "=]") return result