@@ -18,10 +18,14 @@ import React from "react";
18
18
19
19
import SpellCheckLanguagesDropdown from "../../../components/views/elements/SpellCheckLanguagesDropdown" ;
20
20
import AccessibleButton , { ButtonEvent } from "../../../components/views/elements/AccessibleButton" ;
21
- import { _t } from "../../../languageHandler" ;
21
+ import { _t , getUserLanguage } from "../../../languageHandler" ;
22
22
23
23
interface ExistingSpellCheckLanguageIProps {
24
24
language : string ;
25
+ /**
26
+ * The label to render on the component. If not provided, the language code will be used.
27
+ */
28
+ label ?: string ;
25
29
onRemoved ( language : string ) : void ;
26
30
}
27
31
@@ -45,7 +49,9 @@ export class ExistingSpellCheckLanguage extends React.Component<ExistingSpellChe
45
49
public render ( ) : React . ReactNode {
46
50
return (
47
51
< div className = "mx_ExistingSpellCheckLanguage" >
48
- < span className = "mx_ExistingSpellCheckLanguage_language" > { this . props . language } </ span >
52
+ < span className = "mx_ExistingSpellCheckLanguage_language" >
53
+ { this . props . label ?? this . props . language }
54
+ </ span >
49
55
< AccessibleButton onClick = { this . onRemove } kind = "danger_sm" >
50
56
{ _t ( "action|remove" ) }
51
57
</ AccessibleButton >
@@ -87,8 +93,9 @@ export default class SpellCheckLanguages extends React.Component<SpellCheckLangu
87
93
} ;
88
94
89
95
public render ( ) : React . ReactNode {
96
+ const intl = new Intl . DisplayNames ( [ getUserLanguage ( ) ] , { type : "language" , style : "short" } ) ;
90
97
const existingSpellCheckLanguages = this . props . languages . map ( ( e ) => {
91
- return < ExistingSpellCheckLanguage language = { e } onRemoved = { this . onRemoved } key = { e } /> ;
98
+ return < ExistingSpellCheckLanguage language = { e } label = { intl . of ( e ) } onRemoved = { this . onRemoved } key = { e } /> ;
92
99
} ) ;
93
100
94
101
const addButton = (
0 commit comments