我正在翻译Unity游戏,某些内容如下:>
在XXXX解锁
其中“ XXXX”在运行时由任意子字符串替换。替换通配符很容易,但是要翻译引号,我不能简单地将a + b连接起来,因为某些语言在字符串的前面或里面都有值。我认为我需要有效地替换它,即隔离并保留子字符串并转换其周围的内容。
问题是,尽管我可以轻松地完成第二部分,但我想不出第一条途径。我知道要获取要查找的字符的索引,但是该值占用任意数量的字符,并且由于某些语言不使用空格,因此无法使用空格。无法使用数字检测,因为并非所有值都将是数字。我曾尝试向Google询问,但无法将“查找可替代通配符的内容”翻译成可通过关键字搜索的内容。
总之,我正在寻找一种找到“ XXXX”(简单的部分)然后在字符串中查找替换它的东西
(较不容易的部分)的方法。提前感谢。
我正在翻译Unity游戏,其中有些行就像在XXXX解锁,其中“ XXXX”在运行时由任意子字符串替换。替换通配符很容易,但是可以转换...
我终于找到了一种解决方法,这要感谢大家的友好建议。我存储了子字符串,并以一种确实带有值的特殊转换方法对其进行了引用。谢谢大家的帮助。
通常,在这种情况下,我使用string.Format。在您的情况下,我将声明2个可本地化的字符串:
string unlockFormat = "Unlock at {0}";
string unlockValue = "next level";
当需要显示解锁条件时,可以组合如下字符串:
string unlockCondition = string.Format(unlockFormat, unlockValue);
这将产生字符串“在下一级解锁”。