c# 将字符串移动到资源以进行本地化时如何处理换行符?
我正在用 c# 编写一个应用程序。出于本地化目的,我将所有字符串移至资源中。
字符串的一些示例:
“第一句。\n 第二句。”
“wait...”
第一个字符串中有换行符 “\n”< /code>。我是否也应该将换行符移动到资源中?
在第二个字符串中,我应该将三个点移动到资源中,还是应该将字符串分成两部分,例如 "wait" + "..."
并仅移动 "wait"
资源。
我正在使用 Google 翻译 将字符串翻译为其他语言,但我担心 Google 无法将换行符 "\n"
很好地翻译为其他语言-translate,因此我犹豫是否将换行符转移到资源中。
这是我第一次尝试本地化。因此,如果您有任何进一步的想法,请提出建议或为我指出正确的方向。
谢谢。
I am writing a application in c#.For the localization purpose, I am moving all of my strings to resources.
Some example of strings:
"First sentence.\n Second sentence."
"wait..."
In first string there is newline character "\n"
.Should I move the newline character to resources too.
In second string, should I move the three dots to resources or should I split string in to two parts like "wait" + "..."
and move only "wait"
to resources.
I am using Google-translate to translate strings to other languages and i am afraid that newline character "\n"
will not be translate well to other language by Google-translate, hence my hesitation to move newline character to resources.
This is my first take at localization.So suggest if you any further ideas or point me out in right direction.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我相信 \n 在渲染的文本中不会被视为转义字符。
如果资源条目数量较少,可以使用shift + Enter添加新行。
另一种选择是将
\n
替换为{0}
,然后使用String.Format()
在需要的位置插入新行。I believe \n will not be treated as an escape character in the rendered text.
if the number of resource entries is small, you can use shift + enter to add a new line.
Another option is to replace
\n
by{0}
and then useString.Format()
to insert a new line where needed.我认为最好的方法是尽可能避免拆分可本地化的字符串 - 拆分字符串只会增加无法正确本地化字符串的机会。
I believe that the best approach is to avoid splitting up localisable strings wherever possible - splitting up a string only increases the chance that it won't be possible to correctly localise the string.