https://developers.facebook.com/apps/{id}/auth
now allows you to specify a Headline, Description, etc. for the authorization dialog that will be shown to users wanting to install your canvas app.
My facebook app needs to support multiple languages.
Is there anyway I can localize these values, since they are hardcoded in the Facebook settings?
Unfortunately not as of yet, from what I can see, do they allow you to have multiple versions of the text for each language. The best you can do currently is to ensure you use the right locale when grabbing the JavaScript SDK, hopefully they will ensure the buttons and other text they control are localized. The Enhanced Auth Dialog is still beta, so there is hope they'll make it better.
The accepted answer is not correct in my experience.
The locale of the dialog does not depend on the locale that the developer has specified but it depends on the user's language settings in his/her Facebook account.
I had nl_NL specified for the dialog and it would still show up in en_US. But it turns out that was the language setting of my account (i.e., the account that is viewing the dialog). Changing my account settings to Dutch fixed the problem and the new auth dialog changed to the Dutch language.
Related
We are creating a Facebook apps which require the posting right to the user wall, however in the permission panel the right asked and their details is written in english, as we target french user we would need to change the language of the permission window.
I know we can't enter the text ourself (as it would allow to write anything else than what the right is about), but is there a way to indicate the language in which the permission should be written?
Example : When the user see my permission panel it is written : "Post on your behalf", and once he accept it, he can see in his application setting that he gave the right to "Publier en mon nom". This mean Facebook actually has that translation, but how do I show it to the user AS THEY accept it.
This should work by default, although perhaps you are using the older version of the Permissions Dialog. This should be based on the language locale of the user and doesn't require any intervention from the developer:
We use Facebook Connect on our web site. We have some mandatory and some optional permissions. Is it possible to get FB to display a check box next to the optional ones? I've seen some sites that do this but maybe they are displaying their own dialog.
Once an optional permission has been granted, what is the best way to allow the user to revoke just it?
We are using the Javascript SDK but could also implement something in PHP if needed.
Thanks!
I believe you are referring to the "Improved Auth Dialog" which Facebook will automatically switch all apps over to on 2/15. You can opt-in now through your app settings so you can make sure everything works. After 2/15 you can opt-out, but only until 3/1. The improved dialog shows a second screen of "optional" permissions.
https://developers.facebook.com/blog/post/633/
Users can remove permission at any time by going into their "Privacy Settings", then to the "Apps and Websites" section. I think most users have no idea they remove individual privileges from there.
I find the javascript SDK provides a much better user experience than using redirects on the backend with something like PHP.
How do I translate my application name that is shown on the user profile page or in my application profile page?
I have tried to use the facebook translation service, but it does not work.
The documentation makes it seem like you can translate the name of your application and the translations will show through out Facebook. The translation application has been broken since inception.
Here's a bug that's well over a year old about this issue: http://bugs.developers.facebook.net/show_bug.cgi?id=10501
I have seen some application re-publishing under other names (under different languages) to help capture users who use those languages. I have no idea what Facebook's stance is on that practice, though.
Does anyone know whether it's possible to show different Facebook Tab Apps in the left-hand menu of a Page depending on the locale of the user visiting the Page?
For example, I have 3 similar, but subtly different, apps built in three different languages, but only want any one user to see the app in the left-hand menu which correlates to their locale - does anyone know if is this possible?
No but you could make it just one application and use Facebook Translations for you app for the tab name. Then you could look at the signed request that Facebook POST's to your site and then show the best content based on the users country or language. You would need to map different language options to the versions you have.
In the answer of the signed request is not only, if user is fan or admin, you can find his language,too. So you can use do..case with it
I'm developing a Facebook application for a business page. The application can only be accessed as a tab, meaning there is no box or direct access intended.
I've done my share of searching and even though I hate asking for help when I know the information I'm after must be there somewhere, I've reached
the point of exhaustion and beg for a solution.
I've managed to work with my application the way it was intended, it retrieves some data from my databases and users can view that information without
a problem. The issue here is that I'm unable to figure out a way of getting information from the user who is viewing that tab. I don't want any private stuff,
in fact, the only thing I need is to know in which language he/she is viewing FB so I can grab content in that language instead of the default.
I thought that maybe FB stored that information on a cookie, or a session variable, who knows. I'm sure I seen something like en_GB on a cookie from
FB once, but maybe it was a mere delusion from sleep deprivation.
I'm sure there is a pretty solution developed already and I just can't wait to learn about it!
Thank you for you time :)
To translate the application, you should be using facebook translations.
All the text in your app should be inside and other intl tags and the translation for these should be available on facebook translations app. Then facebook shows the translated text to the user based on their locale.
Facebook Translations app: http://www.facebook.com/translations/
You can see the strings to be translated here.
You also have to enable you applications for translations in the Translation app admin panel.
More about translations here : http://wiki.developers.facebook.com/index.php/Internationalization
Here's a method that describes getting the current user's language in a canvas frame even when the user hasn't logged in: http://fbdevwiki.com/wiki/Locales#Getting_the_User.27s_Locale . I suspect that it should also work in a page tab iframe.