如何在不同语言可能具有不同语法的地方统一定位字符串

问题描述 投票:-2回答:2

我正在翻译Unity游戏,某些内容如下:>

在XXXX解锁

其中“ XXXX”在运行时由任意子字符串替换。替换通配符很容易,但是要翻译引号,我不能简单地将a + b连接起来,因为某些语言在字符串的前面或里面都有值。我认为我需要有效地替换它,即隔离并保留子字符串并转换其周围的内容。

问题是,尽管我可以轻松地完成第二部分,但我想不出第一条途径。我知道要获取要查找的字符的索引,但是该值占用任意数量的字符,并且由于某些语言不使用空格,因此无法使用空格。无法使用数字检测,因为并非所有值都将是数字。我曾尝试向Google询问,但无法将“查找可替代通配符的内容”翻译成可通过关键字搜索的内容。

总之,我正在寻找一种找到“ XXXX”(简单的部分)然后在字符串中查找替换它的东西

(较不容易的部分)的方法。

提前感谢。

我正在翻译Unity游戏,其中有些行就像在XXXX解锁,其中“ XXXX”在运行时由任意子字符串替换。替换通配符很容易,但是可以转换...

c# string unity3d translation string-concatenation
2个回答
1
投票

我终于找到了一种解决方法,这要感谢大家的友好建议。我存储了子字符串,并以一种确实带有值的特殊转换方法对其进行了引用。谢谢大家的帮助。


0
投票

通常,在这种情况下,我使用string.Format。在您的情况下,我将声明2个可本地化的字符串: string unlockFormat = "Unlock at {0}"; string unlockValue = "next level"; 当需要显示解锁条件时,可以组合如下字符串: string unlockCondition = string.Format(unlockFormat, unlockValue); 这将产生字符串“在下一级解锁”。

© www.soinside.com 2019 - 2024. All rights reserved.