You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP语言键批量翻译时如何避免[]内内容被谷歌文档翻译误译

解决方案

方案1:按你提出的插入特殊字符思路实现

预处理(翻译前操作)

核心逻辑是用正则回调匹配方括号内的文本,逐字符插入指定特殊字符,以PHP代码实现为例:

// 读取待翻译的PHP语言文件
$rawContent = file_get_contents('your_lang_file.php');
// 匹配所有方括号包裹的内容,逐字符插入█
$processedContent = preg_replace_callback('/(?<=\[).*?(?=\])/', function ($match) {
    return preg_replace('/(.)/', '$1█', $match[0]);
}, $rawContent);
// 输出预处理后的文件,拿去翻译即可
file_put_contents('preprocessed_lang.php', $processedContent);

如果你用VSCode等支持正则替换的编辑器,也可以分两步操作:

  • 先用正则(?<=\[).*?(?=\])匹配所有方括号内内容,复制出来单独处理
  • 对匹配到的内容用正则(.)替换为$1█,再贴回原文件即可

后处理(翻译完成后操作)

全局匹配所有█字符,直接替换为空即可,不会影响其他翻译后的正常内容。


方案2:更稳妥的拆分翻译方案(无需特殊字符)

完全避开修改键名,从根源上避免键名被翻译:

  1. 用正则/\$lang\[(.*?)\] = "(.*?)";/匹配所有语言条目,提取所有等号后双引号内的文本(即第二个分组$2的内容),按行单独存为纯文本文件
  2. 将该纯文本文件拿去批量翻译,翻译后按行对应原条目
  3. 遍历原键名和翻译后的内容,重新拼接为$lang[键名] = "翻译后内容";格式即可

注意事项

如果选择方案1,需确保你选的特殊字符不会被谷歌翻译识别、转换或过滤,全角块符号█是通用性很高的选择,不要使用emoji、半角特殊符号这类易被翻译工具处理的字符。

内容的提问来源于stack exchange,提问作者N0xr-2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:15:03