diff --git a/webpack/account/labs/__tests__/labs_features_list_data_test.ts b/webpack/account/labs/__tests__/labs_features_list_data_test.ts index 551a6aaa7..d2c6f9a2b 100644 --- a/webpack/account/labs/__tests__/labs_features_list_data_test.ts +++ b/webpack/account/labs/__tests__/labs_features_list_data_test.ts @@ -82,7 +82,7 @@ describe("maybeToggleFeature()", () => { describe("fetchLabFeatures", () => { it("basically just initializes stuff", () => { const val = fetchLabFeatures(); - expect(val.length).toBe(2); + expect(val.length).toBe(3); expect(val[0].value).toBeFalsy(); }); }); diff --git a/webpack/account/labs/labs_features.tsx b/webpack/account/labs/labs_features.tsx index 76941951e..08f6c9787 100644 --- a/webpack/account/labs/labs_features.tsx +++ b/webpack/account/labs/labs_features.tsx @@ -2,14 +2,15 @@ import * as React from "react"; import { WidgetHeader, Widget, WidgetBody } from "../../ui/index"; import { LabsFeaturesList } from "./labs_features_list_ui"; import { maybeToggleFeature } from "./labs_features_list_data"; +import { t } from "i18next"; export class LabsFeatures extends React.Component<{}, {}> { state = {}; render() { return - + { diff --git a/webpack/account/labs/labs_features_list_data.ts b/webpack/account/labs/labs_features_list_data.ts index 435df2b89..cffb75995 100644 --- a/webpack/account/labs/labs_features_list_data.ts +++ b/webpack/account/labs/labs_features_list_data.ts @@ -2,6 +2,7 @@ import { Content } from "../../constants"; import { Session } from "../../session"; import { BooleanSetting } from "../../session_keys"; import { trim } from "../../util"; +import { t } from "i18next"; export interface LabsFeature { name: string; @@ -14,18 +15,24 @@ export interface LabsFeature { export const fetchLabFeatures = (): LabsFeature[] => ([ { - name: "Hide Webcam Widget", - description: trim(`If not using a webcam, use this setting to remove the - widget from the Controls page.`), - storageKey: BooleanSetting.hideWebcamWidget, + name: t("Disable Web App internationalization"), + description: t("Set Web App to English."), + storageKey: BooleanSetting.disableI18n, value: false }, { - name: "Confirm Sequence Step Deletion", - description: trim(`Show a confirmation dialog when the sequence delete step - icon is pressed.`), + name: t("Confirm Sequence step deletion"), + description: trim(t(`Show a confirmation dialog when the sequence delete step + icon is pressed.`)), storageKey: BooleanSetting.confirmStepDeletion, value: false + }, + { + name: t("Hide Webcam widget"), + description: trim(t(`If not using a webcam, use this setting to remove the + widget from the Controls page.`)), + storageKey: BooleanSetting.hideWebcamWidget, + value: false } ].map(fetchRealValue)); diff --git a/webpack/nav/__tests__/additional_menu_test.tsx b/webpack/nav/__tests__/additional_menu_test.tsx index 2ca65df81..4ea0049f0 100644 --- a/webpack/nav/__tests__/additional_menu_test.tsx +++ b/webpack/nav/__tests__/additional_menu_test.tsx @@ -9,7 +9,6 @@ describe("AdditionalMenu", () => { close={jest.fn()} />); const text = wrapper.text(); expect(text).toContain("Account Settings"); - expect(text).toContain("Set Page to English"); expect(text).toContain("Documentation"); expect(text).toContain("Logout"); expect(text).toContain("VERSION"); diff --git a/webpack/nav/__tests__/lang_toggle_test.tsx b/webpack/nav/__tests__/lang_toggle_test.tsx deleted file mode 100644 index cceb5ff10..000000000 --- a/webpack/nav/__tests__/lang_toggle_test.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as React from "react"; -import { LangToggle } from "../lang_toggle"; -import { mount } from "enzyme"; -import { Session } from "../../session"; -import { BooleanSetting } from "../../session_keys"; - -describe("", () => { - it("allows toggling between English and local i18n", () => { - jest.mock("../../i18n", () => { - return { - detectLanguage: () => { - return Promise.resolve({ - nsSeparator: "", - keySeparator: "", - lng: "es", - resources: { - es: { translation: {} } - } - }); - } - }; - }); - const el = mount(); - expect(Session.getBool(BooleanSetting.disableI18n)).toBeFalsy(); - expect(el.text().toLocaleLowerCase()).toContain("set page to english"); - el.find("a").first().simulate("click"); - el.update(); - expect(Session.getBool(BooleanSetting.disableI18n)).toBeTruthy(); - expect(el.text().toLocaleLowerCase()).not.toContain("set page to english"); - expect(el.text().toLocaleLowerCase()).toContain("internationalize page"); - }); -}); diff --git a/webpack/nav/additional_menu.tsx b/webpack/nav/additional_menu.tsx index 4759a112f..cbdb6c21b 100644 --- a/webpack/nav/additional_menu.tsx +++ b/webpack/nav/additional_menu.tsx @@ -1,7 +1,6 @@ import * as React from "react"; import { Link } from "react-router"; import { t } from "i18next"; -import { LangToggle } from "./lang_toggle"; import { AccountMenuProps } from "./interfaces"; export const AdditionalMenu = (props: AccountMenuProps) => { @@ -10,7 +9,6 @@ export const AdditionalMenu = (props: AccountMenuProps) => { {t("Account Settings")} -
diff --git a/webpack/nav/lang_toggle.tsx b/webpack/nav/lang_toggle.tsx deleted file mode 100644 index d94e0ebe9..000000000 --- a/webpack/nav/lang_toggle.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import * as React from "react"; -import { Session } from "../session"; -import { BooleanSetting } from "../session_keys"; - -interface Props { - -} - -interface State { - -} - -export class LangToggle extends React.Component { - state: State = {}; - - toggle = () => { - Session.setBool(BooleanSetting.disableI18n, !this.disabled()); - this.setState({ clicked: true }); - }; - - disabled = () => Session.getBool(BooleanSetting.disableI18n); - - verbiage() { - return (this.disabled() ? "Internationalize Page" : "Set Page to English"); - } - - render() { - return ; - } -} diff --git a/webpack/session_keys.ts b/webpack/session_keys.ts index 4355f43e9..844cb5710 100644 --- a/webpack/session_keys.ts +++ b/webpack/session_keys.ts @@ -4,7 +4,6 @@ export enum BooleanSetting { zAxisInverted = "zAxisInverted", rawEncoders = "rawEncoders", scaledEncoders = "scaledEncoders", - disableI18n = "disableI18n", legendMenuOpen = "legendMenuOpen", showPlants = "showPlants", showPoints = "showPoints", @@ -13,8 +12,9 @@ export enum BooleanSetting { /** "Labs" feature names. */ weedDetector = "weedDetector", - hideWebcamWidget = "hideWebcamWidget", + disableI18n = "disableI18n", confirmStepDeletion = "confirmStepDeletion", + hideWebcamWidget = "hideWebcamWidget", } export enum NumericSetting {