Localization and Translation

To reach a global audience, Facebook supports 70-plus languages with a framework that enables you to translate text on Facebook. When you integrate your app with Facebook you can automatically take advantage of our translations framework which helps you deliver locale-specific versions of your app.

People can choose the language they see when they're on Facebook. They'll see Facebook text strings in the language of their own locale, along with the text strings for any Social Plugins you've added to your app or website. For localization to work for Social Plugins be sure you use the correct locale code when you add the plugins.

People can also help translate Facebook into their own languages through the Facebook Translations app, but this can be used only to suggest translations to Facebook itself — not your app.

To localize apps and websites that integrate with Facebook, we provide tools to build and maintain locale-specific versions. This takes place mainly through the App Dashboard.

In the dashboard you can manage translation of text elements for any app or website that has a Facebook App ID.

This guide takes you through what you need to know about the Facebook translation framework and the tools we provide for app localization:

This guide is limited to the tools offered by Facebook to localize and translate your apps. Principles of app internationalization and localization are beyond the scope of this guide. Consult experts on those topics when you design your apps and websites.

Locales and Languages Supported by Facebook

The locales that Facebook supports are referenced in the Facebook Locales XML file. The codes in the XML file follow ISO language and country codes respectively, concatenated by an underscore. The basic format is ll_CC, where ll is a two-letter language code, and CC is a two-letter country code. For instance, en_US represents U.S. English.

There are two exceptions that do not follow the ISO standard: ar_AR and es_LA. We use these to denote umbrella locales for Arabic and Spanish. For Spanish, we support a few specialized localizations.

Your can determine the locale and language of a person using your app through the locale field of the User Graph API object.

Open Graph and Localization

Open Graph supports internationalization of actions and objects for use in multiple languages. Open Graph localization follows the same process as the Facebook app localization process described here. For details, see the guide to Open Graph Internationalization and Localization.

Localization with Social Plugins and JavaScript SDK

One of the most basic ways to integrate a website or an app with Facebook is to add Social Plugins. This includes Like, Recommend and other buttons that let people easily interact with your web page or app.

When you do this, Facebook can automatically translate the text for the plugin in a local language through the Facebook JavaScript SDK. The SDK is available in all locales supported by Facebook.

To take advantage of automatic social plugin translation, you need to change the locale of the SDK to match the locale of your site. Specifically, you need to change en_US to a supported locale code when loading the SDK's source.

For example, if your app or site is in Spanish, using the following code to load the SDK will cause all Social Plugins to be rendered in Spanish.

  var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
  js = d.createElement('script'); js.id = id; js.async = true;
  js.src = "//connect.facebook.net/es_LA/all.js";

Note that this only applies to plugins and buttons that are directly integrated with your site. Dialog such as the Login Dialog render in the language that the person has picked as their native language on Facebook, even if it's different than the language you select.

App Center and Localization

If your app is a game, and you've already created an app ID in the App Dashboard, you can make your app appear in the Facebook App Center by adding App Center to your app and requesting a review.

To add App Center and request review:

  1. Go to the App Dashboard, and select your app.
  2. Under Products in the left-hand menu, click Add Product.
  3. On the Product Setup Page, find App Center and click Get Started.
  4. Fill out the App Info form and save your changes.
  5. Under App Center in the left-hand menu, choose Review and click the Add to Submission button.

Approved apps created in the App Dashboard are displayed in the Facebook App Center in the primary language for the app. To display the app in other locales and languages, you have to make some changes to it in the App Dashboard.

If you create your app using the English (U.S.) locale, the App Center will display its details such as its tagline, description, detailed description and explanations about requested permissions only in English, no matter who is using the App Center.

If you want to provide app details in French or German, you can select them as target languages and provide text strings in those languages in the App Dashboard.

Making an app available in other languages and locales helps you boost its reach. When your app is available in the App Center for the target locale for that language, your app will be used by more people who can speak the language you're targeting for translation. It can also help you get your app translated. That's because if people turn on the Facebook inline translation feature, they can suggest translations to text strings in your app.

To make your app details available in languages other than the primary language:

  1. Go to the App Dashboard and select your app.
  2. Under App Center in the left-hand menu, click Localize.
  3. On the Localize page, click Add Language and select the languages you want to support.
  4. Add the translated strings for your app name, tagline, and short and long descriptions. The other fields, including images, are optional and don't have to be translated.
  5. Submit for App Center review again to push the translated strings live.

Once you've done this, your app appears in App Center in the locales you've selected and people in the locales will be able to see it and download it from there. The description of your app appears in the language for that locale, however the app itself will display text only in the app's primary language.

Note that the target locales and languages you choose for your app in the dashboard mean that app details including tagline, description and so on appear in the those locales/languages. Text for the functional part of your app still needs to be translated into the new locales and languages. We'll describe the Facebook tools for doing that next.

Note: If you've correctly set up Social Plugins as described above, the text for those features such such as Like and Recommend are automatically be translated into the local languages of people using Facebook.

Inline Translations

People using your app can suggest translation for its text strings when they're on Facebook. They can do this if they're using Facebook in a locale other than its primary locale and they enable inline translations. Note that the Facebook Translations app can be used only to suggest translations to Facebook itself — not your app.

To see how this works, go to Facebook settings and select a language. Then, click the globe icon on Facebook (depending on which version you're using, this is either in the lower-right corner or in the left-hand column). Then, select Turn on inline translating.

You should see UI text strings for Facebook and your app in the other language. Untranslated strings will be underlined in dotted red. Click one of them, and Facebook should open a dialog that prompts you to suggest a translation for the text string.

You and other people can also vote on suggested translations through this same process. The suggested translations and votes are automatically stored, and you can see them in the App Dashboard Translation Admin Panel, which you use to do your own translations and to manage the translation process.

Translation for Open Graph Stories

The App Dashboard provides tools for managing the translation process. To reach the App Dashboard Translation Admin Panel, do the following:

  1. Go to your app in the App Dashboard and select your app.
  2. Under Products in the left-hand menu, click Open Graph.
  3. Click the Translate Open Graph Stories button at the top of the page. Note that this button appears only if your app includes at least one Open Graph story

You should see the translation panel in the Browse Phrases view, which shows a list of all text strings in your app and any translations that have been provided by people using it. It provides a pull-down menu so you can see translated text in any language supported by Facebook and the status of the translation of each string.

You use Browse Phrases view to do the following:

  • Enter translations for any strings.
  • Select a language from the pull-down menu,
  • Click the field to the left of the string to be translated, and
  • Enter the text for the translation. Note that if you can select as many languages as you want to translate strings into.
  • Approve translation. Do this in the Status column. You can also sort the column according to the values indicated in the pull-down menu to see the overall status of the translation for a particular language.

You can also view the number of votes by people using your app for suggested translations of any string.

Now take a look at the progress of the overall translation of your app, showing its percentage completion in every language. Do this by clicking Dashboard in the translation panel.

You'll see the Dashboard view of the translation panel, as shown below.

Use this screen to do the following:

  • Deselect languages that you do not want to target for translation. Do this by removing the check from the box next to the name of the language. By default, boxes for all languages contain a check, because any time you create a new app in the dashboard, Facebook makes it available for translation in all locales/languages.
  • View the progress of the overall translation effort for your app in each language. Note that in the case of the example shown here, no translation has occurred or been approved, so the Translation/Approval fields are all at 0%.
  • Add language managers by designating them to use the App Dashboard Translation Admin Panel. We'll describe this in the next section.

Adding Language Managers

If you get help from translation experts, Facebook lets you designate other people to manage the process through the App Dashboard Translation Admin Panel. Here's how to do this:

In the "Dashboard" view of the translation panel, which we just described, click "Manage" in the "Language Managers" column for the language you want someone else to help you manage. This opens the "Language Managers" dialog for that language. Enter the person's name or Facebook ID and click Save.

The people you designate can use the "Browse Phrases" tab to manage translation just as you would. Click that tab, copy the URL for it and paste it into an email to send to the people you just designated. The people you designate as language managers can add and approve translations in the same way as you.

Note: Language managers will not be able to navigate through the App Dashboard to reach the Browse Phrases tab, and they also won't be able to view the Translations Admin Panel tab. So it's important you send them the URL for the Browse Phrases tab.

Additional resources

For more about Facebook localization tools, see the following: