Skip to content

Commit

Permalink
Merge pull request #1374 from nextstrain/feat/web-i18n
Browse files Browse the repository at this point in the history
  • Loading branch information
ivan-aksamentov authored Jan 5, 2024
2 parents ce09117 + f7c138f commit 4deeba5
Show file tree
Hide file tree
Showing 74 changed files with 30,948 additions and 81 deletions.
4 changes: 2 additions & 2 deletions packages_rs/nextclade-web/src/i18n/detectLocale.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ export function detectLocale({ defaultLanguage, availableLocales, shorten = true
language = language.slice(0, 2)
}

if (availableLocales.includes(language as LocaleKey)) {
return language as LocaleKey
if (availableLocales.includes(language)) {
return language
}

return defaultLanguage
Expand Down
10 changes: 4 additions & 6 deletions packages_rs/nextclade-web/src/i18n/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,7 @@ import zh from './resources/zh/common.json'

export const localized = { number: '{{value, localizedNumber}}' } as const

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
/* @ts-ignore */
export const translations = {
export const translations: Record<string, unknown> = {
af,
am,
ar,
Expand Down Expand Up @@ -164,7 +162,7 @@ export const flags = new Map()
export type LocaleKey = keyof typeof translations

export const DEFAULT_LOCALE_KEY: LocaleKey = 'en'
export const resources: Record<LocaleKey, Resource> = mapValues(translations, (value) => ({ translation: value }))
export const resources = mapValues(translations, (value) => ({ translation: value })) as Record<LocaleKey, Resource>

export interface Locale {
readonly key: LocaleKey
Expand Down Expand Up @@ -252,7 +250,7 @@ export interface I18NInitParams {
export type PrettyBytesOptions = StrictOmit<PrettyBytesOptionsOriginal, 'locale'>

export class PrettyBytes {
private localeKey: string = DEFAULT_LOCALE_KEY as string
private localeKey: string = DEFAULT_LOCALE_KEY

public setLocale(localeKey: string) {
this.localeKey = getLocaleWithKey(localeKey).key
Expand Down Expand Up @@ -295,7 +293,7 @@ export function i18nInit({ localeKey }: I18NInitParams) {
}

export function getLocaleWithKey(key: string) {
const locale = get(locales, key) as Locale
const locale = get(locales, key)
if (isNil(locale)) {
return { ...locales[DEFAULT_LOCALE_KEY], key: DEFAULT_LOCALE_KEY }
}
Expand Down
443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/af/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/am/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ar/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/az/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/bg/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/bn/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/bs/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ca/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/cs/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/cy/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/da/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/de/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/el/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/en/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/es/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/et/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/fa/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/fi/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/fr/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ga/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/gu/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ha/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/he/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/hi/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/hr/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ht/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/hu/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/hy/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/id/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/is/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/it/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ja/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ka/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/kk/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/kn/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ko/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/lt/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/lv/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/mk/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ml/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/mn/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/mr/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ms/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/mt/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/nl/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/no/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/pa/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/pl/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ps/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/pt/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ro/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ru/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/si/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/sk/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/sl/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/so/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/sq/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/sr/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/sv/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/sw/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ta/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/te/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/th/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/tl/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/tr/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/uk/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/ur/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/uz/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/vi/common.json

Large diffs are not rendered by default.

443 changes: 442 additions & 1 deletion packages_rs/nextclade-web/src/i18n/resources/zh/common.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages_rs/nextclade-web/src/state/locale.state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { persistAtom } from 'src/state/persist/localStorage'

export const localeAtom = atom<string>({
key: 'localeKey',
default: DEFAULT_LOCALE_KEY as string,
default: DEFAULT_LOCALE_KEY,
effects: [
function setLocale({ onSet }) {
onSet((localeKey) => {
Expand Down
3 changes: 1 addition & 2 deletions packages_rs/nextclade-web/tools/fixLocales.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,8 @@ export function fixValues(s: string) {
fixed = fixed.replace(/"(.*) "/gim, '"$1"')
fixed = fixed.replace(/ :/gim, ':')

fixed = fixed.replace('({{ n }})', '({{n}})')
fixed = fixed.replace('() {{n}}', '({{n}})')
fixed = fixed.replace('() {{ n }}', '({{n}})')
fixed = fixed.replace('() {{ n }}', '({{ n }})')

return fixed
}
Expand Down

1 comment on commit 4deeba5

@vercel
Copy link

@vercel vercel bot commented on 4deeba5 Jan 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

nextclade – ./

nextclade-git-master-nextstrain.vercel.app
nextclade.vercel.app
nextclade-nextstrain.vercel.app

Please sign in to comment.