我正在编写一个应用程序,我想为用户提供即时更改语言的能力。我希望该应用程序能够仅提供将语言切换到系统上可用的选项。据我了解,我需要检查安装了哪些“.po”文件。
我正在使用 Monodevelop/Mono 和 Mono.Unix.Catalog.GetString("blah blah") 样式来处理所有可翻译的项目。在 Monodevelop 目录中,我可以找到我提供的“.po”文件,但这不一定与安装在 Windows、Unix 或 Mac 上的系统有关。
看来 Mono.Unix.Catalog 没有为此提供方法,所以我怀疑我可能需要使用 Environment.CurrentDirectory 或 Environment.SystemDirectory 来尝试找到 .po 所在的位置,但似乎在那里太多的变量会影响这一点:
- 是 Win、Mac 还是 Unix?
- 如果是 Unix,是 Ubuntu、SUSE、Vine 等吗?
- 如果不在系统上,是否在用户文件夹中?
- 如果它是一个用户文件夹,该位置在 Win、Mac 和各种 Unix 变体上会有所不同吗?
有没有一种简单的方法来确定系统上哪些“.po”可用?