我想開始看到我們在本地化字符串時在我們的iOS代碼中有多全面。我們還沒有準備好去翻譯,但我想用pseudo localization開始測試。在Localizable.strings文件中自動執行此過程應該很簡單,但似乎找不到任何可以執行此操作的工具。坦率地說,我會滿足於一個腳本,只是把我的所有字符串改爲「不是英文!」如果存在這樣的事情。iOS僞定位有沒有好的工具?
回答
的字符串部分解釋您可以通過Translate Toolkit實現此目的。
首先,你需要的.strings文件轉換爲PO使用prop2po轉換器:
$ prop2po Localizable.strings en.po
這將創建一個PO文件與Localizable.strings文件的字符串作爲源字符串(在這種情況下,我使用英語作爲源)。
一旦您擁有PO文件,請使用desired rewrite format中的podebug進行重寫。
$ podebug --rewrite=unicode en.po en_rewritten.po
最後將其轉換回.strings格式(請注意,你需要通過原Localizable.strings文件作爲模板):
$ po2prop en_rewritten.po rewritten.strings -t Localizable.strings
生成的文件看起來像這樣:
"Account: %@" = "Ȧƈƈǿŭƞŧ: %@";
"Add command" = "Ȧḓḓ ƈǿḿḿȧƞḓ";
"Add connection." = "Ȧḓḓ ƈǿƞƞḗƈŧīǿƞ."
是的!這正是我所期待的。如果有人在某個時候看到了這一點,並且在安裝(我做過)時遇到問題,說明中使用「su ./setup.py install」時,請使用「sudo python ./setup.py install」。 – Mike
如此接近,我得到了前兩步工作,但不是第三: '%po2prop -t Localizable.strings en_rewritten.po rewritten.strings'' 處理1個文件...' 'po2prop:警告:錯誤處理:輸入en_rewritten.po,輸出rewritten.strings,模板Localizable.strings:'ascii'編解碼器不能編碼位置10-11中的字符:序號不在範圍內(128) [######## ###################################] 100%' –
您的PO文件中是否包含非ascii字符位置評論?如果是這樣,[bug 2101](http://bugs.locamotion.org/show_bug.cgi?id=2101)可能是相關的。 – julen
您可以使用Apple提供的genstrings
工具。這一切都在Resource Programming Guide
'genstrings'會生成我的Localizable.strings文件,我已經這樣做了,但是它可以用鍵或值作爲默認值。我正在尋找一些將採用生成器輸出的東西,然後更改僞制本地化的值。 – Mike
我們提供僞本地化作爲我們在Tethras服務的一部分(www.tethras.com)。僞本地化是免費的。我們強調字符串中的所有字符,並將文本的長度延長30%。這將幫助您測試不僅是硬編碼的字符串,還會讓您看到由於翻譯過程中的文本擴展而導致佈局會發生什麼。
實例:
純文本
我們提供僞翻譯由於零件ôƒ我們的服務在Tèthrás (www.tèthrás.çôm)。 ôñètwôthrèèƒôúrƒïvèsïxPsèúdôlôçálïzátïñïïšï ƒrèè。 ôñètwôthrèèWèççèñtállôƒthèçháráçtèrsÍñ¥ôrstrïñgs áñdèxtèñdthèlèñgthôƒthètèxtb¥30%。一二三ƒôúrƒïvè六 這將有助於¥OU測試不ONL¥ƒôr硬編碼的字符串,而且還會 讓¥歐看看會發生什麼¥對La¥出局由於文本擴展期間 翻譯。 ôñètwôthrèèƒôúrƒïvèsèvèñèèghtñïñètèñ
可本地化。字符串
"Bring All to Front" = "Brïñg Áll tô ƒrôñt ôñè twô";
"Hide" = "Hïdè 12";
"Quit" = "Qúït 12";
"Hide Others" = "Hïdè Óthèrs ôñè ";
想要在翻譯之前測試您的應用程序的本地化的可能性。這將在實際翻譯過程中爲您節省大量時間和精力。
儘管Translate Toolkit可以提供解決方案我已經使用bash腳本尋找更簡單的方法。 創建[changesDictionary.txt]文件(請參閱本崗位的末端格式),並用語言文件作爲參數運行下面的腳本:
# This script translate iOS strings file into pseudo languge for texting usage.
# the script create a sed change and replace file based on [changesDictionary.txt].
# the loop run across the input string file (ie. myFyle.strings)
# and replace the secong strings with the dictionary values.
# since the strings file is in BOM format (http://en.wikipedia.org/wiki/Byte_order_mark)
# the input is converted from UTF16 to UTF8.
sed -e 's/^"\(.*\)" = "\(.*\)"$/s\/\1\/\2\/g/' changesDictionary.txt > changesDictionary.sed
FILENAME=$1
while read -r; do
if [[ $REPLY = '/*'* ]] ; then
echo "$REPLY"
else
if [[ $REPLY = '' ]] ; then
echo "$REPLY"
else
if [[ $REPLY = '"'* ]] ; then
changes2=$(echo "$REPLY" | cut -d= -f2 | sed -f changesDictionary.sed)
changes1=$(echo "$REPLY" | cut -d= -f1)
echo "$changes1=$changes2"
echo "$REPLY"
fi
fi
fi
done < <(iconv -f UTF-16 -t UTF-8 $FILENAME) | iconv -f UTF-8 -t UTF-16 >$FILENAME.new
將腳本修改爲在A [changeDictionary.txt]文件格式如下:
"a" = "á"
"b" = "β"
"c" = "ç"
"d" = "δ"
"e" = "è"
"f" = "ƒ"
"g" = "ϱ"
"h" = "λ"
"i" = "ï"
"j" = "J"
"k" = "ƙ"
"l" = "ℓ"
"m" = "₥"
"n" = "ñ"
"o" = "ô"
"p" = "ƥ"
"q" = "9"
"r" = "ř"
"s" = "ƨ"
"t" = "ƭ"
"u" = "ú"
"v" = "Ʋ"
"w" = "ω"
"x" = "ж"
"y" = "¥"
"z" = "ƺ"
"\ñ" = "\n"
"$δ" = "$d"
"$ï" = "$i"
,你可以用這個例子也可以創建自己,請注意TP文件中的最後3個變化的字符串。這是爲了將行結束和參數恢復到正常狀態。我選擇了這種方法來簡化腳本(我認爲性能沒有優化)。
我跨尚未這裏所說的兩種解決方案來:
呼籲在Mac App Store免費應用程序,基於源代碼生成pseudolocalized .strings文件(拖 - 和 - 下降)。它生成與OP中提供的問題類似的字符串。
https://itunes.apple.com/us/app/pseudolocalizer/id503026674?mt=12
的在線翻譯服務咿呀上提供基於現有.strings文件(其它可用的選項)免費pseudolocalized .strings文件。他們有額外的選擇,比原來的英語更長的字符串來測試你的GUI。
Babble-on的免費服務的優點是可以獲得兩個文件:ASIAN(帶中文字符),可以更輕鬆地找到未翻譯的字符串,以及EUROPEAN,這比模擬法語和德語等語言要長30% 。這對於測試GUI非常棒。 – Localizer
另一種快速和免費的工具是http://www.pseudolocalize.com - 一次點擊即可獲得pseudolocalized版本 – JerSchneid
@JerSchneid無法與Localizable.strings文件一起使用 –
- 1. Qtip2工具提示沒有定位
- 2. 有沒有比硒更好的工具和簡單的工具?
- 3. ImageView的內部工具欄沒有很好地定位在片劑
- 4. objective-c iOS - 自定義工具欄沒有按預期定位按鈕
- 5. 有沒有比內置的更好的Eclipse重構工具?
- 6. 有沒有什麼好的黑莓網站開發工具?
- 7. 有沒有好的+免費+輕量級+ Linux UML設計工具?
- 8. 有沒有好的工具可以生成Google Sitemap?
- 9. 那裏有沒有好的軟件規範/需求工具?
- 10. 有沒有比permcalc更好的工具來分析權限?
- 11. 有沒有用於監視EJB容器的好工具?
- 12. C/C++有沒有好的開源BDD工具?
- 13. 有沒有一個好的僞代碼編輯器?
- 14. 有沒有更好的方法來僞造靜態類接口?
- 15. windows有沒有unshar工具?
- 16. ViewHolder在RecyclerView.Adapter沒有具體定位
- 17. CSS:沒有僞代碼不工作
- 18. Bootstrap 3工具提示沒有正確定位
- 19. :第一個孩子僞選擇器沒有定位元素
- 20. Magento塊定位從來沒有工作
- 21. gt:錯誤:既沒有指定工具也沒有腳本;
- 22. 有沒有像maqetta角js的工具?
- 23. 有沒有類似windows的winedump工具?
- 24. 有沒有gitattributes的配置工具?
- 25. 有沒有這樣的測試工具
- 26. Windows有什麼好的tar工具?
- 27. IE8有更好的開發工具嗎?
- 28. 有什麼好的免費HttpDebugging工具
- 29. Cocos2d有什麼好的測試工具?
- 30. 有沒有更好的方法做4位循環移位?
+1,即使其他人可能將此作爲[購物](http://blog.stackoverflow.com/2010/11/qa-is-hard-lets-go-購物/)問題。 – newenglander