Storyblock next.js react Переопределение дефолтного языка

В Storyblock определено два языка: русский, английский. Дефолтный язык русский. Необходимо добавить определение языка браузера. Если язык браузера русский - то сайт должен открываться на русском языке, если язык браузера любой другой - то сайт должен открываться на английском. Также на сайте есть переключатель языка (русский, английский). Определение браузерного языка с помощью Intl.NumberFormat().resolvedOptions().locale и перенаправление на английскую версию сайта работает, при этом тогда не работает переключатель языка на сайте. Это файл storyblok-service.js

import getConfig from "next/config";
import { DEV_MODE } from "../constants";

const { publicRuntimeConfig } = getConfig();
const { TOKEN } = publicRuntimeConfig;

class StoryblokService {
  constructor () {
    this.devMode = DEV_MODE;
    this.token = TOKEN;
    this.client = new StoryblokClient({
      accessToken: this.token
    });

    this.query = {};
  }

  getCacheVersion () {
    return this.client.cacheVersion;
  }

  get (slug, params) {
    params = params || {};
    if (this.devMode) {
      params.version = "draft";
    } else {
      params.version = "published";
    }
  

    if (typeof window !== "undefined" && typeof window.StoryblokCacheVersion !== "undefined") {
      params.cv = window.StoryblokCacheVersion;
    }

    return this.client.get(slug, params);
  }

  initEditor (reactComponent) {
    if (window.storyblok) {
      window.storyblok.init();

      window.storyblok.on(["change", "published"], () => location.reload(true));

      window.storyblok.on("input", (event) => {
        if (event.story.content._uid === reactComponent.state.story.content._uid) {
          event.story.content = window.storyblok.addComments(event.story.content, event.story.id);
          window.storyblok.resolveRelations(event.story, ["featured-articles.articles"], () => {
            reactComponent.setState({
              story: event.story
            });
          });
        }
      });
    }
  }

  setQuery (query) {
    this.query = query;
  }

  getQuery (param) {
    return this.query[param];
  }

  bridge () {
    if (!this.getQuery("_storyblok") && !this.devMode) {
      return "";
    }
    return (<script src={`//app.storyblok.com/f/storyblok-latest.js?t=${this.token}`}></script>);
  }
}

const storyblokInstance = new StoryblokService();

export default storyblokInstance;```

Ответы (0 шт):