Atelier Logo

Atelier

Guides

Localization and RTL

Two locales ship out of the box — English and Arabic — with runtime label overrides.

Localization and RTL

Two locales ship out of the box: en and ar. Setting lang="ar" automatically enables RTL direction — you do not need to also set rtl.

Use the labels prop to override individual strings on top of the active locale or to build a custom locale. Only provide the keys you want to override; all others fall back to the active locale.

Full list of overridable label keys

KeyEnglish default
undoUndo
redoRedo
boldBold
italicItalic
underlineUnderline
strikeStrike
subscriptSubscript
superscriptSuperscript
clearFormattingClear Formatting
bulletListBullet List
orderedListOrdered List
alignLeftAlign Left
alignCenterAlign Center
alignRightAlign Right
alignJustifyJustify
toggleAdvancedToggle Advanced Toolbar
heading1Heading 1
heading2Heading 2
heading3Heading 3
fontFamilyFont Family
fontSizeFont Size
lineHeightLine Height
textColorText Color
highlightColorHighlight Color
outdentOutdent
indentIndent
blockquoteBlockquote
horizontalRuleDivider Line
imageInsert Image
youtubeInsert YouTube Video
tableInsert Table (3x3)
addColumnBeforeAdd Column Before (Right in RTL)
addColumnAfterAdd Column After (Left in RTL)
deleteColumnDelete Column
addRowBeforeAdd Row Before
addRowAfterAdd Row After
deleteRowDelete Row
mergeCellsMerge Cells
splitCellSplit Cell
deleteTableDelete Table
specialCharactersSpecial Characters
toggleHtmlToggle Source Code View (HTML)
toggleFullscreenToggle Fullscreen
darkModeToggleToggle Dark Mode
insertImageTitleInsert Image (modal title)
insertYoutubeTitleInsert YouTube Video (modal title)
imageUrlLabelOr enter image URL
youtubeUrlLabelYouTube Video URL
uploadLabelUpload local image file
insertBtnInsert
cancelBtnCancel
placeholderWrite something...

French locale example

// Stable readonly reference — not a getter, not an inline literal
readonly labels: Partial<Record<string, string>> = {
  bold: 'Gras',
  italic: 'Italique',
  underline: 'Souligné',
  strike: 'Barré',
  table: 'Insérer un tableau (3×3)',
  toggleHtml: 'Voir le code source HTML'
};

Bind it like any other prop: Angular [labels]="labels", Vue :labels="labels", React labels={LABELS}, Vanilla labels: { ... } in the constructor options.

Arabic locale is built-in — lang="ar" activates it completely including direction. Use labels only to override individual Arabic strings.

On this page