У нас есть веб-приложение, написанное на 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 с переводами и загрузить его работнику. Но тогда как угадать язык, который он должен использовать?
Будем признательны за любые примеры или указатели на подходы к этой проблеме.
(Сервер, который отправляет сообщения, не локализован, и мы хотим так держать.)