Skip to content

Commit

Permalink
feat: prefix language name with language flag emoji using language-fl…
Browse files Browse the repository at this point in the history
…ag-colors
  • Loading branch information
yassinedoghri committed Apr 29, 2022
1 parent a480914 commit 7e09d93
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 4 deletions.
13 changes: 12 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@
},
"dependencies": {
"i18next": "^21.6.16",
"iso-639-1": "^2.1.13"
"iso-639-1": "^2.1.13",
"language-flag-colors": "^2.0.4"
},
"devDependencies": {
"@commitlint/cli": "^16.2.4",
Expand Down
8 changes: 6 additions & 2 deletions src/LanguageSelector.astro
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
---
import i18next from "i18next";
import ISO6391 from "iso-639-1";
import { getEmoji } from "language-flag-colors";
export interface Props {
className?: string;
}
const supportedLanguages = i18next.languages;
const currentLanguage = i18next.language;
const baseLanguage = "en";
const { className } = Astro.props;
---

<select onchange="location = this.value;" class={className}>
{supportedLanguages.map((supportedLanguage: string) => {
const value = supportedLanguage === "en" ? "/" : supportedLanguage
const label = ISO6391.getNativeName(supportedLanguage)
const value = supportedLanguage === baseLanguage ? "/" : supportedLanguage
const label = `${getEmoji(supportedLanguage)} ${ISO6391.getNativeName(
supportedLanguage
)}`

return (
<option value={value} selected={supportedLanguage === currentLanguage}>
Expand Down

0 comments on commit 7e09d93

Please sign in to comment.