1. Add to workspace
Copy this doc to your workspace Close this doc and open your copy Open doc options and click “Make doc into a template”
4. Use this template when creating a document or import it into existing document
2. Set up backend
Whatever you are translating, needs to be in a table. To show translated text on canvas, go to . Use custom table
If you don’t have it, create table and create a Original column for text that needs to be translated create a Handle column that will be used to easily find the row optionally you can use structure for naming columns: Page, Element and Block Go to and follow instructions there to plug in the table Go back to your table and create Edit URL column. Add this formula: Format([@-Reference to a row in DB Settings with this table].[Column Popup URL Template],thisRow.UID)
create Display column. Add this formula (or copy it from [DB Texts].Display): WithName(
[DB Targets].Filter(Translation.Target = [Flow 1].[Current Lang] and Source = thisRow).First(),
TranslatedVersion,
If(thisRow.Original.IsBlank(),
If(CurrentFlow.[Visual editing],
Hyperlink([thisRow].[Edit URL],[text-site-header-empty].Original),
"Empty. Enable visual editing to edit this."
),
If(CurrentFlow.[Show source version],
If(CurrentFlow.[Visual editing],
Hyperlink(thisRow.[Edit URL], thisRow.Original),
thisRow.Original
),
if(CurrentFlow.[Visual editing],
Hyperlink(TranslatedVersion.[Edit URL],TranslatedVersion.[Translated text]),
TranslatedVersion.[Translated text]
))))
optionally change [text-site-header-empty] to some other value that will show if the original text is empty create Page formula column. Add this formula: Format("@[{1}].Display",thisRow.Handle) create Prepare translations button. Name it “Prepare translations for” + the name of your table, add label “Prepare translations” Add this formula to the Action of the Prepare translations button [DB Translations]
.FormulaMap(
WithName(CurrentValue,CurrentTranslation,
[DB Texts].Filter(CurrentValue.In(
[DB Targets].Filter(Translation = CurrentTranslation).Source) =false)
.FormulaMap(
WithName(
CurrentValue,CurrentSource,
[DB Targets]
.AddRow(
[DB Targets].Translation,CurrentTranslation,
[DB Targets].Source,CurrentSource
)))))
create Translate button. Name it “Translate” + the name of your table, add label “Translate” add this formula to the action of Translate button: [DB Targets].Filter(Source.In([DB Texts])).Automatic create Delete with translations button column in the table. Add formula to button action: RunActions(
DeleteRows([DB Targets].Filter(Source=thisRow)),
DeleteRows(thisRow)
)
5. You can now add rows with texts into this table.
6. To translate texts, simply first click Prepare translation button, and then Translate button. Depending on how many translations are needed, it will take some time to execute.
Use provided table
With this template, we have provided a table DB Texts. This table is already set up and ready to be translated. If you just have some texts that you want to translate, you can add them to this table. Simply add new rows and first click Prepare translation button, and then Translate button. Depending on how many translations are needed, it will take some time to execute.
3. Set up frontend
Use custom pages
You can translate your existing page.
Copy all the texts from the page to custom origin table (see: ) or to the provided table. Then reference the texts on the page this way:
If the text is translated, switching the language will work.
Copy provided page
Go to , and click Add new page button. Open and rename your new page. Add content to your page this way:
4. Style your content as a paragraph to maintain style across all translations this way:
5. When you are done inserting content to the page, just delete the helper tables:
Finally, go to DB Texts, click Prepare translations button and then Translate button. This will translate your content.
You can then visually edit different translations directly on the page, or disable this option in .