我们所使用的语言,无论是中文还是英语,都是从左向右读的(Left-To-Right),因此我们已经十分习惯了从左向右读(Left-To-Right)。一旦遇到了从右向左读的(Right-To-Left),便会十分的不习惯,甚至比见到火星文还难受。光看着就令人难受了,但更让人崩溃的是,还要为应用去定义Arabic语言的字串,也就是为应用添加Arabic语言支持,不但要查看大量的Arabic天书,还要处理一些复杂的字串。
对于Right-To-Left的语言,最理想就是以下二种Case,它不需要特别的处理,只要按照翻译把翻译写入字串资源文件即可:
都是Arabic的时候,无需特殊处理,翻译即可
左侧有英文/数字,但右侧是Arabic(也就是说,在Left-To-Right语言中右侧有英语/数字)
若全都是英语或数字,也不需要处理,让其保留Left-To-Right的特点
例如:
view plain
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="import">استورد</string>
<string name="import_vcard">استورد vCard</string>
运行后结果就是:استورد
vCard استورد
但是对于某些情况,就需要做特殊的处理:
中间有英语或数字的
如果不做处理,数字会被变成Right-To-Left,但事实上是需要Left-To-Right的,如:
view plain
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="send_msg_to">استورد%sتور</string>
使用时替换后,会变成:استورد68001استورد,而需要的是:استورد10086استورد,这里就需要在英语或数字两端加上
Left-To-Right overrider \u202D和\u202C,如:
view plain
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="send_msg_to">استورد\u202d%s\u202cتور</string>
右侧有英语或数字(Left-To-Right中在最左侧)
有xliff本地化替换的情况
The solution is to add Right to Left Marker(RLM) before and after English or digits
view plain
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="send_msg_to">send استورد</string>
<string name="send_msg_to">\u200fsend استورد\u200f</string>
<string name="send_msg_to">\u200fsend <xliff:g id="number">\u200f%1$d</xliff:g>استورد</string>
发表评论
-
ActivityGroup 替代tabActivity
2013-12-26 16:43 2498转载自http://www.cnblogs.com/answe ... -
Android 5种方式存储数据:
2013-05-08 17:17 1059Android 提供了5种方式存储数据: --使用Shared ... -
widget的设计与应用
2013-02-02 16:27 8851.AppWidgetProviderInfo对象 ... -
Android系统主题设计和实现
2012-12-11 14:09 1402转自:http://www.apkbus.com/ ... -
Android实现DES对字符串加密
2012-09-02 14:15 17097import java.io.Unsuppor ... -
android综合
2012-08-02 16:25 15511 ,手动设置横竖屏 TestA ... -
onSaveInstanceState
2012-08-01 17:40 680@Override //存储 public void onSa ... -
处理多个Activity
2012-07-20 09:40 670public class LifecycleManager ... -
bitmap 和drawable 互相转换
2012-07-19 13:37 621// bitmap to drawable; Drawable ... -
设置壁纸的三种方法
2012-07-19 11:46 23001111111111111111111111111111111 ... -
sqlite数据库处理时间问题 和 日期时间函数
2012-06-27 10:36 22784首先,sqlite数据库在时间 ... -
app缓存管理
2012-06-27 10:25 1015无论大型或小型应用, ... -
Uri、UriMatcher、ContentUris类使用介绍&&Android应用间数据共享之ContentProvider
2012-05-24 15:50 4378Android应用开发中我们会经常用Uri进行数据的处理,下面 ... -
getWidth()为0
2012-04-12 10:06 1963一般在刚开始开发android时,会犯一个错误,即在View的 ... -
自定义View 及使用
2012-04-05 14:08 743可能是一直都在做Web的富客户端开发的缘故吧,在接触Andro ... -
搜索手机联系人所有字段
2012-03-28 15:54 1386想取手机联系人的有效字段,但是苦于找不到API表示的字段变量, ... -
Andoid2.X各字段意义
2012-03-28 14:59 1207ContactsContract.Contacts.TIMES ... -
SMS发送流程
2012-03-20 18:07 1222发短信流程: 1 afterTextChanged{mWork ... -
Android telephony MMS 学习笔记
2012-03-14 13:32 2851转载 http://blog.csdn.net/tjy1985 ... -
Android_Mms源代码接受短信流程
2012-03-14 13:27 930短信来了之后framework会发送广播 “android.p ...
相关推荐
本篇文章是对Android中为从右向左语言定义复杂字串进行了详细的分析介绍,需要的朋友参考下
导出android代码内的字串到excel,便于翻译。 导出后的格式是: key 英文 待翻译的语言 导出时,会自动忽略不必要的字串。比如注释里带not translate,或者属性里有translate="false"的字串。 ------------ ./string...
android字串的拆分问题
1)扫描Android工程中所有的指定语言的字串资源(xml文件)并生成字串表stringTable.xls 2)修改字串表stringTable.xls后,可以生成xml文件放在./out/Project目录中,并且保持改资源文件在原始工程中的目录结构。 3...
对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。 给定两个字符串s1 和s2 ,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA...
对于某长度字串计算熵,首先按长度提取语料中的全部字串,使用外部排序和归并获取字串的出现频率,然后分别剔除首尾字符构造待计算字串的频率提供文件,最后使用文件记录频率对比来计算右熵和左熵。分析和实验表明,...
实验 字串处理 1)汉字字频统计 1. 给出前100个汉字高频字的频率统计结果; 2. 分别给出前1、20、100、600、2000、3000汉字的字频总和; 3. 计算汉字的熵值; 2)英文词频统计 1. 给出前100个高频单词的频率统计结果...
本文以个人项目中的一个字串小案例来总结带参字串的写法注意事项
js中几种去掉字串左右空格的方法.docx
在App中实现选择各国语言,实现语言国际化的效果
一般情况下,序列号都是厂商自己定义的一串字串,字串中的某几位会有不同含义,比如厂商的ID、出厂时间、机器类型等,另外,运营商定义的序列号几乎也是遵循这样的规律。 出厂时序列号的烧录 这个是烧录程序做的事情。...
字串替换器 1.05 版
AndroidKeyStore一个小范例展示如何使用来加/解密字串,并存入 .结果成功建置之后,你应该会看到如下的结果:教学更详细部分,请至我的部落格观看教学文章:
big-list-of-naughty-strings-淘气字串大列表 ~ 收集了用户输入时经常出错的字串, 包含 py 脚本和 JSON 格式数据
sdk-android:使用Applanga Android本地化... 您无需将android字符串资源文件转换为excel或xliff。 整合SDK之后,您可以无线翻译Android应用程式,并管理资讯主页中的所有字串。 Android应用程序本地化从未如此简单!
点睛字串替换器
Android4.2.2系统的Settings模块缅甸语字串
html转C语言字串或数组工具,还可以转图片。是C语言开发网页的好助手。
可以修改一连串字串中某几个字符的颜色,非常好用,大家可以试试