Android筆記之:深入為從右向左語言定義復(fù)雜字串的詳解
更新時(shí)間:2013年05月23日 10:35:07 作者:
本篇文章是對(duì)Android中為從右向左語言定義復(fù)雜字串進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
我們所使用的語言,無論是中文還是英語,都是從左向右讀的(Left-To-Right),因此我們已經(jīng)十分習(xí)慣了從左向右讀(Left-To-Right)。一旦遇到了從右向左讀的(Right-To-Left),便會(huì)十分的不習(xí)慣,甚至比見到火星文還難受。光看著就令人難受了,但更讓人崩潰的是,還要為應(yīng)用去定義Arabic語言的字串,也就是為應(yīng)用添加Arabic語言支持,不但要查看大量的Arabic天書,還要處理一些復(fù)雜的字串。
對(duì)于Right-To-Left的語言,最理想就是以下二種Case,它不需要特別的處理,只要按照翻譯把翻譯寫入字串資源文件即可:
1.都是Arabic的時(shí)候,無需特殊處理,翻譯即可
2.左側(cè)有英文/數(shù)字,但右側(cè)是Arabic(也就是說,在Left-To-Right語言中右側(cè)有英語/數(shù)字)
3.若全都是英語或數(shù)字,也不需要處理,讓其保留Left-To-Right的特點(diǎn)
例如:
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="import">استورد</string>
<string name="import_vcard">استورد vCard</string>
運(yùn)行后結(jié)果就是:استورد
vCard استورد
但是對(duì)于某些情況,就需要做特殊的處理:
1.中間有英語或數(shù)字的
如果不做處理,數(shù)字會(huì)被變成Right-To-Left,但事實(shí)上是需要Left-To-Right的,如:
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="send_msg_to">استورد%sتور</string>
使用時(shí)替換后,會(huì)變成:استورد68001استورد,而需要的是:استورد10086استورد,這里就需要在英語或數(shù)字兩端加上
Left-To-Right overrider \u202D和\u202C,如:
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="send_msg_to">استورد\u202d%s\u202cتور</string>
1.右側(cè)有英語或數(shù)字(Left-To-Right中在最左側(cè))
2.有xliff本地化替換的情況
The solution is to add Right to Left Marker(RLM) before and after English or digits
<?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>
對(duì)于Right-To-Left的語言,最理想就是以下二種Case,它不需要特別的處理,只要按照翻譯把翻譯寫入字串資源文件即可:
1.都是Arabic的時(shí)候,無需特殊處理,翻譯即可
2.左側(cè)有英文/數(shù)字,但右側(cè)是Arabic(也就是說,在Left-To-Right語言中右側(cè)有英語/數(shù)字)
3.若全都是英語或數(shù)字,也不需要處理,讓其保留Left-To-Right的特點(diǎn)
例如:
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="import">استورد</string>
<string name="import_vcard">استورد vCard</string>
運(yùn)行后結(jié)果就是:استورد
vCard استورد
但是對(duì)于某些情況,就需要做特殊的處理:
1.中間有英語或數(shù)字的
如果不做處理,數(shù)字會(huì)被變成Right-To-Left,但事實(shí)上是需要Left-To-Right的,如:
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="send_msg_to">استورد%sتور</string>
使用時(shí)替換后,會(huì)變成:استورد68001استورد,而需要的是:استورد10086استورد,這里就需要在英語或數(shù)字兩端加上
Left-To-Right overrider \u202D和\u202C,如:
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- file values-ar/strings.xml -->
<string name="send_msg_to">استورد\u202d%s\u202cتور</string>
1.右側(cè)有英語或數(shù)字(Left-To-Right中在最左側(cè))
2.有xliff本地化替換的情況
The solution is to add Right to Left Marker(RLM) before and after English or digits
復(fù)制代碼 代碼如下:
<?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>
您可能感興趣的文章:
- 使用 Swift 語言編寫 Android 應(yīng)用入門
- Android實(shí)現(xiàn)系統(tǒng)語言切換功能
- 深入剖析Android中init進(jìn)程實(shí)現(xiàn)的C語言源碼
- Android鍵盤輸入語言設(shè)置默認(rèn)打開myanmar緬甸語的步驟
- 為Android添加一門新語言的解決辦法
- android 支持的語言列表(匯總)
- Android 各國語言縮寫及簡(jiǎn)稱詳細(xì)介紹
- php簡(jiǎn)單實(shí)現(xiàn)多語言切換的方法
- 多種語言(big5\gbk\gb2312\utf8\Shift_JIS\iso8859-1)的網(wǎng)頁編碼切換解決方案歸納
- Android實(shí)現(xiàn)app應(yīng)用多語言切換功能
相關(guān)文章
Android 關(guān)閉多個(gè)Activity的實(shí)現(xiàn)方法
這篇文章主要介紹了Android 關(guān)閉多個(gè)Activity的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09Android位圖(圖片)加載引入的內(nèi)存溢出問題詳細(xì)解析
Android在加載大背景圖或者大量圖片時(shí),常常致使內(nèi)存溢出,下面這篇文章主要給大家介紹了關(guān)于Android位圖(圖片)加載引入的內(nèi)存溢出問題的相關(guān)資料,需要的朋友可以參考下2022-12-12Android筆記之:App應(yīng)用之啟動(dòng)界面SplashActivity的使用
當(dāng)前比較成熟一點(diǎn)的應(yīng)用基本上都會(huì)在進(jìn)入應(yīng)用之顯示一個(gè)啟動(dòng)界面.這個(gè)啟動(dòng)界面或簡(jiǎn)單,或復(fù)雜,或簡(jiǎn)陋,或華麗,用意不同,風(fēng)格也不同2013-04-04Android自定View流式布局根據(jù)文字?jǐn)?shù)量換行
這篇文章主要為大家詳細(xì)介紹了Android自定View流式布局,根據(jù)文字?jǐn)?shù)量換行,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12Android進(jìn)階NestedScroll嵌套滑動(dòng)機(jī)制實(shí)現(xiàn)吸頂效果詳解
這篇文章主要為大家介紹了Android進(jìn)階NestedScroll嵌套滑動(dòng)機(jī)制實(shí)現(xiàn)吸頂效果詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01android開發(fā)教程之實(shí)現(xiàn)toast工具類
這篇文章主要介紹了android開發(fā)中需要的toast工具類,需要的朋友可以參考下2014-05-05Android Studio格式化(Format)代碼快捷鍵介紹
這篇文章主要介紹了Android Studio格式化(Format)代碼快捷鍵,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01