我剛剛更新到的Xcode 4如何使用Xcode 4本地化我的應用程序?
通常本地化的應用程序當我們添加「Localizable.String」文件的項目,然後導航至「獲取信息」菜單,然後單擊「做它本地化」按鈕。
但是,在Xcode 4中,沒有「獲取信息」菜單。
當我嘗試添加一種語言時,它只會影響「InfoPlist.String」文件(只能本地化應用程序的名稱)。
如何在Xcode 4中將本地化添加到我的應用程序中?
我剛剛更新到的Xcode 4如何使用Xcode 4本地化我的應用程序?
通常本地化的應用程序當我們添加「Localizable.String」文件的項目,然後導航至「獲取信息」菜單,然後單擊「做它本地化」按鈕。
但是,在Xcode 4中,沒有「獲取信息」菜單。
當我嘗試添加一種語言時,它只會影響「InfoPlist.String」文件(只能本地化應用程序的名稱)。
如何在Xcode 4中將本地化添加到我的應用程序中?
選擇您想要本地化的文件,並點擊公用程序部分的文件檢查器。 有一節本地化
當您選擇文件並通過主菜單的「查看」 - >「實用程序」 - >「文件檢查器打開」文件檢查器「時,您可以查看文件信息」。
我似乎無法從文件檢查器中刪除現有的本地化版本。它詢問「你想刪除...」,但是當用'刪除'按鈕確認時......沒有任何反應。該文件仍然存在。大。 – DefenestrationDay 2011-03-31 07:20:41
首先你需要添加新的Localizable.string文件並選擇它並轉到查看「 - >」實用工具「 - >」文件檢查器點擊+按鈕在本地化部分添加語言。 也檢查它XCode 4, Adding localization
xcode4中的本地化的方式已經改變!右鍵單擊localizable.strings並添加對其他語言的支持,只需單擊右側「本地化」窗格中的「+」即可。
一旦你明白它就很簡單。
如果你想在Xcode做到這一點 .X和的iOS 7或Xcode的 .X和的iOS 8,退房 「How to localize my app with Xcode 5?」 代替。
此外,我看到這個問題有點老,我的答案可能不同於舊版本的Xcode。 (我用的Xcode訴4.3.3)
然而,我已經更新了我的答案與工作都的Xcode 4.3.5 和下面+ 4.4及以上(和Xcode的5.x和6.x在這裏:How to localize my app with Xcode 5?)。
首先,您應該在iOS資源類別中添加一個新的「字符串文件」。
接下來,創建該文件作爲 「Localizable.strings」。
創建文件時,選擇它並打開File Inspector。
EDIT:觀光已經改變(比特)與新的Xcode 4.4,4.5(以上)(爲iOS 6支持)。 如果你的不是使用Xcode 4.4或高於,則跳過此步驟。
{ Xcode的4.4,4.5(及以上)方式:
點擊 「請本地化」 按鈕
現在,使用您的項目主頁。
然後單擊本地化下的「+」按鈕,然後選擇要支持的語言。
(我會選擇德語/德語)
現在會出現一個窗口,詢問你要本地化什麼文件,確保只有的「Localizable.strings」文件選擇並點擊完成。
}
{ Xcode的4.3.5及以下方式:
點擊本地化下的 「+」 按鈕,選擇您想要的語言支持。
(我會選擇德語/德語)
}
。
。
。
。
您現在應該看到「Localizable.strings」文件下有兩個文件。
接下來,裏面添加兩個本地化文件的您的本地化字符串。
現在,這裏是編碼的一部分。
這裏我只是聲明一個UILabel
並將其文本設置爲Localizable文件字符串。
聲明:本
IBOutlet UILabel *testLabel;
而且裏面viewDidLoad中我將會使用NSLocalizedString
文字:
[testLabel setText:NSLocalizedString(@"TEST", nil)];
完事,只需連接我們testLabel
在 「Interface Builder中」。現在
,你應該能夠運行該項目,並看到了本地化的字符串。 如果你改變語言,你也應該看到本地化的字符串更改。
關於Xcode 4.5的真正有用的注意事項(需要從項目屬性頁面添加本地化) – buskila 2013-01-08 10:24:50
Aleksandar Azizi關於Xcode 4.5及更高版本的評論實際上適用於Xcode 4.4及更高版本。 – 2013-01-10 08:46:30
這是一個很棒的答案!它是否以與圖像相同的方式工作? – 2013-03-20 10:33:57
或者你可以使用TraductoPro爲您自動完成這一過程,節省了大量oftime。這是一款與Xcode完美集成的Mac應用程序。
你可以把先進的用戶自定義運行時的屬性:
http://cupobjc.blogspot.com.es/2014/04/interfaz-builder-localization.html
首先定義的UILabel一個新的類別:
#import "UILabel+Localized.h"
@implementation UILabel (Localized)
-(void) setTextLocalized:(NSString *)aText{
[self setText:NSLocalizedString(aText, nil)];
}
@end
然後在界面生成器,用戶自定義運行屬性:
textLocalized將您的字符串串到本地化
而你並不需要聲明IBOutlet中, 並不需要這個代碼在viewDidLoad中[testLabel的setText:NSLocalizedString(@ 「TEST」,無)];
如果你想切換語言的應用程式中,並使用基於莢解決方案以動態的方式檢查:
https://github.com/nullic/DPLocalizationManager
與安裝:pod 'DPLocalization', '~> 1.2'
它支持同一標準的本地化文件,但也使用動態鏈接使用User Defined runtime attributes
以及內部代碼,如viewDidLoad
。
示例項目的一些例子:
self.startup.text = DPLocalizedString(@"TITLE", nil);
self.label.autolocalizationKey = @"LABEL_TEXT";
[self.label updateAutolocalizationArguments:@[@"Hello", @1234567890, [NSDate date]]];
self.autolocalizationKey = @"TITLE";
下載git的項目,包括展示幾個例子示例項目。
此外,我使用Aleksander Azizi的答案在項目內部構建標準的本地化文件,但需要一種在語言之間輕鬆切換應用程序的方法。 – 2014-09-19 03:33:49
只需閱讀本教程:http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial。希望這可以幫助。 – SNR 2011-09-28 09:28:34
檢查[在iOS 6中使用單一故事板文件進行基本國際化](http://forums.macrumors.com/showthread.php?t=1467446) – mikezang 2012-10-13 13:55:43