我试图改变FBLoginView
按钮中的文字,但到目前为止我没有运气.我试着阅读README从FacebookSDK
,并期待在互联网.我在项目本地化部分中添加了2种语言,它在每种语言的支持文件中创建了2个文件,但我尝试用README的示例内容更改字符串(使用更改的字符串值),但即使我更改了英文文件,我总是得到默认登录字符串.然后我尝试添加一些Bundle设置并在那里更改一些文件,但也没有运气.有人能告诉我如何逐步改变facebook字符串?谢谢
更新:
此处描述的方法不再适用于最新的Facebook SDK.因此,请参阅@Erik van der Neut或@Ted给出的答案,并使用随SDK附带的软件包FacebookSDKStrings.bundle进行字符串覆盖.
到目前为止,我发现本地化/更改Facebook字符串的唯一方法是在他们的常见问题解答中描述:https://developers.facebook.com/docs/ios/troubleshooting/
我所做的是FacebookSDKOverrides.bundle
从Facebook SDK随附的Scrumptious示例项目中复制文件.这基本上只是一个包含(可以包含)不同本地化文件夹的包.如果要添加德语字符串,请de.lproj
在包中创建一个文件夹.该文件夹应包含一个文件Localizable.strings
.
您可以在文件中找到所有可重写字符串的列表FacebookSDKResources.bundle.README
.您可以在FacebookSDK文件夹中找到它:
FacebookSDK.framework/Resources/
或者在这里:https://github.com/facebook/facebook-ios-sdk/blob/master/src/FacebookSDKResources.bundle.README
例如,要添加登录按钮文本的德语翻译,您必须将以下内容添加到de.lproj中的Localizable.strings文件中:
"FBLV:LogInButton" = "Einloggen";
作为最后一步,您必须确保Facebook了解该捆绑包.因此,您可以将以下内容添加到Info.plist中:
FacebookBundleName FacebookSDKOverrides
或者,如果您想要,还可以在代码中指定:
[FBSettings setResourceBundleName:@"FacebookSDKOverrides"];
这对我有用,虽然我想使用我的主要包进行覆盖,并在我的普通应用翻译中指定它们.这对于与翻译工具的连接更方便,因为您不需要为每种语言翻译多个文件.