Translations (#72)

* Translations + danish

* changed back proxy target to use ENV

* Resolved more merge conflicts

* Removed test in translation

* Documentation of translations

* Updated translations

* removed old packages

Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
This commit is contained in:
kentora
2021-01-16 22:00:35 +01:00
committed by GitHub
parent b689c4715b
commit 0167f2f1ca
38 changed files with 546 additions and 182 deletions

View File

@@ -12,19 +12,19 @@
<v-checkbox
class="mb-n4 mt-1"
dense
label="Import Recipes"
:label="$t('settings.backup.import-recipes')"
v-model="importRecipes"
></v-checkbox>
<v-checkbox
class="my-n4"
dense
label="Import Themes"
:label="$t('settings.backup.import-themes')"
v-model="importThemes"
></v-checkbox>
<v-checkbox
class="my-n4"
dense
label="Import Settings"
:label="$t('settings.backup.import-settings')"
v-model="importSettings"
></v-checkbox>
</v-col>
@@ -66,14 +66,14 @@
<v-card-actions>
<v-btn disabled color="success" text @click="raiseEvent('download')">
Download
{{$t('general.download')}}
</v-btn>
<v-spacer></v-spacer>
<v-btn color="error" text @click="raiseEvent('delete')">
Delete
{{$t('general.delete')}}
</v-btn>
<v-btn color="success" text @click="raiseEvent('import')">
Import
{{$t('general.import')}}
</v-btn>
</v-card-actions>
</v-card>

View File

@@ -1,33 +1,30 @@
<template>
<v-card :loading="backupLoading">
<v-card-title class="headline"> Backup and Exports </v-card-title>
<v-card :loading="backupLoading" class="mt-3" min-height="410px">
<v-card-title class="headline">
{{$t('settings.backup-and-exports')}}
</v-card-title>
<v-divider></v-divider>
<v-card-text>
<p>
Backups are exported in standard JSON format along with all the images
stored on the file system. In your backup folder you'll find a .zip file
that contains all of the recipe JSON and images from the database.
Additionally, if you selected a markdown file, those will also be stored
in the .zip file. To import a backup, it must be located in your backups
folder. Automated backups are done each day at 3:00 AM.
{{$t('settings.backup-info')}}
</p>
<v-row dense align="center">
<v-col dense cols="12" sm="12" md="4">
<v-text-field v-model="backupTag" label="Backup Tag"></v-text-field>
<v-text-field v-model="backupTag" :label="$t('settings.backup-tag')"></v-text-field>
</v-col>
<v-col cols="12" sm="12" md="3">
<v-combobox
auto-select-first
label="Markdown Template"
:label="$t('settings.markdown-template')"
:items="availableTemplates"
v-model="selectedTemplate"
></v-combobox>
</v-col>
<v-col dense cols="12" sm="12" md="2">
<v-btn block text color="accent" @click="createBackup" width="165">
Backup Recipes
{{$t('settings.backup-recipes')}}
</v-btn>
</v-col>
</v-row>

View File

@@ -1,26 +1,25 @@
<template>
<v-card-text>
<p>
Currently Chowdown via public Repo URL is the only supported type of
migration
{{$t('migration.currently-chowdown-via-public-repo-url-is-the-only-supported-type-of-migration')}}
</p>
<v-form ref="form">
<v-row dense align="center">
<v-col cols="12" md="5" sm="5">
<v-text-field
v-model="repo"
label="Chowdown Repo URL"
:label="$t('migration.chowdown-repo-url')"
:rules="[rules.required]"
>
</v-text-field>
</v-col>
<v-col cols="12" md="4" sm="5">
<v-btn text color="info" @click="importRepo"> Migrate </v-btn>
<v-btn text color="info" @click="importRepo"> {{$t('migration.migrate')}} </v-btn>
</v-col>
</v-row>
</v-form>
<v-alert v-if="failedRecipes[1]" outlined dense type="error">
<h4>Failed Recipes</h4>
<h4>{{$t('migration.failed-recipes')}}</h4>
<v-list dense>
<v-list-item v-for="fail in this.failedRecipes" :key="fail">
{{ fail }}
@@ -28,7 +27,7 @@
</v-list>
</v-alert>
<v-alert v-if="failedImages[1]" outlined dense type="error">
<h4>Failed Images</h4>
<h4>{{$t('migration.failed-images')}}</h4>
<v-list dense>
<v-list-item v-for="fail in this.failedImages" :key="fail">
{{ fail }}

View File

@@ -1,9 +1,7 @@
<template>
<v-card-text>
<p>
You can import recipes from either a zip file or a directory located in
the /app/data/migraiton/ folder. Please review the documentation to ensure
your directory structure matches what is expected
{{$t('migration.you-can-import-recipes-from-either-a-zip-file-or-a-directory-located-in-the-app-data-migraiton-folder-please-review-the-documentation-to-ensure-your-directory-structure-matches-what-is-expected')}}
</p>
<v-form ref="form">
<v-row align="center">
@@ -11,20 +9,20 @@
<v-select
:items="availableImports"
v-model="selectedImport"
label="Nextcloud Data"
:label="$t('migration.nextcloud-data')"
:rules="[rules.required]"
></v-select>
</v-col>
<v-col cols="12" md="2" sm="12">
<v-btn text color="info" @click="importRecipes"> Migrate </v-btn>
<v-btn text color="info" @click="importRecipes"> {{$t('migration.migrate')}} </v-btn>
</v-col>
<v-col cols="12" md="1" sm="12">
<v-btn text color="error" @click="deleteImportValidation">
Delete
{{$t('general.delete')}}
</v-btn>
<Confirmation
title="Delete Data"
message="Are you sure you want to delete this migration data?"
:title="$t('general.delete-data')"
:message="$t('migration.delete-confirmation')"
color="error"
icon="mdi-alert-circle"
ref="deleteThemeConfirm"
@@ -39,9 +37,9 @@
</v-row>
</v-form>
<SuccessFailureAlert
success-header="Successfully Imported from Nextcloud"
success-header="{{$t('migration.successfully-imported-from-nextcloud')}}"
:success="successfulImports"
failed-header="Failed Imports"
failed-header="$t('migration.failed-imports')"
:failed="failedImports"
/>
</v-card-text>

View File

@@ -2,7 +2,7 @@
<v-form ref="file">
<v-file-input
:loading="loading"
label="Upload an Archive"
:label="$t('migration.upload-an-archive')"
v-model="file"
accept=".zip"
@change="upload"

View File

@@ -1,6 +1,6 @@
<template>
<v-card :loading="loading">
<v-card-title class="headline"> Recipe Migration </v-card-title>
<v-card-title class="headline"> {{$t('migration.recipe-migration')}} </v-card-title>
<v-divider></v-divider>
<v-tabs v-model="tab">

View File

@@ -5,7 +5,7 @@
</v-btn>
<v-dialog v-model="dialog" width="400">
<v-card>
<v-card-title> {{ buttonText }} Color </v-card-title>
<v-card-title> {{ buttonText }} {{$t('settings.color')}} </v-card-title>
<v-card-text>
<v-text-field v-model="color"> </v-text-field>
<v-row>
@@ -26,8 +26,8 @@
</v-row>
</v-card-text>
<v-card-actions>
<v-btn text @click="toggleSwatches"> Swatches </v-btn>
<v-btn text @click="dialog = false"> Select </v-btn>
<v-btn text @click="toggleSwatches"> {{$t('settings.swatches')}} </v-btn>
<v-btn text @click="dialog = false"> {{$t('general.select')}} </v-btn>
</v-card-actions>
</v-card>
</v-dialog>

View File

@@ -1,9 +1,9 @@
<template>
<div>
<v-btn text color="info" @click="dialog = true"> New </v-btn>
<v-btn text color="info" @click="dialog = true"> {{$t('general.new')}} </v-btn>
<v-dialog v-model="dialog" width="400">
<v-card>
<v-card-title> Add a New Theme </v-card-title>
<v-card-title> {{$t('settings.add-a-new-theme')}} </v-card-title>
<v-card-text>
<v-text-field
label="Theme Name"
@@ -13,9 +13,9 @@
</v-card-text>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn color="grey" text @click="dialog = false"> Cancel </v-btn>
<v-btn color="grey" text @click="dialog = false"> {{$t('general.cancel')}} </v-btn>
<v-btn color="success" text @click="Select" :disabled="!themeName">
Create
{{$t('general.create')}}
</v-btn>
</v-card-actions>
</v-card>

View File

@@ -1,12 +1,11 @@
<template>
<v-card>
<v-card-title class="headline"> Theme Settings </v-card-title>
<v-card-title class="headline"> {{$t('settings.theme.theme-settings')}} </v-card-title>
<v-divider></v-divider>
<v-card-text>
<h2 class="mt-4 mb-1">Dark Mode</h2>
<h2 class="mt-4 mb-1">{{$t('settings.theme.dark-mode')}}</h2>
<p>
Choose how Mealie looks to you. Set your theme preference to follow your
system settings, or choose to use the light or dark theme.
{{$t('settings.theme.choose-how-mealie-looks-to-you-set-your-theme-preference-to-follow-your-system-settings-or-choose-to-use-the-light-or-dark-theme')}}
</p>
<v-row dense align="center">
<v-col cols="12">
@@ -18,33 +17,31 @@
>
<v-btn value="system"> Default to system </v-btn>
<v-btn value="light"> Light </v-btn>
<v-btn value="light"> {{$t('settings.theme.light')}} </v-btn>
<v-btn value="dark"> Dark </v-btn>
<v-btn value="dark"> {{$t('settings.theme.dark')}} </v-btn>
</v-btn-toggle>
</v-col>
</v-row></v-card-text
>
<v-divider></v-divider>
<v-card-text>
<h2 class="mt-1 mb-1">Theme</h2>
<h2 class="mt-1 mb-1">{{$t('settings.theme.theme')}}</h2>
<p>
Select a theme from the dropdown or create a new theme. Note that the
default theme will be served to all users who have not set a theme
preference.
{{$t('settings.theme.select-a-theme-from-the-dropdown-or-create-a-new-theme-note-that-the-default-theme-will-be-served-to-all-users-who-have-not-set-a-theme-preference')}}
</p>
<v-form ref="form" lazy-validation>
<v-row dense align="center">
<v-col cols="12" md="4" sm="3">
<v-select
label="Saved Color Theme"
:label="$t('settings.theme.saved-color-theme')"
:items="availableThemes"
item-text="name"
return-object
v-model="selectedTheme"
@change="themeSelected"
:rules="[(v) => !!v || 'Theme is required']"
:rules="[(v) => !!v || $t('settings.theme.theme-is-required')]"
required
>
</v-select>
@@ -57,8 +54,8 @@
Delete
</v-btn>
<Confirmation
title="Delete Theme"
message="Are you sure you want to delete this theme?"
title="$t('settings.theme.delete-theme')"
message="$t('settings.theme.are-you-sure-you-want-to-delete-this-theme')"
color="error"
icon="mdi-alert-circle"
ref="deleteThemeConfirm"
@@ -70,43 +67,43 @@
<v-row dense align-content="center" v-if="selectedTheme.colors">
<v-col>
<ColorPickerDialog
button-text="Primary"
button-text="$t('settings.theme.primary')"
v-model="selectedTheme.colors.primary"
/>
</v-col>
<v-col>
<ColorPickerDialog
button-text="Secondary"
button-text="$t('settings.theme.secondary')"
v-model="selectedTheme.colors.secondary"
/>
</v-col>
<v-col>
<ColorPickerDialog
button-text="Accent"
button-text="$t('settings.theme.accent')"
v-model="selectedTheme.colors.accent"
/>
</v-col>
<v-col>
<ColorPickerDialog
button-text="Success"
button-text="$t('settings.theme.success')"
v-model="selectedTheme.colors.success"
/>
</v-col>
<v-col>
<ColorPickerDialog
button-text="Info"
button-text="$t('settings.theme.info')"
v-model="selectedTheme.colors.info"
/>
</v-col>
<v-col>
<ColorPickerDialog
button-text="Warning"
button-text="$t('settings.theme.warning')"
v-model="selectedTheme.colors.warning"
/>
</v-col>
<v-col>
<ColorPickerDialog
button-text="Error"
button-text="$t('settings.theme.error')"
v-model="selectedTheme.colors.error"
/>
</v-col>
@@ -119,7 +116,7 @@
<v-col></v-col>
<v-col align="end">
<v-btn text color="success" @click="saveThemes">
Save Colors and Apply Theme
{{$t('settings.theme.save-colors-and-apply-theme')}}
</v-btn>
</v-col>
</v-row>

View File

@@ -9,7 +9,7 @@
<template v-slot:activator="{ on, attrs }">
<v-text-field
v-model="time"
label="Set New Time"
:label="$t('settings.set-new-time')"
prepend-icon="mdi-clock-time-four-outline"
readonly
v-bind="attrs"
@@ -18,8 +18,8 @@
</template>
<v-time-picker v-if="modal2" v-model="time" full-width>
<v-spacer></v-spacer>
<v-btn text color="primary" @click="modal2 = false"> Cancel </v-btn>
<v-btn text color="primary" @click="saveTime"> OK </v-btn>
<v-btn text color="primary" @click="modal2 = false"> {{$t('general.cancel')}} </v-btn>
<v-btn text color="primary" @click="saveTime"> {{$t('general.ok')}} </v-btn>
</v-time-picker>
</v-dialog>
</template>

View File

@@ -1,21 +1,17 @@
<template>
<v-card>
<v-card-title class="headline">
Meal Planner Webhooks
{{$t('settings.webhooks.meal-planner-webhooks')}}
</v-card-title>
<v-card-text>
<p>
The URLs listed below will recieve webhooks containing the recipe data
for the meal plan on it's scheduled day. Currently Webhooks will execute
at <strong>{{ time }}</strong>
</p>
<p v-html="$t('settings.webhooks.the-urls-listed-below-will-recieve-webhooks-containing-the-recipe-data-for-the-meal-plan-on-its-scheduled-day-currently-webhooks-will-execute-at', {time: time})"></p>
<v-row dense align="center">
<v-col cols="12" md="2" sm="5">
<v-switch
v-model="enabled"
inset
label="Enabled"
:label="$t('general.enabled')"
class="my-n3"
></v-switch>
</v-col>
@@ -23,7 +19,7 @@
<TimePickerDialog @save-time="saveTime" />
</v-col>
<v-col cols="12" md="4" sm="5">
<v-btn text color="info" @click="testWebhooks"> Test Webhooks </v-btn>
<v-btn text color="info" @click="testWebhooks"> {{$t('settings.webhooks.test-webhooks')}} </v-btn>
</v-col>
</v-row>
@@ -36,7 +32,7 @@
<v-col>
<v-text-field
v-model="webhooks[index]"
label="Webhook URL"
:label="$t('settings.webhooks.webhook-url')"
></v-text-field>
</v-col>
</v-row>
@@ -51,7 +47,7 @@
<v-col> </v-col>
<v-col align="end">
<v-btn text color="success" @click="saveWebhooks">
Save Webhooks
{{$t('settings.webhooks.save-webhooks')}}
</v-btn>
</v-col>
</v-row>