mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-10-24 08:33:36 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
411150fd72 |
@@ -10,6 +10,8 @@ const ConfigUtil = require(__dirname + '/../renderer/js/utils/config-util.js');
|
|||||||
|
|
||||||
const appName = app.getName();
|
const appName = app.getName();
|
||||||
|
|
||||||
|
const i18n = require(__dirname + '/../translations/i18n');
|
||||||
|
|
||||||
class AppMenu {
|
class AppMenu {
|
||||||
getHistorySubmenu() {
|
getHistorySubmenu() {
|
||||||
return [{
|
return [{
|
||||||
@@ -246,15 +248,15 @@ class AppMenu {
|
|||||||
}, {
|
}, {
|
||||||
label: 'Edit',
|
label: 'Edit',
|
||||||
submenu: [{
|
submenu: [{
|
||||||
role: 'undo'
|
role: 'undo', label: i18n._('Undo')
|
||||||
}, {
|
}, {
|
||||||
role: 'redo'
|
role: 'redo', label: i18n._('Redo')
|
||||||
}, {
|
}, {
|
||||||
type: 'separator'
|
type: 'separator'
|
||||||
}, {
|
}, {
|
||||||
role: 'cut'
|
role: 'cut', label: i18n._('Cut')
|
||||||
}, {
|
}, {
|
||||||
role: 'copy'
|
role: 'copy', label: i18n._('Copy')
|
||||||
}, {
|
}, {
|
||||||
role: 'paste'
|
role: 'paste'
|
||||||
}, {
|
}, {
|
||||||
@@ -334,11 +336,11 @@ class AppMenu {
|
|||||||
accelerator: 'Ctrl+Q'
|
accelerator: 'Ctrl+Q'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
label: 'Edit',
|
label: i18n.__('Edit'),
|
||||||
submenu: [{
|
submenu: [{
|
||||||
role: 'undo'
|
role: 'undo', label: i18n.__('Undo')
|
||||||
}, {
|
}, {
|
||||||
role: 'redo'
|
role: 'redo', label: i18n.__('Redo')
|
||||||
}, {
|
}, {
|
||||||
type: 'separator'
|
type: 'separator'
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
if (serverLanguage) {
|
if (serverLanguage) {
|
||||||
// Set spellcheker language
|
// Set spellcheker language
|
||||||
ConfigUtil.setConfigItem('spellcheckerLanguage', serverLanguage);
|
ConfigUtil.setConfigItem('spellcheckerLanguage', serverLanguage);
|
||||||
|
|
||||||
// Init spellchecker
|
// Init spellchecker
|
||||||
SetupSpellChecker.init();
|
SetupSpellChecker.init();
|
||||||
}
|
}
|
||||||
|
|||||||
4
app/translations/de.json
Normal file
4
app/translations/de.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"Edit": "Redigera",
|
||||||
|
"Undo": "Ångra"
|
||||||
|
}
|
||||||
4
app/translations/en.json
Normal file
4
app/translations/en.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"Edit": "Edit",
|
||||||
|
"Undo": "Undo"
|
||||||
|
}
|
||||||
34
app/translations/i18n.js
Normal file
34
app/translations/i18n.js
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
const path = require('path');
|
||||||
|
const electron = require('electron');
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const ConfigUtil = require(__dirname + '/../renderer/js/utils/config-util.js');
|
||||||
|
|
||||||
|
class i18n {
|
||||||
|
constructor() {
|
||||||
|
this.app = electron.app ? electron.app : electron.remote.app;
|
||||||
|
this.appLanguage = ConfigUtil.getConfigItem('spellcheckerLanguage');
|
||||||
|
this.appLocale = path.join(__dirname, this.appLanguage + '.json');
|
||||||
|
|
||||||
|
if (fs.existsSync(this.appLocale)) {
|
||||||
|
this.loadedLanguage = JSON.parse(fs.readFileSync(this.appLocale, 'utf8'));
|
||||||
|
console.log('translate into', this.appLanguage);
|
||||||
|
console.log(this.loadedLanguage);
|
||||||
|
} else {
|
||||||
|
this.loadedLanguage = JSON.parse(fs.readFileSync(path.join(__dirname, 'en.json'), 'utf8'));
|
||||||
|
console.log('no lang found');
|
||||||
|
console.log(this.loadedLanguage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_(phrase) {
|
||||||
|
let translation = this.loadedLanguage[phrase];
|
||||||
|
if (translation === undefined) {
|
||||||
|
translation = phrase;
|
||||||
|
}
|
||||||
|
return translation;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line new-cap
|
||||||
|
module.exports = new i18n();
|
||||||
Reference in New Issue
Block a user