我正在尝试更改FBLoginView
按钮中的文本,但到目前为止我还没有运气。我试着阅读README从FacebookSDK
,并期待在互联网。我在项目本地化部分中添加了2种语言,在每种语言的支持文件中创建了2个文件,但是我尝试在其中使用README的示例内容更改字符串(具有更改的字符串值),但是即使我更改了英语文件,我也始终获得默认的登录字符串。然后,我尝试添加一些Bundle设置并在那里更改一些文件,但是也没有运气。有人可以告诉我如何逐步实现更改Facebook字符串吗?谢谢
更新:
此处描述的方法不再适用于最新的Facebook SDK。因此,请参考@Erik van der Neut或@Ted给出的答案,并使用SDK附带的捆绑包FacebookSDKStrings.bundle进行字符串覆盖。
到目前为止,我找到的唯一可本地化/更改Facebook字符串的方法在其FAQ中进行了描述: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中:
<key>FacebookBundleName</key>
<string>FacebookSDKOverrides</string>
另外,如果您要执行以下操作,也可以在代码中指定:
[FBSettings setResourceBundleName:@"FacebookSDKOverrides"];
这对我有用,尽管我想使用主捆绑包进行覆盖,而只需在常规应用翻译中指定它们即可。与翻译工具的连接更加方便,因为您不需要每种语言翻译多个文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句