1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 17:56:25 +00:00

Implemented language switch in Interface Config Tab

This commit is contained in:
Simon
2018-03-06 15:04:04 +01:00
parent fe9afc8952
commit a36841e501
6 changed files with 106 additions and 6 deletions

View File

@@ -14,6 +14,7 @@ import mobileAnalytics from 'browser/main/lib/AwsMobileAnalyticsConfig'
import eventEmitter from 'browser/main/lib/eventEmitter' import eventEmitter from 'browser/main/lib/eventEmitter'
import { hashHistory } from 'react-router' import { hashHistory } from 'react-router'
import store from 'browser/main/store' import store from 'browser/main/store'
import i18n from 'browser/lib/i18n'
const path = require('path') const path = require('path')
const electron = require('electron') const electron = require('electron')
const { remote } = electron const { remote } = electron
@@ -148,7 +149,14 @@ class Main extends React.Component {
} else { } else {
document.body.setAttribute('data-theme', 'default') document.body.setAttribute('data-theme', 'default')
} }
if (config.ui.language === 'en') {
i18n.setLocale('en')
} else if (config.ui.language === 'de') {
i18n.setLocale('de')
} else {
i18n.setLocale('fr')
}
// Reload all data // Reload all data
dataApi.init() dataApi.init()
.then((data) => { .then((data) => {

View File

@@ -1,5 +1,6 @@
import _ from 'lodash' import _ from 'lodash'
import RcParser from 'browser/lib/RcParser' import RcParser from 'browser/lib/RcParser'
import i18n from 'browser/lib/i18n'
const OSX = global.process.platform === 'darwin' const OSX = global.process.platform === 'darwin'
const win = global.process.platform === 'win32' const win = global.process.platform === 'win32'
@@ -132,6 +133,14 @@ function set (updates) {
document.body.setAttribute('data-theme', 'default') document.body.setAttribute('data-theme', 'default')
} }
if (newConfig.ui.language === 'en') {
i18n.setLocale('en')
} else if (newConfig.ui.language === 'de') {
i18n.setLocale('de')
} else {
i18n.setLocale('fr')
}
let editorTheme = document.getElementById('editorTheme') let editorTheme = document.getElementById('editorTheme')
if (editorTheme == null) { if (editorTheme == null) {
editorTheme = document.createElement('link') editorTheme = document.createElement('link')

View File

@@ -62,6 +62,7 @@ class UiTab extends React.Component {
const newConfig = { const newConfig = {
ui: { ui: {
theme: this.refs.uiTheme.value, theme: this.refs.uiTheme.value,
language: this.refs.uiLanguage.value,
showCopyNotification: this.refs.showCopyNotification.checked, showCopyNotification: this.refs.showCopyNotification.checked,
confirmDeletion: this.refs.confirmDeletion.checked, confirmDeletion: this.refs.confirmDeletion.checked,
disableDirectWrite: this.refs.uiD2w != null disableDirectWrite: this.refs.uiD2w != null
@@ -168,6 +169,21 @@ class UiTab extends React.Component {
</select> </select>
</div> </div>
</div> </div>
<div styleName='group-section'>
{i18n.__('Language')}
<div styleName='group-section-control'>
<select value={config.ui.language}
onChange={(e) => this.handleUIChange(e)}
ref='uiLanguage'
>
<option value='en'>{i18n.__('English')}</option>
<option value='de'>{i18n.__('German')}</option>
<option value='fr'>{i18n.__('French')}</option>
</select>
</div>
</div>
<div styleName='group-checkBoxSection'> <div styleName='group-checkBoxSection'>
<label> <label>
<input onChange={(e) => this.handleUIChange(e)} <input onChange={(e) => this.handleUIChange(e)}
@@ -175,7 +191,7 @@ class UiTab extends React.Component {
ref='showCopyNotification' ref='showCopyNotification'
type='checkbox' type='checkbox'
/>&nbsp; />&nbsp;
{i18n.__('Show &quot;Saved to Clipboard&quot; notification when copying')} {i18n.__('Show "Saved to Clipboard" notification when copying')}
</label> </label>
</div> </div>
<div styleName='group-checkBoxSection'> <div styleName='group-checkBoxSection'>

View File

@@ -90,5 +90,10 @@
"If you like this project and see its potential, you can help by supporting us on OpenCollective!": "If you like this project and see its potential, you can help by supporting us on OpenCollective!", "If you like this project and see its potential, you can help by supporting us on OpenCollective!": "If you like this project and see its potential, you can help by supporting us on OpenCollective!",
"Thanks,": "Thanks,", "Thanks,": "Thanks,",
"Boostnote maintainers": "Boostnote maintainers", "Boostnote maintainers": "Boostnote maintainers",
"Support via OpenCollective": "Support via OpenCollective" "Support via OpenCollective": "Support via OpenCollective",
"Language": "Language",
"English": "Englisch",
"German": "Deutsch",
"French": "Französisch",
"Show \"Saved to Clipboard\" notification when copying": "Show \"Saved to Clipboard\" notification when copying"
} }

View File

@@ -27,7 +27,6 @@
"Thanks,": "Thanks,", "Thanks,": "Thanks,",
"Boostnote maintainers": "Boostnote maintainers", "Boostnote maintainers": "Boostnote maintainers",
"Support via OpenCollective": "Support via OpenCollective", "Support via OpenCollective": "Support via OpenCollective",
"Thank you for using Boostnote!": "Thank you for using Boostnote!",
"Make a note": "Make a note", "Make a note": "Make a note",
"Ctrl": "Ctrl", "Ctrl": "Ctrl",
"Notes": "Notes", "Notes": "Notes",
@@ -92,5 +91,9 @@
"LaTeX Inline Close Delimiter": "LaTeX Inline Close Delimiter", "LaTeX Inline Close Delimiter": "LaTeX Inline Close Delimiter",
"LaTeX Block Open Delimiter": "LaTeX Block Open Delimiter", "LaTeX Block Open Delimiter": "LaTeX Block Open Delimiter",
"LaTeX Block Close Delimiter": "LaTeX Block Close Delimiter", "LaTeX Block Close Delimiter": "LaTeX Block Close Delimiter",
".html": ".html" "Show \"Saved to Clipboard\" notification when copying": "Show \"Saved to Clipboard\" notification when copying",
"Language": "Language",
"English": "English",
"German": "German",
"French": "French"
} }

View File

@@ -1 +1,60 @@
{} {
"Notes": "Notes",
"Tags": "Tags",
"Preferences": "Preferences",
"Make a note": "Make a note",
"Ctrl": "Ctrl",
"Toggle Mode": "Toggle Mode",
"Trash": "Trash",
"MODIFICATION DATE": "MODIFICATION DATE",
"Words": "Words",
"Letters": "Letters",
"STORAGE": "STORAGE",
"FOLDER": "FOLDER",
"CREATION DATE": "CREATION DATE",
"NOTE LINK": "NOTE LINK",
".md": ".md",
".txt": ".txt",
".html": ".html",
"Print": "Print",
"Your preferences for Boostnote": "Your preferences for Boostnote",
"Interface": "Interface",
"Interface Theme": "Interface Theme",
"Default": "Default",
"White": "White",
"Solarized Dark": "Solarized Dark",
"Dark": "Dark",
"Language": "Language",
"English": "English",
"German": "German",
"French": "French",
"Show \"Saved to Clipboard\" notification when copying": "Show \"Saved to Clipboard\" notification when copying",
"Show a confirmation dialog when deleting notes": "Show a confirmation dialog when deleting notes",
"Editor Theme": "Editor Theme",
"Editor Font Size": "Editor Font Size",
"Editor Font Family": "Editor Font Family",
"Editor Indent Style": "Editor Indent Style",
"Spaces": "Spaces",
"Tabs": "Tabs",
"Switch to Preview": "Switch to Preview",
"When Editor Blurred": "When Editor Blurred",
"When Editor Blurred, Edit On Double Click": "When Editor Blurred, Edit On Double Click",
"On Right Click": "On Right Click",
"Editor Keymap": "Editor Keymap",
"default": "default",
"vim": "vim",
"emacs": "emacs",
"⚠️ Please restart boostnote after you change the keymap": "⚠️ Please restart boostnote after you change the keymap",
"Show line numbers in the editor": "Show line numbers in the editor",
"Allow editor to scroll past the last line": "Allow editor to scroll past the last line",
"Bring in web page title when pasting URL on editor": "Bring in web page title when pasting URL on editor",
"Preview Font Size": "Preview Font Size",
"Preview Font Family": "Preview Font Family",
"Code block Theme": "Code block Theme",
"Allow preview to scroll past the last line": "Allow preview to scroll past the last line",
"Show line numbers for preview code blocks": "Show line numbers for preview code blocks",
"LaTeX Inline Open Delimiter": "LaTeX Inline Open Delimiter",
"LaTeX Inline Close Delimiter": "LaTeX Inline Close Delimiter",
"LaTeX Block Open Delimiter": "LaTeX Block Open Delimiter",
"LaTeX Block Close Delimiter": "LaTeX Block Close Delimiter"
}