diff --git a/assets/js/Ioda/components/header/Header.js b/assets/js/Ioda/components/header/Header.js index df7fb401..21470058 100644 --- a/assets/js/Ioda/components/header/Header.js +++ b/assets/js/Ioda/components/header/Header.js @@ -83,10 +83,9 @@ import { } from "../../utils/storage"; import { CloseOutlined, MenuOutlined } from "@ant-design/icons"; -const languageOptions = [ - { value: "en", label: "English" }, - { value: "fa", label: "Farsi" }, -]; +import languages from "../../constants/strings/languages.json" + +const languageOptions = Object.entries(languages).map(([label, value]) => ({ label, value })); const Header = () => { const [language, setLanguage] = useState(getSavedLanguagePreference()); diff --git a/assets/js/Ioda/constants/strings/es/app.json b/assets/js/Ioda/constants/strings/es/app.json deleted file mode 100644 index 8f12a48a..00000000 --- a/assets/js/Ioda/constants/strings/es/app.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "home": { - "title": "ES - IODA", - "subheader": "ES - A platform for Applied Network Data Analysis" - } -} diff --git a/assets/js/Ioda/constants/strings/index.js b/assets/js/Ioda/constants/strings/index.js index 404e0a1d..10de2c9c 100644 --- a/assets/js/Ioda/constants/strings/index.js +++ b/assets/js/Ioda/constants/strings/index.js @@ -39,24 +39,17 @@ import T from "i18n-react"; // let language = window.navigator.userLanguage || window.navigator.language; export const changeLanguage = (language) => { - let languageString = ""; - switch (language) { - case "en": - languageString = "en"; - break; - case "fa": - languageString = "fa"; - break; - default: - languageString = "en"; - break; - } - - // ToDo: would like to change json files out for yml files eventually - let strings = Object.assign({}, require(`./${languageString}/app.json`)); - + let strings; let defaultStrings = Object.assign({}, require(`./en/app.json`)); + try { + strings = Object.assign({}, require(`./${language}/app.json`)); + } + catch (err) { + console.log(err) + strings = defaultStrings; + } + // ToDo: would like to change json files out for yml files eventually T.setTexts(strings, { notFound: (key) => { const defaultStringLocation = key.split("."); @@ -68,6 +61,6 @@ export const changeLanguage = (language) => { }, }); }; -changeLanguage(localStorage.getItem("lang") != null ? localStorage.getItem("lang") :"en") +changeLanguage(localStorage.getItem("lang") != null ? localStorage.getItem("lang") : "en") export const CUSTOM_FONT_FAMILY = "Inter, sans-serif"; \ No newline at end of file diff --git a/assets/js/Ioda/constants/strings/languages.json b/assets/js/Ioda/constants/strings/languages.json new file mode 100644 index 00000000..40ab3c1e --- /dev/null +++ b/assets/js/Ioda/constants/strings/languages.json @@ -0,0 +1,4 @@ +{ + "en": "English", + "fa": "Farsi" +} \ No newline at end of file