Skip to content

Commit bce225f

Browse files
r-farkhutdinovRuslan Farkhutdinov
andauthored
HtmlEditor: Add localization variables for AI commands & options (#31919)
Co-authored-by: Ruslan Farkhutdinov <[email protected]>
1 parent b5ca5be commit bce225f

File tree

32 files changed

+1003
-23
lines changed

32 files changed

+1003
-23
lines changed

packages/devextreme/js/__internal/ui/html_editor/modules/m_toolbar.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ import Quill from 'devextreme-quill';
2626
import type { CommandsMap } from '../utils/ai';
2727
import {
2828
buildCommandsMap,
29-
defaultCommandNames,
29+
commandMessageKeys,
30+
getDefaultCommandName,
3031
getDefaultOptionsByCommand,
3132
hasInvalidCustomCommand,
3233
} from '../utils/ai';
@@ -368,17 +369,17 @@ if (Quill) {
368369
commandOptions?: string[],
369370
) {
370371
const options = commandOptions?.map(capitalize)
371-
?? getDefaultOptionsByCommand(command)?.map(capitalize);
372+
?? getDefaultOptionsByCommand(command);
372373

373374
const item = {
374375
id: command,
375376
name: command,
376-
text: text ?? defaultCommandNames[command],
377+
text: text ?? getDefaultCommandName(command),
377378
items: options?.map((option) => ({
378379
id: option,
379380
text: option,
380381
parentCommand: command,
381-
options: options?.map(capitalize),
382+
options,
382383
})),
383384
};
384385

@@ -445,7 +446,7 @@ if (Quill) {
445446
_prepareAIMenuItemConfig(item: AIToolbarItem) {
446447
const {
447448
name = TOOLBAR_AI_ITEM_NAME,
448-
commands = Object.keys(defaultCommandNames) as AICommandName[],
449+
commands = Object.keys(commandMessageKeys) as AICommandName[],
449450
} = item;
450451

451452
const commandsMap = buildCommandsMap(commands);

packages/devextreme/js/__internal/ui/html_editor/utils/ai.ts

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import type {
1717
TranslateCommandParams,
1818
TranslateCommandResult,
1919
} from '@js/common/ai-integration';
20+
import localizationMessage from '@js/common/core/localization/message';
2021
import type {
2122
AIChangeStyleOption,
2223
AIChangeToneOption,
@@ -75,15 +76,25 @@ export type AICommandExecutor<T extends AICommandNameExtended> = (
7576
callbacks: RequestCallbacks<AICommandResultMap[T]>,
7677
) => () => void;
7778

78-
export const defaultCommandNames: Record<AICommandName, string> = {
79-
summarize: 'Summarize',
80-
proofread: 'Proofread',
81-
expand: 'Expand',
82-
shorten: 'Shorten',
83-
changeStyle: 'Change Style',
84-
changeTone: 'Change Tone',
85-
translate: 'Translate',
86-
askAI: 'Ask AI',
79+
export const commandMessageKeys: Record<AICommandName, string> = {
80+
summarize: 'dxHtmlEditor-aiCommandSummarize',
81+
proofread: 'dxHtmlEditor-aiCommandProofread',
82+
expand: 'dxHtmlEditor-aiCommandExpand',
83+
shorten: 'dxHtmlEditor-aiCommandShorten',
84+
changeStyle: 'dxHtmlEditor-aiCommandChangeStyle',
85+
changeTone: 'dxHtmlEditor-aiCommandChangeTone',
86+
translate: 'dxHtmlEditor-aiCommandTranslate',
87+
askAI: 'dxHtmlEditor-aiCommandAskAI',
88+
};
89+
90+
export const getDefaultCommandName = (name: AICommandNameExtended): string => {
91+
const key = commandMessageKeys[name];
92+
93+
if (key) {
94+
return localizationMessage.format(key);
95+
}
96+
97+
return capitalize(name);
8798
};
8899

89100
const htmlEditorAIChangeStyleOptions: AIChangeStyleOption[] = [
@@ -114,21 +125,29 @@ const aiCommandNames = {
114125

115126
export type AICommandNameEnum = typeof aiCommandNames[keyof typeof aiCommandNames];
116127

128+
const getLocalizedCommandOption = (command: AICommandNameExtended): (
129+
option: AIChangeStyleOption | AIChangeToneOption | AITranslateOption
130+
) => string => (
131+
option: AIChangeStyleOption | AIChangeToneOption | AITranslateOption,
132+
): string => localizationMessage.format(`dxHtmlEditor-aiCommand${capitalize(command)}${capitalize(option)}`);
133+
117134
export const getDefaultOptionsByCommand = (
118135
command: AICommandNameExtended,
119-
): CommandOption[] | undefined => {
120-
const commandToOptionsMap: Record<string, CommandOption[]> = {
121-
changeStyle: htmlEditorAIChangeStyleOptions,
122-
changeTone: htmlEditorAIChangeToneOptions,
123-
translate: htmlEditorAITranslateOptions,
136+
): string[] | undefined => {
137+
const getLocalizedOption = getLocalizedCommandOption(command);
138+
139+
const commandToOptionsMap: Record<string, string[]> = {
140+
changeStyle: htmlEditorAIChangeStyleOptions.map(getLocalizedOption),
141+
changeTone: htmlEditorAIChangeToneOptions.map(getLocalizedOption),
142+
translate: htmlEditorAITranslateOptions.map(getLocalizedOption),
124143
};
125144

126145
return commandToOptionsMap[command];
127146
};
128147

129148
const createDefinitionFromString = (commandName: AICommandName): CommandDefinition => {
130-
const text = defaultCommandNames[commandName] ?? capitalize(commandName);
131-
const defaultOptions = getDefaultOptionsByCommand(commandName)?.map(capitalize);
149+
const text = getDefaultCommandName(commandName);
150+
const defaultOptions = getDefaultOptionsByCommand(commandName);
132151

133152
return {
134153
id: commandName,
@@ -146,8 +165,8 @@ const createDefinitionFromObject = (
146165
prompt?: (param?: string) => string,
147166
): CommandDefinition => {
148167
const capitalizedRaw = rawOptions?.map(capitalize);
149-
const options = capitalizedRaw ?? getDefaultOptionsByCommand(name)?.map(capitalize);
150-
const displayText = text ?? defaultCommandNames[name] ?? capitalize(name);
168+
const options = capitalizedRaw ?? getDefaultOptionsByCommand(name);
169+
const displayText = text ?? getDefaultCommandName(name);
151170

152171
const definition = {
153172
id,

packages/devextreme/js/localization/messages/ar.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,38 @@
578578
"dxHtmlEditor-aiToolbarItemAriaLabel": "AI Assistant toolbar item",
579579
"dxHtmlEditor-aiResultTextAreaAriaLabel": "AI Assistant result",
580580
"dxHtmlEditor-aiAskPlaceholder": "Ask AI to modify text",
581+
"dxHtmlEditor-aiCommandSummarize": "Summarize",
582+
"dxHtmlEditor-aiCommandProofread": "Proofread",
583+
"dxHtmlEditor-aiCommandExpand": "Expand",
584+
"dxHtmlEditor-aiCommandShorten": "Shorten",
585+
"dxHtmlEditor-aiCommandChangeStyle": "Change Style",
586+
"dxHtmlEditor-aiCommandChangeTone": "Change Tone",
587+
"dxHtmlEditor-aiCommandTranslate": "Translate",
588+
"dxHtmlEditor-aiCommandAskAI": "Ask AI",
589+
"dxHtmlEditor-aiCommandChangeStyleFormal": "Formal",
590+
"dxHtmlEditor-aiCommandChangeStyleInformal": "Informal",
591+
"dxHtmlEditor-aiCommandChangeStyleTechnical": "Technical",
592+
"dxHtmlEditor-aiCommandChangeStyleBusiness": "Business",
593+
"dxHtmlEditor-aiCommandChangeStyleCreative": "Creative",
594+
"dxHtmlEditor-aiCommandChangeStyleJournalistic": "Journalistic",
595+
"dxHtmlEditor-aiCommandChangeStyleAcademic": "Academic",
596+
"dxHtmlEditor-aiCommandChangeStylePersuasive": "Persuasive",
597+
"dxHtmlEditor-aiCommandChangeStyleNarrative": "Narrative",
598+
"dxHtmlEditor-aiCommandChangeStyleExpository": "Expository",
599+
"dxHtmlEditor-aiCommandChangeStyleDescriptive": "Descriptive",
600+
"dxHtmlEditor-aiCommandChangeStyleConversational": "Conversational",
601+
"dxHtmlEditor-aiCommandChangeToneProfessional": "Professional",
602+
"dxHtmlEditor-aiCommandChangeToneCasual": "Casual",
603+
"dxHtmlEditor-aiCommandChangeToneStraightforward": "Straightforward",
604+
"dxHtmlEditor-aiCommandChangeToneConfident": "Confident",
605+
"dxHtmlEditor-aiCommandChangeToneFriendly": "Friendly",
606+
"dxHtmlEditor-aiCommandTranslateArabic": "Arabic",
607+
"dxHtmlEditor-aiCommandTranslateChinese": "Chinese",
608+
"dxHtmlEditor-aiCommandTranslateEnglish": "English",
609+
"dxHtmlEditor-aiCommandTranslateFrench": "French",
610+
"dxHtmlEditor-aiCommandTranslateGerman": "German",
611+
"dxHtmlEditor-aiCommandTranslateJapanese": "Japanese",
612+
"dxHtmlEditor-aiCommandTranslateSpanish": "Spanish",
581613

582614
"dxFileManager-newDirectoryName": "دليل بدون عنوان",
583615
"dxFileManager-rootDirectoryName": "الملفات",

packages/devextreme/js/localization/messages/bg.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,38 @@
578578
"dxHtmlEditor-aiToolbarItemAriaLabel": "AI Assistant toolbar item",
579579
"dxHtmlEditor-aiResultTextAreaAriaLabel": "AI Assistant result",
580580
"dxHtmlEditor-aiAskPlaceholder": "Ask AI to modify text",
581+
"dxHtmlEditor-aiCommandSummarize": "Summarize",
582+
"dxHtmlEditor-aiCommandProofread": "Proofread",
583+
"dxHtmlEditor-aiCommandExpand": "Expand",
584+
"dxHtmlEditor-aiCommandShorten": "Shorten",
585+
"dxHtmlEditor-aiCommandChangeStyle": "Change Style",
586+
"dxHtmlEditor-aiCommandChangeTone": "Change Tone",
587+
"dxHtmlEditor-aiCommandTranslate": "Translate",
588+
"dxHtmlEditor-aiCommandAskAI": "Ask AI",
589+
"dxHtmlEditor-aiCommandChangeStyleFormal": "Formal",
590+
"dxHtmlEditor-aiCommandChangeStyleInformal": "Informal",
591+
"dxHtmlEditor-aiCommandChangeStyleTechnical": "Technical",
592+
"dxHtmlEditor-aiCommandChangeStyleBusiness": "Business",
593+
"dxHtmlEditor-aiCommandChangeStyleCreative": "Creative",
594+
"dxHtmlEditor-aiCommandChangeStyleJournalistic": "Journalistic",
595+
"dxHtmlEditor-aiCommandChangeStyleAcademic": "Academic",
596+
"dxHtmlEditor-aiCommandChangeStylePersuasive": "Persuasive",
597+
"dxHtmlEditor-aiCommandChangeStyleNarrative": "Narrative",
598+
"dxHtmlEditor-aiCommandChangeStyleExpository": "Expository",
599+
"dxHtmlEditor-aiCommandChangeStyleDescriptive": "Descriptive",
600+
"dxHtmlEditor-aiCommandChangeStyleConversational": "Conversational",
601+
"dxHtmlEditor-aiCommandChangeToneProfessional": "Professional",
602+
"dxHtmlEditor-aiCommandChangeToneCasual": "Casual",
603+
"dxHtmlEditor-aiCommandChangeToneStraightforward": "Straightforward",
604+
"dxHtmlEditor-aiCommandChangeToneConfident": "Confident",
605+
"dxHtmlEditor-aiCommandChangeToneFriendly": "Friendly",
606+
"dxHtmlEditor-aiCommandTranslateArabic": "Arabic",
607+
"dxHtmlEditor-aiCommandTranslateChinese": "Chinese",
608+
"dxHtmlEditor-aiCommandTranslateEnglish": "English",
609+
"dxHtmlEditor-aiCommandTranslateFrench": "French",
610+
"dxHtmlEditor-aiCommandTranslateGerman": "German",
611+
"dxHtmlEditor-aiCommandTranslateJapanese": "Japanese",
612+
"dxHtmlEditor-aiCommandTranslateSpanish": "Spanish",
581613

582614
"dxFileManager-newDirectoryName": "Untitled directory",
583615
"dxFileManager-rootDirectoryName": "Файлове",

packages/devextreme/js/localization/messages/ca.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,38 @@
578578
"dxHtmlEditor-aiToolbarItemAriaLabel": "AI Assistant toolbar item",
579579
"dxHtmlEditor-aiResultTextAreaAriaLabel": "AI Assistant result",
580580
"dxHtmlEditor-aiAskPlaceholder": "Ask AI to modify text",
581+
"dxHtmlEditor-aiCommandSummarize": "Summarize",
582+
"dxHtmlEditor-aiCommandProofread": "Proofread",
583+
"dxHtmlEditor-aiCommandExpand": "Expand",
584+
"dxHtmlEditor-aiCommandShorten": "Shorten",
585+
"dxHtmlEditor-aiCommandChangeStyle": "Change Style",
586+
"dxHtmlEditor-aiCommandChangeTone": "Change Tone",
587+
"dxHtmlEditor-aiCommandTranslate": "Translate",
588+
"dxHtmlEditor-aiCommandAskAI": "Ask AI",
589+
"dxHtmlEditor-aiCommandChangeStyleFormal": "Formal",
590+
"dxHtmlEditor-aiCommandChangeStyleInformal": "Informal",
591+
"dxHtmlEditor-aiCommandChangeStyleTechnical": "Technical",
592+
"dxHtmlEditor-aiCommandChangeStyleBusiness": "Business",
593+
"dxHtmlEditor-aiCommandChangeStyleCreative": "Creative",
594+
"dxHtmlEditor-aiCommandChangeStyleJournalistic": "Journalistic",
595+
"dxHtmlEditor-aiCommandChangeStyleAcademic": "Academic",
596+
"dxHtmlEditor-aiCommandChangeStylePersuasive": "Persuasive",
597+
"dxHtmlEditor-aiCommandChangeStyleNarrative": "Narrative",
598+
"dxHtmlEditor-aiCommandChangeStyleExpository": "Expository",
599+
"dxHtmlEditor-aiCommandChangeStyleDescriptive": "Descriptive",
600+
"dxHtmlEditor-aiCommandChangeStyleConversational": "Conversational",
601+
"dxHtmlEditor-aiCommandChangeToneProfessional": "Professional",
602+
"dxHtmlEditor-aiCommandChangeToneCasual": "Casual",
603+
"dxHtmlEditor-aiCommandChangeToneStraightforward": "Straightforward",
604+
"dxHtmlEditor-aiCommandChangeToneConfident": "Confident",
605+
"dxHtmlEditor-aiCommandChangeToneFriendly": "Friendly",
606+
"dxHtmlEditor-aiCommandTranslateArabic": "Arabic",
607+
"dxHtmlEditor-aiCommandTranslateChinese": "Chinese",
608+
"dxHtmlEditor-aiCommandTranslateEnglish": "English",
609+
"dxHtmlEditor-aiCommandTranslateFrench": "French",
610+
"dxHtmlEditor-aiCommandTranslateGerman": "German",
611+
"dxHtmlEditor-aiCommandTranslateJapanese": "Japanese",
612+
"dxHtmlEditor-aiCommandTranslateSpanish": "Spanish",
581613

582614
"dxFileManager-newDirectoryName": "Directori sense títol",
583615
"dxFileManager-rootDirectoryName": "Fitxers",

packages/devextreme/js/localization/messages/cs.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,38 @@
578578
"dxHtmlEditor-aiToolbarItemAriaLabel": "AI Assistant toolbar item",
579579
"dxHtmlEditor-aiResultTextAreaAriaLabel": "AI Assistant result",
580580
"dxHtmlEditor-aiAskPlaceholder": "Ask AI to modify text",
581+
"dxHtmlEditor-aiCommandSummarize": "Summarize",
582+
"dxHtmlEditor-aiCommandProofread": "Proofread",
583+
"dxHtmlEditor-aiCommandExpand": "Expand",
584+
"dxHtmlEditor-aiCommandShorten": "Shorten",
585+
"dxHtmlEditor-aiCommandChangeStyle": "Change Style",
586+
"dxHtmlEditor-aiCommandChangeTone": "Change Tone",
587+
"dxHtmlEditor-aiCommandTranslate": "Translate",
588+
"dxHtmlEditor-aiCommandAskAI": "Ask AI",
589+
"dxHtmlEditor-aiCommandChangeStyleFormal": "Formal",
590+
"dxHtmlEditor-aiCommandChangeStyleInformal": "Informal",
591+
"dxHtmlEditor-aiCommandChangeStyleTechnical": "Technical",
592+
"dxHtmlEditor-aiCommandChangeStyleBusiness": "Business",
593+
"dxHtmlEditor-aiCommandChangeStyleCreative": "Creative",
594+
"dxHtmlEditor-aiCommandChangeStyleJournalistic": "Journalistic",
595+
"dxHtmlEditor-aiCommandChangeStyleAcademic": "Academic",
596+
"dxHtmlEditor-aiCommandChangeStylePersuasive": "Persuasive",
597+
"dxHtmlEditor-aiCommandChangeStyleNarrative": "Narrative",
598+
"dxHtmlEditor-aiCommandChangeStyleExpository": "Expository",
599+
"dxHtmlEditor-aiCommandChangeStyleDescriptive": "Descriptive",
600+
"dxHtmlEditor-aiCommandChangeStyleConversational": "Conversational",
601+
"dxHtmlEditor-aiCommandChangeToneProfessional": "Professional",
602+
"dxHtmlEditor-aiCommandChangeToneCasual": "Casual",
603+
"dxHtmlEditor-aiCommandChangeToneStraightforward": "Straightforward",
604+
"dxHtmlEditor-aiCommandChangeToneConfident": "Confident",
605+
"dxHtmlEditor-aiCommandChangeToneFriendly": "Friendly",
606+
"dxHtmlEditor-aiCommandTranslateArabic": "Arabic",
607+
"dxHtmlEditor-aiCommandTranslateChinese": "Chinese",
608+
"dxHtmlEditor-aiCommandTranslateEnglish": "English",
609+
"dxHtmlEditor-aiCommandTranslateFrench": "French",
610+
"dxHtmlEditor-aiCommandTranslateGerman": "German",
611+
"dxHtmlEditor-aiCommandTranslateJapanese": "Japanese",
612+
"dxHtmlEditor-aiCommandTranslateSpanish": "Spanish",
581613

582614
"dxFileManager-newDirectoryName": "Nepojmenovaná složka",
583615
"dxFileManager-rootDirectoryName": "Soubory",

packages/devextreme/js/localization/messages/da.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,38 @@
578578
"dxHtmlEditor-aiToolbarItemAriaLabel": "AI Assistant toolbar item",
579579
"dxHtmlEditor-aiResultTextAreaAriaLabel": "AI Assistant result",
580580
"dxHtmlEditor-aiAskPlaceholder": "Ask AI to modify text",
581+
"dxHtmlEditor-aiCommandSummarize": "Summarize",
582+
"dxHtmlEditor-aiCommandProofread": "Proofread",
583+
"dxHtmlEditor-aiCommandExpand": "Expand",
584+
"dxHtmlEditor-aiCommandShorten": "Shorten",
585+
"dxHtmlEditor-aiCommandChangeStyle": "Change Style",
586+
"dxHtmlEditor-aiCommandChangeTone": "Change Tone",
587+
"dxHtmlEditor-aiCommandTranslate": "Translate",
588+
"dxHtmlEditor-aiCommandAskAI": "Ask AI",
589+
"dxHtmlEditor-aiCommandChangeStyleFormal": "Formal",
590+
"dxHtmlEditor-aiCommandChangeStyleInformal": "Informal",
591+
"dxHtmlEditor-aiCommandChangeStyleTechnical": "Technical",
592+
"dxHtmlEditor-aiCommandChangeStyleBusiness": "Business",
593+
"dxHtmlEditor-aiCommandChangeStyleCreative": "Creative",
594+
"dxHtmlEditor-aiCommandChangeStyleJournalistic": "Journalistic",
595+
"dxHtmlEditor-aiCommandChangeStyleAcademic": "Academic",
596+
"dxHtmlEditor-aiCommandChangeStylePersuasive": "Persuasive",
597+
"dxHtmlEditor-aiCommandChangeStyleNarrative": "Narrative",
598+
"dxHtmlEditor-aiCommandChangeStyleExpository": "Expository",
599+
"dxHtmlEditor-aiCommandChangeStyleDescriptive": "Descriptive",
600+
"dxHtmlEditor-aiCommandChangeStyleConversational": "Conversational",
601+
"dxHtmlEditor-aiCommandChangeToneProfessional": "Professional",
602+
"dxHtmlEditor-aiCommandChangeToneCasual": "Casual",
603+
"dxHtmlEditor-aiCommandChangeToneStraightforward": "Straightforward",
604+
"dxHtmlEditor-aiCommandChangeToneConfident": "Confident",
605+
"dxHtmlEditor-aiCommandChangeToneFriendly": "Friendly",
606+
"dxHtmlEditor-aiCommandTranslateArabic": "Arabic",
607+
"dxHtmlEditor-aiCommandTranslateChinese": "Chinese",
608+
"dxHtmlEditor-aiCommandTranslateEnglish": "English",
609+
"dxHtmlEditor-aiCommandTranslateFrench": "French",
610+
"dxHtmlEditor-aiCommandTranslateGerman": "German",
611+
"dxHtmlEditor-aiCommandTranslateJapanese": "Japanese",
612+
"dxHtmlEditor-aiCommandTranslateSpanish": "Spanish",
581613

582614
"dxFileManager-newDirectoryName": "Unavngivet mappe",
583615
"dxFileManager-rootDirectoryName": "Filer",

packages/devextreme/js/localization/messages/de.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,38 @@
578578
"dxHtmlEditor-aiToolbarItemAriaLabel": "KI-Assistent Symbolleistenelement",
579579
"dxHtmlEditor-aiResultTextAreaAriaLabel": "KI-Assistent Ergebnis",
580580
"dxHtmlEditor-aiAskPlaceholder": "KI bitten, Text zu ändern",
581+
"dxHtmlEditor-aiCommandSummarize": "Summarize",
582+
"dxHtmlEditor-aiCommandProofread": "Proofread",
583+
"dxHtmlEditor-aiCommandExpand": "Expand",
584+
"dxHtmlEditor-aiCommandShorten": "Shorten",
585+
"dxHtmlEditor-aiCommandChangeStyle": "Change Style",
586+
"dxHtmlEditor-aiCommandChangeTone": "Change Tone",
587+
"dxHtmlEditor-aiCommandTranslate": "Translate",
588+
"dxHtmlEditor-aiCommandAskAI": "Ask AI",
589+
"dxHtmlEditor-aiCommandChangeStyleFormal": "Formal",
590+
"dxHtmlEditor-aiCommandChangeStyleInformal": "Informal",
591+
"dxHtmlEditor-aiCommandChangeStyleTechnical": "Technical",
592+
"dxHtmlEditor-aiCommandChangeStyleBusiness": "Business",
593+
"dxHtmlEditor-aiCommandChangeStyleCreative": "Creative",
594+
"dxHtmlEditor-aiCommandChangeStyleJournalistic": "Journalistic",
595+
"dxHtmlEditor-aiCommandChangeStyleAcademic": "Academic",
596+
"dxHtmlEditor-aiCommandChangeStylePersuasive": "Persuasive",
597+
"dxHtmlEditor-aiCommandChangeStyleNarrative": "Narrative",
598+
"dxHtmlEditor-aiCommandChangeStyleExpository": "Expository",
599+
"dxHtmlEditor-aiCommandChangeStyleDescriptive": "Descriptive",
600+
"dxHtmlEditor-aiCommandChangeStyleConversational": "Conversational",
601+
"dxHtmlEditor-aiCommandChangeToneProfessional": "Professional",
602+
"dxHtmlEditor-aiCommandChangeToneCasual": "Casual",
603+
"dxHtmlEditor-aiCommandChangeToneStraightforward": "Straightforward",
604+
"dxHtmlEditor-aiCommandChangeToneConfident": "Confident",
605+
"dxHtmlEditor-aiCommandChangeToneFriendly": "Friendly",
606+
"dxHtmlEditor-aiCommandTranslateArabic": "Arabic",
607+
"dxHtmlEditor-aiCommandTranslateChinese": "Chinese",
608+
"dxHtmlEditor-aiCommandTranslateEnglish": "English",
609+
"dxHtmlEditor-aiCommandTranslateFrench": "French",
610+
"dxHtmlEditor-aiCommandTranslateGerman": "German",
611+
"dxHtmlEditor-aiCommandTranslateJapanese": "Japanese",
612+
"dxHtmlEditor-aiCommandTranslateSpanish": "Spanish",
581613

582614
"dxFileManager-newDirectoryName": "Ohne Titel",
583615
"dxFileManager-rootDirectoryName": "Dateien",

0 commit comments

Comments
 (0)