FBSDKLikeControl 标题文本未根据设备区域设置 FBSDK ios
FBSDKLikeControl title text not changing respect to device locale FBSDK ios
我已经在我的项目中实现了 FBSDKLikeControl,我的期望是 'like' 和 'liked' 将文本更改为受尊重的设备区域设置 (ar-AE)。但是区域设置没有按预期更改,它只是显示英文文本而不是 'like' 和 'liked' 的阿拉伯文文本。
self.buttonFBLike = [[FBSDKLikeControl alloc] init];
self.buttonFBLike.center=self.view.center;
self.buttonFBLike.likeControlStyle=FBSDKLikeControlStyleBoxCount;
[self.view addSubview:self.buttonFBLike]
// Share url like @"https://www.facebook.com/FacebookDevelopers"
[self.buttonFBLike setObjectID:shareURL];
self.buttonFBLike.enabled=YES;
[self.buttonFBLike isTouchInside];
任何人都可以建议我如何以编程方式设置 FBLikeButton 的语言环境
以下是关于如何实现您自己的翻译的一些说明:
iOS Facebook SDK localization
在这里搜索后:https://developers.facebook.com/docs/internationalization#locales
您可以找到包含语言环境信息的 Facebook XML 文件 (https://www.facebook.com/translations/FacebookLocales.xml)
原来他们只对阿拉伯语使用ar_AR,而不是ar_AE,可能是这个原因。
你的编码部分是正确的,添加了可选的 FacebookSDKStrings.bundle 来为国际应用程序提供本地化的字符串,所以你需要将 FacebookSDKStrings.bundle 添加到你的项目中并且它按我的预期工作,
以下内容在 FacebookSDKStrings.bundle en.lproj(FacebookSDK.string) 中,因此一旦您添加此捆绑包,它会根据设备语言自动更改区域设置以用于共享和点赞按钮
/* The format string for device login instructions */
"DeviceLogin.LogInPrompt" = "Visit %@ on your smartphone or computer and enter the above code.";
/* The title of the label to dismiss the alert when presenting user facing error messages */
"ErrorRecovery.Alert.OK" = "OK";
/* The title of the label to decline attempting error recovery */
"ErrorRecovery.Cancel" = "Cancel";
/* The fallback message to display to recover invalidated tokens */
"ErrorRecovery.Login.Suggestion" = "Please log into this app again to reconnect your Facebook account.";
/* The title of the label to start attempting error recovery */
"ErrorRecovery.OK" = "OK";
/* The fallback message to display to retry transient errors */
"ErrorRecovery.Transient.Suggestion" = "The server is temporarily busy, please try again.";
/* The label for the FBSDKLikeButton when the object is not currently liked. */
"LikeButton.Like" = "Like";
/* The label for the FBSDKLikeButton when the object is currently liked. */
"LikeButton.Liked" = "Liked";
/* The label for the FBSDKLoginButton action sheet to cancel logging out */
"LoginButton.CancelLogout" = "Cancel";
/* The label for the FBSDKLoginButton action sheet to confirm logging out */
"LoginButton.ConfirmLogOut" = "Log Out";
/* The fallback string for the FBSDKLoginButton label when the user name is not available yet */
"LoginButton.LoggedIn" = "Logged in using Facebook";
/* The format string for the FBSDKLoginButton label when the user is logged in */
"LoginButton.LoggedInAs" = "Logged in as %@";
/* The short label for the FBSDKLoginButton when the user is currently logged out */
"LoginButton.LogIn" = "Log in";
/* The long label for the FBSDKLoginButton when the user is currently logged out */
"LoginButton.LogInLong" = "Log in with Facebook";
/* The label for the FBSDKLoginButton when the user is currently logged in */
"LoginButton.LogOut" = "Log out";
/* The user facing error message when the app slider has been disabled and login fails. */
"LoginError.SystemAccount.Disabled" = "Access has not been granted to the Facebook account. Verify device settings.";
/* The user facing error message when the Accounts framework encounters a network error. */
"LoginError.SystemAccount.Network" = "Unable to connect to Facebook. Check your network connection and try again.";
/* The user facing error message when the device Facebook account password is incorrect and login fails. */
"LoginError.SystemAccount.PasswordChange" = "Your Facebook password has changed. To confirm your password, open Settings > Facebook and tap your name.";
/* The user facing error message when the device Facebook account is unavailable and login fails. */
"LoginError.SystemAccount.Unavailable" = "The Facebook account has not been configured on the device.";
/* The user facing error message when the Facebook account signed in to the Accounts framework becomes unconfirmed. */
"LoginError.SystemAccount.UnconfirmedUser" = "Your account is not confirmed. Please log in to www.facebook.com and follow the instructions given.";
/* The user facing error message when the Facebook account signed in to the Accounts framework has been checkpointed. */
"LoginError.SystemAccount.UserCheckpointed" = "You cannot log in to apps at this time. Please log in to www.facebook.com and follow the instructions given.";
/* The message of the FBSDKLoginTooltipView */
"LoginTooltip.Message" = "New! You're in control - choose what info you want to share with apps.";
/* Title of the web dialog that prompts the user to log in to Facebook. */
"LoginWeb.LogInTitle" = "Log In";
/* The label for FBSDKSendButton */
"SendButton.Send" = "Send";
/* The label for FBSDKShareButton */
"ShareButton.Share" = "Share";
参考:Facebook change log for more details
Stack overflow link have more info
我已经在我的项目中实现了 FBSDKLikeControl,我的期望是 'like' 和 'liked' 将文本更改为受尊重的设备区域设置 (ar-AE)。但是区域设置没有按预期更改,它只是显示英文文本而不是 'like' 和 'liked' 的阿拉伯文文本。
self.buttonFBLike = [[FBSDKLikeControl alloc] init];
self.buttonFBLike.center=self.view.center;
self.buttonFBLike.likeControlStyle=FBSDKLikeControlStyleBoxCount;
[self.view addSubview:self.buttonFBLike]
// Share url like @"https://www.facebook.com/FacebookDevelopers"
[self.buttonFBLike setObjectID:shareURL];
self.buttonFBLike.enabled=YES;
[self.buttonFBLike isTouchInside];
任何人都可以建议我如何以编程方式设置 FBLikeButton 的语言环境
以下是关于如何实现您自己的翻译的一些说明:
iOS Facebook SDK localization
在这里搜索后:https://developers.facebook.com/docs/internationalization#locales
您可以找到包含语言环境信息的 Facebook XML 文件 (https://www.facebook.com/translations/FacebookLocales.xml)
原来他们只对阿拉伯语使用ar_AR,而不是ar_AE,可能是这个原因。
你的编码部分是正确的,添加了可选的 FacebookSDKStrings.bundle 来为国际应用程序提供本地化的字符串,所以你需要将 FacebookSDKStrings.bundle 添加到你的项目中并且它按我的预期工作,
以下内容在 FacebookSDKStrings.bundle en.lproj(FacebookSDK.string) 中,因此一旦您添加此捆绑包,它会根据设备语言自动更改区域设置以用于共享和点赞按钮
/* The format string for device login instructions */
"DeviceLogin.LogInPrompt" = "Visit %@ on your smartphone or computer and enter the above code.";
/* The title of the label to dismiss the alert when presenting user facing error messages */
"ErrorRecovery.Alert.OK" = "OK";
/* The title of the label to decline attempting error recovery */
"ErrorRecovery.Cancel" = "Cancel";
/* The fallback message to display to recover invalidated tokens */
"ErrorRecovery.Login.Suggestion" = "Please log into this app again to reconnect your Facebook account.";
/* The title of the label to start attempting error recovery */
"ErrorRecovery.OK" = "OK";
/* The fallback message to display to retry transient errors */
"ErrorRecovery.Transient.Suggestion" = "The server is temporarily busy, please try again.";
/* The label for the FBSDKLikeButton when the object is not currently liked. */
"LikeButton.Like" = "Like";
/* The label for the FBSDKLikeButton when the object is currently liked. */
"LikeButton.Liked" = "Liked";
/* The label for the FBSDKLoginButton action sheet to cancel logging out */
"LoginButton.CancelLogout" = "Cancel";
/* The label for the FBSDKLoginButton action sheet to confirm logging out */
"LoginButton.ConfirmLogOut" = "Log Out";
/* The fallback string for the FBSDKLoginButton label when the user name is not available yet */
"LoginButton.LoggedIn" = "Logged in using Facebook";
/* The format string for the FBSDKLoginButton label when the user is logged in */
"LoginButton.LoggedInAs" = "Logged in as %@";
/* The short label for the FBSDKLoginButton when the user is currently logged out */
"LoginButton.LogIn" = "Log in";
/* The long label for the FBSDKLoginButton when the user is currently logged out */
"LoginButton.LogInLong" = "Log in with Facebook";
/* The label for the FBSDKLoginButton when the user is currently logged in */
"LoginButton.LogOut" = "Log out";
/* The user facing error message when the app slider has been disabled and login fails. */
"LoginError.SystemAccount.Disabled" = "Access has not been granted to the Facebook account. Verify device settings.";
/* The user facing error message when the Accounts framework encounters a network error. */
"LoginError.SystemAccount.Network" = "Unable to connect to Facebook. Check your network connection and try again.";
/* The user facing error message when the device Facebook account password is incorrect and login fails. */
"LoginError.SystemAccount.PasswordChange" = "Your Facebook password has changed. To confirm your password, open Settings > Facebook and tap your name.";
/* The user facing error message when the device Facebook account is unavailable and login fails. */
"LoginError.SystemAccount.Unavailable" = "The Facebook account has not been configured on the device.";
/* The user facing error message when the Facebook account signed in to the Accounts framework becomes unconfirmed. */
"LoginError.SystemAccount.UnconfirmedUser" = "Your account is not confirmed. Please log in to www.facebook.com and follow the instructions given.";
/* The user facing error message when the Facebook account signed in to the Accounts framework has been checkpointed. */
"LoginError.SystemAccount.UserCheckpointed" = "You cannot log in to apps at this time. Please log in to www.facebook.com and follow the instructions given.";
/* The message of the FBSDKLoginTooltipView */
"LoginTooltip.Message" = "New! You're in control - choose what info you want to share with apps.";
/* Title of the web dialog that prompts the user to log in to Facebook. */
"LoginWeb.LogInTitle" = "Log In";
/* The label for FBSDKSendButton */
"SendButton.Send" = "Send";
/* The label for FBSDKShareButton */
"ShareButton.Share" = "Share";
参考:Facebook change log for more details
Stack overflow link have more info