c# - 如何在本地化字符串中包含变量?

标签 c# string localization internationalization globalization

我正在尝试按照以下方式向用户显示一条消息:

“无法添加用户 5”

但是我如何才能将变量添加到放置在 .resx 文件中的字符串中呢?我一直在尝试搜索诸如“本地化中的变量”“变量全局化”等内容,但都没有找到。

如果我不本地化我会写:

Console.Write("User " + userNum + " could not be added");

如何利用资源实现这一点?

最佳答案

你不能直接这样做。

可以做的是放置一个标记 - 一个可以替换为带有变量值的string.Replace的特定字符串.

一个很好的候选者是内置的字符串格式:

Console.Write(string.Format("User {0} could not be added", userNum));

假设 userNum 的值为 5,结果将是:

User 5 could not be added

您可以使用复合格式说明符本地化此字符串。

关于c# - 如何在本地化字符串中包含变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10955772/

相关文章:

c# - Nhibernate:连接表并从其他表获取单列

Python - 英语翻译器

mysql - 本地化现有数据库

iphone - 创建本地化的 iPhone 应用程序,但允许用户更改应用程序的语言

c# - 如何在 Odoo 中批量插入记录?

c# - 格式保留加密示例

c# - 如何使 NLog 在运行时线程安全地写入单独的文件目标?

c++ - std::set with string key 和潜在的效率损失

c - C中的char string [LENGTH]和char * string [LEN]有什么区别

java - Android 首选项错误, "String cannot be cast to int"