[問題] 同語言(lproj)需要不同翻譯,怎解?

作者: drag (京都念慈庵,賈詡念費翔)   2014-10-28 10:46:00
現況如下:
Project底下設定為兩個Target
TargetA(A客戶)
使用en.lproj, es.lproj 以及 it.lproj
TargetB(B客戶)
使用en.lprog, fr.lproj
其中每個lproj裡面含有20個左右的xib以及一個Localizable.strings.
而且所有lproj都是共用的(可以不共用嗎?)
每次有需要翻譯就從en.lproj去使用ibtool去抓xib strings和塞回去
(這事情只有第一次開新語言時才作)
現在客戶B
也需要西班牙文支援,
雖然我們告知已有翻譯(就是把es.lproj enable即可)
但是他們想改字,
這樣一來會沒辦法sync(因為大家都用一樣的lproj)
請問有沒有好方法可解?
前提是希望project不要branch,一樣的code要maintain未來會很可怕...
目前我找到比較可行的方式是把所有strings拉出來保留
(es內XIB本來的翻譯以及新翻譯的strings,放兩個地方之類的)
在build phases加入Run script功能,
在build之前才去把自己想要的strings塞進去es.lproj,
這樣可以確保兩客戶每次都會的得到自己想要翻譯的XIB結果
請問是否有更好的作法?
Thanks.
作者: uranusjr (←這人是超級笨蛋)   2014-10-28 11:12:00
NSLocalizedString 有變種 NSLocalizedStringFromTable可以指定要去哪個 .strings 檔 lookup
作者: darktt (小朱)   2014-10-28 11:18:00
其實NSLocalizedStringFromTable才不是變種,NSLocalizedString也是會呼叫NSLocalizedStringFromTableNSLocalizedStringFromTable才是原本的方法
作者: drag (京都念慈庵,賈詡念費翔)   2014-10-28 11:59:00
ㄟ這我也有查到,不過UI上面大部分的strings都是在XIB裡面感謝兩位的解答! :)
作者: Blueshiva (龍野南雲)   2014-10-28 12:08:00
XIB的話,可以在view load的時候去動態指定那些文字
作者: howdiun (Howdiun)   2014-10-28 13:51:00
多XIB維護時很煩
作者: Blueshiva (龍野南雲)   2014-10-28 22:11:00
Xcode6做多國語言的方式有些改變,可能會比較好吧

Links booklink

Contact Us: admin [ a t ] ucptt.com