Outseta's sign-up, login, and profile embeds can be translated into another language. You can also use translation to make minor edits to the copy used by default in the embeds.

We currently have automatic translations in place for the languages listed below. These translations will show to users based on the primary language set in their internet browser settings:

  1. Arabic - ar
  2. Chinese - zh
  3. Croatian - hr
  4. Czech - cs
  5. Danish - da
  6. Dutch - nl
  7. English - en
  8. French - fr
  9. German - de
  10. Hungarian - hu
  11. Italian - it
  12. Japanese - ja
  13. Norwegian (Bokmål) - nb
  14. Polish - pl
  15. Portuguese - pt
  16. Romanian - ro
  17. Russian - ru
  18. Spanish - es
  19. Spanish (Spain) - es-ES
  20. Swedish - sv
  21. Turkish - tr

If you have a correction or suggestion for any translation, please email us at support(at)outseta.com.

Force specific language

If you do not want the language of your embeds to match the primary language set in their internet browser settings, you may force a specific language by using the translationLang property.

Add it below your domain and set it to the language code of your chosen language, see the list above for the language code.

<script>
var o_options = {
domain: 'your-domain.outseta.com',
translationLang: 'en', // Forces english
// Keep other options that might be there.
};
</script>

Changing copy used within the embeds

You can also use translations to make small changes to the copy used within the embeds—say, for example, you want to use the word "Checkout" instead of "Sign Up."

If you want to change some copy used within the embeds, you can do so by making small edits to the Outseta code in the header of your site.

Developers: This involves editing the translations property in Outseta's configuration object.

For example, to change the text "Thank you" to "Thank you very much", you would make the following edit the the code in the header of your site.

<script>
var o_options = {
domain: 'your-domain.outseta.com',
translations: {
en: {
Labels: {
ThankYou: 'Thank you very much'
}
}
}
};
</script>

The structure of the translations object should be:

  • [language code] (e.g. en, de, fr, etc.)
    • [Resource Category] (e.g. Labels, Errors, Plans, etc.)
      • [Resource Key]

Most of the strings you will want to replace will be in the Labels Resource Category. To find the Resource Category and/or Resource Key of the string you want to change, you should look at the main translation file.

This file contains all of the language used by default within the embeds: 

https://cdn.outseta.com/en.json

Translating the embeds into a new language

We host translation files that will display the embeds to the end user in their language (if available, falling back to English). 

The steps to add a new language are as follows: 

  1. Download the English file at: https://cdn.outseta.com/en.json.
  2. Translate the values into your own language and save the file with the appropriate language codes (e.g. fi.json).
  3. Make the translated JSON files available on the internet.
    • If you are adding a new language and are willing to contribute your translation to the community, please email your file to us at support(at)outseta.com.
    • If you want to self-host your file, you will need to host the files so that they are served with CORS headers that allow access from the domain that you will be accessing them from. If you upload the file to Dropbox, use the dl.dropboxusercontent.com domain to link to it.
  4. Update your Outseta options object (this is located within Outseta's Quick Start embed script on the AUTH > EMBEDS page) to add a translationsUrlPattern property with a value of https://yourwebsite.com/path/to/file.{lang}.json. An example configuration will look like:
<script>
  var o_options = {
    domain: '[your-subdomain].outseta.com',
translationsUrlPattern: 'https://dl.dropbox.com/s/btkd543e2qq2fue/outseta.{lang}.json'
  };
</script>
<script src="https://cdn.outseta.com/outseta.min.js"
        data-options="o_options">
</script>

Note that you need to keep a literal {lang} in the attribute value. The widgets will replace the {lang} token with the browser's language code at runtime to attempt to lookup a translation file. If a translation file cannot be found, the default English translations will be used. 

Translating your data

Besides the standard strings present in the embeds, you can use the following conventions to translate your data.

Plans

You can translate plans by using the plan's Uid as follows (the plan description can contain HTML):

{
"Plans": {
"[Uid]": {
"Name": "Your plan name",
"Description": "Your plan description can contain <strong>markup</strong>.",
"UnitOfMeasure": "seat",
"UnitOfMeasurePlural": "seats"
}
}
}

Add-ons

You can translate add-ons by using the add-on's Uid as follows:

{
"AddOns": {
"[Uid]": {
"Name": "Your add-on name",
"UnitOfMeasure": "call",
"UnitOfMeasurePlural": "calls"
}
}
}

Countries

You can translate country names by using a [CountryName] key that is the existing country name stripped of non-alphanumeric characters (e.g. spaces, parenthesis, apostrophes, etc.). Some examples:

{
"Countries: {
"CoteDIvoire": "Cote d'Ivoire",
"KoreaRepublicOf": "Korea (Republic of)",
"UnitedKingdomOfGreatBritainAndNorthernIreland": "United Kingdom"
}
}

Discounts

You can translate discount terms by using the discount's Uid as follows:

{
"Discounts: {
"[Uid]": {
"Terms": "25% off for 3 months"
}
}
}

Field Groups

You can translate field group names and their associated "Change [FieldGroupName]" links in the profile widget by using the [FieldGroupName] key as follows:

{
"FieldGroups": {
"CompanyInformation": "Company Information",
"Change_CompanyInformation": "Change company information"
}
}

Custom properties

You can translate custom property names by using the [EntityType]_[SystemName] key as follows:

{
"Properties": {
"Person_Nickname": "Nickname"
}
}

You can translate select, option, and checkbox choices names by using the [EntityType]_[SystemName]_[OptionText] key as follows:

{
"Properties": {
"Account_Industry": "Industry",
"Account_Industry_Manufacturing": "Manufacturing",
"Account_Industry_ProfessionalServices": "Professional services"
}
}

Terms and conditions

You can translate your terms and conditions as follows (this can contain HTML):

{
"Labels": {
"TermsAndConditions": "I agree to the <a href='...'>terms and conditions</a>"
}
}

If you need any help with translations, please email us at support(at)outseta.com.