Преобразование значений iso языков кода в языках с React - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь составить представление о том, как конвертировать мою существующую макет данных, где у меня есть коды ISO, которые я хочу преобразовать в названия языков.

Я использую => https://github.com/pubcore/iso-language-codes (на самом деле в Readme есть 2 небольшие ошибки, пример не импортируется из iso-language-codes, а code = iso639_2T['fra'] должен иметь код = by639_2T['fra'])

Это макет данных, который у меня есть:

export const dataForSubtitlesMenu = [
  { value: 'Lingue Audio', title: true, id:1},
  { value: 'ita', id: 2},
  { value: 'eng', id: 3},
  { value: 'fra', id: 4},
  { value: 'ben', id: 5},
  { value: 'gla', id: 6},
  { value: 'ind', id: 8},
  { value: 'nor', id: 9},
  { value: 'rus', id: 10},
  { value: 'slv', id: 11},
]

Это мой app.js

<Dropdown title="Seleziona lingua e sottotitoli" items={dataForSubtitlesMenu}/>

А в Dropdown.js мне так нравится

<ul className="dd-list">
  {items.map((item, i) => (
    <ListItem
      item={item}
    />
  ))}
</ul>

Нет примеров и понятных демонстраций, как мне конвертировать мои значения в коде языков с помощью этого модуля iso-languages-code ? Есть ли какой-нибудь другой лучший узел для достижения этой цели с моим существующим макетом данных?

1 Ответ

1 голос
/ 02 апреля 2020

Похоже, вы хотите просто создать запись для каждого языка в этой библиотеке?

Если это так, экспорт по умолчанию - это просто массив всех данных. Таким образом, вы должны быть в состоянии:

import codes from 'iso-country-codes'

export const dataForSubtitlesMenu = [
  // Add the prompt item
  { value: 'Lingue Audio', title: true, id:1},

  // Fill the rest of the array with an item for every language.
  ...codes.map((lang, i) => ({
    value: lang.iso639_2T,
    id: i + 2, // i starts at 0, id 1 is the prompt.
  })
]
...