Compare commits

...

1 commit

Author SHA1 Message Date
Dessalines
e15b65d4ec Fix native language issue. (zh_Hant) 2021-12-01 12:48:34 -05:00
2 changed files with 21 additions and 6 deletions

View file

@ -1,5 +1,4 @@
import { Component, linkEvent } from "inferno"; import { Component, linkEvent } from "inferno";
import ISO6391 from "iso-639-1";
import { import {
BlockCommunity, BlockCommunity,
BlockCommunityResponse, BlockCommunityResponse,
@ -32,6 +31,7 @@ import {
fetchCommunities, fetchCommunities,
fetchUsers, fetchUsers,
getLanguage, getLanguage,
getNativeLanguageName,
isBrowser, isBrowser,
languages, languages,
personSelectName, personSelectName,
@ -523,11 +523,13 @@ export class Settings extends Component<any, SettingsState> {
<option disabled aria-hidden="true"> <option disabled aria-hidden="true">
</option> </option>
{languages.sort().map(lang => ( {languages
<option value={lang.code}> .sort((a, b) => a.code.localeCompare(b.code))
{ISO6391.getNativeName(lang.code) || lang.code} .map(lang => (
</option> <option value={lang.code}>
))} {getNativeLanguageName(lang.code)}
</option>
))}
</select> </select>
</div> </div>
</div> </div>

View file

@ -1,4 +1,5 @@
import emojiShortName from "emoji-short-name"; import emojiShortName from "emoji-short-name";
import ISO6391 from "iso-639-1";
import { import {
BlockCommunityResponse, BlockCommunityResponse,
BlockPersonResponse, BlockPersonResponse,
@ -414,6 +415,18 @@ export function debounce(func: any, wait = 1000, immediate = false) {
}; };
} }
export function getNativeLanguageName(code: string): string {
let [isoCode, qualifier] = code.split("_");
let native = ISO6391.getNativeName(isoCode) || code;
if (qualifier) {
return `${native}_${qualifier}`;
} else {
return native;
}
}
// TODO // TODO
export function getLanguage(override?: string): string { export function getLanguage(override?: string): string {
let myUserInfo = UserService.Instance.myUserInfo; let myUserInfo = UserService.Instance.myUserInfo;