当前位置:网站首页>Localization within Communities
Localization within Communities
2022-07-27 18:11:00 【sf_ wilson】

As of: Summer'19
If you are planning on building a localized Community with multiple languages, there are various areas within the platform that you should be aware of and aware of their impact on translation within your Community. To name a few, translation workbench, custom labels, design properties on components, and knowledge articles are some various areas with their respective considerations for translations. Let’s explore these further in a little more detail.
Lightning Component Localization
When designing lightning components that are to be used in the context of multiple languages, it is important to know the options available, within lightning component development, to create components that support translations and multiple languages. A general rule of thumb is to avoid hard coding values that are language-specific. If a value remains the same across languages, then it would likely be okay to hard-code that value in a component. Otherwise it is best practice to represent this value by a Custom Label or a Design Property Attribute.
When to use a Custom Label vs a Design Property Attribute
Generally, a Custom Label is an entity that can be used across many areas within the platform. It can be used in Visualforce Pages, Lightning Components, Formula fields, etc. Whereas a Design Property Attribute is defined at the lightning component level, and is specific to that component. So when a value that is being represented in a lightning component, is only going to be used by that component, then it can be mapped to a Design Property Attribute of that component. Alternatively, if the same value that is being represented in a lightning component will also be used in other lightning components or other areas of the platform, then it is best mapped to a Custom Label - this will help prevent additional overhead in maintaining the same value and translations multiple times.
How to translate a custom label
From Setup, go to Custom Labels, find the Custom Label you want to translate and click to open the detail page. You should then see a “Translations” section where you create translations for that Custom Label.


How to translate a design Property attribute in community builder
Go to Community Builder for a specific Community, and using the Language toggle menu, select the language you wish to translate a component's Design Property Attribute for. Community Builder will reload for that specific language. Select the component you wish to translate a Design Property Attribute for, and edit the value of the Design Property Attribute for the selected language.

Content Standard Component Localization
Translating Content Standard Components, like the Rich Content Editor component and the HTML Editor component, follow a similar method as outlined for Property Editor translations for Lightning Component Localization in the Lightning Component Design section.
Basically, when in Community Builder, you have to place the component on the page, and then use the language switcher to switch to the language you want to translate for. Then click on the needed component and modify the content for the selected language.


Translation Workbench
The Translation Workbench is another tool or area in Salesforce Setup that may affect the translation of certain elements within the Community. For example, the navigation menu is translated within the Translation Workbench. Note: Ensure that the language you are translating for is active in “Translation Settings”


Rename Tabs and Labels
The “Rename Tabs and Labels” section in Salesforce Setup also controls some translations within the community, for items such as page layouts, fields, object names etc.


Knowledge Articles
Translating knowledge articles in classic can be done from article management, and in Lightning from an article's detail page. Focusing on Lightning, you have to ensure that the “Submit for Translation” lightning action is placed on the page layout for the article object. Also, you have to configure the languages in knowledge settings from the Setup area.

Once languages have been configured, and the “Submit for Translation” button added to the page layout of the article object, navigate to an article detail page. Click on the “Submit for Translation” button and check the language you wish to translate the article for. Optionally, select an Assignee and a deadline date then click “Submit”.

Once submitted, under the “View Translations” section you will see drafts of the languages you selected to translate the article for.

Navigate to one of the drafts so you can edit and translate the article for that specific language then publish once done.

Translating Chatter Posts in Communities
Chatter Post translations within Communities is now possible, thanks to the general availability of the supported Google Translate API integration. This integration works with Google Translate API and will require an API key from the Google Translate API Service.

This feature provides inline translation of chatter posts within the Community as shown below.


Deploying Translations
Deploying translations between orgs may differ depending on the translation mechanism or tool being considered. In some cases you may have to leverage the Export/Import option, such as what's available in the Translation Workbench or the Languages section in Community Builder Settings for example. Whereas in other cases you may be able to deploy translations via Change Sets or ANT. Between those two options it should cover most if not all translation deployments, but it's usually good practice to document the translations for an app or community in a location that can be reached, updated and referenced if need be -This way if manual updates to the translations in target orgs are needed, the system administrator can easily find the correct translations.
Another recommendation along the same lines is to re-evaluate a multiple-communities decision, taken in the past, with each release, as there may be new features that roll out with future releases that may allow you to consolidate multiple communities and regain the cost of maintaining multiple communities.
Additional Resources:
边栏推荐
- golang chan实现互斥锁
- Learn from things | Yidun mobile terminal isomorphism practice, improve the official website interaction experience in a few steps
- Oracle 11g database installation tutorial
- 【Codeforces】 B. Make it Divisible by 25
- Likeshop takeout ordering system "100% open source without encryption"
- How to solve the error of ora-00955 when Oracle modifies the primary key
- VSS tip: search all checked out files (search checked out files according to users)
- MySQL creates a student table and queries grades
- org.gradle.api.UncheckedIOException: Could not load properties for module ‘gradle-kotlin-dsl‘ from C
- jpa连接数据库password字段BLOB
猜你喜欢

Behind every piece of information you collect, you can't live without TA
What are the safety risks of small games?

Telecommuting can be easily realized in only three steps

工信部再治数据安全,网易易盾“隐私合规”守住企业经营底线
![[Southwest University] information sharing of postgraduate entrance examination and re examination](/img/15/298ea6f7367741e1e085007c498e51.jpg)
[Southwest University] information sharing of postgraduate entrance examination and re examination

【Codeforces】 A. Computer Game

2022 high altitude installation, maintenance and removal of test question simulation test platform operation

Are those who are absent from the written examination shortlisted for the teacher recruitment interview? Henan Xiangfu: the statistics of individual candidates' scores are wrong

Knowing things by learning | app slimming down, the way of safety reinforcement under the new generation AAB framework

TCP connection status identification (syn, fin, ACK, PSH, RST, urg)
随机推荐
[introduction to database system (Wang Shan)] Chapter 4 - Database Security
类的六大关系——依赖和关联的区别
org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous err
Code compliance: five reasons why developers use helix QAC
mysql解决唯一索引重复导致的插入失败问题
防止sql注入
js实现页面或DOM元素平滑滚动
美团二面:为什么Redis会有哨兵?
Anaconda uninstall again
细数国产接口协作平台的六把武器!
知物由学 | SO加固如何提升Android应用的安全性?
Wechat applet realizes location map display and introduces map map without navigation
Kubernetes 1.24 high availability cluster binary deployment
收藏!0 基础开源数据可视化平台 FlyFish 大屏开发指南
7月第4周易盾业务风控关注 | 最高法对APP强索个人信息进行规制
What's the use of games| Game application value research case collection
hutool- 数组工具
Using the vlookup method in salesforce validation rule
ts学习笔记-class
How to restrict root remote login so that ordinary users have root privileges