Skip to content

Commit

Permalink
feat: Translations
Browse files Browse the repository at this point in the history
  • Loading branch information
gmaclennan committed Oct 1, 2019
1 parent 2f7f896 commit a38678c
Show file tree
Hide file tree
Showing 9 changed files with 280 additions and 105 deletions.
2 changes: 1 addition & 1 deletion .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
plugins: [
// Allows simpler defineMessages with react-intl
// https://github.com/akameco/babel-plugin-react-intl-auto
["react-intl-auto", { filebase: true, removePrefix: "src.renderer" }],
["react-intl-auto", { filebase: true, removePrefix: "src" }],
// Reduces bundle size by sharing babel helpers between files
["@babel/plugin-transform-runtime", { corejs: 3 }],
// Allows directly declaring props and methods on a class instead of
Expand Down
5 changes: 2 additions & 3 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const {
} = require('electron-devtools-installer')

var ipc = require('./src/main/ipc')
var menuTemplate = require('./src/main/menu')
var createMenu = require('./src/main/menu')
var createServer = require('./src/main/server.js')
var createTileServer = require('./src/main/tile-server.js')
var logger = require('electron-timber')
Expand Down Expand Up @@ -137,8 +137,7 @@ function openWindow () {
app.translations = locale.load('es')
win.loadURL(INDEX)

var menu = Menu.buildFromTemplate(menuTemplate(app))
Menu.setApplicationMenu(menu)
createMenu(app)

// Emitted when the window is closed.
win.on('closed', function () {
Expand Down
73 changes: 63 additions & 10 deletions locales/en.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,78 @@
{
"components.SyncView.SyncAppBar.newSyncfile": {
"renderer.components.HomeNew.mapeditor": {
"description": "MapEditor tab label",
"message": "Territory"
},
"renderer.components.HomeNew.mapfilter": {
"description": "MapFilter tab label",
"message": "Observations"
},
"renderer.components.HomeNew.sync": {
"description": "Synchronize tab label",
"message": "Synchronize"
},
"renderer.components.MapEditor.feedback-contribute-button": {
"message": "Feedback & Contribute"
},
"renderer.components.SyncView.Searching.searchingHint": {
"description": "Hint on sync screen when searching on wifi for devices",
"message": "Make sure devices are turned on and connected to the same wifi network"
},
"renderer.components.SyncView.Searching.searchingTitle": {
"description": "Title on sync screen when searching for devices",
"message": "Searching…"
},
"renderer.components.SyncView.SyncAppBar.newSyncfile": {
"description": "Button to create a new sync file",
"message": "Create new syncfile…"
},
"components.SyncView.SyncAppBar.selectSyncfile": {
"renderer.components.SyncView.SyncAppBar.selectSyncfile": {
"description": "Button to sync from an existing sync file",
"message": "Sync from a file…"
},
"components.SyncView.SyncAppBar.subtitle": {
"renderer.components.SyncView.SyncAppBar.subtitle": {
"message": "via Wi-Fi"
},
"components.SyncView.SyncAppBar.title": {
"renderer.components.SyncView.SyncAppBar.title": {
"description": "Title of sync screen",
"message": "Available Devices"
},
"components.SyncView.index.searchingHint": {
"description": "Hint on sync screen when searching on wifi for devices",
"message": "Make sure devices are turned on and connected to the same wifi network"
"renderer.components.SyncView.SyncButton.complete": {
"description": "Button when sync is complete",
"message": "Complete"
},
"components.SyncView.index.searchingTitle": {
"description": "Title on sync screen when searching for devices",
"message": "Searching…"
"renderer.components.SyncView.SyncButton.retry": {
"description": "Button to retry sync after error",
"message": "Retry"
},
"renderer.components.SyncView.SyncButton.starting": {
"description": "Displayed when sync is starting",
"message": "Starting…"
},
"renderer.components.SyncView.SyncButton.sync": {
"description": "Button to sync a device",
"message": "Synchronize"
},
"renderer.components.SyncView.SyncTarget.database": {
"description": "Prompt of how many database objects have synced",
"message": "Database: {sofar} / {total}"
},
"renderer.components.SyncView.SyncTarget.errorMsg": {
"description": "Message shown when there is an error while syncing",
"message": "Syncronization Error"
},
"renderer.components.SyncView.SyncTarget.lastSync": {
"description": "Shown before last sync time, e.g. 'Last synchronized: 2 hours ago'",
"message": "Last synchronized:"
},
"renderer.components.SyncView.SyncTarget.media": {
"description": "Prompt for how many media items have synced",
"message": "Photos: {sofar} / {total}"
},
"renderer.components.dialogs.LatLon.button-submit": {
"message": "Submit"
},
"renderer.components.dialogs.LatLon.dialog-enter-latlon-coordinates": {
"message": "Enter Coordinates"
}
}
69 changes: 61 additions & 8 deletions locales/es.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,78 @@
{
"components.SyncView.SyncAppBar.newSyncfile": {
"renderer.components.HomeNew.mapeditor": {
"description": "MapEditor tab label",
"message": ""
},
"renderer.components.HomeNew.mapfilter": {
"description": "MapFilter tab label",
"message": ""
},
"renderer.components.HomeNew.sync": {
"description": "Synchronize tab label",
"message": ""
},
"renderer.components.MapEditor.feedback-contribute-button": {
"message": ""
},
"renderer.components.SyncView.Searching.searchingHint": {
"description": "Hint on sync screen when searching on wifi for devices",
"message": ""
},
"renderer.components.SyncView.Searching.searchingTitle": {
"description": "Title on sync screen when searching for devices",
"message": ""
},
"renderer.components.SyncView.SyncAppBar.newSyncfile": {
"description": "Button to create a new sync file",
"message": ""
},
"components.SyncView.SyncAppBar.selectSyncfile": {
"renderer.components.SyncView.SyncAppBar.selectSyncfile": {
"description": "Button to sync from an existing sync file",
"message": ""
},
"components.SyncView.SyncAppBar.subtitle": {
"renderer.components.SyncView.SyncAppBar.subtitle": {
"message": ""
},
"components.SyncView.SyncAppBar.title": {
"renderer.components.SyncView.SyncAppBar.title": {
"description": "Title of sync screen",
"message": ""
},
"components.SyncView.index.searchingHint": {
"description": "Hint on sync screen when searching on wifi for devices",
"renderer.components.SyncView.SyncButton.complete": {
"description": "Button when sync is complete",
"message": ""
},
"components.SyncView.index.searchingTitle": {
"description": "Title on sync screen when searching for devices",
"renderer.components.SyncView.SyncButton.retry": {
"description": "Button to retry sync after error",
"message": ""
},
"renderer.components.SyncView.SyncButton.starting": {
"description": "Displayed when sync is starting",
"message": ""
},
"renderer.components.SyncView.SyncButton.sync": {
"description": "Button to sync a device",
"message": ""
},
"renderer.components.SyncView.SyncTarget.database": {
"description": "Prompt of how many database objects have synced",
"message": ""
},
"renderer.components.SyncView.SyncTarget.errorMsg": {
"description": "Message shown when there is an error while syncing",
"message": ""
},
"renderer.components.SyncView.SyncTarget.lastSync": {
"description": "Shown before last sync time, e.g. 'Last synchronized: 2 hours ago'",
"message": ""
},
"renderer.components.SyncView.SyncTarget.media": {
"description": "Prompt for how many media items have synced",
"message": ""
},
"renderer.components.dialogs.LatLon.button-submit": {
"message": ""
},
"renderer.components.dialogs.LatLon.dialog-enter-latlon-coordinates": {
"message": ""
}
}
69 changes: 61 additions & 8 deletions locales/pt.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,78 @@
{
"components.SyncView.SyncAppBar.newSyncfile": {
"renderer.components.HomeNew.mapeditor": {
"description": "MapEditor tab label",
"message": ""
},
"renderer.components.HomeNew.mapfilter": {
"description": "MapFilter tab label",
"message": ""
},
"renderer.components.HomeNew.sync": {
"description": "Synchronize tab label",
"message": ""
},
"renderer.components.MapEditor.feedback-contribute-button": {
"message": ""
},
"renderer.components.SyncView.Searching.searchingHint": {
"description": "Hint on sync screen when searching on wifi for devices",
"message": ""
},
"renderer.components.SyncView.Searching.searchingTitle": {
"description": "Title on sync screen when searching for devices",
"message": ""
},
"renderer.components.SyncView.SyncAppBar.newSyncfile": {
"description": "Button to create a new sync file",
"message": ""
},
"components.SyncView.SyncAppBar.selectSyncfile": {
"renderer.components.SyncView.SyncAppBar.selectSyncfile": {
"description": "Button to sync from an existing sync file",
"message": ""
},
"components.SyncView.SyncAppBar.subtitle": {
"renderer.components.SyncView.SyncAppBar.subtitle": {
"message": ""
},
"components.SyncView.SyncAppBar.title": {
"renderer.components.SyncView.SyncAppBar.title": {
"description": "Title of sync screen",
"message": ""
},
"components.SyncView.index.searchingHint": {
"description": "Hint on sync screen when searching on wifi for devices",
"renderer.components.SyncView.SyncButton.complete": {
"description": "Button when sync is complete",
"message": ""
},
"components.SyncView.index.searchingTitle": {
"description": "Title on sync screen when searching for devices",
"renderer.components.SyncView.SyncButton.retry": {
"description": "Button to retry sync after error",
"message": ""
},
"renderer.components.SyncView.SyncButton.starting": {
"description": "Displayed when sync is starting",
"message": ""
},
"renderer.components.SyncView.SyncButton.sync": {
"description": "Button to sync a device",
"message": ""
},
"renderer.components.SyncView.SyncTarget.database": {
"description": "Prompt of how many database objects have synced",
"message": ""
},
"renderer.components.SyncView.SyncTarget.errorMsg": {
"description": "Message shown when there is an error while syncing",
"message": ""
},
"renderer.components.SyncView.SyncTarget.lastSync": {
"description": "Shown before last sync time, e.g. 'Last synchronized: 2 hours ago'",
"message": ""
},
"renderer.components.SyncView.SyncTarget.media": {
"description": "Prompt for how many media items have synced",
"message": ""
},
"renderer.components.dialogs.LatLon.button-submit": {
"message": ""
},
"renderer.components.dialogs.LatLon.dialog-enter-latlon-coordinates": {
"message": ""
}
}
9 changes: 4 additions & 5 deletions src/main/i18n.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { EventEmitter } from 'events'

const { EventEmitter } = require('events')
const { app } = require('electron')
const logger = require('electron-timber')

Expand All @@ -26,11 +25,11 @@ class I18n extends EventEmitter {
const locale = this.locale
const messages = translations[locale] || translations[this.genericLocale]
if (!messages) {
logger.info('No translations for locale "' + locale + '"')
logger.log('No translations for locale "' + locale + '"')
return defaultMessage || '[No translation]'
}
if (!messages[id]) {
logger.info('No translations for me "' + locale + '"')
logger.log('No translations for me "' + locale + '"')
return defaultMessage || '[No translation]'
}
}
Expand All @@ -42,4 +41,4 @@ class I18n extends EventEmitter {
}
}

export default new I18n('en')
module.exports = new I18n('en')
4 changes: 3 additions & 1 deletion src/main/menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ const m = defineMessages({
})

module.exports = async function createMenu (context) {
await app.ready()
await app.whenReady()

function setMenu () {
var menu = Menu.buildFromTemplate(menuTemplate(context))
Expand Down Expand Up @@ -354,6 +354,8 @@ function menuTemplate (context) {
}
)
}

return template
}

function getDatasetCentroid (type, done) {
Expand Down
Loading

0 comments on commit a38678c

Please sign in to comment.