Веб-эквивалент ключа lo c? - PullRequest
       10

Веб-эквивалент ключа lo c?

0 голосов
/ 04 февраля 2020

У нас есть веб-приложение, написанное на React, которое использует react-intl для i18n. Это браузерное приложение (не Node). Само приложение локализовано на трех языках, и все работает, как и ожидалось, за исключением уведомлений pu sh. Толчки принимаются работником службы, и в настоящее время работник использует жестко закодированную строку «Новое сообщение» для заголовка pu sh.

Есть ли способ загрузить локализованные версии строк в работника службы? Может быть, что-то похожее на iOS и Android с loc-key полями в pu sh? Может ли работник службы спросить у веб-приложения о локализованных строках? Это соответствующий фрагмент кода:

firebase.messaging().setBackgroundMessageHandler(function(payload) {
  if (payload.data.silent === 'true') {
    return;
  }
  const pushType = payload.data.what || 'msg';
  // --
  // -- These are the strings which should be localized: "New message" : "New chat"
  // --
  const title = payload.data.title || (pushType == 'msg' ? "New message" : "New chat");
  const options = {
    body: payload.data.content || "",
    icon: '/img/logo96.png',
    badge: '/img/badge96.png',
    tag: payload.data.topic || undefined,
    data: {
      topic: payload.data.topic
    }
  };
  return self.registration.showNotification(title, options);
});

Полагаю, мы можем просто предоставить файл json с переводами и загрузить его работнику. Но тогда как угадать язык, который он должен использовать?

Будем признательны за любые примеры или указатели на подходы к этой проблеме.

(Сервер, который отправляет сообщения, не локализован, и мы хотим так держать.)

...