Multi Language Support

  • 1
  • Question
  • Updated 4 years ago
  • Answered
Is there a way (or a plan) to support multiple languages in skuid?
Our app has gained significant momentum, and looming is the requirement to support languages other than english. This would mean tabs and table labels etc being translated. Is this possible?
Photo of Ant Belsham

Ant Belsham

  • 1,022 Points 1k badge 2x thumb

Posted 5 years ago

  • 1
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
Skuid extends the excellent support that Salesforce offers for multi-lingual capability.   This is a really impressive, but infrequently discussed, feature of the platform.  An introduction to these capabilies is found here:  http://help.skuidify.com/s/tutorials/m/supercharge-your-ui/l/102513-using-custom-labels-and-translat...
Photo of Zach McElrath

Zach McElrath, Employee

  • 49,056 Points 20k badge 2x thumb
The Skuid runtime already supports multiple languages and locales by building on top of Salesforce's multi-language and multi-language support.

For instance, say you add a Custom Field to an object in salesforce, called "Age__c". In English it's label is "Age", and you might have some Inline Help Text as well such as "Calculated from the Birthdate field". Then you can use Salesforce's Translation Workbench to translate the Field's Label and Inline Help Text into different languages. So you go add a Translation for Spanish, for example. The Field Label is "Edad". Then, if any of your users in your org changes their User Language to "Spanish", then when they go a Skuid Page that includes the Age__c field, its label will be "Edad". Likewise for the Inline Help Text.

The same applies for Object Labels, e.g. if you add a custom object called "Favorite_Food__c", and reference "{{Model.label}}" in a Skuid Template component, then Skuid will output any translations it can find for the Custom Object's label that you have added. If there is no translation, then it will default to the original label for the object.

As far as Tab labels, etc., these can typically be made multi-lingual through the use of Custom Labels, as Rob mentions. YOu can use the {{$Label.LabelName}} to display translated text for the labels of Tabs, Sections in a Field Editor, pretty much anywhere.
Photo of Ant Belsham

Ant Belsham

  • 1,022 Points 1k badge 2x thumb
Nice! This opens up some very interesting options for us in our roadmap ahead. I had missed the point that you could use labels in tabs. Very useful. Thanks for another quick response.
Photo of ragava Reddy

ragava Reddy

  • 102 Points 100 badge 2x thumb
How can i Convert  Multiple Labels from one language to another languageon a "CONVERT" button click.



Thanks,
RagavaReddy.D
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
Salesforce translation display is driven off the LanguageLocaleKey value in the user object.  So I'm guessing that if your button changed the picklist value in the user object of the currently active user,  the translation would change. 

Now, I haven't tried that and can't guarantee that Saleforce doesn't have some restrictions or dependencies on that field...  But that is where you could start. 

PS - you should be able to use a button of type "Run Multiple Actions" to produce this effect.  --NO CODE!--   The actions might be "Update field in row"  on a CurrentUser model and "Save Model" on that same CurrentUser model. 

PPS - you could also use conditional rendering to show a set of buttons based on the current value of the LanguageLocaleKey field.  If it is currently "English" show "Translate to Spanish" button.  If it is currently "Spanish" show - "Que chevere, quedate aqui!" button.