You are here:
Guidelines for Localizing Files in a Backpack
Your localization team or vendor can localize only certain trail, module, unit, and quiz information in your backpack’s files.
Required Editions
| Available in: Enterprise, Performance, and Unlimited Editions |
| User Roles | |
|---|---|
| This topic supports these enablement site roles: |
|
Localizable Source Language Files
For a trail, your localization vendor can translate only the labels.yml file in the trail backpack’s labels folder, which specifies the trail’s title and description.
For a module, your localization vendor can translate these files in the module backpack:
- The labels.yml file (2) in the module’s labels folder, which specifies the title and description for the module and its units.
- Each unit’s image files (3), if applicable, in the images subfolder.
- Each unit’s content.html (4) file, which contains the unit’s text.
- Each unit’s evaluation.json (5) file, which contains the unit’s quiz data.
- Each unit’s toc.html (6) file, which contains the unit’s list of section headings.
Localized Backpack Structure
Your localization team or vendor adds translated files to the appropriate locations in each backpack. For a trail, your localization vendor adds the localized labels.yml file to a locale-specific subfolder in the trail backpack’s labels folder.
For a module, your localization vendor adds these localized files:
- The localized labels.yml file in a locale-specific subfolder (1) in the module’s labels folder.
- The localized images in a locale-specific subfolder (2) in each unit’s images folder.
- The localized content.html, evaluation.json, and toc.html files in a locale-specific subfolder (3) in each unit’s folder.
Use these locale codes for folder names:
| Language | Folder Name |
|---|---|
| Chinese (Simplified) | zh-CN |
| French | fr-FR |
| German | de-DE |
| Italian | it-IT |
| Japanese | ja-JP |
| Korean | ko-KR |
| Portuguese (Brazil) | pt-BR |
| Spanish (Spain) | es-ES |
| Spanish (LATAM) | es-MX |
Trail labels.yml
Consider this example labels.yml file for a trail.
:trails:
:camp-b-well:
:title: Enhance Employee Wellbeing with Camp B-Well
:description: Learn Salesforce-tested strategies for enhancing the well-being of
your team or company.
:about: Learn Salesforce-tested strategies for enhancing the well-being of your
team or company.Your localization vendor can translate the values of these keys:
| Key (Not Translatable) | Values (Translatable) |
|---|---|
:title:
|
Trail title |
:description:
|
Trail description |
:about:
|
Trail description |
:title: or :description:, aren’t
translatable.Here’s how the example labels.yml file translates to Japanese:
:trails:
:camp-b-well:
:title: Camp B-Well で従業員ウェルビーイングの向上
:description: チームまたは会社のウェルビーイングを強化する Salesforce によるテスト済みの戦略について学びます。
:about: チームまたは会社のウェルビーイングを強化する Salesforce によるテスト済みの戦略について学びます。Module labels.yml
Consider this example labels.yml file for a module.
:modules:
:platform-developer-i-certification-prep-fundamentals-and-database-modeling:
:title: 'Platform Developer I Certification Prep: Salesforce Fundamentals, Database Modeling and Management'
:description: Use scenarios and interactive flashcards to study for the certification exam.
:badge_title: 'Platform Developer I Certification Prep: Fundamentals, Database Modeling and Management'
:units:
:pd1-1-get-started:
:title: Get Started with Platform Developer I Certification Prep
:challenge:
:title: Get Started with Platform Developer I Certification Prep
:description: ''
:pd1-1-review-fundamentals:
:title: Review Salesforce Fundamentals
:challenge:
:title: Review Salesforce Fundamentals
:description: ''
:pd1-1-data-modeling-and-management:
:title: Practice Data Modeling and Management
:challenge:
:title: Practice Data Modeling and Management
:description: ''Your localization vendor can translate the values of these keys:
| Key (Not Translatable) | Values (Translatable) |
|---|---|
:title:
|
Module and unit titles |
:description:
|
Module description |
:badge_title:
|
Badge title |
- The strings for the actual key names, such as
:title:or:description:, aren’t translatable. - Don’t translate the title or description values for a unit’s
:challenge:key.
Here’s how the example labels.yml file translates to Japanese:
:modules:
:platform-developer-i-certification-prep-fundamentals-and-database-modeling:
:title: '認定 Platform デベロッパー資格の受験準備: Salesforce の基本事項、データベースのモデリングと管理'
:description: シナリオと対話型フラッシュカードを使用して、認定試験に向けて学習します。
:badge_title: '認定 Platform デベロッパー資格の受験準備: 基本事項、データベースのモデリングと管理'
:units:
:pd1-1-get-started:
:title: 認定 Platform デベロッパー資格の受験準備をはじめよう
:challenge:
:title: ''
:description: ''
:pd1-1-review-fundamentals:
:title: Salesforce の基本事項の確認
:challenge:
:title: ''
:description: ''
:pd1-1-data-modeling-and-management:
:title: データのモデリングと管理の演習
:challenge:
:title: ''
:description: ''content.html
Consider this example content.html file for a unit.
<h2 class="helpHead2">
<a id="-----------learning-objectives--" class="anchor" href="#-----------learning-objectives--" aria-hidden="true"><span class="octicon octicon-link"></span></a>
<div class="ph">
<a href="topic-title"> </a>
Learning Objectives
</div>
</h2>
<p>After completing this unit, you’ll be able to:</p>
<ul>
<li>Determine the appropriate data model based on specific requirements.</li>
<li>Describe the capabilities of various relationship types.</li>
<li>Describe the use cases for formula fields and roll-up summary fields.</li>
<li>Describe the options and considerations for importing and exporting data into development environments.</li>
</ul>Your localization vendor can translate the values of HTML elements, for example:
- The text shown for a heading, such as
Learning Objectives. - The text shown for paragraphs and list items.
Learning Objectives. Don’t translate the HTML elements,
attributes, or attribute values. For example, don’t translate any part of <h2 class="helpHead2"> or <a
href="topic-title">. Here’s how the example content.html file translates to Japanese:
<h2 class="helpHead2">
<a id="-----------learning-objectives--" class="anchor" href="#-----------learning-objectives--" aria-hidden="true"><span class="octicon octicon-link"></span></a><div class="ph"><a href="topic-title"></a> 学習の目的</div>
</h2>
<p>この単元を完了すると、次のことができるようになります。</p>
<ul>
<li>特定の要件に基づいて適切なデータモデルを判断する。</li>
<li>さまざまなリレーション種別の機能について説明する。</li>
<li>数式項目と積み上げ集計項目の使用事例について説明する。</li>
<li>開発環境のデータをインポートまたはエクスポートする場合のオプションと考慮事項について説明する。</li>
</ul>Images
If a unit contains images, you can also give the source files to the localization vendor to translate any text.
Because localized images are added to a locale-specific subfolder, make sure that your localization vendor updates paths in the localized content.html file to reference the localized image. For example, maybe the source-language content.html file contains this image reference:
<img src="images/data-modeling-badge.png" alt="Data Modeling Badge">In the localized content.html file for Japanese, change this reference
to include the ja-JP locale. Also, be sure to localize the value of the image’s alt attribute.
<img src="images/ja-JP/data-modeling-badge.png" alt="「データモデリング」バッジ">evaluation.json
Consider this example evaluation.json file for a unit.
{
"_id": "trailhead.challenge.pd1-1-data-modeling-and-management.en.us.192",
"color": "",
"deliverable": "trailhead",
"description_html": "",
"icon_url": "",
"langLocale": "en-us",
"level": "trailhead.level.intermediate.en.us.192",
"success_html": "Woo hoo! You've completed the challenge!",
"tag_ids": [
"trailhead.tag.apex.en.us.192",
"trailhead.tag.pages.en.us.192"
],
"tag_points": [
{
"tag_id": "trailhead.tag.apex.en.us.192",
"title": "Apex",
"points": 50
},
{
"tag_id": "trailhead.tag.pages.en.us.192",
"title": "Visualforce",
"points": 50
}
],
"title": "Practice Data Modeling and Management",
"total_mins": 15,
"type": "challenge",
"code_evaluation_json": {
"title": "Practice Data Modeling and Management",
"description": "",
"requirements": [
],
"assessment": [
],
"questions": [
{
"question": " The Data Modeling and Management section makes up what percentage of the Platform Developer I Certification exam?",
"options": [
"5%",
"13%",
"20%",
"40%"
],
"answers": [
1
]
},
{
"question": "The Data Modeling and Management section of the exam covers which key topics?",
"options": [
"Data models, entity relationships, AppExchange, page layouts",
"Importing and exporting data, data models and relationship types",
"Data models, object relationships, schema design and modifications, entity relationships",
"Relationship types, creating accounts, Chatter, data models"
],
"answers": [
1
]
}
]
},
"org": ""
}Your localization vendor can translate the values of these keys in the code_evaluation_json object:
| Key (Not Translatable) | Values (Translatable) |
|---|---|
question
|
Quiz question |
options
|
Quiz options |
title key in the code_evaluation_json object. This key is deprecated. If your
backpacks already specify a localized value for the title
key, you can leave it—the localized value is ignored.- Don’t translate the strings for the actual key names, such as
questionoroptions. - Don’t translate any code outside of the
code_evaluation_jsonobject. For example, don’t translate any part of this definition:"success_html": "Woo hoo! You've completed the challenge!"
Here’s how the example evaluation.json file translates to Japanese:
{
"_id": "trailhead.challenge.pd1-1-data-modeling-and-management.en.us.192",
"color": "",
"deliverable": "trailhead",
"description_html": "",
"icon_url": "",
"langLocale": "en-us",
"level": "trailhead.level.intermediate.en.us.192",
"success_html": "Woo hoo! You've completed the challenge!",
"tag_ids": [
"trailhead.tag.apex.en.us.192",
"trailhead.tag.pages.en.us.192"
],
"tag_points": [
{
"tag_id": "trailhead.tag.apex.en.us.192",
"title": "Apex",
"points": 50
},
{
"tag_id": "trailhead.tag.pages.en.us.192",
"title": "Visualforce",
"points": 50
}
],
"title": "Practice Data Modeling and Management",
"total_mins": 15,
"type": "challenge",
"code_evaluation_json": {
"title": "Practice Data Modeling and Management",
"description": "",
"requirements": [
],
"assessment": [
],
"questions": [
{
"question": " 認定 Platform デベロッパー試験のうち、「データのモデリングと管理」セクションが占める割合は何パーセントですか?",
"options": [
"5%",
"13%",
"20%",
"40%"
],
"answers": [
1
]
},
{
"question": "この試験の「データのモデリングと管理」セクションで取り上げる主なトピックはどれですか?",
"options": [
"データモデル、エンティティリレーション、AppExchange、ページレイアウト",
"データのインポートとエクスポート、データモデルとリレーション種別",
"データモデル、オブジェクトリレーション、スキーマの設計と変更、エンティティリレーション",
"リレーション種別、取引先の作成、Chatter、データモデル"
],
"answers": [
1
]
}
]
},
"org": ""
}toc.html
Consider this example toc.html file for a unit.
<li><a href="#-----------learning-objectives--">Learning Objectives</a></li>
<li><a href="#-----------key-topics--">Key Topics</a></li>
<li><a href="#-----------exam-practice-questions--">Exam Practice Questions</a></li>
<li><a href="#-----------exam-topic-flashcards--">Exam Topic Flashcards</a></li>
<li><a href="#-----------related-badges----">Related Badges</a></li>Your localization vendor can translate the values of <a> elements, such as Learning Objectives
and Key Topics.
Learning Objectives. Don’t translate the HTML elements, attributes, or attribute
values. For example, don’t translate any part of <a
href="#-----------learning-objectives--">. Here’s how the example toc.html file translates to Japanese:
<li><a href="#-----------learning-objectives--">学習の目的</a></li>
<li><a href="#-----------key-topics--">主なトピック</a></li>
<li><a href="#-----------exam-practice-questions--">試験の練習問題</a></li>
<li><a href="#-----------exam-topic-flashcards--">試験のトピックのフラッシュカード</a></li>
<li><a href="#-----------related-badges----">関連バッジ</a></li>Videos and Interactive Content
If a unit contains videos or other interactive content hosted on a server, the localization workflow is a little different.
Instead of adding a locale-specific subfolder in the backpack for the localized files, the localization vendor either:
- Provides a localized version of the content at a different URL than the source-language version. The vendor updates the URL in the localized content.html file to reference the localized content. For example, to reference a localized video instead of the source-language video, update the video’s URL in the localized content.html file.
- Uploads localized subtitles to the same URL as the source-language content. When the user views the content, they can select which language they prefer for subtitles. In this case, no changes are required in the localized content.html file.
