diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-03-30 01:36:22 +0200 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-05-16 00:54:57 +0200 |
commit | 7af01713180066b6dc1061dae930840e48c60fec (patch) | |
tree | 604a52eb8f167caf3400dad7589aaa5be2d06c8d /packages/main/src/utils/isErrno.ts | |
parent | feat: Add custom menubar (diff) | |
download | sophie-7af01713180066b6dc1061dae930840e48c60fec.tar.gz sophie-7af01713180066b6dc1061dae930840e48c60fec.tar.zst sophie-7af01713180066b6dc1061dae930840e48c60fec.zip |
feat(main): Add localization support
Add i18next with a custom backend to the main process to load
localization from file.
Missing localizations are written to a missing localizations file in
debug mode, but silently fall back in production mode.
We will also need to add a custom backend for the renderer process that
communicates with the main process.
(i18next-fs-electron-backend is not applicable here, because we need
localizations both in the main and renderer processes.)
Signed-off-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'packages/main/src/utils/isErrno.ts')
-rw-r--r-- | packages/main/src/utils/isErrno.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/main/src/utils/isErrno.ts b/packages/main/src/utils/isErrno.ts new file mode 100644 index 0000000..8adbc33 --- /dev/null +++ b/packages/main/src/utils/isErrno.ts | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2021-2022 Kristóf Marussy <kristof@marussy.com> | ||
3 | * | ||
4 | * This file is part of Sophie. | ||
5 | * | ||
6 | * Sophie is free software: you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU Affero General Public License as | ||
8 | * published by the Free Software Foundation, version 3. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU Affero General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU Affero General Public License | ||
16 | * along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
17 | * | ||
18 | * SPDX-License-Identifier: AGPL-3.0-only | ||
19 | */ | ||
20 | |||
21 | export default function isErrno(error: unknown, code: string): boolean { | ||
22 | return ( | ||
23 | typeof error === 'object' && | ||
24 | error !== null && | ||
25 | 'code' in error && | ||
26 | (error as NodeJS.ErrnoException).code === code | ||
27 | ); | ||
28 | } | ||