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
| Key | English default |
|---|---|
undo | Undo |
redo | Redo |
bold | Bold |
italic | Italic |
underline | Underline |
strike | Strike |
subscript | Subscript |
superscript | Superscript |
clearFormatting | Clear Formatting |
bulletList | Bullet List |
orderedList | Ordered List |
alignLeft | Align Left |
alignCenter | Align Center |
alignRight | Align Right |
alignJustify | Justify |
toggleAdvanced | Toggle Advanced Toolbar |
heading1 | Heading 1 |
heading2 | Heading 2 |
heading3 | Heading 3 |
fontFamily | Font Family |
fontSize | Font Size |
lineHeight | Line Height |
textColor | Text Color |
highlightColor | Highlight Color |
outdent | Outdent |
indent | Indent |
blockquote | Blockquote |
horizontalRule | Divider Line |
image | Insert Image |
youtube | Insert YouTube Video |
table | Insert Table (3x3) |
addColumnBefore | Add Column Before (Right in RTL) |
addColumnAfter | Add Column After (Left in RTL) |
deleteColumn | Delete Column |
addRowBefore | Add Row Before |
addRowAfter | Add Row After |
deleteRow | Delete Row |
mergeCells | Merge Cells |
splitCell | Split Cell |
deleteTable | Delete Table |
specialCharacters | Special Characters |
toggleHtml | Toggle Source Code View (HTML) |
toggleFullscreen | Toggle Fullscreen |
darkModeToggle | Toggle Dark Mode |
insertImageTitle | Insert Image (modal title) |
insertYoutubeTitle | Insert YouTube Video (modal title) |
imageUrlLabel | Or enter image URL |
youtubeUrlLabel | YouTube Video URL |
uploadLabel | Upload local image file |
insertBtn | Insert |
cancelBtn | Cancel |
placeholder | Write 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.
