将短语翻译与 String.Format 集成

Bil*_*ver 1 c# string translation localization

我有一个类似这样的英语短语:“我有 {0} 只狗和 {1} 只猫”。在代码中,我使用 String.Format 提供数据:

String.Format("I have {0} dogs and {1} cats", 1, 2)
Run Code Online (Sandbox Code Playgroud)

所以输出是这样的:“我有 1 只狗和 2 只猫”。

我要解决的问题是“我有 {0} 只狗和 {1} 只猫”这句话需要翻译成其他语言。

在此西班牙语翻译示例中,英语短语“我有 {0} 条狗和 {1} 条猫”和翻译后的短语“Tengo {0} perros y gatos {1}”存储在数据库中。

如果用户将“Tengo {0} perros y gatos {1}”更改为“Tengo {0} perros y gatos {3}”,当我调用 String.Format("Tengo {0} } perros y gatos {3}", 1, 2).

现在我正在捕获格式异常,感觉不对。我正在寻找更好的解决方案的想法。

Ian*_*n P 5

在保存到数据库之前,为什么不看看你的 String.Format 是否抛出?如果是这样——不要让用户保存。

只是一个可以解决问题的简单想法......