c# - 存储/使用多种语言的最佳方式

标签 c#

如果我想创建一个支持多种语言的 C# 应用程序,我应该如何存储它们?

我可能会在应用程序中使用常量作为值持有者。

如: 控制台.Write(FILE_NOT_FOUND);

编译时会变成由语言决定的字符串。 我可能会坚持使用 3 种语言(丹麦语、英语、德语),不过我认为这并不重要。

似乎每种语言都有一个类文件,在编译应用程序时全部处理,这似乎是一种浪费。这也意味着每次要更改字符串时都必须重新编译和重新分发整个程序。 据我所知,硬编码字符串是一件坏事。

也许是一个文本文件? 英文.txt Line1:FILE_NOT_FOUND=未找到文件。再试一次 2号线 3号线 等

丹麦语.txt Line1:FILE_NOT_FOUND=Filen blev ikke fundet。前言 2号线 3号线 等

等等。 如果用户选择英语,它会读取文本文件并设置不同的常量值。

我能想到的最后一个是将它放在 SQL 数据库中。

你能给我一些意见吗? :)

此外,我尝试编写 FILE _ NOT _ FOUND(没有空格,但文本编辑器不允许我这样做

最佳答案

使用资源文件。这是处理本地化的标准方法。

详情请see this tutorial.

--- 编辑 ---

另一个教程是 available here.这个使用了更好的命名方式,因此它的工作原理可能更清晰。

关于c# - 存储/使用多种语言的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/678204/

相关文章:

c# - 从 HTTP 上的 JSON Formatter 返回有效的 JSON,适用于 WebAPI

c# - ASP.Net Core 2.2 Kubernetes 入口 : not found static content for custom path

c# - 使用 MonoMac 实现 NSOutlineViewDataSource

c# - 用户控件之间的 WPF 通信

c# - C# 可移植类库中用于序列化的代理类型

c# - 在 for 中声明一个数组

c# - 使用VS2010 Profiler进行内存测量

c# - 更改 IE 用户代理

c# - 如何使 cmd 在 C# 中接受箭头输入?

c# - 如何将 MenuItem 从一个 ContextMenu 复制到另一个 ContextMenu