ASP.NET本地化文件

时间:2009-12-30 21:47:48

标签: asp.net localization

我有一个带有链接的网页,并且该链接被认为对应于PDF是给定用户的语言。我想知道我应该把这些PDF文件放在哪里。如果我把它们放在App_LocalResources中,我不能指定一个指向/App_LocalResources/TOS_en-US.pdf的链接吗?

3 个答案:

答案 0 :(得分:1)

PDF绝对不应该在App_LocalResources文件夹中。该文件夹仅适用于RESX文件。

PDF文件可以转到您应用中的任何其他位置。例如,放置它们的好地方是在〜/ PDF文件夹中。然后你的链接必须动态生成(类似于Greg所示):

string cultureSpecificFileName = String.Format("TOS_{0}.pdf", CultureInfo.CurrentCulture.Name);

但是,还有其他一些事情需要考虑:

  1. 您需要一种方法来确保您实际拥有给定语言的PDF。如果有人出现在您的网站上,并且他们的文化被指定为Klingon,则您不太可能拥有这样的PDF。
  2. 您需要准确确定文件格式。在给出的示例中,该文件必须命名为TOS_en-US.pdf。如果要使用双字母ISO文化名称,请使用CurrentCulture.TwoLetterISOLanguageName,然后文件名为TOS_en.pdf。

答案 1 :(得分:0)

我会在其中存储带有参数的文件名(即“TOS_ {0} .pdf”),然后在代码中添加适当的后缀:

string cultureSpecificFileName = string.Format("TOS_{0}.pdf", CultureInfo.CurrentCulture);

答案 2 :(得分:0)

PDF是否必须为每种不同语言使用相同的文件名?如果没有,请将它们全部放入目录中,然后将路径存储在资源文件中。