Mercurial > gemma
changeset 1402:acb71a982837
client: improve translation process docs
* Add comment that vue-gettext and easygettext node packages are
needed to run the process.
* Update easygettext version to latest.
author | Fadi Abbud <fadi.abbud@intevation.de> |
---|---|
date | Wed, 28 Nov 2018 16:17:17 +0100 |
parents | 178f5beeab03 |
children | f7139b814a6c |
files | client/docs/developer.md client/package.json client/src/components/Sidebar.vue client/src/components/admin/Importqueue.vue client/src/components/admin/Logs.vue client/src/components/admin/Systemconfiguration.vue client/src/components/map/Identify.vue client/src/components/map/Pdftool.vue client/src/components/map/contextbox/Bottlenecks.vue client/src/components/map/contextbox/ImportSoundingresults.vue client/src/components/map/contextbox/Staging.vue client/src/components/map/layers/Layers.vue client/src/locale/de_AT/LC_MESSAGES/app.po client/src/locale/en_GB/LC_MESSAGES/app.po client/src/locale/translations.json |
diffstat | 15 files changed, 588 insertions(+), 102 deletions(-) [+] |
line wrap: on
line diff
--- a/client/docs/developer.md Wed Nov 28 16:15:14 2018 +0100 +++ b/client/docs/developer.md Wed Nov 28 16:17:17 2018 +0100 @@ -106,6 +106,9 @@ - ## Commands +You need the following applications to run the process: + * `gettext` (e.g. from Debian gettext 0.19.8.1-9) + * `vue-gettext` and `easygettext` (e.g. via yarn or npm) In order to extract the messages from the templates call `make makemessages`. After that you have the `.po`-file which could be translated.
--- a/client/package.json Wed Nov 28 16:15:14 2018 +0100 +++ b/client/package.json Wed Nov 28 16:17:17 2018 +0100 @@ -57,7 +57,7 @@ "babel-jest": "^23.0.1", "concurrently": "^4.0.1", "copy-webpack-plugin": "^4.6.0", - "easygettext": "^2.4.0", + "easygettext": "^2.7.0", "node-sass": "^4.10.0", "pretty-quick": "^1.6.0", "sass-loader": "^7.0.1",
--- a/client/src/components/Sidebar.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/Sidebar.vue Wed Nov 28 16:17:17 2018 +0100 @@ -9,7 +9,7 @@ <div class="menu text-nowrap text-left"> <router-link to="/"> <font-awesome-icon icon="map-marked-alt" fixed-width></font-awesome-icon> - Map + <translate> Map </translate> </router-link> <a href="#" @@ -17,7 +17,7 @@ :class="['secondary', { active: isActive('bottlenecks') }]" > <font-awesome-icon icon="ship" fixed-width></font-awesome-icon> - Bottlenecks + <translate> Bottlenecks </translate> </a> <div v-if="isWaterwayAdmin"> <a @@ -26,7 +26,7 @@ :class="['secondary', { active: isActive('imports') }]" > <font-awesome-icon icon="upload" fixed-width></font-awesome-icon> - Import soundingresults + <translate> Import soundingresults </translate> </a> <a href="#" @@ -34,33 +34,33 @@ :class="['secondary', { active: isActive('staging') }]" > <font-awesome-icon icon="clipboard-check" fixed-width></font-awesome-icon> - Staging area + <translate> Staging area </translate> </a> - <small class="text-muted pl-3">Systemadministration</small> + <small class="text-muted pl-3"><translate>Systemadministration</translate></small> <hr class="m-0"> <router-link to="usermanagement"> <font-awesome-icon icon="users-cog" fixed-width></font-awesome-icon> - Users + <translate> Users </translate> </router-link> </div> <div v-if="isSysAdmin"> <router-link to="systemconfiguration"> <font-awesome-icon icon="wrench" fixed-width></font-awesome-icon> - Systemconfiguration + <translate> Systemconfiguration </translate> </router-link> <router-link to="logs"> <font-awesome-icon icon="book" fixed-width></font-awesome-icon> - Logs + <translate> Logs </translate> </router-link> <router-link to="importqueue"> <font-awesome-icon icon="tasks" fixed-width></font-awesome-icon> - Importqueue + <translate> Importqueue </translate> </router-link> </div> <hr class="m-0"> <a href="#" @click="logoff"> <font-awesome-icon icon="power-off" fixed-width></font-awesome-icon> - Logout {{ user }} + <translate> Logout </translate> {{ user }} </a> </div> </div>
--- a/client/src/components/admin/Importqueue.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/admin/Importqueue.vue Wed Nov 28 16:17:17 2018 +0100 @@ -3,7 +3,7 @@ <div :class="spacerStyle"></div> <div class="mt-3 mx-auto"> <div class="card importqueuecard"> - <div class="card-header shadow-sm text-white bg-info mb-3">Importqueue</div> + <div class="card-header shadow-sm text-white bg-info mb-3"><translate>Importqueue</translate></div> <div class="card-body importcardbody"> <div class="card-body importcardbody"> <div class="searchandfilter d-flex flex-row"> @@ -23,20 +23,20 @@ > </div> <div class="filters"> - <button @click="setFilter('successful')" :class="successfulStyle">Successful</button> - <button @click="setFilter('failed')" :class="failedStyle">Failed</button> - <button @click="setFilter('pending')" :class="pendingStyle">Pending</button> - <button @click="setFilter('rejected')" :class="rejectedStyle">Rejected</button> - <button @click="setFilter('accepted')" :class="acceptedStyle">Accepted</button> + <button @click="setFilter('successful')" :class="successfulStyle"><translate>Successful</translate></button> + <button @click="setFilter('failed')" :class="failedStyle"><translate>Failed</translate></button> + <button @click="setFilter('pending')" :class="pendingStyle"><translate>Pending</translate></button> + <button @click="setFilter('rejected')" :class="rejectedStyle"><translate>Rejected</translate></button> + <button @click="setFilter('accepted')" :class="acceptedStyle"><translate>Accepted</translate></button> </div> </div> <table class="table"> <thead> <tr> - <th>Enqueued</th> - <th>Kind</th> - <th>User</th> - <th>State</th> + <th><translate>Enqueued</translate></th> + <th><translate>Kind</translate></th> + <th><translate>User</translate></th> + <th><translate>State</translate></th> </tr> </thead> <tbody> @@ -49,7 +49,7 @@ </tbody> </table> <div> - <button @click="refresh" class="btn btn-info refresh">Refresh</button> + <button @click="refresh" class="btn btn-info refresh"><translate>Refresh</translate></button> </div> </div> </div>
--- a/client/src/components/admin/Logs.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/admin/Logs.vue Wed Nov 28 16:17:17 2018 +0100 @@ -14,23 +14,23 @@ @click="fetch('system/log/apache2/access.log', 'accesslog')" :class="accesslogStyle" href="#" - >Accesslog</a> + ><translate>Accesslog</translate></a> </li> <li class="nav-item"> <a @click="fetch('system/log/apache2/error.log', 'errorlog')" :class="errorlogStyle" href="#" - >Errorlog</a> + ><translate>Errorlog</translate></a> </li> </ul> </div> <div class="statuscontainer d-flex flex-row"> <div class="statusline ml-3 mt-1 align-self-center"> - <h3>Last refresh: {{refreshed}}</h3> + <h3><translate>Last refresh:</translate> {{refreshed}}</h3> </div> <div class="refresh"> - <button class="btn btn-dark" @click="fetch(currentFile, currentLog)">Refresh</button> + <button class="btn btn-dark" @click="fetch(currentFile, currentLog)"><translate>Refresh</translate></button> </div> </div> </div>
--- a/client/src/components/admin/Systemconfiguration.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/admin/Systemconfiguration.vue Wed Nov 28 16:17:17 2018 +0100 @@ -1,18 +1,18 @@ <template> <div class="d-flex flex-row"> <div class="card sysconfig mt-3 mx-auto"> - <div class="card-header shadow-sm text-white bg-info mb-6">Systemconfiguration</div> + <div class="card-header shadow-sm text-white bg-info mb-6"><translate>Systemconfiguration</translate></div> <div class="card-body config"> <section class="configsection"> - <h4 class="card-title">Bottleneck Areas stroke-color</h4> + <h4 class="card-title"><translate>Bottleneck Areas stroke-color</translate></h4> <compact-picker v-model="strokeColor"/> </section> <section> - <h4 class="card-title">Bottleneck Areas fill-color</h4> + <h4 class="card-title"><translate>Bottleneck Areas fill-color</translate></h4> <chrome-picker v-model="fillColor"/> </section> <div class="sendbutton"> - <a @click.prevent="submit" class="btn btn-info">Send</a> + <a @click.prevent="submit" class="btn btn-info"><translate>Send</translate></a> </div> </div> <!-- card-body -->
--- a/client/src/components/map/Identify.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/map/Identify.vue Wed Nov 28 16:17:17 2018 +0100 @@ -3,7 +3,7 @@ <div style="width: 20rem"> <h6 class="mb-0 py-2 px-3 border-bottom d-flex align-items-center"> <font-awesome-icon icon="info" class="mr-2"></font-awesome-icon> - Identified + <translate>Identified</translate> <font-awesome-icon icon="times" class="ml-auto text-muted" @@ -30,22 +30,22 @@ </div> </div> <div v-if="!currentMeasurement && !identifiedFeatures.length" class="text-muted small text-center my-auto"> - No features identified. + <translate>No features identified.</translate> </div> </div> <div class="versioninfo border-top p-3 text-left"> - This app uses <i>gemma</i>, which is Free Software under + <translate>This app uses </translate> <i>gemma</i>, <translate>which is Free Software under</translate> <br> - AGPL-3.0-or-later - without warranty, see docs for details.<br> + <translate>AGPL-3.0-or-later</translate> + <translate> without warranty, see docs for details.</translate><br> - <a href="https://hg.intevation.de/gemma/file/tip">source-code</a> - {{ versionStr }} + <a href="https://hg.intevation.de/gemma/file/tip"><translate>source-code</translate></a> + {{ versionStr }} Fadi's version <br> © via donau. ⓔ Intevation. - <br>Some data © + <br><translate>Some data ©</translate> <a href="https://www.openstreetmap.org/copyright">OpenSteetMap</a> - contributors. + <translate> contributors.</translate> </div> </div> </div>
--- a/client/src/components/map/Pdftool.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/map/Pdftool.vue Wed Nov 28 16:17:17 2018 +0100 @@ -2,7 +2,7 @@ <div :class="['box ui-element rounded bg-white text-nowrap', { expanded: showPdfTool }]"> <div style="width: 20rem"> <h6 class="mb-0 py-2 px-3 border-bottom d-flex align-items-center"> - <font-awesome-icon icon="file-pdf" class="mr-2"></font-awesome-icon>Generate PDF + <font-awesome-icon icon="file-pdf" class="mr-2"></font-awesome-icon><translate>Generate PDF</translate> <font-awesome-icon icon="times" class="ml-auto text-muted" @@ -10,10 +10,10 @@ ></font-awesome-icon> </h6> <div class="p-3"> - <b>Chose format:</b> + <b><translate>Chose format:</translate></b> <select v-model="form.format" class="form-control d-block w-100"> - <option>landscape</option> - <option>portrait</option> + <option><translate>landscape</translate></option> + <option><translate>portrait</translate></option> </select> <small class="d-block my-2"> <input @@ -23,20 +23,20 @@ v-model="form.downloadType" selected > - <label for="pdfexport-downloadtype-download" class="ml-1 mr-2">Download</label> + <label for="pdfexport-downloadtype-download" class="ml-1 mr-2"><translate>Dvownload</translate></label> <input type="radio" id="pdfexport-downloadtype-open" value="open" v-model="form.downloadType" > - <label for="pdfexport-downloadtype-open" class="ml-1">Open in new window</label> + <label for="pdfexport-downloadtype-open" class="ml-1"><translate>Open in new window</translate></label> </small> <button @click="download" type="button" class="btn btn-sm btn-info d-block w-100" - >Generate PDF</button> + ><translate>Generate PDF</translate></button> </div> </div> </div>
--- a/client/src/components/map/contextbox/Bottlenecks.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/map/contextbox/Bottlenecks.vue Wed Nov 28 16:17:17 2018 +0100 @@ -1,21 +1,21 @@ <template> <div> <h6 class="mb-0 py-2 px-3 border-bottom d-flex align-items-center"> - <font-awesome-icon icon="ship" class="mr-2"></font-awesome-icon>Bottlenecks + <font-awesome-icon icon="ship" class="mr-2"></font-awesome-icon><translate>Bottlenecks</translate> </h6> <div class="row p-2 text-left small"> <div class="col-5"> - <a href="#" @click="sortBy('name')" class="sort-link">Name</a> + <a href="#" @click="sortBy('name')" class="sort-link"><translate>Name</translate></a> <font-awesome-icon :icon="sortIcon" class="ml-1" v-if="sortColumn === 'name'"></font-awesome-icon> </div> <div class="col-2"> - <a href="#" @click="sortBy('latestMeasurement')" class="sort-link">Latest - <br>Measurement + <a href="#" @click="sortBy('latestMeasurement')" class="sort-link"><translate>Latest</translate> + <br><translate>Measurement</translate> </a> <font-awesome-icon :icon="sortIcon" class="ml-1" v-if="sortColumn === 'latestMeasurement'"></font-awesome-icon> </div> <div class="col-3"> - <a href="#" @click="sortBy('chainage')" class="sort-link">Chainage</a> + <a href="#" @click="sortBy('chainage')" class="sort-link"><translate>Chainage</translate></a> <font-awesome-icon :icon="sortIcon" class="ml-1" v-if="sortColumn === 'chainage'"></font-awesome-icon> </div> <div class="col-2"></div> @@ -57,7 +57,7 @@ </div> </div> </div> - <div v-else class="small text-center py-3 border-top">No results.</div> + <div v-else class="small text-center py-3 border-top"><translate>No results.</translate></div> </div> </template>
--- a/client/src/components/map/contextbox/ImportSoundingresults.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/map/contextbox/ImportSoundingresults.vue Wed Nov 28 16:17:17 2018 +0100 @@ -1,26 +1,26 @@ <template> <div> <h6 class="mb-0 py-2 px-3 border-bottom d-flex align-items-center"> - <font-awesome-icon icon="upload" class="mr-2"></font-awesome-icon>Import - Soundingresults + <font-awesome-icon icon="upload" class="mr-2"></font-awesome-icon><translate>Import + Soundingresults</translate> </h6> <div v-if="editState" class="ml-auto mr-auto mt-4 w-95"> <div class="d-flex flex-row input-group mb-4"> <div class="offset-r"> - <label for="bottleneck" class="label-text" id="bottlenecklabel">Bottleneck</label> + <label for="bottleneck" class="label-text" id="bottlenecklabel"><translate>Bottleneck</translate></label> </div> <div class="d-flex flex-column"> <select v-model="bottleneck" class="custom-select"> <option v-for="bottleneck in availableBottlenecks" :key="bottleneck">{{bottleneck}}</option> </select> <span class="text-left text-danger"> - <small v-if="!bottleneck">Please select a bottleneck</small> + <small v-if="!bottleneck"><translate>Please select a bottleneck</translate></small> </span> </div> </div> <div class="d-flex flex-row input-group mb-4"> <div class="offset-r"> - <label class="label-text" for="importdate" id="importdatelabel">Date</label> + <label class="label-text" for="importdate" id="importdatelabel"><translate>Date</translate></label> </div> <div class="d-flex flex-column"> <input @@ -33,18 +33,18 @@ v-model="importDate" > <span class="text-left text-danger"> - <small v-if="!importDate">Please enter a date</small> + <small v-if="!importDate"><translate> Please enter a date</translate></small> </span> </div> <div class="offset-r"> - <label class="label-text w-100 depthreferencelabel" for="depthreference">Depthreference</label> + <label class="label-text w-100 depthreferencelabel" for="depthreference"><translate>Depthreference</translate></label> </div> <div class="d-flex flex-column"> <select v-model="depthReference" class="custom-select" id="depthreference"> <option v-for="option in this.$options.depthReferenceOptions" :key="option">{{ option }}</option> </select> <span class="text-left text-danger"> - <small v-if="!depthReference">Please enter a reference</small> + <small v-if="!depthReference"><translate>Please enter a reference</translate></small> </span> </div> </div> @@ -79,13 +79,13 @@ download="meta.json" :href="dataLink" class="btn btn-outline-info pull-left" - >Download Meta.json</a> + ><translate>Download</translate> Meta.json</a> <button v-if="editState" @click="deleteTempData" class="btn btn-danger" type="button" - >Cancel Upload</button> + ><translate>Cancel Upload</translate></button> <button :disabled="disableUploadButton" @click="submit"
--- a/client/src/components/map/contextbox/Staging.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/map/contextbox/Staging.vue Wed Nov 28 16:17:17 2018 +0100 @@ -1,7 +1,7 @@ <template> <div class="w-90"> <h6 class="mb-0 py-2 px-3 border-bottom d-flex align-items-center"> - <font-awesome-icon icon="clipboard-check" class="mr-2"></font-awesome-icon>Staging Area + <font-awesome-icon icon="clipboard-check" class="mr-2"></font-awesome-icon><translate>Staging Area</translate> </h6> <table class="table mb-0"> <thead> @@ -47,12 +47,12 @@ </tbody> <tbody v-else> <tr> - <td class="text-center" colspan="6">No results.</td> + <td class="text-center" colspan="6"><translate>No results.</translate></td> </tr> </tbody> </table> <div class="p-3" v-if="filteredData.length"> - <button @click="confirmReview" class="btn btn-info">Confirm</button> + <button @click="confirmReview" class="btn btn-info"><translate>Confirm</translate></button> </div> </div> </template>
--- a/client/src/components/map/layers/Layers.vue Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/components/map/layers/Layers.vue Wed Nov 28 16:17:17 2018 +0100 @@ -2,7 +2,7 @@ <div :class="['box ui-element rounded bg-white text-nowrap', { expanded: showLayers }]"> <div style="width: 20rem"> <h6 class="mb-0 py-2 px-3 border-bottom d-flex align-items-center"> - <font-awesome-icon icon="layer-group" class="mr-2"></font-awesome-icon>Layers + <font-awesome-icon icon="layer-group" class="mr-2"></font-awesome-icon><translate>Layers</translate> <font-awesome-icon icon="times" class="ml-auto text-muted"
--- a/client/src/locale/de_AT/LC_MESSAGES/app.po Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/locale/de_AT/LC_MESSAGES/app.po Wed Nov 28 16:17:17 2018 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: wamosjs 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-07-03 17:00+0200\n" +"POT-Creation-Date: 2018-11-28 15:28+0100\n" "PO-Revision-Date: 2018-07-03 17:00+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -18,22 +18,271 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/views/Login.vue:23 +#: src/components/admin/Importqueue.vue:29 +msgid "Accepted" +msgstr "" + +#: src/components/admin/Logs.vue:16 +msgid "Accesslog" +msgstr "" + +#: src/components/map/Identify.vue:38 +msgid "AGPL-3.0-or-later" +msgstr "" + +#: src/components/Login.vue:59 +msgid "back to login" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:9 +msgid "Bottleneck" +msgstr "" + +#: src/components/admin/Systemconfiguration.vue:10 +msgid "Bottleneck Areas fill-color" +msgstr "" + +#: src/components/admin/Systemconfiguration.vue:6 +msgid "Bottleneck Areas stroke-color" +msgstr "" + +#: src/components/Sidebar.vue:19 +#: src/components/map/contextbox/Bottlenecks.vue:3 +msgid "Bottlenecks" +msgstr "Engstellen" + +#: src/components/map/contextbox/ImportSoundingresults.vue:87 +msgid "Cancel Upload" +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:17 +msgid "Chainage" +msgstr "" + +#: src/components/map/Pdftool.vue:12 +msgid "Chose format:" +msgstr "" + +#: src/components/map/contextbox/Staging.vue:54 +msgid "Confirm" +msgstr "" + +#: src/components/map/Identify.vue:47 +msgid "contributors." +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:22 +msgid "Date" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:39 +msgid "Depthreference" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:81 +msgid "Download" +msgstr "" + +#: src/components/map/Pdftool.vue:25 +msgid "Dvownload" +msgstr "" + +#: src/components/admin/Importqueue.vue:35 +msgid "Enqueued" +msgstr "" + +#: src/components/Login.vue:141 +msgid "Enter passphrase" +msgstr "Passphrase" + +#: src/components/Login.vue:144 +#, fuzzy +msgid "Enter username" +msgstr "Passphrase" + +#: src/components/admin/Logs.vue:23 +msgid "Errorlog" +msgstr "" + +#: src/components/admin/Importqueue.vue:26 +msgid "Failed" +msgstr "" + +#: src/components/Login.vue:65 msgid "Forgot password" msgstr "Passwort vergessen" -#: src/views/Login.vue:22 +#: src/components/map/Pdftool.vue:4 src/components/map/Pdftool.vue:38 +msgid "Generate PDF" +msgstr "" + +#: src/components/map/Identify.vue:5 +msgid "Identified" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:3 +msgid "" +"Import\n" +" Soundingresults" +msgstr "" + +#: src/components/Sidebar.vue:28 +msgid "Import soundingresults" +msgstr "" + +#: src/components/Sidebar.vue:56 src/components/admin/Importqueue.vue:5 +msgid "Importqueue" +msgstr "" + +#: src/components/admin/Importqueue.vue:36 +msgid "Kind" +msgstr "" + +#: src/components/map/Pdftool.vue:14 +msgid "landscape" +msgstr "" + +#: src/components/admin/Logs.vue:29 +msgid "Last refresh:" +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:11 +msgid "Latest" +msgstr "" + +#: src/components/map/layers/Layers.vue:4 +msgid "Layers" +msgstr "" + +#: src/components/Login.vue:51 msgid "Login" msgstr "Login" -#: src/views/Login.vue:11 +#: src/components/Login.vue:135 msgid "Login failed" msgstr "Login fehlgeschlagen" -#: src/views/Login.vue:115 -msgid "Enter passphrase" -msgstr "Passphrase" +#: src/components/Sidebar.vue:62 +msgid "Logout" +msgstr "" + +#: src/components/Sidebar.vue:52 +msgid "Logs" +msgstr "" + +#: src/components/Sidebar.vue:11 +msgid "Map" +msgstr "Karte" + +#: src/components/map/contextbox/Bottlenecks.vue:12 +msgid "Measurement" +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:7 +msgid "Name" +msgstr "" + +#: src/components/map/Identify.vue:32 +msgid "No features identified." +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:59 +#: src/components/map/contextbox/Staging.vue:49 +msgid "No results." +msgstr "" + +#: src/components/map/Pdftool.vue:32 +msgid "Open in new window" +msgstr "" + +#: src/components/Login.vue:137 +msgid "Password reset requested!" +msgstr "" + +#: src/components/admin/Importqueue.vue:27 +msgid "Pending" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:35 +msgid "Please enter a date" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:46 +msgid "Please enter a reference" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:16 +msgid "Please select a bottleneck" +msgstr "" + +#: src/components/map/Pdftool.vue:15 +msgid "portrait" +msgstr "" + +#: src/components/admin/Importqueue.vue:51 src/components/admin/Logs.vue:32 +msgid "Refresh" +msgstr "" -#: src/views/Login.vue:118 -msgid "Enter email" -msgstr "Email" +#: src/components/admin/Importqueue.vue:28 +msgid "Rejected" +msgstr "" + +#: src/components/Login.vue:55 +msgid "Request password reset!" +msgstr "" + +#: src/components/admin/Systemconfiguration.vue:14 +msgid "Send" +msgstr "" + +#: src/components/map/Identify.vue:45 +msgid "Some data ©" +msgstr "" + +#: src/components/map/Identify.vue:41 +msgid "source-code" +msgstr "" + +#: src/components/Sidebar.vue:36 +msgid "Staging area" +msgstr "" + +#: src/components/map/contextbox/Staging.vue:3 +msgid "Staging Area" +msgstr "" + +#: src/components/admin/Importqueue.vue:38 +msgid "State" +msgstr "" + +#: src/components/admin/Importqueue.vue:25 +msgid "Successful" +msgstr "" + +#: src/components/Sidebar.vue:38 +msgid "Systemadministration" +msgstr "" + +#: src/components/Sidebar.vue:48 src/components/admin/Systemconfiguration.vue:3 +msgid "Systemconfiguration" +msgstr "" + +#: src/components/map/Identify.vue:36 +msgid "This app uses" +msgstr "" + +#: src/components/admin/Importqueue.vue:37 +msgid "User" +msgstr "" + +#: src/components/Sidebar.vue:42 +msgid "Users" +msgstr "" + +#: src/components/map/Identify.vue:36 +msgid "which is Free Software under" +msgstr "" + +#: src/components/map/Identify.vue:39 +msgid "without warranty, see docs for details." +msgstr ""
--- a/client/src/locale/en_GB/LC_MESSAGES/app.po Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/locale/en_GB/LC_MESSAGES/app.po Wed Nov 28 16:17:17 2018 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: wamosjs 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-07-03 17:18+0200\n" +"POT-Creation-Date: 2018-11-28 16:10+0100\n" "PO-Revision-Date: 2018-07-03 17:18+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -17,22 +17,271 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/views/Login.vue:23 +#: src/components/admin/Importqueue.vue:29 +msgid "Accepted" +msgstr "" + +#: src/components/admin/Logs.vue:16 +msgid "Accesslog" +msgstr "" + +#: src/components/map/Identify.vue:38 +msgid "AGPL-3.0-or-later" +msgstr "" + +#: src/components/Login.vue:59 +msgid "back to login" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:9 +msgid "Bottleneck" +msgstr "" + +#: src/components/admin/Systemconfiguration.vue:10 +msgid "Bottleneck Areas fill-color" +msgstr "" + +#: src/components/admin/Systemconfiguration.vue:6 +msgid "Bottleneck Areas stroke-color" +msgstr "" + +#: src/components/Sidebar.vue:19 +#: src/components/map/contextbox/Bottlenecks.vue:3 +msgid "Bottlenecks" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:87 +msgid "Cancel Upload" +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:17 +msgid "Chainage" +msgstr "" + +#: src/components/map/Pdftool.vue:12 +msgid "Chose format:" +msgstr "" + +#: src/components/map/contextbox/Staging.vue:54 +msgid "Confirm" +msgstr "" + +#: src/components/map/Identify.vue:47 +msgid "contributors." +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:22 +msgid "Date" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:39 +msgid "Depthreference" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:81 +msgid "Download" +msgstr "" + +#: src/components/map/Pdftool.vue:25 +msgid "Dvownload" +msgstr "" + +#: src/components/admin/Importqueue.vue:35 +msgid "Enqueued" +msgstr "" + +#: src/components/Login.vue:141 +msgid "Enter passphrase" +msgstr "Enter passphrase" + +#: src/components/Login.vue:144 +#, fuzzy +msgid "Enter username" +msgstr "Enter passphrase" + +#: src/components/admin/Logs.vue:23 +msgid "Errorlog" +msgstr "" + +#: src/components/admin/Importqueue.vue:26 +msgid "Failed" +msgstr "" + +#: src/components/Login.vue:65 msgid "Forgot password" msgstr "Forgot password" -#: src/views/Login.vue:22 +#: src/components/map/Pdftool.vue:4 src/components/map/Pdftool.vue:38 +msgid "Generate PDF" +msgstr "" + +#: src/components/map/Identify.vue:5 +msgid "Identified" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:3 +msgid "" +"Import\n" +" Soundingresults" +msgstr "" + +#: src/components/Sidebar.vue:28 +msgid "Import soundingresults" +msgstr "" + +#: src/components/Sidebar.vue:56 src/components/admin/Importqueue.vue:5 +msgid "Importqueue" +msgstr "" + +#: src/components/admin/Importqueue.vue:36 +msgid "Kind" +msgstr "" + +#: src/components/map/Pdftool.vue:14 +msgid "landscape" +msgstr "" + +#: src/components/admin/Logs.vue:29 +msgid "Last refresh:" +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:11 +msgid "Latest" +msgstr "" + +#: src/components/map/layers/Layers.vue:4 +msgid "Layers" +msgstr "" + +#: src/components/Login.vue:51 msgid "Login" msgstr "Login" -#: src/views/Login.vue:11 +#: src/components/Login.vue:135 msgid "Login failed" msgstr "Login failed" -#: src/views/Login.vue:115 -msgid "Enter passphrase" -msgstr "Enter passphrase" +#: src/components/Sidebar.vue:62 +msgid "Logout" +msgstr "" + +#: src/components/Sidebar.vue:52 +msgid "Logs" +msgstr "" + +#: src/components/Sidebar.vue:11 +msgid "Map" +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:12 +msgid "Measurement" +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:7 +msgid "Name" +msgstr "" + +#: src/components/map/Identify.vue:32 +msgid "No features identified." +msgstr "" + +#: src/components/map/contextbox/Bottlenecks.vue:59 +#: src/components/map/contextbox/Staging.vue:49 +msgid "No results." +msgstr "" + +#: src/components/map/Pdftool.vue:32 +msgid "Open in new window" +msgstr "" + +#: src/components/Login.vue:137 +msgid "Password reset requested!" +msgstr "" + +#: src/components/admin/Importqueue.vue:27 +msgid "Pending" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:35 +msgid "Please enter a date" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:46 +msgid "Please enter a reference" +msgstr "" + +#: src/components/map/contextbox/ImportSoundingresults.vue:16 +msgid "Please select a bottleneck" +msgstr "" + +#: src/components/map/Pdftool.vue:15 +msgid "portrait" +msgstr "" + +#: src/components/admin/Importqueue.vue:51 src/components/admin/Logs.vue:32 +msgid "Refresh" +msgstr "" -#: src/views/Login.vue:118 -msgid "Enter email" -msgstr "Enter email" +#: src/components/admin/Importqueue.vue:28 +msgid "Rejected" +msgstr "" + +#: src/components/Login.vue:55 +msgid "Request password reset!" +msgstr "" + +#: src/components/admin/Systemconfiguration.vue:14 +msgid "Send" +msgstr "" + +#: src/components/map/Identify.vue:45 +msgid "Some data ©" +msgstr "" + +#: src/components/map/Identify.vue:41 +msgid "source-code" +msgstr "" + +#: src/components/Sidebar.vue:36 +msgid "Staging area" +msgstr "" + +#: src/components/map/contextbox/Staging.vue:3 +msgid "Staging Area" +msgstr "" + +#: src/components/admin/Importqueue.vue:38 +msgid "State" +msgstr "" + +#: src/components/admin/Importqueue.vue:25 +msgid "Successful" +msgstr "" + +#: src/components/Sidebar.vue:38 +msgid "Systemadministration" +msgstr "" + +#: src/components/Sidebar.vue:48 src/components/admin/Systemconfiguration.vue:3 +msgid "Systemconfiguration" +msgstr "" + +#: src/components/map/Identify.vue:36 +msgid "This app uses" +msgstr "" + +#: src/components/admin/Importqueue.vue:37 +msgid "User" +msgstr "" + +#: src/components/Sidebar.vue:42 +msgid "Users" +msgstr "" + +#: src/components/map/Identify.vue:36 +msgid "which is Free Software under" +msgstr "" + +#: src/components/map/Identify.vue:39 +msgid "without warranty, see docs for details." +msgstr ""
--- a/client/src/locale/translations.json Wed Nov 28 16:15:14 2018 +0100 +++ b/client/src/locale/translations.json Wed Nov 28 16:17:17 2018 +0100 @@ -1,16 +1,1 @@ -{ - "en_GB": { - "Enter username": "Enter username", - "Enter passphrase": "Enter passphrase", - "Login failed": "Login failed", - "Login": "Login", - "Forgot password": "Forgot password" - }, - "de_AT": { - "Enter username": "Benutzername", - "Enter passphrase": "Passphrase", - "Login failed": "Login fehlgeschlagen", - "Login": "Login", - "Forgot password": "Passwort vergessen" - } -} +{"de_AT":{"Bottlenecks":"Engstellen","Enter passphrase":"Passphrase","Forgot password":"Passwort vergessen","Login":"Login","Login failed":"Login fehlgeschlagen","Map":"Karte"},"en_GB":{"Enter passphrase":"Enter passphrase","Forgot password":"Forgot password","Login":"Login","Login failed":"Login failed"}} \ No newline at end of file