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

如何在Poedit等翻译工具中调整sprintf字符串翻译的占位符顺序

多语言场景占位符语序错位解决方案

核心原理

PHP 内置的sprintf函数支持位置占位符语法,允许你在翻译时自定义占位符的调用顺序,不需要修改原有业务代码。
原代码传入参数的顺序对应占位符序号如下(序号从1开始计数):

  • 序号1:$commentAuthor(评论作者)
  • 序号2:$commentLink(评论链接)
  • 序号3:$postAuthor(文章作者)
  • 序号4:$postLink(文章链接)

法语翻译修正写法

你需要的法语语序是「1→2→4→3」,直接在Poedit的翻译框中将原翻译替换为如下内容即可:
%1$s a laissé un %2$s sur la %4$s de %3$s

Poedit操作步骤

  1. 打开对应项目的.po语言文件,定位到原英文语句%s left a %s on %s\'s %s.的翻译条目
  2. 直接将翻译内容替换为上面带序号的占位符格式,Poedit原生支持该语法无需额外配置
  3. 保存修改后编译生成.mo文件,替换站点原有语言文件即可生效

修正后输出结果会完全匹配法语语序要求,不会再出现参数错位的问题。

内容的提问来源于stack exchange,提问作者Scotty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:48:03