0

我有一个用 C#.net 和 VS2010 开发的网站。它是本地化的,总体上运行良好。但是,某些本地化字符串看起来并不是最好的。

例如,我在登录页面顶部有一条消息

目前它看起来像这样:
您的会话已过期。请登录以
继续。

我希望它看起来像这样:
您的会话已过期。
请登录访问更多内容。

我无法更改包含 div 的大小,因为每种语言的宽度可能不同。

我正在寻找一种将布局功能放入本地化文件的方法。最简单的方法(表面上)是在字符串中放入换行符。但是,\n、\r\n 和<br/>所有都出现在字符串中,因为它在字符串周围用 " 呈现。

还有另一种可行的方法吗?这是一个坏主意吗?我们还能如何补偿多种语言之间的长度差异?

4

1 回答 1

1

在这种情况下,最好的方法是在您的字符串中使用 HTML 格式(在英语和您的翻译中),并在必要时调整翻译。没有理由不能将<br />其包含在字符串中并按预期呈现。我不知道您使用的是 WebForms 还是 ASP.NET MVC,但在 MVC 的情况下,您可以通过使用 Html.Raw 帮助程序来避免默认行为(字符串的自动 HTML 编码),例如,而不是这个:

<div class='whatever'>@Resources.MyString</div>

做这个:

<div class='whatever'>@Html.Raw(Resources.MyString)</div>
于 2012-05-25T08:39:44.527 回答