mirror of
https://github.com/maputnik/editor.git
synced 2026-04-21 17:00:01 +00:00
This is a rough start on adding react-i18next. I'll be working on adding more translatable strings and translations in the coming days. I'm going to need to wrap class components in HOCs, so let me know if there's something I should be fixing before doing that. I'm thinking now to keep the exported class names exactly the same, and rename the existing classes by prefixing an `I` (for internal). For example: ``` export default class AppToolbar ... ``` becomes ``` class IAppToolbar ... const AppToolbar = withTranslation()(IAppToolbar); export default AppToolbar; ``` I'll be able to contribute Japanese strings (I've talked to a couple people on my team and they'll be happy to help as well), so that's the language I decided to go with in this PR. Closes #746 --------- Co-authored-by: Ko Nagase <nagase@georepublic.co.jp> Co-authored-by: Harel M <harel.mazor@gmail.com>
36 lines
1016 B
TypeScript
36 lines
1016 B
TypeScript
import { MaputnikDriver } from "./maputnik-driver";
|
|
|
|
describe("i18n", () => {
|
|
let { beforeAndAfter, get, when, then } = new MaputnikDriver();
|
|
beforeAndAfter();
|
|
|
|
describe("language detector", () => {
|
|
it("English", () => {
|
|
const url = "?lng=en";
|
|
when.visit(url);
|
|
then(get.elementByTestId("maputnik-lang-select")).shouldHaveValue("en");
|
|
});
|
|
|
|
it("Japanese", () => {
|
|
const url = "?lng=ja";
|
|
when.visit(url);
|
|
then(get.elementByTestId("maputnik-lang-select")).shouldHaveValue("ja");
|
|
});
|
|
});
|
|
|
|
describe("language switcher", () => {
|
|
beforeEach(() => {
|
|
when.setStyle("layer");
|
|
});
|
|
|
|
it("the language switcher switches to Japanese", () => {
|
|
const selector = "maputnik-lang-select";
|
|
then(get.elementByTestId(selector)).shouldExist();
|
|
when.select(selector, "ja");
|
|
then(get.elementByTestId(selector)).shouldHaveValue("ja");
|
|
|
|
then(get.elementByTestId("nav:settings")).shouldHaveText("スタイル設定");
|
|
});
|
|
});
|
|
});
|