[问题] 同语言(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