我想在我的项目中本地化FBSDKLoginButton的标题字符串,其中包括FBSDKLoginKit.framework。 facebook-ios-sdk中有一个FacebookSDKStrings.bundle
,如Facebook iOS SDK常见问题解答中有关本地化的内容。
同样来自FBSDKLoginButton和FBSDKInternalUtility的源代码,我认为应该通过将该捆绑包放在我的项目中来工作吗?
但是将FacebookSDKStrings.bundle
拖入我的项目并不起作用。其他解决方案?
(这是一个Swift项目,但我已尝试使用Objective-C,同样的问题。用于iOS v4.5的Facebook SDK,4.7尝试使用Xcode 7.0.1。)
答案 0 :(得分:4)
我忘了将我的本地语言添加到项目设置 - 信息 - 本地化。我的错。将FacebookSDKStrings.bundle拖到项目中就行了。
答案 1 :(得分:1)
我刚刚面对这个问题。有关本地化的Facebook文档有点模糊,尤其是在使用Cocoapods时。
通过阅读Facebook SDK源代码,我找到了正确包含Facebook字符串文件的解决方案。
FacebookSDKStrings.bundle
(只是重命名的文件夹)en.lproj
& fr.lproj
)FacebookSDK.strings
的字符串文件然后在每个.strings
文件中添加要本地化的每一行。
我想Facebook会在某处提供所有键的详尽列表。但是,如果你正在使用Cocoapods,你可以Cmd-Shift-F
要翻译的字符串(例如:"Log in with Facebook"
)在Facebook SDK源代码中找到类似
NSLocalizedStringWithDefaultValue(@"LoginButton.LogInLong", @"FacebookSDK", [FBSDKInternalUtility bundleForStrings],
@"Log in with Facebook",
@"The long label for the FBSDKLoginButton when the user is currently logged out");
显示相应的密钥:LoginButton.LogInLong
PS:here's the FacebookSDKStrings.bundle
sample I just created.(当然先解压缩)