网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月09日漏签0天
godot吧 关注:9,990贴子:43,420
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 16回复贴,共1页
<<返回godot吧
>0< 加载中...

求助!我想要对一个战斗提示板进行本地化

  • 只看楼主
  • 收藏

  • 回复
  • 连一
  • GDScript
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请教大家一个问题,比如我现在想要将一个战斗提示板进行本地化,像“你对史莱姆造成了27点伤害”这类需要实时地用脚本生成的语句,我不知道该采用怎样的本地化方案。 因为不同语言的表述结构可能不同(像英语,它就是"You deal 27 damage to Slim"),所以就不能简单地将其拆分成“你对”“造成了”“点伤害”三个部分,况且它们动词和介词的放置顺序也不同,这个问题看起来简单,但是困扰了我好久,不知道有啥好的解决办法呢


  • YORUTOKI
  • 物理系统
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
可以了解一下String Format方法,即使是用gds也可以用类似的字符串替换逻辑


2026-02-09 21:21:02
广告
不感兴趣
开通SVIP免广告
  • 西瓜寻回犬
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1、使用格式化字符串(format strings)
2、即便格式化字符串有时也不得不采用不通顺的倒装句


  • 使者丶n
  • 虚拟现实
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用format的字典方式就行了。
"你对{name}造成了{value}点伤害".format({name="史莱姆", value=27})
"You deal {value} damage to {name}".format({name="Slim", value=27})


  • 连一
  • GDScript
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谢谢大家,我目前是用cxv文件进行本地化,按你们所说的,我尝试在csv表格中添加键值,然后在gdscript中使用format方法,但运行发现,text中的内容仍然是“DEFAULT”,只是显示的内容右边,也就是说其翻译过程并不是在gdscript的层级进行的,那么代码就无法读取到我在csv表格中输入的内容,这该怎么办呢?



  • 西瓜寻回犬
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
貌似无解。用tr()吧


  • 西瓜寻回犬
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Object下的方法


  • 雷伊盖亚0
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Label等Control节点 默认本地化的自动翻译属性是true
当自动翻译开启,运行启动后会有翻译改变通知,这时从text作为键名获取翻译 只传给xl_text 没有给label的text

当渲染Label的文本时是根据xl_text去渲染而不是label的text属性
所以运行时显示的label是翻译后的文本,但脚本里获取此时label的text却是供翻译使用的键名,导致运行时显示的文本和实际获取的text文本内容不一致
当没有翻译或者翻译后内容一致 那么text实际上等于xl_text


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 16回复贴,共1页
<<返回godot吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示