---
version: "latest"
language: "en"
---
# Scroll Content Quality Documentation

## Scroll Content Quality Documentation

### Release notes

*

  #### [Scroll Content Quality 2024-04-23](https://help.k15t.com/scroll-content-quality/latest/scroll-content-quality-2024-04-23.md)

  April 23, 2024
*

  #### [From Beta to Beyond: Introducing Scroll Content Quality GA with Transition To Paid Model](https://help.k15t.com/scroll-content-quality/latest/from-beta-to-beyond-introducing-scroll-content-qua.md)

  April 23, 2024

### Featured

*

  #### [Get Started](https://help.k15t.com/scroll-content-quality/latest/get-started-new.md)

  Learn how to activate Scroll Content Quality in a space, view and enable rulesets, and enable your team to find and fix quality issues in their Confluence content.

### Topics

*

  #### [Configure Rulesets](https://help.k15t.com/scroll-content-quality/latest/configure-rulesets-new.md)

  * [Text Capitalization](https://help.k15t.com/scroll-content-quality/latest/text-capitalization-1.md)
  * [Text Replacement](https://help.k15t.com/scroll-content-quality/latest/text-replacement-1.md)
  * [Broken External Links](https://help.k15t.com/scroll-content-quality/latest/broken-external-links.md)
  * [Image Alt Text](https://help.k15t.com/scroll-content-quality/latest/image-alt-text-1.md)
  * [Allow/Block Macros](https://help.k15t.com/scroll-content-quality/latest/allow-block-macros.md)
  * [2 more pages](https://help.k15t.com/scroll-content-quality/latest/configure-rulesets-new.md)
*

  #### [Release Notes](https://help.k15t.com/scroll-content-quality/latest/release-notes.md)

  * [Scroll Content Quality 2024-04-23](https://help.k15t.com/scroll-content-quality/latest/scroll-content-quality-2024-04-23.md)
  * [From Beta to Beyond: Introducing Scroll Content Quality GA with Transition To Paid Model](https://help.k15t.com/scroll-content-quality/latest/from-beta-to-beyond-introducing-scroll-content-qua.md)

---
version: "latest"
language: "en"
---
# Advanced Edit Mode

While viewing any rule, use the **\</\>** button to switch into Advanced Edit Mode. Instead of the UI, you'll see a text editor that displays the settings of your rule using the YAML syntax. YAML stands for "*YAML* Ain't Markup Language" and is a convenient way to represent data in a machine-readable, yet human-friendly way. This representation of your rule is fully editable, and any changes you make in this mode will be reflected when switching back to the standard view.

![Screenshot showing the Documentation Style Checker ruleset settings screen. A text capitalization rule enforcing sentence case for H3-H6 elements is displayed in YAML format and the Advanced Edit Mode button is highlighted blue to show it is switched on.](https://help.k15t.com/__attachments/a_e816e68bf8853c9322ccd676e67e2ba23d38a8df453d26e12f21beec58ede691/AdvancedEditMode.png?cb=5a0cd3dc5b79dab2bd4cca0ab7710474)
The settings for a rule displayed in YAML format in Advanced Edit Mode

To view the YAML for an entire ruleset, click the **\</\>** button while viewing the ruleset's settings. This complete YAML version of the ruleset is also editable. You can use this text to easily copy and paste rulesets between activated spaces and rules between rulesets. Users may also find it more convenient to use this format when working with certain rule types, for instance when adding large numbers of term pairs to a text replacement rule. These use cases are outlined in more detail below.  
**New to YAML?**

We recommend reading this article before getting started, see [YAML Tutorial: Everything You Need to Get Started in Minutes](https://www.cloudbees.com/blog/yaml-tutorial-everything-you-need-get-started/).

## Copy a ruleset to another space

* It's easy to make a copy of an existing ruleset within a space, but to move rulesets between spaces, you'll need to use the Advanced Edit Mode. While viewing the settings page for your ruleset, press **\</\>**and copy the displayed YAML. In the new space, create a new ruleset and enter Advanced Edit Mode from the Setting menu. Delete all the YAML in the editor and paste the content of your original ruleset. Remember this ruleset will have the exact same name as the original, so you may need to customize it for the destination space.

## Copy one or more rule(s) from one ruleset to another

* To quickly add a rule to an existing ruleset, press**\</\>** to enter Advanced Edit Mode while viewing the rule details and copy the YAML. Then, navigate to the settings page of the destination ruleset. Here, enter Advanced Edit Mode again. Paste the YAML at the bottom of the editor. Press **\</\>** again, and you will see the new rule appear as part of the ruleset. Press save to complete the action.

## Bulk add text replacement terms

* When working with text replacement, you might already have a list of terms. Rather than entering or copy/pasting each term pair separately, you can use Advanced Edit Mode to make this easier. In order to do so, you must first get your term list into the correct format.

* There are many possible ways to manipulate your data, but one simple way is by using a spreadsheet. Microsoft Excel, Google Sheets, and Apple Numbers offer the ability to take text from two columns and join it together with a user-defined separator using the TEXTJOIN() formula. In the example below, we've placed the term pairs in Columns A and B, and used `=TEXTJOIN(": ",,A1,B1)`to output the correct syntax to Column C.

![Screenshot from Google Sheets showing term pairs in columns A and B. The TEXTJOIN formula is used to output the correct format into Column C.](https://help.k15t.com/__attachments/a_1d2f2203b3725842aa2599453afc12354878186fa8a655607418ce5faa7cacd6/Screenshot%202024-04-22%20at%2018.14.08.png?cb=64473388f2511a1c98b7ca228d4b9e46)
Using TEXTJOIN in Google Sheets

* After getting your data into the right format, open **\</\>** and paste the formatted list into the editor below the existing term pairs. Voila!

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Allow/Block Macros

|              **Description**               |                                                                                                          Control which macros can be used on a page by adding them to either a blocklist or an allowlist.                                                                                                           |
|                                                                                                                                                                   **Configuration options:**                                                                                                                                                                    ||
|--------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Allowlist (with optional parameter values) | Use the picker to choose macros that are allowed to be used. Every macro not chosen will be marked as a quality issue in the report. You can narrow the focus of this rule to macros using a specific configuration by specifying parameters and search for specific values. For instance, if you would prefer that |
| Blocklist (with optional parameter values) | Use the picker to choose macros that should not be used. Each use of the macros in the list will be marked as a quality issue in the report. You can narrow the focus of this rule by specifying parameters and values as outlined above.                                                                           |

## Advanced Mode Example Settings

YAML

    # Warn users not to include certain macros in their documents

    rule: macros
    level: major
    disabled: false
    blocked:
      - element: iframe
        parameters: {}
    description: We do not allow the use of iframes in this space, please remove.

    # Warn users not to use specific configurations within a macro

    rule: macros
    level: major
    disabled: false
    blocked:
      - element: code
        parameters:
          language:
            - json
    description: Don't use JSON code blocks; use YAML instead.

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Allow/Block Page Elements

|              **Description**               |                                                                                                                                     Control which page elements can be used on a page by adding them to either a blocklist or an allowlist.                                                                                                                                     |
|                                                                                                                                                                                                 **Configuration options:**                                                                                                                                                                                                  ||
| Required (with optional parameter values)  | Use the picker to choose elements that must be present on pages. If a page does not use these elements, a quality issue will appear in the report. All elements added to this list will also automatically be added to the allowlist. You can narrow the focus of this rule to elements using a specific configuration by specifying parameters and search for specific values. |
|--------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Allowlist (with optional parameter values) | Use the picker to choose the elements that are allowed to be used. Every macro not chosen will be marked as a quality issue in the report. You can narrow the focus of this rule to elements using a specific configuration by specifying parameters and search for specific values. For instance, if you would prefer that                                                     |
| Blocklist (with optional parameter values) | Use the picker to choose macros that should not be used. Each use of the macros in the list will be marked as a quality issue in the report. You can narrow the focus of this rule to elements using a specific configuration by specifying parameters and search for specific values.                                                                                          |

## Advanced Mode Example Settings

YAML

    # Require every page to have an Excerpt element

    rule: elements
    level: major
    disabled: false
    checkMacros: true
    checkElements: true
    required:
      - element: excerpt
        parameters: {}
    description: We require every in this space to have an Excerpt element, please add one.

    # Warn users not to use specific configurations within a page element

    rule: elements
    level: major
    disabled: false
    checkMacros: true
    checkElements: true
    blocked:
      - element: contributors
        parameters:
          mode:
            - list
    description: Don't display contributors as a list, always use inline.

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Broken External Links

| **Description** | Check if external websites that are linked on a page are still online and reachable. Will also report on any link that is using the HTTP protocol instead of the more secure HTTPS. |
|                                                                                   **Configuration options**: None                                                                                    ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

## Advanced Mode Example

YAML

    # Check outgoing link targets and report potentially dead or insecure links.

    rule: external-links
    level: major
    disabled: false
    description: Make sure external links resolve correctly. This one seems to be broken!

    # This rule requires no configuration.

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Bundled Rulesets

Scroll Content Quality ships with pre-built rulesets so you can get up and running quickly. Based on customer feedback and our long experience using Confluence for documentation, our bundled rulesets allow for helpful functionality from checking for broken links to making suggestions for how to use more inclusive language and avoid business jargon.

Our *Documentation Style Checker* also provides rules to help ensure clear, concise, and uniformly-styled documentation and is inspired by our K15t internal style guide. Of course, the way we do things may not be the right fit for you, so it's super easy to make a copy of the bundled rulesets and customize them to your heart's content!

Finally, we also offer rulesets specifically tailored to users of [Scroll Viewport](https://marketplace.atlassian.com/apps/1211636/scroll-viewport-for-confluence?tab=overview&hosting=cloud) and our Scroll Exporter apps ([Scroll PDF Exporter](https://marketplace.atlassian.com/apps/7019/scroll-pdf-exporter-for-confluence?hosting=cloud&tab=overview), [Scroll Word Exporter](https://marketplace.atlassian.com/apps/24982/scroll-word-exporter-for-confluence?hosting=cloud&tab=overview), and [Scroll HTML Exporter](https://marketplace.atlassian.com/apps/420604/scroll-html-exporter-for-confluence?hosting=cloud&tab=overview)). These rulesets give advice about best practices and make sure content contributors have properly configured macros and page elements so everything works together smoothly.

![BundledRulesets.png](https://help.k15t.com/__attachments/a_0bbcfad3002176e948dbf9851f4616a9ebc93f411f7fc3738fc2fb54995cd00b/BundledRulesets.png?cb=8f771f603f462ed643ca161621a03018)

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Configure Rulesets

Scroll Content Quality enables you to create custom rules for maintaining content quality standards across different use cases. For each [activated space](https://help.k15t.com/scroll-content-quality/latest/get-started-new.md), you can enable rulesets. This article will give you an overview of how these rulesets work and how you can customize them.

## Ruleset Editor

In an activated space, select **Scroll Content Quality** in your sidebar. In the *My Rulesets* tab that displays, either select from an existing ruleset by clicking on the tile on the bottom part of the screen, or press the **New ruleset** button.

## Ruleset Settings

For each ruleset, you will need to provide a name and a description.

![CustomRulesetSettings.png](https://help.k15t.com/__attachments/a_b2d51fd7cec0d96b6660f9342a7a07623f4772a87edf59a4a6cbed49e6dcebb5/CustomRulesetSettings.png?cb=5b0a31830b74e1df4071753742037aa6)

Click **New Rule** and select a rule type to add it to your ruleset. The rule settings will then display on the right-hand side of the screen so you can start configuration.

## Rule Settings

Every rule has a standard set of settings (numbers 1 through 4 below), along with rule-specific configuration options.

![RuleSettings.png](https://help.k15t.com/__attachments/a_ee7eab27fb401ec79db439f550cae0ff285b5533700d15326c99d7a8257227d3/RuleSettings.png?cb=ac530cd0feacdce366339bd759f0a017)

### 1: Rule type

Specifies the core function of your rule. Each rule type has a unique name and icon type. You can create multiple rules of the same rule type in a single ruleset. At the moment, Scroll Content Quality supports these rule types:  

| **Rule Category**  |       **Rule Type**       |                         **Description**                          |
|--------------------|---------------------------|------------------------------------------------------------------|
| **Text**           | Text Capitalization       | Set rules for how text should be capitalized in your content.    |
|                    | Text Replacement          | Locate specific words and suggest alternatives.                  |
| **Links**          | Broken External Links     | Verify that external links in your content are still accessible. |
| **Images**         | Image Alt Text            | Ensure all images have descriptive text for accessibility.       |
| **Macros**         | Allow/Block Macros        | Control which macros are allowed or restricted on your pages.    |
| **Page Structure** | Allow/Block Page Elements | Manage which elements can or can't be used on your pages.        |
|                    | Heading Level Sequence    | Ensure correct sequence of heading levels.                       |

### 2: Instruction

Defines the overall intention of the rule in a few words.  
The rule instruction is used as the title for each problem in your page report. Try to be as concise and clear as possible so your teammates are able understand the problem at first glance.

### 3: Severity

This setting marks the level of severity and how quality issues of this rule should be handled. There are three levels that can be set for each rule:

![image-20240403-075937.png](https://help.k15t.com/__attachments/a_0a66bc48ec9a59adf9648e27c71f7143762a2245d13b4210ba7995b6721fa653/image-20240403-075937.png?cb=9d3063464d3fd06937d0200a499c13ad) **Error:**A critical or technical quality issue. Fix is required. For example: the page contains a macro configured in such a way that it will not display properly for all users.

![warning](https://help.k15t.com/__attachments/a_4e9a4cd0b4554df92bf1a9cb3b300029832bca453bc3b0d1d8bfb4d6c9d72993/atlassian-warning?cb=14432459925d605e05cae2605cdfe666) **Warning:** Thequality issuewill most likely have a negative impact on the page's content quality. Fix is highly recommended. For example: the page uses heading levels inconsistently, which violates your internal style guide and doesn't look very nice.

![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) **Suggestion:** Thequality issue is context-dependent and may not fall into simply "right" or "wrong". Fix is optional. For example: the page contains language that may be exclusionary or insensitive, depending on the context.

### 4: Scope

By default this field is left empty and your rule will apply to every page in your space. You can limit the scope of an individual rule so that it only applies to pages with certain labels. Start typing the label name into the box to see a list of possible matches.  
* If you add more than one label to this box, only pages with ALL of the selected labels will be checked by this rule

* Only labels that already exist in the space will show up as suggestions. If you need to create a new label, you can do so according [to these directions from Atlassian](https://support.atlassian.com/confluence-cloud/docs/use-labels-to-organize-your-content/).

### 5: Configuration options

The configuration options depend on the rule type. Some rule types you can only turn on and off, while others can be **scoped** and **configured**for multiple use cases. For example, the "Broken External Links" rule is a simple on/off, whereas the "Text Replacement" rule has options for case-sensitive search, exact word match, choosing which page elements the rule applies to, and the list of search terms and their more appropriate replacements. You can learn how to configure each rule type along with some examples and tips in the rule-specific pages below:  
* [Text Capitalization](https://help.k15t.com/scroll-content-quality/latest/text-capitalization-1.md)
* [Text Replacement](https://help.k15t.com/scroll-content-quality/latest/text-replacement-1.md)
* [Broken External Links](https://help.k15t.com/scroll-content-quality/latest/broken-external-links.md)
* [Image Alt Text](https://help.k15t.com/scroll-content-quality/latest/image-alt-text-1.md)
* [Allow/Block Macros](https://help.k15t.com/scroll-content-quality/latest/allow-block-macros.md)
* [Allow/Block Page Elements](https://help.k15t.com/scroll-content-quality/latest/allow-block-page-elements.md)
* [Heading Level Sequence](https://help.k15t.com/scroll-content-quality/latest/heading-level-sequence.md)

## Save Settings

Click **Save** to apply the changes to your ruleset. Be aware that each page needs to be checked again after doing so.

## Advanced Editing Mode

While viewing any rule, use the **\</\>** button to switch into Advanced Editing Mode. Instead of the UI, you'll see a text editor that displays the settings of your rule using YAML syntax. Any changes you make in this mode will be reflected when switching back to the standard view. You can read more about how to use Advanced Editing Mode in [our full article](https://help.k15t.com/scroll-content-quality/latest/advanced-edit-mode.md) .

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# From Beta to Beyond: Introducing Scroll Content Quality GA with Transition To Paid Model

As we journey from the Beta phase of Scroll Content Quality for Confluence towards its General Availability (GA), we're also transitioning from a free model to a paid one. This step marks a significant milestone in our commitment to delivering a tool that not only meets, but exceeds the content quality management needs of teams using Confluence.

## What's New in GA

The GA launch of Scroll Content Quality is set to introduce an array of new features and improvements:

* **Revamped User Experience**: We're rolling out a new WYSIWYG UI that simplifies the configuration of quality rules, making it more intuitive than ever.

* **Rule-Sets**: The ability to logically bundle rules for different use cases will enhance the flexibility and applicability of Scroll Content Quality across your content.

* **Enhanced Reporting**: With improved reporting capabilities, you'll gain deeper insights into your content's quality and compliance with your defined standards.

* **And More**: We're packing Scroll Content Quality with several other features to help you enforce terminology, maintain formatting, and control macro usage more effectively.

## Why We're Transitioning

The decision to transition Scroll Content Quality to a paid model as we enter GA stems from our belief that great tools require investment to grow. The move will support further development, introduce enhanced features, and ensure we maintain the high-quality service you've come to expect from K15t. This includes significant investments in cloud security, like participation in the Bug Bounty program, and adherence to the reliability, security, and support requirements of the Cloud Fortified Apps program.

## Timeline and Preparation

The transition to a paid model will coincide with the **GA launch of Scroll Content Quality at the end of April 2024** . We encourage you to [reach out with any questions or feedback](https://support.k15t.com/feature-improvement?customfield_14104=11153&customfield_14669=11156&description=Add+your+questions+here-&summary=Scroll+Content+Quality+GA+and+Price+Change) as we approach this exciting new chapter.

Your support has been instrumental in shaping Scroll Content Quality, and we're eager to continue this journey with you, enhancing and refining the tool to meet your evolving content quality needs in Confluence.

Last updated: April 16, 2026

---
version: "latest"
language: "en"
---
# Get Started

![SCQ_scroll-content-quality-logo@4x.png](https://help.k15t.com/__attachments/a_0892d65a667ee81aac5833a325ed6df405be370bfa16d9de8bcc1299a36ff7a4/SCQ_scroll-content-quality-logo@4x.png?cb=ffb0cc7d33300af7bfcb755497d74762)

We're delighted that you've chosen to get started with **Scroll Content Quality** for Confluence Cloud. In this guide, you'll learn how to get Scroll Content Quality up and running quickly, so you can find and correct your first quality issues. You'll learn how to:

1. **Allow access**--- Give Scroll Content Quality access to view and edit your space.

2. **Activate Scroll Content Quality**--- Enable Scroll Content Quality in one of your Confluence spaces.

3. **Enable a ruleset** --- Get to know our pre-bundled set of rules and start using them.

4. **Check page content** --- Check written page content for quality issues right after publishing.

5. **Read report and fix issues**--- Get a closer look at quality issues the app identifies and fix them right away in your editor.

6. **Check your whole space**--- Get an overview of the whole space and see which pages need the most attention.

## 1: Allow access

Activating Scroll Content Quality in one of your Confluence spaces is possible in a matter of seconds. To start, navigate to the space in which you want to enable a quality check and choose *Scroll Content Quality* in your sidebar.

When doing so for the first time, Confluence will ask you to give Scroll Quality Content access to your Atlassian account. Click **Allow Access** and **Accept** the permissions in the newly opened *Authorize app* browser window.

## 2: Enable Scroll Content Quality in a Space

After allowing access, click **Enable Scroll Content Quality** to use Scroll Content Quality in your Space.  
![ActivateSCQ.png](https://help.k15t.com/__attachments/a_ef26e0953aaf144d6ec133bbf7a53f9840b570db4da7f9407ccfffb0babe2308/ActivateSCQ.png?cb=f99ef60e0b97b1c92e5d23bb5d47cfee)  
**Space admin permissions** are required to enable Scroll Content Quality in your space.

Once activated, a check function in the form of a byline icon will be usable on every page in your space. Any user with permission to view the page can also view this check and access the full report.

## 3: Explore and Enable Rulesets

After activating Scroll Content Quality and allowing access, you'll need to set up some rules to determine which quality issues you want to check for. **Quality issues** can be thought of as anything that "breaks the rules", or more precisely: anything that doesn't align with the set of conditions defined in the rule settings. There are several different types of rules, depending on whether you're looking at the text of a page or other elements such as headings, links, and macros.

Rules are grouped into rulesets, and at least one ruleset must be enabled in order for you to check your space. Click *My Rulesets* , to view the ruleset list. To get you started, the app offers [Bundled Rulesets](https://help.k15t.com/scroll-content-quality/latest/bundled-rulesets.md) for different aspects of content quality in technical documentation. Click a ruleset name to see which rules it contains. In the ruleset details screen, you'll see a list of rules to the left. Click on a rule to see all the available settings.

![BundledRulesetRuleDetails.png](https://help.k15t.com/__attachments/a_9452f42894d48e6a7585ba382b71401d59323b72f8011c1c94784915d9902b95/BundledRulesetRuleDetails.png?cb=39736922708b41dd8edb576dfbb0bca0)

The above rule, for example, reminds authors to use US English spelling instead of UK spelling. You'll notice you can set the severity level, add custom instructions, and fine tune the scope of the rule. Since this is a "Text Replacement" type rule, there are also spaces to enter in your search terms and the text it should be replaced with.

At this stage you won't be able to change the settings of any rule in the bundled ruleset, but you can create a copy of it to customize the rules later. For now, notice that the enable slider (next to the ruleset name) is toggled to "on", so we're ready to see Scroll Content Quality in action.

## 4: Check Written Content

In any space where Scroll Content Quality is enabled, navigate to a page and you'll notice a content byline item under the page title that enables you to check your written content.

### Byline item states

This byline item shows two different states:

1. **Passive**

   ![Check page status](https://help.k15t.com/__attachments/a_e1d1109404a2e0eb0bedb53e6b3d9cfcd28dc1676c2fcf733003f3e44a2e15a3/Screenshot%202021-03-31%20at%2014.26.40.png?cb=ab349e6e5a7a1bb78051fb40d386d632)

   If the page has not been published since activation of the app (or since a rule change has been saved) the byline item will read "Page not yet checked". Click the byline icon followed by **Check page**to switch to the active state. Doing so will also open the page report in a new dialog.
2. **Active**

   ![BylineReport.png](https://help.k15t.com/__attachments/a_78658a02236172e0d78732399392c40ad092fb242602e5aaa6bbbf876f1c0e6f/BylineReport.png?cb=85723125748ac55ea52b69e6ca2fc928)

   After publishing a page or manually activating the check by using the byline item, the number of identified quality issues will be stated on the page. The icon that appears next to the issue count is defined by the the highest level of severity for all quality issues on the page. For more details and to check issue severity, click on the byline item to open the page report in a new dialog.

## 5: Read a Page Report and Fix Issues

The page report offers more detail about the quality issues found by the Scroll Content Quality check. Together with the page editor, this dialog can be used to find and fix all quality issues on the page.

![PageReport.png](https://help.k15t.com/__attachments/a_1b08c9bf801f790d7a356a0e8cf36c44291fe345c2135a0e7a9e8be068ab790a/PageReport.png?cb=41a34610d3d909768e7dfdbdeb2af2d7)

For an optimal workflow, open the page editor in a new tab next to your page report. By using Confluence's built-in **Find and Replace** function (Cmd+F) you can fix multiple elements at once.

### Rule report structure

In the report, all quality issues are highlighted in the page preview on the left and the issue details on the right. Depending on your rule settings, each rule is presented with slight differences, but all of them share the same basic structure:  
![ReportExplained.png](https://help.k15t.com/__attachments/a_78aa97fb92b9944a85d47c4c7f011e4b99df0778ab170f3cace84763252e69ff/ReportExplained.png?cb=04d02942fb79e540734d1e69e9341999)

1. **Level of severity**

   * Shown as an icon for each rule.

   * There are three levels of severity:

     * ![Screenshot 2024-03-28 at 14.14.54.png](/__attachments/a_0cc747e07f96f5e330d8a02fc37efbfae415e6fa2cd37949f132ef120629476b/Screenshot%202024-03-28%20at%2014.14.54.png?cb=84d9eeebe3cbc4485882cc53205b37ca) **Error:**A critical or technical quality issue. Fix is required. For example: the page contains a macro configured in such a way that it will not display properly for all users.

     * ![warning](/__attachments/a_4e9a4cd0b4554df92bf1a9cb3b300029832bca453bc3b0d1d8bfb4d6c9d72993/atlassian-warning?cb=14432459925d605e05cae2605cdfe666) **Warning:** Thequality issuewill most likely have a negative impact on the page's content quality. Fix is highly recommended. For example: the page uses heading levels inconsistently, which violates your internal style guide and doesn't look very nice.

     * ![info](/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) **Suggestion:** Thequality issue is context-dependent and may not fall into simply "right" or "wrong". Fix is optional. For example: the page contains language that may be exclusionary or insensitive, depending on the context.

2. **Rule description**

   * Shown as the title for each rule.

   * Defines the overall intention of the rule.

3. **Quality issue description and/or solution**

   * Provides more information about the specific issue.

   * Defines the quality issue or offers a fix that should be used instead.

Instead of clicking through all the issues one by one, you can also switch to the *Overview* tab in the report dialog to see a list of all the issues one screen.

![PageReportOverview.png](https://help.k15t.com/__attachments/a_5b51afc691fa0e868e5919d82999772446e2b7a1c0fa1223f5cd76d2f1369db7/PageReportOverview.png?cb=4e1dd6f03a7ba7cc42d908828782ae58)
Page quality report overview, listing all issues

## 6. Check your whole space for quality issues

Now that you've seen what Scroll Content Quality can do on individual pages, let's take a look at the space report. Click back into Scroll Content Quality under *Apps* in the sidebar. Here, under *Space Report*, you can get an overview of all the pages in your space with quality issues. Aside from how many and what kind of errors, you can also see who owns the page and when it was last updated. This information can be very helpful in prioritizing documentation work and can also potentially help identify content contributors who could benefit from additional training in documentation best practices.  
![SCQSpaceReport.png](https://help.k15t.com/__attachments/a_660d86d50cf36803f1c91087fa8f2e24f6ed4bbb1b3657393e632bf2ac0b9fd2/SCQSpaceReport.png?cb=f7b85fb4049739a2f195cea194f58248)

That's it! You now know how to activate Scroll Content Quality in a space, view and enable rulesets, and enable your team to find and fix quality issues in their Confluence content.

## What's Next

To continue learning about all that Scroll Content Quality can do, we recommend familiarizing yourself with [how to configure rules](https://help.k15t.com/scroll-content-quality/latest/configure-rulesets-new.md), the types of rules available, and how to work with rulesets.

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Heading Level Sequence

| **Description** | Check that heading levels are always consistent. This rule will warn you when, for instance, a level 4 heading follows a level 2 heading with no level 3 in between. |
|                                                                            **Configuration options:** none                                                                            ||
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|

## Advanced Mode Example

YAML

    # Ensure correct sequence of heading levels.

    rule: heading-level-sequence
    level: major
    disabled: false
    description: 

    # This rule requires no configuration.

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Image Alt Text

| **Description** | Check that any image on a page has an "alt text" defined for accessibility. This text is used as an alternative description by screen readers and other tools that can not display an image. |
|                                                                                        **Configuration options:** none                                                                                        ||
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

## Advanced Mode Example

YAML

    # Check that images have an alternative text description.

    rule: image-alt-text
    level: minor
    disabled: false
    description: >-
      Adding alt text to your images helps readers with visual impairments to
      understand the image and is also good for SEO.

      When writing alt text, explain both the context and the content of the image.

    # This rule requires no configuration.

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Release Notes

* [Scroll Content Quality 2024-04-23](https://help.k15t.com/scroll-content-quality/latest/scroll-content-quality-2024-04-23.md)
* [From Beta to Beyond: Introducing Scroll Content Quality GA with Transition To Paid Model](https://help.k15t.com/scroll-content-quality/latest/from-beta-to-beyond-introducing-scroll-content-qua.md)

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Scroll Content Quality 2024-04-23

Welcome to the new Scroll Content Quality! We're very excited to officially move out of Beta and into General Availability (see more about this transition in: [From Beta to Beyond: Introducing Scroll Content Quality GA with Transition To Paid Model](https://help.k15t.com/scroll-content-quality/latest/from-beta-to-beyond-introducing-scroll-content-qua.md). In this release, we've changed things around under the hood, redesigned the user interface, and added new functionality. Below you'll find a brief overview of the changes; full details for all features are available in our documentation pages.

## New UI for configuring rulesets

![RuleSettings.png](https://help.k15t.com/__attachments/a_ddbc26ea268c837892412e0471fac225cc2d8977f3f0fe4eee45c3c48c42433a/RuleSettings.png?cb=ac530cd0feacdce366339bd759f0a017)

Unlike in earlier versions of Scroll Content Quality, where your rules were determined by a YAML file, each rule can now be configured individually using a familiar and intuitive UI. Rules are grouped into rulesets, and each ruleset can be enabled or disabled as needed. Users can still view and edit YAML files for rules and rulesets as needed via the Advanced Edit Mode. This also makes it easy to copy and paste rules from one space (or Confluence instance) to another.

## Bundled rulesets

![SCQMyRulesets.png](https://help.k15t.com/__attachments/a_2ce725f420183c743b14d40986243c1ff903772cffdcb48917621705568c9756/SCQMyRulesets.png?cb=50bf967f5f43eb8633b71df8a5e190f3)

Scroll Content Quality now ships with pre-built rulesets so you can get up and running quickly. Based on customer feedback and our long experience using Confluence for documentation, our bundled rulesets allow for helpful functionality from checking for broken links to making suggestions for how to use more inclusive language and avoid business jargon.

Our Documentation Style Checker also provides rules to help ensure clear, concise, and uniformly-styled documentation and is inspired by our K15t internal style guide. Of course, the way we do things may not be the right fit for you, so it's super easy to make a copy of the bundled rulesets and customize them to your heart's content!

Finally, we also offer rulesets specifically tailored to users of [Scroll Viewport](https://marketplace.atlassian.com/apps/1211636/scroll-viewport-for-confluence?tab=overview&hosting=cloud) and our Scroll Exporter apps ([Scroll PDF Exporter](https://marketplace.atlassian.com/apps/7019/scroll-pdf-exporter-for-confluence?hosting=cloud&tab=overview), [Scroll Word Exporter](https://marketplace.atlassian.com/apps/24982/scroll-word-exporter-for-confluence?hosting=cloud&tab=overview), and [Scroll HTML Exporter](https://marketplace.atlassian.com/apps/420604/scroll-html-exporter-for-confluence?hosting=cloud&tab=overview)). These rulesets give advice about best practices and make sure content contributors have properly configured macros and page elements so everything works together smoothly.

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Text Capitalization

|    **Description**    |                                                                                                                                                                                                                                                                                                                                                                                                                                      Check how words are capitalized in various contexts, such as page titles, headings, or table headers.                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       **Configuration options:**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ||
|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Capitalization format | What kind of of capitalization style should be used? * *Sentence case*: Only words at the start of a sentence and proper nouns will be capitalized. * *Title case (AP Stylebook)*: Title casing based on the Associated Press Stylebook * *Title case (Chicago Manual of Style)*: Title casing based on the Chicago Manual of Style **Defaults to**: Title case (AP Stylebook)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Target element(s)     | Which elements on the page should this capitalization be applied to? * **Headings**: All headings on a page, regardless of the heading level. To only use this for certain heading levels, use one or multiple of: * **Heading 1** * **Heading 2** * **Heading 3** * **Heading 4** * **Heading 5** * **Heading 6** * **Paragraph**: All normal paragraphs on the page. * **Hyperlinks**: All hyperlinks on the page, both external and internal links. * **Quotes**: All "Quote" paragraphs on the page * **Tables**: Any text within a table on the page. * **Table Header**: Only header text of tables on the page. * **Table Body**: Only body text of headers on the page. * **Page Title**: Only the title of the page. * **Any**: Any text, anywhere on the page, including all of the elements listed above. It is possible to select multiple values for this setting using the picker. Click the "x" next to a value to remove it from the list. **Defaults to**: Any |

## Advanced Mode Example

YAML

    # Report on incorrect capitalization in a specific element.

    rule: text-capitalization
    level: minor
    style: title          
    scope:
      - heading1
      - heading2
    description: Use title case in H1 and H2

Last updated: April 23, 2024

---
version: "latest"
language: "en"
---
# Text Replacement

|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Description**             | Check for specific words and recommend an alternative that should be used instead.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Configuration options:**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ||
| *Enable exact word match*   | Check this option to replace only exact word matches. For example, "read" will be replaced, but not "reading" or "reader". If unchecked, this will also look for the word in slightly different forms. For example, it will find words that are in the possessive form (for example, "user" will find "user's") and will replace unicode umlauts by their ASCII variant (for example "bjork" will find "bjŏrk"). **Defaults to**: Enabled                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Enable case-sensitive match | Check this option to match the case of the text exactly. For example, "Apple" will not match "apple" or "APPLE".                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Target element(s)           | Which elements on the page should this capitalization be applied to? * **Headings**: All headings on a page, regardless of the heading level. To only use this for certain heading levels, use one or multiple of: * **Heading 1** * **Heading 2** * **Heading 3** * **Heading 4** * **Heading 5** * **Heading 6** * **Paragraph**: All normal paragraphs on the page. * **Hyperlinks**: All hyperlinks on the page, both external and internal links. * **Quotes**: All "Quote" paragraphs on the page * **Tables**: Any text within a table on the page. * **Table Header**: Only header text of tables on the page. * **Table Body**: Only body text of headers on the page. * **Page Title**: * **Any**: Any text, anywhere on the page, including all of the elements listed above. It is possible to select multiple values for this setting using the picker. Click the "x" next to a value to remove it from the list. **Defaults to**: Any |
| Replace terms               | List of search terms and a suggested replacement (optional). Add each term as a separate entry and leave the replacement field empty if the suggestion should be to remove the term. For longer lists of terms and replacements, consider using the YAML editor directly via {Advanced Mode}. Here you can paste the whole list at the same time, as long as it's formatted correctly (see below).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

## Advanced Mode Example

### Use more inclusive language

YAML

    # Enforce inclusive text standards by replacing problematic words and phrases
    # Selection based on: https://atlassian.design/content/inclusive-writing/

    rule: text-replacement
    level: major
    disabled: false
    ignoreCase: false
    exactMatch: true
    scope:
      - any
    text:
      he: they
      she: they
      mankind: humanity
      whitelist: allowlist
      blacklist: blocklist
      master: primary
      slave: secondary
      dummy: placeholder
    description: Use inclusive language

Last updated: April 23, 2024

---
version: "4.8"
language: "en"
---
# Scroll Translations

## Scroll Translations

Manage and deliver your Confluence content to a global audience. Basics External Translation Content Reuse Administration Migrate to Confluence Cloud Developmen...

[Get Started](https://help.k15t.com/scroll-translations/4.8/get-started.md)

### Release notes

*

  #### [Scroll Translations 4.8.15](https://help.k15t.com/scroll-translations/4.8/scroll-translations-4-8-15.md)

  August 27, 2026
*

  #### [Scroll Translations 4.8.13](https://help.k15t.com/scroll-translations/4.8/scroll-translations-4-8-13.md)

  July 31, 2026
*

  #### [Scroll Translations 4.8.10](https://help.k15t.com/scroll-translations/4.8/scroll-translations-4-8-10.md)

  May 12, 2026

### Topics

*

  #### [Basics](https://help.k15t.com/scroll-translations/4.8/basics.md)

  * [Navigate the App](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md)
  * [Translations Report](https://help.k15t.com/scroll-translations/4.8/translations-report.md)
  * [Permissions](https://help.k15t.com/scroll-translations/4.8/permissions.md)
  * [Glossary](https://help.k15t.com/scroll-translations/4.8/glossary.md)
  * [Get Started](https://help.k15t.com/scroll-translations/4.8/get-started.md)
*

  #### [External Translation](https://help.k15t.com/scroll-translations/4.8/external-translation.md)

  * [Get Started With External Translation](https://help.k15t.com/scroll-translations/4.8/get-started-with-external-translation.md)
  * [Working With XLIFF](https://help.k15t.com/scroll-translations/4.8/working-with-xliff.md)
  * [Working with Storage Format](https://help.k15t.com/scroll-translations/4.8/working-with-storage-format.md)
  * [Exclude Content from Translation](https://help.k15t.com/scroll-translations/4.8/exclude-content-from-translation.md)
*

  #### [Content Reuse](https://help.k15t.com/scroll-translations/4.8/content-reuse.md)

  * [Include Content from Other Pages](https://help.k15t.com/scroll-translations/4.8/include-content-from-other-pages.md)
*

  #### [Administration](https://help.k15t.com/scroll-translations/4.8/administration.md)

  * [Restrict Scroll Translations Activation by Space](https://help.k15t.com/scroll-translations/4.8/restrict-scroll-translations-activation-by-space.md)
  * [Downgrade to a Previous Version](https://help.k15t.com/scroll-translations/4.8/downgrade-to-a-previous-version.md)
  * [Security Advisories](https://help.k15t.com/scroll-translations/4.8/security-advisories.md)
  * [Scroll Search](https://help.k15t.com/scroll-translations/4.8/scroll-search.md)
  * [Perform and log Scroll Health Checks](https://help.k15t.com/scroll-translations/4.8/perform-and-log-scroll-health-checks.md)
  * [3 more pages](https://help.k15t.com/scroll-translations/4.8/administration.md)
*

  #### [Migrate to Confluence Cloud](https://help.k15t.com/scroll-translations/4.8/migrate-to-confluence-cloud.md)

  * [Migrate Spaces That No Longer Need Scroll Translations](https://help.k15t.com/scroll-translations/4.8/migrate-spaces-that-no-longer-need-scroll-translat.md)
*

  #### [Development](https://help.k15t.com/scroll-translations/4.8/development.md)

  * [Integrate a Custom Theme](https://help.k15t.com/scroll-translations/4.8/integrate-a-custom-theme.md)
  * [Export and Import Translation ZIP via REST API](https://help.k15t.com/scroll-translations/4.8/export-and-import-translation-zip-via-rest-api.md)
  * [Use the Java API](https://help.k15t.com/scroll-translations/4.8/use-the-java-api.md)
  * [Scroll Translations Administration via REST API](https://help.k15t.com/scroll-translations/4.8/scroll-translations-administration-via-rest-api.md)
*

  #### [Knowledge Base](https://help.k15t.com/scroll-translations/4.8/knowledge-base.md)

  * [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.8/using-collaborative-editing.md)
  * [Using Inline Comments](https://help.k15t.com/scroll-translations/4.8/using-inline-comments.md)
  * [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
  * [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.8/initially-displayed-language.md)
  * [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.8/link-to-a-specific-language.md)
  * [6 more pages](https://help.k15t.com/scroll-translations/4.8/knowledge-base.md)
*

  #### [Troubleshooting](https://help.k15t.com/scroll-translations/4.8/troubleshooting.md)

  * [The "Unpublished changes without language" Dialog Appears](https://help.k15t.com/scroll-translations/4.8/the-unpublished-changes-without-language-dialog-ap.md)
  * [Broken Content by Label Macros](https://help.k15t.com/scroll-translations/4.8/broken-content-by-label-macros.md)
  * [Installation Error "We are unable to generate an trial license. The plugin key is invalid. Please contact us if the problem persists."](https://help.k15t.com/scroll-translations/4.8/installation-error-we-are-unable-to-generate-an-tr.md)
  * [Resolve "Render.xHTMLException" Error](https://help.k15t.com/scroll-translations/4.8/resolve-render-xhtmlexception-error.md)

---
version: "4.8"
language: "en"
---
# Administration

Select one of the following topics:  
* [Restrict Scroll Translations Activation by Space](https://help.k15t.com/scroll-translations/4.8/restrict-scroll-translations-activation-by-space.md)
* [Downgrade to a Previous Version](https://help.k15t.com/scroll-translations/4.8/downgrade-to-a-previous-version.md)
* [Security Advisories](https://help.k15t.com/scroll-translations/4.8/security-advisories.md)
* [Scroll Search](https://help.k15t.com/scroll-translations/4.8/scroll-search.md)
* [Perform and log Scroll Health Checks](https://help.k15t.com/scroll-translations/4.8/perform-and-log-scroll-health-checks.md)
* [Advanced Plugin Settings](https://help.k15t.com/scroll-translations/4.8/advanced-plugin-settings.md)
* [Deactivate Scroll Translations](https://help.k15t.com/scroll-translations/4.8/deactivate-scroll-translations.md)
* [Scroll Roles](https://help.k15t.com/scroll-translations/4.8/scroll-roles.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Advanced Plugin Settings

The advanced plugin settings allow project admins to tweak the behavior of Scroll Translations. This article describes what settings are available, and how to change them.  
**Read the documentation thoroughly before applying these changes**

Generally it is not advisable to change the standard settings -- and you should only change them with a thorough understanding of what they do.

Please read the documentation carefully before applying any changes in production.

## Change advanced settings

Some advanced plugin settings can be defined on the space level, some can be activated on the global level, and some can be activated on both. Refer to the **Available settings** table below to see the scope of the individual advanced settings.

* Confluence Administrators can configure settings on the global level at **General Configuration \> Scroll Runtime \> Advanced Plugin Settings \>** **Scroll Platform**.

* Confluence Administrators and Space Administrators can configure settings on a space level at **Space tools \> Scroll Add-ons** ,and then pressing the ALT/Option key to make a menu entry for **Advanced Plugin Settings**appear.

Please note that the global settings always overrule the space settings.

## Available settings

|                                           **Key**                                           |                                                                                                                                                                            **Description**                                                                                                                                                                            |
|---------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `translations.restrict.to.spaces`                                                           | Used to define a list of spaces where Scroll Translations can be activated. For a full explanation on how to use this property, please see the guide to [restricting Scroll Translations activation by space](https://help.k15t.com/scroll-translations/4.8/restrict-scroll-translations-activation-by-space.md).                                                                          |
| `translations.custom.locales`                                                               | Used to add new language locales to be used in Scroll Translations.                                                                                                                                                                                                                                                                                                   |
| `translations.custom.macro.translation`                                                     | Used to specify which macro parameters and bodies should be translated in XLIFF exports.                                                                                                                                                                                                                                                                              |
| `enable.included.content.highlighting.global` `enable.included.content.highlighting.space ` | Used to control if (Excerpt) Include+ macros are highlighted in page view. Can be defined on global level and on space level with space level setting taking precedence. Additionally, any highlighting can be disabled using user-specific [Scroll Settings](https://help.k15t.com/scroll-versions/?contextKey=scroll-user-settings&version=latest&variant=default). |
| `skip.macro.overrides`                                                                      | A comma-separated list of macro names which should not be overridden. These are the macros that get overridden by Scroll Versions and Scroll Translations and are thus eligible to be skipped. Please reference them by their `internal name`: * Children display: `children ` * Content by Label: `contentbylabel` * Page properties report: `detailssummary`        |
| `enable.deprecated.feature.include-library`                                                 | Since [Scroll Translations 4.5.0](https://help.k15t.com/scroll-translations/4.8/scroll-translations-4-5-0.md) the Include Library feature is hidden per default in any space that is not using the feature. If you want to continue using this feature in new spaces, set it to 'true'.                                                                                                    |
| `enable.deprecated.feature.roles`                                                           | Since [Scroll Translations 4.5.0](https://help.k15t.com/scroll-translations/4.8/scroll-translations-4-5-0.md) the Scroll Roles feature is hidden per default in any space that is not using the feature. If you want to continue using this feature in new spaces, set it to 'true'.                                                                                                       |

## Related articles

* [Supported Languages](https://help.k15t.com/scroll-translations/4.7/supported-languages.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.8/using-collaborative-editing.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.6/translated-knowledge-base-for-jsm.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.7/using-collaborative-editing.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.8/display-the-page-tree-in-a-page.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.8/translated-knowledge-base-for-jsm.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.7/translated-knowledge-base-for-jsm.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.6/using-collaborative-editing.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.7/working-with-drafts-in-other-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.7/display-the-page-tree-in-a-page.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.6/supported-languages.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.6/working-with-drafts-in-other-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.6/display-the-page-tree-in-a-page.md)

Last updated: November 20, 2025

---
version: "4.8"
language: "en"
---
# Basics

Select one of the following topics:  
* [Navigate the App](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md)
* [Translations Report](https://help.k15t.com/scroll-translations/4.8/translations-report.md)
* [Permissions](https://help.k15t.com/scroll-translations/4.8/permissions.md)
* [Glossary](https://help.k15t.com/scroll-translations/4.8/glossary.md)
* [Get Started](https://help.k15t.com/scroll-translations/4.8/get-started.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Broken Content by Label Macros

## Symptoms

In Confluence 5.8 or 5.9, pages migrated from previous versions of Confluence that contained a Content by Label macro are displaying a macro rendering error.

## Cause

This is caused by a [macro migration issue in Confluence](https://jira.atlassian.com/browse/CONFSERVER-39582) that can occur in certain conditions.

## Resolution

You can repair the broken pages by taking the following steps:

1. Log in with space admin permissions

2. Upgrade Scroll Versions and Scroll Translations to version 2.8.10 and 1.7.10 or above respectively

3. Access the task via

   1. `/spaces/com.k15t.scroll.platform/scroll-confluence58-repair-content-by-label.action` if you want to repair this problem across the whole Confluence instance

   2. `/spaces/com.k15t.scroll.platform/scroll-confluence58-repair-content-by-label.action?key=spaceKey` if you want to repair this problem in a specific space

4. The **Repair broken contentbylabel macros on Confluence 5.8** screen is displayed:

   ![repair_content_by_label_conf58.png](https://help.k15t.com/__attachments/a_7700948673bf86ba60d02e4976e75314215d6d9391ace1fcb59f909dfc3954a1/repair_content_by_label_conf58.png?cb=4468628dd57a6262f787cd7f9c6bea8f)

5. Click **Repair**

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Content Reuse

Select one of the following topics:  
* [Include Content from Other Pages](https://help.k15t.com/scroll-translations/4.8/include-content-from-other-pages.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Deactivate Scroll Translations

If you no longer wish to maintain multiple languages in your space or are planning to migrate to the Cloud without Scroll Content Manager and Translations for Scroll Content Manager, which is the Cloud-compatible successor of Scroll Translations, you can deactivate Scroll Translations. This article provides clear instructions on how to deactivate Scroll Translations in your space.  
**To avoid unwanted content loss**

Before proceeding with the deactivation process, it is recommended to perform these actions in a test environment and [create an XML backup of the space](https://confluence.atlassian.com/doc/export-content-to-word-pdf-html-and-xml-139475.html#ExportContenttoWord,PDF,HTMLandXML-ExportmultiplepagestoHTML,XML,orPDF) to avoid any unwanted data loss.

## What Happens When You Deactivate Scroll Translations in a Space?

When you deactivate Scroll Translations in a space, you need to delete all languages, which also deletes all content in those languages. Only the content in the default language will remain in the space.  
**Keep in mind**

Again, please be aware that deleting a language will **permanently delete all the content in that language**.

## How to Deactivate Scroll Translations in a Space

The deactivation process depends on the app number of Scroll Translations you are using. Follow the steps that match your situation

### If you are using Scroll Translations 3.11.1 or below

If you are using Scroll Translations 3.11.1 or any version **below**, follow these steps using a REST API call:
Click to expand...  
1. Log in to your space with[Doc Admin](https://help.k15t.com/scroll-translations/4.8/scroll-roles.md)or [Space Admin permissions](https://help.k15t.com/scroll-translations/4.8/permissions.md).

2. Navigate to **Space tools \> Scroll Add-ons \> Languages**.

3. Click **Delete** for each secondary language until only the default language remains.

   ⚠️ **Note:** This action will also delete all the translated content within the deleted language.

4. Copy the following command into your browser's address bar, replacing "\<baseUrl\>" with the appropriate URL, and execute it:

    http://<baseUrl>/rest/scroll-versions/1.0/clean-up-translation/<spaceKey>

You will see a success message when all sv-translations macros and translations related data have been removed from the space.

### **If you are using Scroll Translations 3.11.2 or above**

If you are using Scroll Translations 3.11.1 or any version **above,** follow these steps:
Click to expand...  
1. Log in to your space with [Doc Admin](https://help.k15t.com/scroll-translations/4.8/scroll-roles.md)or [Space Admin permissions](https://help.k15t.com/scroll-translations/4.8/permissions.md).

2. Navigate to **Space tools \> Scroll Add-ons \> Languages**.

3. Click **Delete** for each secondary language until only the default language remains.

   ⚠️ **Note:** This action will also delete all the translated content within the deleted language.
4. Click **Deactivate**. This will deactivate Scroll Translations in your space.

Last updated: April 02, 2026

---
version: "4.8"
language: "en"
---
# Development

Select one of the following topics:  
* [Integrate a Custom Theme](https://help.k15t.com/scroll-translations/4.8/integrate-a-custom-theme.md)
* [Export and Import Translation ZIP via REST API](https://help.k15t.com/scroll-translations/4.8/export-and-import-translation-zip-via-rest-api.md)
* [Use the Java API](https://help.k15t.com/scroll-translations/4.8/use-the-java-api.md)
* [Scroll Translations Administration via REST API](https://help.k15t.com/scroll-translations/4.8/scroll-translations-administration-via-rest-api.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Display the Page Tree in a Page

The default [Confluence page tree macro](https://confluence.atlassian.com/doc/page-tree-macro-163414255.html) does not work with Scroll Translations -- this is because if you use it in translated pages, it only resolves the page tree in the default language.

That's why we developed the Scroll Page Tree macro, which is fully compatible with Scroll Translations, and resolves the page tree in the correct language. To display the page tree in a page, just insert the **Scroll Page Tree** macro onto the page.

## Configure page tree settings

There are multiple options for configuring the page tree.  

|       Parameter        |          Default           |                                                                                                                                                                                                                                                                                                                             Description                                                                                                                                                                                                                                                                                                                             |
|------------------------|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Root Page              | The home page of the space | Specify the parent page for the page tree. The tree will include all descendants of that page, but not the root page itself. * Page title -- to specify a particular page to be the parent page. * @none -- includes all pages in the space, including orphaned pages and the home page. * @space -- the home page of the space will be the parent page. * @self -- current page will be the parent page.                                                                                                                                                                                                                                                           |
| Hide Unavailable Pages | Unchecked                  | Check if you only want to display pages that are available in the current working language.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Sort Pages By          | position                   | Specify the order to display the pages in the tree. This sort order is for display purposes only. It does **not** permanently re-arrange the page order. * bitwise -- sort in strict alphabetical order, e.g. title1, title10, title2 * creation -- sort by creation date * modified -- sort by modification date of the page in the working language * natural -- sort in 'natural' alphabetical order, e.g. title1, title2, title10 * position -- sort by the default Confluence sorting rules. If your pages have been ordered manually, this setting will respect the defined order. Otherwise the pages will be displayed in the 'natural' alphabetical order. |
| Start Depth            | 1                          | Specify the levels of children displayed in the tree. Enter any number greater than 0 to set how many levels of children should be displayed in the tree when it is loaded for the first time.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Downgrade to a Previous Version

Confluence versions **6.0 or newer** are only compatible with Scroll Translations versions **3.4.0 or newer**.  
**It's not possible to downgrade from version 3.x to version 2.x**

If you are using version 3.x of Scroll Translations, you cannot downgrade to version 2.x.

To downgrade:

1. Make sure that spaces where Scroll Translations is activated are not edited by users. Ideally, redirect all users accessing Confluence to a maintenance page until the downgrade is complete.

2. Uninstall**Scroll Translations** ,**Scroll Platform** and**Scroll Runtime** via **Add-ons \> Scroll Versions \> Uninstall**,

3. [Download the earlier version](https://marketplace.atlassian.com/apps/1211616/scroll-translations-for-confluence/version-history) you wish to install.

## Related articles

* [Supported Languages](https://help.k15t.com/scroll-translations/4.7/supported-languages.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.8/using-collaborative-editing.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.6/translated-knowledge-base-for-jsm.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.7/using-collaborative-editing.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.8/display-the-page-tree-in-a-page.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.8/translated-knowledge-base-for-jsm.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.7/translated-knowledge-base-for-jsm.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.6/using-collaborative-editing.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.7/working-with-drafts-in-other-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.7/display-the-page-tree-in-a-page.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.6/supported-languages.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.6/working-with-drafts-in-other-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.6/display-the-page-tree-in-a-page.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Exclude Content from Translation

Scroll Translations provides a macro --- Translations Ignore --- for marking a piece of content to be ignored in translations. The macro comes in two flavours:

1. **Translations Ignore**to be used to mark a larger block, like a section or full paragraph of content to be ignored in translations.

2. **Translations Ignore (inline)**to be used to mark an inline term to be ignored in translations.

Content placed inside either of the macro variants in the default language will be marked in the Confluence editor with the label Translations Ignore.

![Translations Ignore](https://help.k15t.com/__attachments/a_8278131a1d292ef6c84b285ab602900e91fe3cb2cb2170911782e9ff3df1a153/20190218101721.jpg?cb=a65499c6608d5af025029a7ba6a01343) *Translations Ignore*

![Translations Ignore Inline](https://help.k15t.com/__attachments/a_87f333d8f52a8c96bf2c0fe3675f751792dbb9bdbe0bba4b5897303bdc4face9/20190218102224.jpg?cb=4e3814e3d205dc55fa66cebaca67dab9)

*Translations Ignore (Inline)*

The macro works differently depending on the translation approach used to translate your content.

## External translation using XLIFF format (recommended)

When using external translation with XLIFF format the macro marks the term or block in the exported file to be ignored. Scroll Translation will also automatically detect and ignore marked terms when importing the file again so the term or block can't be translated even if a translation has wrongfully been provided. The automatic ignoring available when using XLIFF translations files makes this a recommended approach for translations with a lot of content that need to be ignored.

## Translation inside Confluence

When translating content inside Confluence the term or block will simply be visible in the source language as a macro with a clear label Translations Ignore. Due to technical reasons no automatic detection will be done so the term could potentially be translated if the translator is not aware what the label Translations Ignore means.

## External translation using storage format

When using external translation with storage format the term or block is wrapped in a XML-tag --- Translations Ignore --- and the translator might need to be made aware of this tag in order to ignore the content when translating. No automatic detection will be made on import.

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Export and Import Translation ZIP via REST API

You can use the REST API to automatically export and import the Translation ZIP.

## Create the translation ZIP file

If Scroll Versions is activated in the space you are exporting, you first have to get the version ID of the version you want to export.

You can do this by sending a GET request to:

`<confluence-base-url>/rest/scroll-versions/1.0/versions/<spaceKey>`

The response will look like this:

    [
        {
            "id": "<versionId>",
            "name": "<versionName>",
            ...
        },
        ...
    ]

Then send a POST request with Content-Type: application/json to:

`<confluence-base-url>/rest/scroll-versions/1.0/translation/start`

The body should consist of data with following parameters:  

|                               Key                                |                                                                  Value                                                                  |
|------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `languageKey`                                                    | The key of the language to export (e.g. 'en' for english).                                                                              |
| `outdatedOnly`                                                   | 'true' if only pages with status 'outdated' should be exported, else 'false'.                                                           |
| `provider`                                                       | * 'simple' for simple translation provider * 'xliff' for XLIFF translation provider                                                     |
| `spaceKey`                                                       | The spacekey of the space you want to export.                                                                                           |
| `variantId` (optional - only if Variant Management is activated) | The ID of the variant you want to export, 'all' for every variant.                                                                      |
| `versionId` (optional - only if Version Management is activated) | The ID of the version you want to export.                                                                                               |
| `oneFilePerPage` (optional)                                      | false (default) or true. When using 'xliff' for `provider`, this parameter has to be defined in the body and set to *true* value        |
| `includeLabels` (optional)                                       | A list of label names (as strings). Only pages with any of the provided labels are exported. E.g. \["label1", "label2"\]                |
| `excludeLabels` (optional)                                       | A list of label names (as strings). All pages with any of the provided labels are excluded from the export. E.g. \["label1", "label2"\] |
| `excludeFallbacks` (optional)                                    | 'true' if versioned pages without changes in the exported version should not be exported.                                               |
| `excludeUnversioned` (optional)                                  | 'true' if unversioned pages should not be exported.                                                                                     |
| `onlyUnversioned` (optional)                                     | 'true' if only unversioned pages should be exported.                                                                                    |

The respond looks like this:

    {
        "id": "<taskId>",
        ...
    }

To check the created file send the following get request:

`<confluence-base-url>/rest/scroll-versions/1.0/async-tasks/<taskId>?since=<dateTime>`

If the file was successfully created, the response will look like this:

    {
        "id": "<taskId>",
        ...
        "result": {
            "id": "<fileId>",
            "descriptor": {
            	...
            },
            "fileName": "<fileName>"
        }
    }

## Download the translation ZIP File

Download the created translation ZIP file from:

`<confluence-base-url>``/rest/scroll-versions/1.0/translation/adapter/simple/download/<fileId>/<translationProvider>/<fileName>`

![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) Both `<fileId>` and `<fileName>` can be found in the response to our previous request which checks the translation zip file.

## Upload the translation ZIP File

1. Send a post request to:

   `<confluence-base-url>/rest/scroll-versions/1.0/translation/adapter/simple/upload?spaceKey=<spaceKey>&translationProvider=simple `

   ![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c)

   `<spaceKey>` is the key of the space you want to import the file to.
2. Add the file to the request as multipart-form-data from a file-input (see [HttpClient Documentation](http://hc.apache.org/httpcomponents-client-ga/tutorial/html/)).

   When the Translation ZIP file was uploaded successfully, the response will look like this:

       {
           "success": true,
           "result": {
               "id": "<fileId>",
               "descriptor": {
               	...
               }
           },
           ...
       }

   ![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) The `<fileId>` is needed to import the file.

## Import the Translations ZIP File

1. Send a post request to:

   `<confluence-base-url>/rest/scroll-versions/1.0/translation/import?spaceKey=<spaceKey>&id=<fileId>&translationProvider=simple`

   ![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) `<spaceKey>` and `<fileId>` are the parameters from **step 3**.
2. The response looks like this:

       {
           "id": "<taskId>",
           "clusterNo": -1,
           "started": false,
           "cancelled": false,
           "hasFailed": false,
           "finished": false,
           "failureMessage": null,
           "progress": 0,
           "message": "The task 'Translation.Import' is currently queued.",
           "resourceLocation": null
       }

   ![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) Note that the individual fields may be different, depending on your timing on your server's workload.
3. To get the current status of the import, send a Get-Request to:

   `<confluence-base-url>/rest/scroll-versions/1.0/async-tasks/<taskId>?since=<dateTime>`` `` `

   ` ` ![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) ` <dateTime> `` `` ` is the current time (as int).

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# External Translation

Select one of the following topics:  
* [Get Started With External Translation](https://help.k15t.com/scroll-translations/4.8/get-started-with-external-translation.md)
* [Working With XLIFF](https://help.k15t.com/scroll-translations/4.8/working-with-xliff.md)
* [Working with Storage Format](https://help.k15t.com/scroll-translations/4.8/working-with-storage-format.md)
* [Exclude Content from Translation](https://help.k15t.com/scroll-translations/4.8/exclude-content-from-translation.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Get Started

## What Is Scroll Translations?

Scroll Translations is an app which enables you to translate and manage Confluence content in multiple languages.

You can translate content manually in Confluence, using the side-by-side language view in the editor. It's also possible to [translate content externally](https://help.k15t.com/scroll-translations/4.8/get-started-with-external-translation.md), by uploading a language export to an external Translation Management System (TMS).  
Scroll Translations does not provide machine translation.

## Get Started With Translations

This article is a tutorial which will teach you how to:

1. [Set up languages in your Confluence space](https://help.k15t.com/scroll-translations/4.8/get-started.md#configure-languages)

2. [Translate a page manually in Confluence](https://help.k15t.com/scroll-translations/4.8/get-started.md#translate)

Before you begin, make sure to fulfil the following prerequisites:

* [Install Scroll Translation](https://marketplace.atlassian.com/apps/1211616/scroll-translations-for-confluence?hosting=datacenter&tab=overview)s on your Confluence.

* Create a test space with some test pages.

* Get space administrator [permissions](https://help.k15t.com/scroll-translations/4.8/permissions.md) in the test space.

## 1. Configure Default and Target Language

To activate Scroll Translations in a space, you first need to select a default language. The default language will be used as source language for your translated content.  
**The default language can't be changed after you've started translating content**. Therefore, make sure to choose a language you're sure you want to keep as default language. Read [How to change default language](https://help.k15t.com/scroll-translations/4.8/how-to-change-default-language.md) for possible workarounds.

To activate Scroll Translations and set up languages in your space, follow the steps below:

1. Navigate to **Space tools \> Scroll add-ons \> Languages**.

2. Click**Activate.**

3. Select a default language and click**Set**, as an example in this tutorial we'll choose English.

4. Click**Add language** and select the language that you want to provide translation for, here we'll select German.

   ![Scroll Translations add a language dialog with German selected as target language](https://help.k15t.com/__attachments/a_953fc9bf5cfeb86d3983071dd7f0802415617fb5f2a69dcd92c3c7df2cb1d814/add-a-language-dialog.png?cb=f1da6839cd990a645bbc91610fb2cb9f)
5. Click **Add**to add the target language to your space.

Great! You've now activated Scroll Translations in your space.

## 2. Translate Content in Confluence

In this part of the tutorial we'll translate content from our previously defined default language English, to our selected target language German.

To start translating, follow the steps below:

1. Navigate to the page that you would like to translate.

2. Select the target language in the Space language picker.

3. Click **Translate** to open the editor.

   ![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) If your page has not yet been translated, no content will be shown when you set the language picker to the target language. If you want to display the default content in Confluence page view, click **Display default** .

   ![An untranslated Confluence page with a blue panel offering to show the content in default language](https://help.k15t.com/__attachments/a_61b2dbe50f965209d6050c96c46b08c5f2819811cc5a55d7cfe5fbbcde95c241/translate-button-and-display-default-language-dialog.png?cb=3cdeab176b639f5e663058f455b8dceb)

4. Click on the small double arrows in the editor (**\>\>**)to show the original language.

5. Click **Copy to translation** , this will copy over the content from the source language to the target language.

   ![warning](https://help.k15t.com/__attachments/a_4e9a4cd0b4554df92bf1a9cb3b300029832bca453bc3b0d1d8bfb4d6c9d72993/atlassian-warning?cb=14432459925d605e05cae2605cdfe666) When you use **Copy to translation** , any content present in the target language will be overwritten by the original language. Undo the copying by adding some content manually in the editor and then select **Undo** or use the keys: Command/Control and Z

   ![Scroll Translations side-by-side editor in Confluence](https://help.k15t.com/__attachments/a_188b46683a490d0f51f3f4a5352a39b0acb0dd0469647f206d86da236272b8f8/copy-to-translation-button.png?cb=34cd5e7593f5954cfd2d5bd20ecaf4b4)

6. Translate the page title and the page content.

7. Click **Update \> Complete** when you have finished the translation.

   ![info](https://help.k15t.com/__attachments/a_6c10475e732379be1297d4304dd6a991da84a5aaabbbbc3d9f3147fcb7e33f46/atlassian-info?cb=feab5cd71111204d6b52545f3027dd0c) If you click **Not complete** the page will be marked as "not translated" in the [Translations Report](https://help.k15t.com/scroll-translations/4.8/translations-report.md).

8. Click **Page is translated in all languages** in the Page Byline, this will display the page's translation status. The page should now be marked as translated, indicated by a green check.

   ![A translated Confluence page with a dialog showing the page's translation status as complete](https://help.k15t.com/__attachments/a_a741952f6d7f7e601492a4edfca63c480638ddf1ff196384ae0aff56977f0196/translation-status-dialog.png?cb=c5002322a397b7a9edcad4dca6760d4c)

Congratulations, you've successfully translated your first page using Scroll Translations!

## Next Steps

To learn more about how to use Scroll Translations, we recommend reading the articles below:

* [Navigate the App](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md)

* [Permissions](https://help.k15t.com/scroll-translations/4.8/permissions.md)

* [Get Started With External Translation](https://help.k15t.com/scroll-translations/4.8/get-started-with-external-translation.md)

## Related articles

* [Supported Languages](https://help.k15t.com/scroll-translations/4.7/supported-languages.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.6/link-to-a-specific-language.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.8/initially-displayed-language.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.8/using-inline-comments.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.7/link-to-a-specific-language.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.6/initially-displayed-language.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.6/using-inline-comments.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.7/initially-displayed-language.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.7/working-with-drafts-in-other-languages.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.8/link-to-a-specific-language.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.6/supported-languages.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.6/working-with-drafts-in-other-languages.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.7/using-inline-comments.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Get Started With External Translation

## What Is External Translation?

Scroll Translations provides an XLIFF export feature allowing users to translate Confluence content in combination with Translation Management Systems or external translation agencies. The basic flow of external translation would be as follows:

![external-translation.png](https://help.k15t.com/__attachments/a_c4e87523f5693142fa9e51cb309346a146dafe113f6d915b4173dca4d97335a4/external-translation.png?cb=3fe41e66a7125f35c73887ff9fe25e12)  
The **XML Localization Interchange File Format (XLIFF)** is an XML-based file format that is frequently used by computer-aided translation tools. [Learn more about XLIFF 1.2.](http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html)

## Create a Translation ZIP

To generate and download a translation ZIP file, navigate to **Space Tools \> Scroll Add-ons** **\> Languages** **.** There, locate the row for the target language and select **Export** .

![The Languages management screen where languages can be defined and translation files can be managed](https://help.k15t.com/__attachments/a_decbbe8948e4957cd22e3b3f9dbc476b9c91ebb6ba0e8b2f4989b81168fb6990/languages-ui.png?cb=749cd8b9b33fb27e1d165b21b5d3a802)  
Before you export a translation file, you need to fulfill the following prerequisites:

* Acquire space admin permissions or the Doc-Admin role, this is required to export a space for translation.

* Configure Scroll Translations and define a target language.

### Configure the export

When exporting, you can select from different format and configuration options.

![Export translation dialog showing the different export configuration options](https://help.k15t.com/__attachments/a_c490dbf069282842a81f4b4b9ef0b65d869c8b5ec59be8bdeed9ba386bf96edb/export-translation-zip.png?cb=5e803704db07734282e1b6410eff45a5)

Find each format and configuration option explained in the table below:  

|       Field        |                         Options                         |                                                                                                                                      Description                                                                                                                                      |
|--------------------|---------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Translation format | * XLIFF * Confluence storage format                     | We recommend XLIFF, as it is a standardized format that requires no configuration in the TMS. Scroll Translations uses XLIFF version 1.2. The Confluence storage format requires translation in the XML directly -- the translator's TMS must be configured to work with this format. |
| Output format      | * One single file * One file per page                   | Create one single file, or one file for every translated page. For bigger spaces we recommend exporting one file per page.                                                                                                                                                            |
| Version            | * Available versions                                    | If Scroll Versions' version management feature is activated, you can choose which version to export.                                                                                                                                                                                  |
| Variant            | * Available variants                                    | If Scroll Versions' variant management feature is activated, you can choose which variant to export.                                                                                                                                                                                  |
| Pages              | * All pages * Outdated pages only                       | If you select "Outdated pages only", pages that have the translation status "Complete" are excluded from the export.                                                                                                                                                                  |
| Labels             | * Exclude labels (optional) * Include labels (optional) | * **Exclude**: Pages with these labels will not be included in the translation ZIP * **Include**: Only pages with these labels will be included in the translation ZIP                                                                                                                |
| Workflow status    | Export only complete pages (optional)                   | If this option is activated, only pages with the Scroll Versions workflow status "Complete" will be exported in the ZIP.                                                                                                                                                              |

**The export does not respect viewing permissions**

Similar to other Confluence space content exports, all pages within the scope of the export will be exported -- even view-restricted pages.

## While the Content Is in Translation

External translation of an entire space can take a while. During that time, we generally recommend to restrain from editing both the original and the target language. Changes to the target language will be overwritten when the XLIFF is important, while changes to the original language will cause the translation to be outdated upon import. Of course, necessary changes can still be made, just keep the effects in mind.

## Import the Translated ZIP

Once the XLIFF files have been translated, you're ready to import them back into your Confluence space.  
Scroll Translations expects a ZIP file structured exactly as the one you originally downloaded. Before importing the ZIP file, make sure the translated XML files and the `translation-descriptor.xml` file are on top level in the ZIP file.

To import a translation file, follow the steps below:

1. Navigate to **Space tools** **\> Scroll Add-ons \> Languages \>** **Import Translation.**

2. Select or drag and drop the ZIP containing the translated files.

3. On the ZIP validation screen, check the target language and the number of imported pages.

4. Select if you want to notify watchers, then click **Import**.

You're done! The pages and their content will now appear translated in your space.  
Below are some tips you can apply when zipping your translation files:

* To make sure the XLIFF files are on top level, archive them directly, not the containing folder.

* When creating a ZIP archive on macOS, use this command in terminal to prevent [hidden system files](https://apple.stackexchange.com/questions/239578/compress-without-ds-store-and-macosx) from be included in the ZIP.

  `zip -r archive.zip directory -x "*/\.DS_Store"`

## What's Next?

* [Working With XLIFF](https://help.k15t.com/scroll-translations/4.8/working-with-xliff.md): Learn about our XLIFF structure and configuring translatable macros.

* [Working with Storage Format](https://help.k15t.com/scroll-translations/4.8/working-with-storage-format.md): Learn about translating Confluence format directly and how TMS tools can be configured to support it.

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Glossary

Here you'll find explanations of the core concepts and terminology of Scroll Translations:  

|          **Default language**           |                      A page's original language. When Scroll Translations is installed, pages can only be edited and created in the default language.                       |
|              **Doc-Admin**              |                                          A user who [administers the space's content](https://help.k15t.com/scroll-translations/4.8/scroll-roles.md) .                                           |
|        **Not translated status**        |                                       If a page has not been translated yet, the translation status will appear as "Not translated."                                        |
|           **Outdated status**           | If a page in the default language is changed, the language status of this page will be marked as "Outdated" in all languages, as the default language includes new content. |
|          **Translated status**          |                                            The status "Translated" means the page has been translated in the selected language.                                             |
|             **Translator**              |                                    A user who [has the rights to translate Confluence pages](https://help.k15t.com/scroll-translations/4.8/scroll-roles.md) .                                    |
|         **Translation format**          |                                           The format of the translation ZIP. Select between XLIFF and Confluence Storage Format.                                            |
| **Translation Management System (TMS)** |                                An external translation system you can use to translate the default language in the exported translation ZIP.                                |
|-----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

## Related articles

* [Supported Languages](https://help.k15t.com/scroll-translations/4.7/supported-languages.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.6/link-to-a-specific-language.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.8/initially-displayed-language.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.8/using-inline-comments.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.7/link-to-a-specific-language.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.6/initially-displayed-language.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.6/using-inline-comments.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.7/initially-displayed-language.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.7/working-with-drafts-in-other-languages.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.8/link-to-a-specific-language.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.6/supported-languages.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.6/working-with-drafts-in-other-languages.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.7/using-inline-comments.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# How to Change Default Language

Although you can't change the default language with a single click, there are two workarounds depending on your situation.  
To avoid data loss, always create an XML backup of your space beforehand.

## OPTION 1 - You do not need to keep translated content

Easiest way to change default language is to start from scratch in that space, if there is no need to save translated content.

1. Remove all languages except the default one.

2. Click **Deactivate** for default language. This will deactivate translation feature in the space.

3. Click **Activate** again, and choose a new default language.

Example:

You followed steps above and changed default language from English to German. All existing default language pages (English) are shown as German in language picker, even though they are written in English. You need to manually translate content on those pages from ENG to DE to keep the language picker consistent.

## OPTION 2 - You want to keep translated content

In this approach you enable versioning temporarily in the space and publish translated content only to a different space.  
If you already have an active subscription for Scroll Versions, you can move forward with the steps. If you do not have, you can install 30-day trial of Scroll Versions.

1. Enable Scroll Versions in the space by creating one version: **Space tools \> Scroll Add-ons \> Versioning.**

   ![image-20250731-070344.png](https://help.k15t.com/__attachments/a_cc1b600c17d43c4e9b2d76640cab9f540bb6107616bb73406434f91702b6a22b/image-20250731-070344.png?cb=b27df833b7733387b10a0b377500e008)
   Add a New Version
2. Choose to **publish the version** and select **to a new space**.

![image-20250731-064949.png](https://help.k15t.com/__attachments/a_dea2f8498013b631f0035401c4620717ee00fefbfa7bd00c334bd8621a080537/image-20250731-064949.png?cb=597822e7804adbaf09d99ad8cf072b95)
Choose a publish version from the hamburger menu  
![image-20250731-065141.png](https://help.k15t.com/__attachments/a_e70880e37d417512b43b8964745efb686b0bd4b6e905ea40ec0321c7e8776896/image-20250731-065141.png?cb=cc188bd008d73d4fcf166797c1bf2fc9)
Choose **to a new space** as a target

3. Select the language to be published.

   ![image-20250731-065436.png](https://help.k15t.com/__attachments/a_05859e8936011689886024e0e1b4a66f25fdf3ae7b35f0225cbc342158cb9be6/image-20250731-065436.png?cb=6c310587ca20a8e423bfe6919b97a134)
4. Translated content is published to a new space with a new default language= translated content.

5. Choose what to do with the original space and content in the old default language:

   1. Follow the above steps to store English content too in a new space.

   2. If you don't need to save the content in the old default language, you can delete the space.

If you delete the version created in step 1, the pages are deleted too.

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# How to Restore a Deleted Language

When deleting a language from Scroll Translations language manager view, you will be notified that the content will be deleted.  
![image-20251008-090209.png](https://help.k15t.com/__attachments/a_698fa279fa6e8ad1173c2b0895b87870b6000245e0d804eaae13a2b590e16727/image-20251008-090209.png?cb=9b4f687589759bde771d038e4b4e7fa0)

If you change your mind, there is only one way to restore the content:

1. Add the deleted language back in the language manager

2. Go to each page that had a translation to **... \> Page History** and restore the revision of the page BEFORE the comment *Removed translated content before "language".*

![Screenshot 2025-10-08 at 10.50.02.png](https://help.k15t.com/__attachments/a_3d9fb576ce2997ac1774112cdf148c386716bebdc9e7d3164075f085292f9eed/5b6ef569-9554-4061-9b41-9a1fd5402fbf%23media-blob-url=true&id=d52bd6c7-5594-4337-892b-2fd555288c1e&contextId=115156&collection=?cb=d663824a74c5ecaaaddc92f90590eb15)
Choose to restore a page from page history  
* The translated page title will not be restored - you need to translate it manually

* This cannot be done as a bulk operation. Each page that was translated needs to be manually restored.

Alternatively, you can restore the space from your latest Confluence backup.

Last updated: October 09, 2025

---
version: "4.8"
language: "en"
---
# Include Content from Other Pages

To make content reuse work properly with translated content, Scroll Translation comes with its own version of the [Include macro](https://confluence.atlassian.com/doc/include-page-macro-139514.html), (called the Include+ macro) and the [Excerpt Include macro](https://confluence.atlassian.com/doc/excerpt-include-macro-148067.html) (called the Excerpt Include+ macro). These make reusing content within translated spaces a snap.  
**Include+** and**Excerpt Include+**macros work only in spaces with Versions or Translations

## The Include+ macro

The Include+ macro is an overhauled version of Confluence's [Include macro](https://confluence.atlassian.com/doc/include-page-macro-139514.html). It highlights included content, shows you the source of the content on mouseover, and also displays the other pages that also use this content. With Include+ macro the corresponding language of the included content is displayed.

### How do I use it?

Insert the Include+ macro as you would any other macro, then select which page you want to include. The selected page's content will be included where you inserted the macro. Any existing Include macros will be automatically converted into Include+ macros when you edit a page for the first time after activating Translations. If you have created a new page and manually selected Include macro, it won't be converted automatically as the app assumes that a user is deliberately making this decision.

To view the title and language of included source page, hover over the content highlighted in a light-gray box. If a pop up doesn't appear, check if the **Highlight included content** checkbox is activated in User profile picture → Scroll Settings

Furthermore, in the **Versions Menu**, you can check whether the page you are currently viewing is included anywhere else in the currently selected version by clicking on **Include Information**.

## Reusing translated content from other spaces with the Include Library

To reuse content from other translated spaces, an extra step is required. In the space where you want to reuse content, configure which translated spaces you want to include from. Languages need to be mapped in order for the Include+ macro to know which language to include from.

### Add spaces to include from

**Note:** you need to have space admin permissions in both the current space and the space you want to add.

1. Open the space where you want to include content.

2. Add a space to include from by clicking **Space tools** \> **Scroll add-ons** \> **Administration** \> **Include Library** \> **Add space**

3. Find the space that contains translated content to be included.

4. Go through the steps in the dialog and map all languages that you want to include from

![20180911151154.jpg](https://help.k15t.com/__attachments/a_cb6bc161d1ad740fa7cc17ae6066ece48b399d51f2c4dcbbc7ac3f1aabe7016b/20180911151154.jpg?cb=a303593c03a0ce585b9a2b52aa41d486)

Once languages have been mapped, and a space has been added, you can use the Include+ macro to reuse content both from the current space and the added space.  

### Limitations and constraints

* You can only add spaces that are not using include Library themselves.

* You cannot add spaces that have variants.

* Reused pages need to contain all attachments they use themselves.

* Reused pages can not reuse other content themselves.

* Make sure all links on reused pages are reachable also where they are included

### The Excerpt Include+ Macro

The Excerpt Include+ macro is a modified version of Confluence's default [Excerpt Include macro](https://confluence.atlassian.com/doc/excerpt-include-macro-148067.html), which is used to display sections of one page in another. Excerpt Include+ Macro has been reworked to function correctly in translated spaces.

### How do I use it?

Include any content you want to duplicate in a normal Excerpt macro, and then insert an Excerpt Include+ macro on the page where you want it to be duplicated. Excerpt Include+ macro will only include the content in the first Excerpt macro on the source page. So only one Excerpt macro can be used per page.

## Content Reuse Reports

In order to keep track of your reused content, there are two reuse reports that can give you an overview of how pages are reused.  
As content reuse is mostly done in combination with Scroll Versions and publishing, the following report description assumes Scroll Versions is installed.

### Page-level report

The page level report can be accessed by clicking **Include info** above the page title of the **included page**.  
![page-level-reuse-report.png](https://help.k15t.com/__attachments/a_44fd64e4057fc549e4ce1d17193dc0e4af25b45244c58911a47de56c7b58b16b/page-level-reuse-report.png?cb=bc1356482c2a6e3a36ef9fd5c2158c63)

The reports lists all pages that reuse the current page, including the version in which it is reused by the page. The displayed pages can be filtered by space. The version list is [fallback-aware](https://help.k15t.com/scroll-versions/?contextKey=glossary&version=latest&variant=default), meaning if the reused page is reused only in one version, but its content is inherited by succeeding versions, all of the version will appear in the report.  
The question this report aims to answer is: **Which pages in which versions will change and might need re-publishing if the current page is edited?**

### Cross-space report

The cross-space report operates on the space level as it's designed specifically for setups with external Include Libraries. Access the report for all library spaces of the current space under **Space tools \> Scroll Add-ons \> Include Libraries \> Reuse report** . To open a report for a specific library space, click the more menu of that space **(•••) \> View reuse report.**  
![space-level-report.png](https://help.k15t.com/__attachments/a_bb6f9a58407881f13477ccefa855a211f96b7b591be627756d7ad66a372dca9f/space-level-report.png?cb=54d77a546a609aebfe8f3a87a6d545b2)

The report lists pages reused from the selected space, along with the workflow state and translation status of the reused page.

**Available Settings**

* **Current space**: Select the space version (and language) of the current space you want to report on.

* **Show included pages from**: Select the library space you would like to report on.

* **Hide complete** : Hides reused pages that are in the workflow state **Complete**.

* **Hide translated** : Hides reused pages that are in the translations state **Translated**.

The question this report aims to answer is: **Are all of the reused pages in this version of my documentation ready to be published?**

Last updated: November 20, 2025

---
version: "4.8"
language: "en"
---
# Initially Displayed Language

## Question

I have configured multiple languages for a space -- how does Scroll Translations control which language is displayed to users when they first enter a space?

## Answer

In Scroll Translations and in Confluence, languages have the following format: `languageCode_countryCode_variantCode.` For example, English (UK) is `en_GB `(there is no `variantCode,` as this is an optional field only used for specific variants of languages).

Scroll Translations checks if there is a translation available with the same `languageCode_countryCode_variantCode` values as the user's defined Confluence language, and displays that language if there is a translation available with those values.

If the `languageCode` and `countryCode` are the same but the `variantCode` is different, the translation with the same `languageCode` and `countryCode` is displayed.

If the `languageCode` is the same but the `countryCode` and `variantCodes` are different, then the translation with the same `languageCode` is displayed. For example, if the Confluence language is English (UK) and the only English translation available is English (US), then Confluence pages would be displayed in English (US) by default, as they have the same `languageCode.`

### If there is no language available in the Confluence language

If there are is no language available with the same `languageCode` as the Confluence language, then the default language for the space is displayed.

### If a user changes the language manually

If a user changes the language manually using the language picker, the language choice is stored;

*
  * For logged-in users: stored in the Confluence database

  * For anonymous users: stored in user session (5 hours by default)

### If a page has not been translated to a language

If a user navigates to a page which has not been translated, they will be met with an empty page with the following message: **This page has not yet been translated to \<language\>.**

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Installation Error "We are unable to generate an trial license. The plugin key is invalid. Please contact us if the problem persists."

If you recently tried installing a new Server app to your Confluence system it's likely you encountered the following warning:
> We are unable to generate an trial license. The plugin key is invalid. Please contact us if the problem persists.

Evaluating or purchasing licenses for Server apps is no longer possible since February 15th, 2023. This decision was made by Atlassian as another step towards ending support for Confluence Server. To learn more we recommend reading: [What Server end of support means](https://www.atlassian.com/migration/assess/journey-to-cloud)

## Can K15t Still Generate a Server License for Me?

No, we cannot. Since it's no longer possible to generate Server licenses via Atlassian Marketplace this means we also cannot generate any.

## What If I Need a Server License for Migration Purposes?

If you need a Server license for migration purposes, a workaround would be to install a Data Center trial of that app. To do so, follow the steps below:

1. Navigate to [Atlassian Marketplace](https://marketplace.atlassian.com/).

2. Search for the relevant app.

3. Set the hosting dropdown to Data Center.

4. Click **Try it free**, and follow the steps from there.

After applying the Data Center license you may see one of the following warnings:

* "This app has a Data Center license, but the installed version is not Data Center compatible,"

* or "Wrong App Type."

These warnings can be ignored, the app should still work as expected.

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Integrate a Custom Theme

Scroll Translations adds a[](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md)[number of components](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md) to the user interface of authoring spaces. Themes developed by a third party or custom ones might interfere with the insertion of these components. This article shows how to make sure Scroll Translations works well with your theme.

## Basics

Upon every page load, the user interface is inserted into the page view using client-side Javascript functions -- jQuery in particular. The implementation locates defined elements in the HTML structure of the Confluence page and injects or replaces existing elements with UI items like the tool bar. The locations are defined by their CSS/jQuery selectors. You can find those selectors at the bottom of this article.  
By default, the code expects the Atlassian Confluence Default Theme.

If your theme changes the HTML structure of the Confluence page in a way that makes the jQuery selectors fail, those UI components will not appear in the when viewing a page. This can be avoided in two ways:

* Make sure the [default selectors](https://help.k15t.com/scroll-translations/4.8/integrate-a-custom-theme.md#id-(4.8)IntegrateaCustomTheme-Default-Theme-Selectors) are valid within your theme

* Configure custom selectors by editing the `theme-integration.json` as described below

Regardless of which of the options you choose, your theme must be [marked as compatible](https://help.k15t.com/scroll-translations/4.8/integrate-a-custom-theme.md#id-(4.8)IntegrateaCustomTheme-Marking-theme-as-compatible).

### Supported themes

The following themes are supported out of the box:

* Atlassian Confluence Default Theme

* [Refined Theme](https://marketplace.atlassian.com/plugins/com.refinedwiki.confluence.plugins.theme.original/server/overview)
* [BitVoodoo Enterprise Theme](https://marketplace.atlassian.com/plugins/net.getunik.confluence.skin.core/server/overview)
* [Seibert Media's Linchpin](https://marketplace.atlassian.com/apps/1222226/linchpin-essentials-theme-profiles?hosting=server&tab=overview)

If you use another theme in a space with Scroll Translations enabled, a warning will display. To remove it, the theme must be marked as compatible and possibly adjusted.

### Integrated UI components

Find below the names and location of the UI components.

![vsn_custom_theme.png](https://help.k15t.com/__attachments/a_995feb08a341ffde6c3284da93e6600e701e1ea6874567390b0793e071256d7f/vsn_custom_theme.png?cb=7597dd3846875dd4e22e159bf51f92cc)

The following items are replaced in a versioned space:

* **Breadcrumbs**are replaced to reflect possibly different page titles

* **Page tree** is replaced to better reflect the pages in the selected version

* **Page title** is replaced by the Scroll page title

Additionally, the following components are added to a page:

* **Scroll Content Management toolbar** contains pickers for versions, variants, and languages

* **Byline** provides various page information like the version, variant, workflow and language

* **Scroll Versions Dropdown** gives access to page-related Scroll Versions actions

* **_SvNavigation** is a page that that is included into the sidebar

* **_SvContentHeader** is a page that is included into the header

* **_SvContentFooter** is a page that is included into the footer

* **Page key** is displayed next to the page title

## Configure the Theme Integration

In spaces managed by Scroll Translations a JSON object renders into the page HTML which contains various context information. This object is used by JavaScript modules to integrate Scroll functionality and interface elements into the page. Adding your custom selectors to this JSON object will change where the UI components are inserted.

To add any code to the mentioned JSON, navigate to the [Advanced Plugin Settings](https://help.k15t.com/scroll-translations/4.8/advanced-plugin-settings.md) and locate the setting named **theme-integration.json**. Paste any customization into the text field for this setting, but make sure to adhere to the key-value notation.  
If you can't find the theme-integration.json, make sure Scroll Platform is selected in the top right of the Advanced Plugin Settings screen.

### Adding custom selectors

To overwrite a selector for a certain UI component, simply find its name in this table and use it as a key, while adding your selector as a string value.

**Example**: Let's say you want to change the location of the Content Management Toolbar to be in a \<div\> element with the ID "new-tool-bar". In the table below you can see that the selector's name is "contentManagementToolbarSelector". You would add the following to the theme-integration.json:

    {"contentManagementToolbarSelector": "#new-tool-bar"}

### Marking your theme as compatible

Even if your theme is based on the Confluence default theme and you don't need to change anything about the selectors, you'll get a warning about the theme not being compatible. To solve that, you'll need to add the following line to the theme-integration.json: `"isThemeCompatible": true`

**Example**: Let's use the changes from the example above and also mark it as compatible:

    {
    "contentManagementToolbarSelector": "#new-tool-bar",
    "isThemeCompatible": true
    }

### Configure the theme integration via REST

The setting above is stored as a JSON string is managed by the Advanced Plugin Settings for Scroll Add-Ons and can also be set via a REST call. You need to POST a JSON message against the following URL:

    $base_url$/rest/scroll-runtime/latest/settings/$spaceKey$

The message should look like this:

    {
    	"pluginKey": "com.k15t.scroll.scroll-platform",
     	"key": "theme-integration.json", 
     	"value": 
    		"{\"isThemeCompatible\": true}"
    }

This is the JSON string from above, wrapped in a generic JSON message format used for the Advanced Plugin Settings - pay attention to the correct escaping if you add more properties from Configuration properties.

To achieve this you can use a REST client of your choice, like Postman or DHC in Chrome or curl on the command line.

Here's an example invocation for curl to achieve the same effect that is achieved above via the UI:

    curl --header "Content-Type: application/json" -X POST --user username:password --data '{"pluginKey": "com.k15t.scroll.scroll-platform","key": "theme-integration.json", "value":"{\"isThemeCompatible\": true}"}' $base_url$/rest/scroll-runtime/latest/settings/$spaceKey$

## Confluence Default Theme Selectors

Fields:  

|                  Name                   |  Type  |                                      Description                                       |
|-----------------------------------------|--------|----------------------------------------------------------------------------------------|
| `breadcrumbsFilter`                     | String | "\> li:has(a\[href\*=\\"collector\\"\]) \~ li"                                         |
| `breadcrumbsSelector`                   | String | "#breadcrumbs"                                                                         |
| `breadcrumbsTypeFilter`                 | String | "space"                                                                                |
| `contentManagementToolbarSelector`      | String | ".theme-default #custom-content-header, .theme-default #main-header"                   |
| `customCssSelectorsToHide`              | String | ".ia-secondary-container\[data-tree-type=pages\]"                                      |
| `customJavaScript`                      | String | "Scroll.Versions.ThemeIntegration.ConfluenceDefault.postProcess"                       |
| `pageKeySelector`                       | String | "#title-text"                                                                          |
| `pageTitleSelector`                     | String | "#title-text a:first-of-type"                                                          |
| `pageTreeChildrenContainerSelector`     | String | ".sv-pt-children.plugin_pagetree_children_list"                                        |
| `pageTreeChildrenTemplate`              | String | "Scroll.Versions.Templates.ThemeIntegration.ConfluenceDefault.childrenDefaultTheme"    |
| `pageTreeChildrenToggleClassesToToggle` | String | "icon-section-opened icon-section-closed"                                              |
| `pageTreeContainerSelector`             | String | ".ia-secondary-container\[data-tree-type=page-tree\] .ia-secondary-content"            |
| `pageTreeContainerTemplate`             | String | "Scroll.Versions.Templates.ThemeIntegration.ConfluenceDefault.defaultThemeIntegration" |
| `svBylineSelector`                      | String | "append: .page-metadata"                                                               |
| `svContentFooterSelector`               | String | "append: #main"                                                                        |
| `svContentHeaderSelector`               | String | "before: #main-header"                                                                 |
| `svNavigationSelector`                  | String | "after: .acs-nav-wrapper"                                                              |

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Knowledge Base

Select one of the following topics:  
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.8/using-collaborative-editing.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.8/using-inline-comments.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.8/initially-displayed-language.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.8/link-to-a-specific-language.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.8/translated-knowledge-base-for-jsm.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.8/display-the-page-tree-in-a-page.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Supported Macros and Features](https://help.k15t.com/scroll-translations/4.8/supported-macros-and-features.md)
* [How to Change Default Language](https://help.k15t.com/scroll-translations/4.8/how-to-change-default-language.md)
* [How to Restore a Deleted Language](https://help.k15t.com/scroll-translations/4.8/how-to-restore-a-deleted-language.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Link to a Specific Language

## Question

I want to provide a specific url for one of my pages in a specific language. Is it possible to provide the target language in the URL?

## Answer

You can link to a page translated with Scroll Translations by adding the "`scmLanguageKey=<languageCode>`" parameter to the URL. This can be done with [Pretty URLs](https://confluence.atlassian.com/confkb/the-differences-between-various-url-formats-for-a-confluence-page-278692715.html) or with the corresponding "`viewpage.action`" URL. With Pretty URLs the required parameters have to be added manually, whereas for the viewpage URL you only need to retrieve the link.

If you use the viewpage URL as a base, follow the steps below:

1. Navigate to the page you want to link to

2. Click the language picker

3. Secondary (right) click the desired target language

4. Choose **Copy Link** /**Copy Link Address**

Now you are done. Try pasting the URL in your browser and navigate to the translated page.

Here's an example of how the link might look. For this specific URL, German is defined as the target language:

`http://<baseurl>/confluence/pages/viewpage.action?pageId=<1234>&scmLanguageKey=de`

If you use Confluence's Pretty URL as a base, follow these steps:

1. Start with following the steps above to retrieve the viewpage URL

2. Copy the scmLanguageKey parameter and its value from the viewpage URL

3. In the browser address field, copy the URL of the page you want to link to

4. Add a question mark "?" at the end of the URL as a separator followed by the scmLanguageKey parameter and its language value

Well done! Now, paste the URL in your browser and navigate to the translated page.

Here's an example of how the link might look. For this specific URL, English is defined as the target language:

`http://<baseurl>/confluence/display/<spacekey>/<page title>?scmLanguageKey=en`

If you're using the [page key functionality in Scroll Versions](https://help.k15t.com/scroll-versions/?contextKey=intro-to-context-sensitive-help&version=latest&variant=default), you can also link directly to translated pages by appending the URL parameter `lang=<languageCode>` behind your page key in the url. For example: `...URL.../display/_PK/VSN10/PUB143?lang=de`

Last updated: November 20, 2025

---
version: "4.8"
language: "en"
---
# Migrate Spaces That No Longer Need Scroll Translations

If you previously activated Scroll Translations in a space but no longer need multiple languages for your content or have decided to move away from it, you should [deactivate Scroll Translations](https://help.k15t.com/scroll-translations/4.8/deactivate-scroll-translations.md) in those spaces. This is especially crucial if you plan to migrate these spaces to Confluence Cloud, as Scroll Translations is not available on the Cloud platform, and thus you'll end up with unknown macros, but is also a common best-practice in order to clean up your spaces.

## Is There Anything I Need to Be Aware of during the Migration Process?

After you have deactivated Scroll Translations in a space it will turn into a normal Confluence space, and it can easily be migrated using the [Confluence Cloud Migration Assistant](https://support.atlassian.com/confluence-cloud/docs/migrate-a-confluence-cloud-site-or-space/).

## What If I Want to Keep Translating Content after the Migration?

If you still need to translate content after the migration, you have to convert your spaces to the next generation app Scroll Content Manager before migrating them to Cloud. However, if having translations in this specific space is no longer necessary, you can proceed with deactivating Scroll Translations and migrate your spaces to Cloud without any additional steps, using the Confluence Cloud Migration Assistant.

Last updated: April 02, 2026

---
version: "4.8"
language: "en"
---
# Migrate to Confluence Cloud

Scroll Translations and Scroll Versions in their current form will not be released for Confluence Cloud due to how deeply they integrate with Confluence Server. Instead, we're putting our efforts into Scroll Content Manager as the next generation for versioning and communication on Confluence Cloud. For features like variants and translations, we've introduced extension apps:[Translations for Scroll Content Manager](https://marketplace.atlassian.com/apps/1227238/translations-for-scroll-documents?hosting=cloud&tab=overview) and [Variants for Scroll Content Manager](https://marketplace.atlassian.com/apps/1226295/variants-for-scroll-documents?hosting=cloud&tab=overview).

If Cloud migration is not yet possible for your team, K15t will continue to maintain Scroll Versions and Scroll Translations for Confluence Data Center.

We are fully committed to enable every Scroll Versions and Scroll Translations user to migrate to Confluence Cloud via Scroll Content Manager. We are improving feature parity between the apps and have released an automated conversion path in Scroll Versions and Scroll Translations to enable a conversion to Scroll Content Manager.

For a deep dive into Scroll Content Manager, the conversion process, and what you need to do, check out the [**Scroll Apps Migration Hub**](https://migration.k15t.com/scroll-apps/?contextKey=migration-introduction&version=latest)**→**

If you've chosen not to go with a Scroll Content Manager conversion and prefer to migrate your spaces to Cloud without any translation features, please continue to the article below:  
* [Migrate Spaces That No Longer Need Scroll Translations](https://help.k15t.com/scroll-translations/4.8/migrate-spaces-that-no-longer-need-scroll-translat.md)

Last updated: April 02, 2026

---
version: "4.8"
language: "en"
---
# Navigate the App

When you activate Scroll Translations in your space new elements will be added to Confluence user interface (UI). In this article we will introduce you to these UI elements.

## New UI Elements in Confluence Page View

![scroll-translations-ui-page-view.png](https://help.k15t.com/__attachments/a_106cf5fff576aad147cceb221b62fbb1fb2ad990bbd6277f18dd3504217f0d03/scroll-translations-ui-page-view.png?cb=2e5e6636773e57aa0a05ab664b864802)

1. [Language Picker](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md#id-(4.8)NavigatetheApp-Language-Picker)
2. [Translate Button](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md#id-(4.8)NavigatetheApp-Translate-Button)
3. [Page Byline](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md#id-(4.8)NavigatetheApp-Page-Byline)
4. [Translations Report](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md#id-(4.8)NavigatetheApp-Translations-Report)
5. [Copy Link Button](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md#id-(4.8)NavigatetheApp-Copy-Link)

### Language Picker

With the Language Picker you can choose which space language you want to work in. You can either work in the default language or in one of your defined target languages.

### Translate Button

If you [translate content directly in Confluence](https://help.k15t.com/scroll-translations/4.8/get-started-with-external-translation.md), you can use the Translate Button to start translating in the editor. You'll see that the Confluence editor has been extended to allow side-by-side translation.  
The Translate Button is only visible when you have selected a target language in the Language Picker. When you have the default language selected the Translate Button will change back to Confluence **Edit** button.

### Page Byline

The page byline provides information on the translation status of the page. If clicked the status can show as "Translated," "Outdated," or "Not translated."

### Translations Report

In the triple bar menu (**≡** ), you'll find the[Translations Report](https://help.k15t.com/scroll-translations/4.8/translations-report.md). With the Translations Report you can see the translations status of all the pages in the space.

### Copy Link Button

With the Copy Link Button you can create a share-link to the page in the currently selected language.

## New UI Elements in the Translations Editor

![scroll-translations-ui-editor-view.png](https://help.k15t.com/__attachments/a_ebeca42c58fdc6238d7a8f86decb68ec873bb7b5af22759637ecb97eaa8470f2/scroll-translations-ui-editor-view.png?cb=c30814477e2870eb80ba36deb5becf41)

1. [Language Indicator](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md#id-(4.8)NavigatetheApp-Working-Language)
2. [Original Language Panel](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md#id-(4.8)NavigatetheApp-Original-Language)
3. [Copy to Translation](https://help.k15t.com/scroll-translations/4.8/navigate-the-app.md#id-(4.8)NavigatetheApp-Copy-Translation)

### Language Indicator

The Language Indicator displays in which language you're currently translating the page.

### Original Language Panel

The Original Language Panel displays the original content you've added in the space's default language. The purpose of this panel is to give you an overview of the content you're translating.  
You can manually collapse and expand Original Language Panel by using the double arrows button (**\>\>**).

### Copy to Translation

With **Copy to Translation**, you can copy over the original content in the default language to translation. This function is useful as it saves you time from rebuilding the structure of the entire page. In other words, you can focus on translating the content without having to recreate content such as headings, tables, or macros.  

## Related articles

* [Supported Languages](https://help.k15t.com/scroll-translations/4.7/supported-languages.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.6/link-to-a-specific-language.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.8/initially-displayed-language.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.8/using-inline-comments.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.7/link-to-a-specific-language.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.6/initially-displayed-language.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.6/using-inline-comments.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.7/initially-displayed-language.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.7/working-with-drafts-in-other-languages.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.8/link-to-a-specific-language.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.6/supported-languages.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.6/working-with-drafts-in-other-languages.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.7/using-inline-comments.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Perform and log Scroll Health Checks

Scroll Health Checks let Space Administrators perform checks on Scroll Versions-related data, to help troubleshoot Scroll Versions-managed spaces, and provide better reports to the K15t support team.

You should only run these checks if you are having trouble with Scroll Translations, or have been asked to run the checks by K15t support. The following health checks are available in Scroll Translations:  

|                                 **Name**                                  |                                                                    **Description**                                                                    |                                                                     **If the check fails**                                                                      |                                    **Page Revision Comment on affected pages if the check fails**                                     |
|---------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| The Scroll Lookup Index is up to date                                     | Checks that the values in the Scroll Lookup Index are up to date with those values stored in Confluence pages and page metadata (content properties). | This check always fixes inconsistent values immediately, because all other subsequent checks rely on the correctness of the Scroll Lookup Index.                | -                                                                                                                                     |
| The Scroll configuration is valid                                         | Checks that the Scroll Configuration (activated modules, assigned roles) can be read.                                                                 | Send a [Confluence Support Zip](https://help.k15t.com/help/creating-confluence-support-zip) to the K15t Support Team via [help@k15t.com](mailto:help@k15t.com). | -                                                                                                                                     |
| All pages have a valid Scroll Page ID                                     | Checks that all pages have a 32-digit Scroll Page ID.                                                                                                 | Send a [Confluence Support Zip](https://help.k15t.com/help/creating-confluence-support-zip) to the K15t Support Team via [help@k15t.com](mailto:help@k15t.com). | -                                                                                                                                     |
| A translated page does not have translated title for the default language | Checks if a translated title doesn't exist for the default language.                                                                                  | Send a [Confluence Support Zip](https://help.k15t.com/help/creating-confluence-support-zip) to the K15t Support Team via [help@k15t.com](mailto:help@k15t.com). | The translated title "..." for the default language of the page has been removed, it was different from the Scroll page title "..."'. |

## Run Scroll Health Checks

Before running Scroll Health Checks, you must log in with Space Admin permissions.

1. Navigate to the affected Scroll Translations-managed space

2. Click **Space Tools** \>**Scroll Add-ons** \> **Administration** \> **Health Checks**. The available health checks are displayed.

3. Click **Check**.

## Review health check results

After the health checks have run, the results are displayed. More information about each check is stored in a separate health check log, which is automatically included in the [Confluence Support ZIP](https://help.k15t.com/help/creating-confluence-support-zip).

The check results are separated in four different categories:  

|        **Category**        |                                                                                                                                                                                                            **Description**                                                                                                                                                                                                            |
|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Manual intervention needed | All failed checks that need to be further analyzed by the K15t Support Team are displayed in this category. If you have checks displayed in this category, please create a [Confluence Support ZIP](https://help.k15t.com/help/creating-confluence-support-zip) and send it to the [K15t Support Team](mailto:help@k15t.com).                                                                                                         |
| Problems detected          | All failed checks that can be repaired automatically are displayed in this category. More information about the detected problems can be found in the [scroll health check log](https://k15t.jira.com/wiki/pages/resumedraft.action?draftId=14234649434#PerformandlogScrollHealthChecks-logs). To repair the detected problems, click **Repair**.                                                                                     |
| FixMe elements found       | All checks that need manual rework, because certain elements have automatically been created during the repair, are displayed in this category. More information about the FixMe elements can be found in the [scroll health check log](https://k15t.jira.com/wiki/pages/resumedraft.action?draftId=14234649434#PerformandlogScrollHealthChecks-logs). Please review the FixMe elements created by the Scroll Health Checks manually. |
| Passed checks              | All successfully passed, or automatically fixed checks are displayed in this category. More information about the fixes can be found in the [scroll health check log](https://k15t.jira.com/wiki/pages/resumedraft.action?draftId=14234649434#PerformandlogScrollHealthChecks-logs).                                                                                                                                                  |

## Check Scroll Health Check Logs

The Scroll Health Checks automatically create a new Scroll Health Check Log for every space a check has been run in (once a log file for a space is created, every further check within the same space is written in the same log file). The log file contains information about all exceptions, violations and fixes occurred during each check and is automatically included in the [Confluence Support ZIP.](https://help.k15t.com/help/creating-confluence-support-zip)

The logs have the naming pattern `scroll-health-check-<SPACEKEY>.log.csv`, and are stored in the `<confluence-home>/logs` directory.

The log file contains of the following types of log entries:  

| **Type**  |                **Description**                |
|-----------|-----------------------------------------------|
| REPORT    | Information about the configured checks       |
| EXCEPTION | a technical (unexpected) exception was thrown |
| VIOLATION | a configured check found invalid data         |
| FIX       | a check fixed invalid data                    |

For every type, the corresponding page and further details are displayed:  
![Screen Shot 2015-03-13 at 15.32.37.png](https://help.k15t.com/__attachments/a_4fc069dd54badba117a401f601813ba9ba017efedfcaa34df1fbd68e16839a43/Screen%20Shot%202015-03-13%20at%2015.32.37.png?cb=2264a73e8321c1ea9b029266c5b3ce47)

## Related articles

* [Supported Languages](https://help.k15t.com/scroll-translations/4.7/supported-languages.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.8/using-collaborative-editing.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.6/translated-knowledge-base-for-jsm.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.7/using-collaborative-editing.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.8/display-the-page-tree-in-a-page.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.8/translated-knowledge-base-for-jsm.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.7/translated-knowledge-base-for-jsm.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.6/using-collaborative-editing.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.7/working-with-drafts-in-other-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.7/display-the-page-tree-in-a-page.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.6/supported-languages.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.6/working-with-drafts-in-other-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.6/display-the-page-tree-in-a-page.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Permissions

In spaces where Scroll Translations is activated, certain actions can only be carried out if users are assigned specific [Confluence permissions](https://confluence.atlassian.com/doc/space-permissions-overview-139521.html).

Scroll Translations also introduces a permissions feature called [Scroll Roles](https://help.k15t.com/scroll-translations/4.8/scroll-roles.md). However, we recommend using Confluence permissions as this is a more straightforward approach for granting permissions.

## Confluence Permissions in Translated Spaces

Scroll Translations will treat you either as an Admin, an Author, or a Reader. You'll be treated as one of the three depending on the permissions in the space. The space permissions can be accessed via **Space tools \> Permissions**.

### Reader

Readers are users who only have **View** permissions in the space. As a Reader you can do the following:

* Read the content in the space.

* Switch between languages using the Language picker.

### Author

Authors are users with at least **Add page** permissions in the space. As an Author you can:

* Edit pages in the default language.

* Translate content in the target languages.

* View the translation status of pages in the Translations report.

### Admin

Admins are users who either have **Admin** permissions in the space or [global admin permissions](https://confluence.atlassian.com/doc/global-permissions-overview-138709.html). As an Admin you're authorized to perform the following administrative actions:

* Activate Scroll Translations in the space.

* Add target languages.

* Delete target languages.

* Export and import [translation zips](https://help.k15t.com/scroll-translations/4.8/get-started-with-external-translation.md).

## Related articles

* [Supported Languages](https://help.k15t.com/scroll-translations/4.7/supported-languages.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.6/link-to-a-specific-language.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.8/initially-displayed-language.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.8/using-inline-comments.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.7/link-to-a-specific-language.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.6/initially-displayed-language.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.6/using-inline-comments.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Initially Displayed Language](https://help.k15t.com/scroll-translations/4.7/initially-displayed-language.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.7/working-with-drafts-in-other-languages.md)
* [Link to a Specific Language](https://help.k15t.com/scroll-translations/4.8/link-to-a-specific-language.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.6/supported-languages.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.6/working-with-drafts-in-other-languages.md)
* [Using Inline Comments](https://help.k15t.com/scroll-translations/4.7/using-inline-comments.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Resolve "Render.xHTMLException" Error

## Problem

If you want to create a Translation ZIP, the following error occurs:  
![XhtmlException.png](https://help.k15t.com/__attachments/a_86e263e46c0e12103e67bd67a612faf0bf29df3e5ed0dbe1f58857994e084f94/XhtmlException.png?cb=a527c144691188b34fff63dbb2f66bda)

Besides the page content of pages with the content by label macro will not be displayed and a RuntimeException is printed in the log:

    [INFO] [talledLocalContainer] java.lang.RuntimeException: com.atlassian.confluence.content.render.xhtml.XhtmlException: RuntimeException occurred while performing an XHTML storage transformation (java.lang.String cannot be cast to com.atlassian.confluence.content.render.xhtml.model.resource.identifiers.ResourceIdentifier)
    [INFO] [talledLocalContainer]     at com.k15t.scroll.platform.model.translation.transformers.ExtractTranslationContentTransformer.transform(ExtractTranslationContentTransformer.java:69)
    [INFO] [talledLocalContainer]     at com.k15t.scroll.platform.model.translation.pages.AbstractTranslatedPage.getContent(AbstractTranslatedPage.java:118)
    [INFO] [talledLocalContainer]     at com.k15t.scroll.platform.model.translation.provider.Translatable.<init>(Translatable.java:16)
    ...
    [INFO] [talledLocalContainer] Caused by: com.atlassian.confluence.content.render.xhtml.XhtmlException: RuntimeException occurred while performing an XHTML storage transformation (java.lang.String cannot be cast to com.atlassian.confluence.content.render.xhtml.model.resource.identifiers.ResourceIdentifier)
    [INFO] [talledLocalContainer]     at com.atlassian.confluence.content.render.xhtml.storage.StorageXhtmlTransformer.transform(StorageXhtmlTransformer.java:64)
    [INFO] [talledLocalContainer]     at com.atlassian.confluence.content.render.xhtml.DefaultXhtmlContent.replaceMacroDefinitionsWithString(DefaultXhtmlContent.java:215)
    [INFO] [talledLocalContainer]     at sun.reflect.GeneratedMethodAccessor1276.invoke(Unknown Source)
    ...
    [INFO] [talledLocalContainer] Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to com.atlassian.confluence.content.render.xhtml.model.resource.identifiers.ResourceIdentifier
    [INFO] [talledLocalContainer]     at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV2Marshaller.writeParameterValue(StorageMacroV2Marshaller.java:174)
    [INFO] [talledLocalContainer]     at com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV2Marshaller.access$500(StorageMacroV2Marshaller.java:40)
    ...

## Environment

* Scroll Versions

* Scroll Translations

## Resolution

1. Deactivate Scroll Versions and Scroll Translations in the Confluence's UPM,

2. search for pages with 'Content by Label' macro (see [How to search Confluence for usage of a macro](https://confluence.atlassian.com/doc/confluence-search-syntax-158720.html)),

3. open affected pages,

4. click **Edit**,

5. save pages without edits,

6. enable Scroll Versions and Scroll Translations back in the Confluence's UPM.

## Cause

If Scroll Versions or Scroll Translations is activated, pages containing a [Content by Label Macro](https://confluence.atlassian.com/display/DOC/Content+by+Label+Macro) will **not** be displayed correctly if the space has been created using the Documentation Blueprint.  
There is an equivalent issue at Atlassian: [CONF-33890](https://jira.atlassian.com/browse/CONF-33890)

Please vote for this issue.

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Restrict Scroll Translations Activation by Space

Confluence Administrators can restrict which spaces Scroll Translations can be activated in at **General configuration \> Scroll Runtime \> Advanced Plugin Settings \> Scroll Platform** (or**Scroll Translations** ). Edit **translations.restrict.to.spaces** and insert the space keys for each space where Scroll Translations should be able to be activated, separated by commas.

No changes will be made to spaces where Scroll Translations is already enabled, but a warning will be displayed in the space admin section. Modules that were already enabled will still be active, and it will still be possible to add further languages, etc.  
**Restrictions don't apply to Confluence Administrators**

Only Confluence Administrators can configure these restrictions, and the restrictions don't apply to them. They will always be able to activate and deactivate Scroll Translations modules in any space. A warning will still be displayed when a Confluence admin enters the space admin section in a space where use of Scroll Translations isn't permitted.

Now, Scroll Translations cannot be activated in spaces that aren't in the list. If a space admin views the Scroll Add-ons tab in a space that isn't in the list, no Scroll Translations screens will be displayed. These restrictions also apply to REST calls. If a space isn't on the restriction list, space admins will only be able to disable modules using the REST resource, not enable them.  

## Related articles

* [Supported Languages](https://help.k15t.com/scroll-translations/4.7/supported-languages.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.8/using-collaborative-editing.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.6/translated-knowledge-base-for-jsm.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.7/using-collaborative-editing.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.8/supported-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.8/display-the-page-tree-in-a-page.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.8/translated-knowledge-base-for-jsm.md)
* [Translated Knowledge Base for JSM](https://help.k15t.com/scroll-translations/4.7/translated-knowledge-base-for-jsm.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.8/working-with-drafts-in-other-languages.md)
* [Using Collaborative Editing](https://help.k15t.com/scroll-translations/4.6/using-collaborative-editing.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.7/working-with-drafts-in-other-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.7/display-the-page-tree-in-a-page.md)
* [Supported Languages](https://help.k15t.com/scroll-translations/4.6/supported-languages.md)
* [Working with Drafts in Other Languages](https://help.k15t.com/scroll-translations/4.6/working-with-drafts-in-other-languages.md)
* [Display the Page Tree in a Page](https://help.k15t.com/scroll-translations/4.6/display-the-page-tree-in-a-page.md)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Scroll Roles

In addition to [Confluence space permissions](https://confluence.atlassian.com/doc/space-permissions-overview-139521.html), Scroll Translations introduces a permissions feature called Scroll Roles. With Scroll Roles you can apply additional permission control over Scroll Translations specific features.  
We mainly recommend using Scroll Roles if one of the following conditions applies to your case:

* You are also using [Scroll Versions](https://marketplace.atlassian.com/apps/1210818/scroll-versions-for-confluence?hosting=datacenter&tab=overview) in your space.

* If the required permissions can't be assigned using [Confluence space permissions](https://help.k15t.com/scroll-translations/4.8/permissions.md).

## Scroll Roles in Translated Spaces

When Scroll Translations is enabled in the space, you'll have access to the Translator and Doc-Admin roles. Scroll Roles can be found via **Space tools \> Scroll add-ons \> Roles**.  
If you use [Scroll Versions](https://help.k15t.com/scroll-versions/?contextKey=get-started&version=latest&variant=default) in the same space, you'll also have the possibility to assign the roles Author and Reviewer.

### Translators

A user assigned the role as Translator has permissions to:

* Edit pages in the default language.

* Translate content in the target languages.

* View the translation status of pages in the Translations report.

If you [translate content externally](https://help.k15t.com/scroll-translations/4.8/get-started-with-external-translation.md), you need [space admin](https://help.k15t.com/scroll-translations/4.8/permissions.md)or Doc-Admin permissions.

### Doc-Admins

A user assigned the role as Doc-Admin can:

* Activate Scroll Translations in the space.

* Add target languages.

* Delete target languages.

* Export and import translation zips.

* Assign Scroll Roles.

Only Doc-Admins can access the Languages management. Hence, its only the Doc-admins who can add and delete languages, as well as import and export translation files.

### Authors and Reviewers

When Scroll Versions is used in the space you can also assign the Author and Reviewer roles. If a user is assigned as Author or Reviewer, they can perform the following actions:

* **Author:**Edit a page in the default language and access the Translations report.

* **Reviewer** : Browse between languages and review content that has been submitted for review in a [workflow](https://k15t.jira.com/wiki/pages/createpage.action?spaceKey=VSNDOC&title=.Intro%20to%20Workflows%20v3.12).

If you assign one role you need to assign all, when all roles aren't assigned the permissions in the space won't work as expected.

Last updated: November 20, 2025

---
version: "4.8"
language: "en"
---
# Scroll Search

Scroll Search integrates spaces managed by Scroll Versions and Scroll Translations with the native Confluence search and enables easy searching and filtering of different versions, variants and languages.

## Using Scroll Search

Scroll Versions and Scroll Translations introduce space-wide version, variant and language settings that affect the content that is displayed on a given page. The native Confluence search differentiates between content types like pages, blog posts, attachments and more, but isn't aware of different space versions, variants or languages. This can cause the search to return results that are in the wrong language, version or variant if Scroll Search is disabled.

Scroll Search introduces **Scroll Page** as a searchable content type. In addition, **Language** , **Version** and **Variant**are now available as filters in the advanced Confluence search.

### Quick search

In the quick search, Scroll Page can now be selected as a content type.

![scroll-search-quick-search.png](https://help.k15t.com/__attachments/a_585db8e80200bf64dd4e6237cbcdc3c3d2f06b036de213c602e188043dfe846e/scroll-search-quick-search.png?cb=39c3b34c9051361a6b2aa8c0a06ab589)

### Advanced search

In the advanced search, Scroll Page can also be selected as a content type in the custom category. In addition, under **Add a filter**, Language, Version and Variant can be filtered for.

![scroll-search-advanced-search.png](https://help.k15t.com/__attachments/a_4f4421187af82e1a2dd4b075998d0e34a68289cc2d453d239d2d895661e3292e/scroll-search-advanced-search.png?cb=e8fd2f420c045afb84b312a316c159e3)

### Enable Scroll Search

Navigate to Space tools \> Scroll Add-ons \> Administration \> Scroll Search and click **A** **ctivate.**After activation, the index task for that space is started. Learn more about indexing in the next section.

![scroll-search-activate.png](https://help.k15t.com/__attachments/a_5b14fdb0a59ab72b9d0b3fadb223dea036ae96310c934e95e427f41b65e2c6e6/scroll-search-activate.png?cb=c9fff639e4c955f999b9cbe5fc2e2068)

### Indexing of Scroll Pages

In order for Scroll Pages to be searchable, they must be indexed as part of the Confluence search index. As Scroll Pages are indexed using a custom content type, they require a full index task of the space upon activation of the Scroll Search feature. Once indexing has completed, Scroll Pages appear in Confluence search results and lead the user to the correct version, variant and language context.

### Performance implications

Generally speaking, Scroll Pages require more index entries than normal Confluence pages because different versions, variants and languages are indexed separately. Depending on the particular setup of a space, updating the index after making changes can take considerably longer than usual. However, since those updates usually only take a split second to complete, the increase shouldn't be very noticeable.  
Performance of reading tasks like viewing pages or performing searches is**not affected** by Scroll Search activation.

The increase in indexing time is proportional to:

* Number of versions

* Number of change pages between different versions

* Number of variants

* Number of languages

### Full reindex actions

Within Scroll Versions and Scroll Translations, there are a number of content management actions that authors can perform that have a major impact on the Scroll Page index. These actions would trigger a full reindex of a space, which can take a long time depending on the factors above and the general page count within the space.

These actions include:

* Creating, renaming, merging, rescheduling or deleting a version

* Creating, renaming or deleting variants

* Renaming or deleting attributes

* Creating or removing languages

* Importing translations

During a reindex triggered by those actions, no other admin task can be performed.

For the reasons above we recommend you try Scroll Search in smaller spaces first to test how well the system handles the additional load.

If you have questions about your individual setup, please reach out to [help@k15t.com.](mailto:help@k15t.com)

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Scroll Translations Administration via REST API

You can use the REST API to retrieve (and edit) multiple settings on how Scroll Translations is configured in a space.  

## REST functionality is not officially supported

The REST API functionality described on this page is not officially supported, and may change in the future.

## Resources

Scroll Translations and Scroll Versions are sharing the same REST API. For detailed resource documentation, please refer to [Scroll Versions REST API documentation.](https://help-cloud.k15t.com/scroll-versions/4.5/rest-api-resources)

## Retrieve information on Scroll Translations configuration in a space

You can get space information about enabled/disabled Scroll Translation modules by sending a GET request to the following URL:  

|  Resource   | http://<host>:<port>/rest/scroll-versions/latest/config/<space-key> |
| HTTP Method |                                 GET                                 |
| HTTP Header |                    Authorization via Basic Auth                     |
|-------------|---------------------------------------------------------------------|

This request returns a JSON document containing all relevant information:
JavaScript

    {
      "enableVersionManagement":true,
      "enableTheme":true,
      "enableWorkflow":false,
      "enableTranslation":false,
      "enableVariants":false,
      "enablePermalinks":true,
      "reviewers":[],
      "authors":[],
      "docadmins":["confluence-administrators"],
      "translators":[]
    }

## Modify Scroll Translations configuration in a space

Scroll Translations modules can be enabled/disabled and permissions can be set by sending a POST request to the following URL:  

|   Resource    |                                                                                                             http://<host>:<port>/rest/scroll-versions/latest/config/<space-key>                                                                                                              |
|  HTTP Method  |                                                                                                                                             POST                                                                                                                                             |
|  HTTP Header  |                                                                                                                                 Authorization via Basic-Auth                                                                                                                                 |
| Content-Type  |                                                                                                                                       application/json                                                                                                                                       |
| JSON Document | JavaScript { "enableVersionManagement":true, "enableTheme":true, "enableWorkflow":false, "enableTranslation":false, "enableVariants":false, "enablePermalinks":true, "reviewers":["doc-reviewers"], "authors":["doc-authors"], "docadmins":["confluence-administrators"], "translators":[] } |
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

## Remove translation from a page and mark it as not translated

|    Resource    |                                                              http://<host>:<port>/rest/scroll-versions/1.0/translation/{pageId}/{languageKey}                                                              |
|  HTTP Method   |                                                                                                   DELETE                                                                                                   |
|  HTTP Header   |                                                                                        Authorization via Basic-Auth                                                                                        |
| URL Parameters | * *pageId* in the Confluence Page ID that can be found out by accessing Page Tools → Page Information. The id will be visible in the URL. * *languageKey* is the key of the language (e.g. en for English) |
|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

Last updated: October 01, 2025

---
version: "4.8"
language: "en"
---
# Security Advisories

IssuekeySummaryTypeDuedateStatusResolutionFixversionsCustomfield_14104Key

Last updated: October 01, 2025

[Next Page](https://help.k15t.com/llms-full.txt/1)
