我正在尝试将我的Android应用程序从英语翻译成希伯来语,方法是在值目录中添加strings.xml
文件并翻译所有英文字符串。
我的问题是,与我的英语\n
字符串一样,在希伯来字符串中添加换行符(strings.xml
)不起作用。带换行符的英文字符串示例:
<string name="no_group_instructions">You don\'t have a group yet!\n\nPlease choose whether to create a new group, or to join an existing one...</string>
如何为非英语字符串添加换行符?
修改
我最终设法使用\ n在希伯来语字符串中进行换行。 我想从右到左的写作,在Android Studio中得不到足够的支持,首先引起了这个问题。我通过将带有\ n的字符串从记事本直接复制到strings.xml文件来解决它,而不是直接在Android Studio中编写它。
答案 0 :(得分:3)
我遇到了同样的问题。要解决它,只需像我一样将“\ n”复制粘贴到字符串中:
<string name="ta_tv_button_text">?היוםn\אכלתn\מה</string>
确保在清单和TextView中都支持RTL。
我无法将我的字符串复制粘贴到此处(它混合了字符串)。我相信如果您尝试将其复制粘贴到项目中,它会再次混淆,所以不要将我的字符串复制粘贴到您的项目中。这就是字符串在我的项目中的样子。
答案 1 :(得分:1)
在运行时,有一种很酷的方法可以做到这一点。
<string name="title">Testing%sNew Line, stand back!</string>
%s是一个字符串,然后被替换。
然后通过资源String word = String.format(Locale.English,getString(R.string.title),"\n")
获取;
它将加载字符串,然后用%s
\n
答案 2 :(得分:0)
您必须使用<br />
来破解xml中的行而不是\n
,例如:
<string name="no_group_instructions">You don\'t have a group yet!
<br/><br/>Please choose whether to create a new group, or to join an existing one...
</string>
答案 3 :(得分:0)
使用黑色斜杠而不是前锋。 “\ n” 个
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello\nWorld!</string>
</resources>
答案 4 :(得分:0)
String formattedText = getString(R.string.no_group_instructions);
Spanned result = Html.fromHtml(formattedText);
view.setText(result);