Как изменить направление макета в реагировать родной? - PullRequest
1 голос
/ 19 апреля 2020

Я использую i18next и реагировать-i18library, чтобы изменить язык в моем собственном приложении реагировать, но мне нужно изменить направление с ltr на rtl и наоборот, независимо от языка устройства и сохранить направление.

Я настроил i18n, и я меняю язык, но я понятия не имею, как я могу изменить направление

changeLanguage = lnName => {
  i18n.changeLanguage(lnName);
  // change direrction persian -> rtl / english -> ltr
};
"i18next": "^19.4.2",
"native-base": "^2.13.12",
"react": "16.11.0",
"react-i18next": "^11.3.4",
"react-native": "0.62.2",
"react-native-restart": "^0.0.14",

1 Ответ

0 голосов
/ 19 апреля 2020

I18следующий имеет метод dir, при котором данный lang вернет значение lrt / rtl.

import React from 'react';
import { useTranslation } from 'react-i18next';

const Layout = () => {
  const {
    i18n: { dir, language },
  } = useTranslation();
  const changeLanguage = lnName => {
    i18n.changeLanguage(lnName);
  };

  return <View style={{ direction: dir(language) }} />;
};
...