merge devel with arabic support

This commit is contained in:
or-else
2025-05-28 17:31:59 +03:00
12 changed files with 1774 additions and 7 deletions
+1
View File
@@ -41,6 +41,7 @@ The app is fully internationalized using [React-Intl](https://github.com/formatj
The app is currently available in the following languages: The app is currently available in the following languages:
* English - default * English - default
* Arabic
* Chinese simplified * Chinese simplified
* Chinese traditional * Chinese traditional
* French * French
+1
View File
@@ -46,6 +46,7 @@
"web" "web"
], ],
"locales": [ "locales": [
"ar",
"de", "de",
"en", "en",
"es", "es",
+6 -1
View File
@@ -53,6 +53,10 @@ const i18n = {
'zh-TW': { 'zh-TW': {
'new_message': "新訊息", 'new_message': "新訊息",
'new_chat': "新聊天", 'new_chat': "新聊天",
},
'ar': {
'new_message': "رسالة جديدة",
'new_chat': "محادثة جديدة",
} }
}; };
@@ -119,7 +123,8 @@ self.addEventListener('notificationclick', event => {
event.waitUntil(self.clients.matchAll({ event.waitUntil(self.clients.matchAll({
type: 'window', type: 'window',
includeUncontrolled: true}) includeUncontrolled: true
})
.then(windowClients => { .then(windowClients => {
let anyClient = null; let anyClient = null;
for (let i = 0; i < windowClients.length; i++) { for (let i = 0; i < windowClients.length; i++) {
File diff suppressed because one or more lines are too long
+1742
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -24,6 +24,7 @@ if (typeof FIREBASE_INIT != 'undefined' && FIREBASE_INIT && FIREBASE_INIT.measur
// Allow loading translation strings for just one language. // Allow loading translation strings for just one language.
const messageLoader = { const messageLoader = {
'ar': _ => import('./i18n.min/ar.json'),
'de': _ => import('./i18n.min/de.json'), 'de': _ => import('./i18n.min/de.json'),
'en': _ => import('./i18n.min/en.json'), 'en': _ => import('./i18n.min/en.json'),
'es': _ => import('./i18n.min/es.json'), 'es': _ => import('./i18n.min/es.json'),
+1
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -22406,6 +22406,7 @@ if (typeof FIREBASE_INIT != 'undefined' && FIREBASE_INIT && FIREBASE_INIT.measur
gtag('config', FIREBASE_INIT.measurementId); gtag('config', FIREBASE_INIT.measurementId);
} }
const messageLoader = { const messageLoader = {
'ar': _ => __webpack_require__.e(/*! import() */ "src_i18n_min_ar_json").then(__webpack_require__.t.bind(__webpack_require__, /*! ./i18n.min/ar.json */ "./src/i18n.min/ar.json", 19)),
'de': _ => __webpack_require__.e(/*! import() */ "src_i18n_min_de_json").then(__webpack_require__.t.bind(__webpack_require__, /*! ./i18n.min/de.json */ "./src/i18n.min/de.json", 19)), 'de': _ => __webpack_require__.e(/*! import() */ "src_i18n_min_de_json").then(__webpack_require__.t.bind(__webpack_require__, /*! ./i18n.min/de.json */ "./src/i18n.min/de.json", 19)),
'en': _ => __webpack_require__.e(/*! import() */ "src_i18n_min_en_json").then(__webpack_require__.t.bind(__webpack_require__, /*! ./i18n.min/en.json */ "./src/i18n.min/en.json", 19)), 'en': _ => __webpack_require__.e(/*! import() */ "src_i18n_min_en_json").then(__webpack_require__.t.bind(__webpack_require__, /*! ./i18n.min/en.json */ "./src/i18n.min/en.json", 19)),
'es': _ => __webpack_require__.e(/*! import() */ "src_i18n_min_es_json").then(__webpack_require__.t.bind(__webpack_require__, /*! ./i18n.min/es.json */ "./src/i18n.min/es.json", 19)), 'es': _ => __webpack_require__.e(/*! import() */ "src_i18n_min_es_json").then(__webpack_require__.t.bind(__webpack_require__, /*! ./i18n.min/es.json */ "./src/i18n.min/es.json", 19)),
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long