cooking timer ongoing

This commit is contained in:
vishnuraghavb 2021-05-22 14:26:31 +05:30
parent 6667d7b319
commit 12d1d9ba3d
70 changed files with 7013 additions and 1840 deletions

View File

@ -6,7 +6,7 @@
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/license-GPL%20v3-blue"></a> <a href="https://github.com/vishnuraghavb/EnRecipes/releases" alt="Release version"><img src="https://img.shields.io/github/v/release/vishnuraghavb/EnRecipes?color=ff5200"/></a> <a href="https://hosted.weblate.org/engage/enrecipes/">
<img src="https://hosted.weblate.org/widgets/enrecipes/-/app-translations/svg-badge.svg" alt="Translation status" /></a>
<p align="center">
<a href="https://play.google.com/store/apps/details?id=com.vishnuraghav.enrecipes"><img src="assets/Images/google-play-badge.png" height="80"/></a><a href="https://apt.izzysoft.de/fdroid/index/apk/com.vishnuraghav.enrecipes"><img src="assets/Images/IzzyOnDroid.png" height="80"/></a><br>You can also get the <a href="https://github.com/vishnuraghavb/EnRecipes/releases/latest">latest release on GitHub</a>
<a href="https://play.google.com/store/apps/details?id=com.vishnuraghav.EnRecipes"><img src="assets/Images/google-play-badge.png" height="80"/></a><a href="https://apt.izzysoft.de/fdroid/index/apk/com.vishnuraghav.EnRecipes"><img src="assets/Images/IzzyOnDroid.png" height="80"/></a><br>You can also get the <a href="https://github.com/vishnuraghavb/EnRecipes/releases/latest">latest release on GitHub</a>
</p>
<h2 align="center">Enjoying EnRecipes?</h2>
<p align="center">Please consider making a small donation to help fund the project. Developing an application, especially one that is open source and completely free, takes a lot of time and effort.

View File

@ -12,11 +12,11 @@ $gray10: #000000;
$orange: #ff5200;
Page {
font-family: "Inter-Medium";
font-family: 'Inter-Medium';
font-size: 14;
}
.ico {
font-family: "enrecipes";
font-family: 'enrecipes';
font-size: 24;
vertical-alignment: center;
&.sm {
@ -25,7 +25,7 @@ Page {
}
}
.tb {
font-family: "Inter-Bold";
font-family: 'Inter-Bold';
}
.tac {
text-align: center;
@ -180,7 +180,7 @@ TextView {
.progressContainer {
width: 100%;
}
Progress {
progress {
margin: 16;
background-color: $gray5;
}
@ -203,7 +203,7 @@ Switch {
@extend .hl;
}
}
Button {
button {
background-color: transparent;
z-index: 0;
padding: 8;
@ -240,7 +240,7 @@ Button {
width: 32;
height: 32;
min-width: 0;
margin: 0 0 0 8;
margin: 0 0 0 4;
vertical-alignment: center;
}
&.rate {
@ -253,7 +253,7 @@ Button {
// HOME
.emptyState {
padding: 16 16 8;
Label {
label {
@extend .tw;
}
.title {
@ -312,6 +312,25 @@ Button {
border-radius: 12;
}
// -----------------------------
// COOKING TIMER
.singleTimer {
padding: 8 16;
.info {
margin: 8;
}
.recipeTitle {
horizontal-alignment: left;
// font-size: 12;
}
progress {
color: $orange;
width: 100%;
height: 4;
margin: 8 0 0;
}
}
// -----------------------------
// SETTINGS
.group-info {
padding: 16 16 16 72;
@ -334,9 +353,9 @@ Button {
font-size: 12;
}
}
.listSpace {
height: 72;
}
}
.listSpace {
height: 72;
}
// -----------------------------
@ -376,9 +395,9 @@ Button {
@extend .tb;
@extend .tw;
}
.clickable {
color: $orange;
}
}
.clickable {
color: $orange;
}
.ingredient {
padding: 0 16;
@ -452,7 +471,7 @@ Button {
horizontal-alignment: left;
.tool {
padding: 0 12;
Label {
label {
vertical-alignment: center;
}
.ico {
@ -509,7 +528,7 @@ Button {
color: $orange;
}
.activeDay {
background-color: rgba($orange, 0.2);
@extend .hl;
}
}
.dayPlan {
@ -549,7 +568,8 @@ Button {
}
ListPicker {
width: 25%;
height: 160;
height: 128;
margin: 16 0;
}
.listItem {
@extend .tw;
@ -596,19 +616,34 @@ ActivityIndicator {
}
// -----------------------------
// Transitions
.blink {
animation-name: blink;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-timing-function: ease;
}
@keyframes blink {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
.hl {
animation-name: hl;
animation-duration: 0.2s;
animation-fill-mode: forwards;
animation-timing-function: ease-out;
animation-timing-function: ease;
}
@keyframes hl {
0% {
opacity: 0.5;
background-color: transparent;
}
100% {
opacity: 1;
background-color: rgba($orange, 0.2);
}
}
@ -616,7 +651,7 @@ ActivityIndicator {
animation-name: fade;
animation-duration: 0.2s;
animation-fill-mode: forwards;
animation-timing-function: ease-out;
animation-timing-function: ease;
}
@keyframes fade {
0% {

View File

@ -0,0 +1,377 @@
<template>
<Page @loaded="onPageLoad" actionBarHidden="true">
<GridLayout rows="*, auto" columns="*">
<ScrollView
@scroll="onScroll($event)"
rowSpan="2"
scrollBarIndicatorVisible="false"
>
<StackLayout>
<GridLayout rows="auto" columns="*, auto, 8">
<Label class="pageTitle" :text="'timer' | L" />
<Button
col="1"
class="ico"
:text="icon.cog"
@tap="$navigateTo(CTSettings)"
/>
</GridLayout>
<SingleTimer
v-for="(timer, i) in activeTimers"
:key="timer.id"
ref="singleTimer"
:timer="timer"
:timerIndex="i"
:formattedTime="formattedTime"
:removeTimer="removeTimer"
:addToPreset="addToPreset"
:togglePause="togglePause"
:fireTimer="fireTimer"
/>
<StackLayout class="listSpace"> </StackLayout>
</StackLayout>
</ScrollView>
<GridLayout
row="1"
@loaded="onAppBarLoad"
class="appbar"
:hidden="showUndo"
columns="auto, *, auto"
>
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
<Button class="ico fab" :text="icon.plus" @tap="addTimer" col="2" />
</GridLayout>
<GridLayout
row="1"
class="appbar snackBar"
:hidden="!showUndo"
columns="auto, *, auto"
@swipe="hideUndoBar"
>
<Button :text="countdown" class="ico countdown tb" />
<Label class="title" col="1" :text="snackMsg | L" />
<Button class="ico fab" :text="icon.undo" @tap="undoDel" col="3" />
</GridLayout>
</GridLayout>
</Page>
</template>
<script>
import { localize } from "@nativescript/localize";
import {
Observable,
CoreTypes,
Application,
ApplicationSettings,
AndroidApplication,
} from "@nativescript/core";
import { mapState, mapActions } from "vuex";
import CTSettings from "./Settings/CTSettings.vue";
import ActionDialog from "./modal/ActionDialog.vue";
import CookingTimePicker from "./modal/CookingTimePicker.vue";
import CookingTimer from "./CookingTimer.vue";
import SingleTimer from "./SingleTimer.vue";
import * as utils from "~/shared/utils";
import { EventBus } from "~/main";
let undoTimer;
export default {
components: { SingleTimer },
props: ["recipeID"],
data() {
return {
scrollPos: 1,
appbar: null,
countdown: 5,
snackMsg: null,
showUndo: false,
undo: false,
CTSettings: CTSettings,
};
},
computed: {
...mapState([
"icon",
"recipes",
"currentComponent",
"timerSound",
"timerVibrate",
"timerDelay",
"timerPresets",
"activeTimers",
]),
},
methods: {
...mapActions([
"setComponent",
"addActiveTimer",
"removeActiveTimer",
"clearTimerInterval",
"addTimerPreset",
"updateActiveTimer",
]),
onPageLoad(args) {
const page = args.object;
page.bindingContext = new Observable();
this.setComponent("CookingTimer");
},
onAppBarLoad({ object }) {
this.appbar = object;
},
onScroll(args) {
let scrollUp;
let y = args.scrollY;
if (y) {
scrollUp = y < this.scrollPos;
this.scrollPos = Math.abs(y);
let ab = this.appbar.translateY;
if (!scrollUp && ab == 0) {
this.appbar.animate({
translate: { x: 0, y: 64 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
});
} else if (scrollUp && ab == 64) {
this.appbar.animate({
translate: { x: 0, y: 0 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
});
}
}
},
// HELPERS
getRecipeTitle(id) {
let recipe = this.recipes.filter((e) => e.id === id)[0];
return recipe ? recipe.title : `[ ${localize("resNF")} ]`;
},
formattedTime(time) {
let hr = localize("hr");
let min = localize("min");
let sec = localize("sec");
let t = time.split(":");
let h = parseInt(t[0]);
let m = parseInt(t[1]);
let s = parseInt(t[2]);
let hasHrs = h ? `${h} ${hr}` : "";
let hasMins = m ? `${h ? " " : ""}${m} ${min}` : "";
let hasSecs = s ? `${h || m ? " " : ""}${s} ${sec}` : "";
return hasHrs + hasMins + hasSecs;
},
// NOTIFICATION HANDLERS
notifyTimers() {
let activeCount = this.activeTimers.length;
let pausedCount = this.activeTimers.filter((e) => e.isPaused).length;
let ongoingCount = activeCount - pausedCount;
console.log("notifying");
utils.TimerNotification.show({
bID: "bringToFront",
cID: "CookingTimer",
cName: "Cooking Timer",
description: `${ongoingCount} ongoing, ${pausedCount} paused`,
nID: 999,
priority: 0,
sound: null,
title: localize("timer"),
});
if (activeCount <= 0) utils.TimerNotification.clear(999);
},
intentListener({ intent, android }) {
let ct = "CookingTimer";
let action = (intent || android).getStringExtra("action");
console.log("calling: ", action);
let comp = this.currentComponent;
if (action == "open_timer" && this.currentComponent != ct) {
let openTimer = setInterval(() => {
if (comp == ct) clearInterval(openTimer);
else {
this.$navigateTo(CookingTimer);
comp = ct;
}
// Application.off(Application.launchEvent, this.intentListener);
Application.android.off(
AndroidApplication.activityNewIntentEvent,
this.intentListener
);
}, 250);
}
},
fireTimer(timer) {
console.log("firing");
let description = timer.recipeID
? " - " + this.getRecipeTitle(timer.recipeID)
: "";
let title = timer.label;
let time = this.formattedTime(timer.time);
let bID = "timer" + timer.id;
utils.TimerNotification.show({
actions: true,
bID,
cID: "FiringTimers",
cName: "Firing timers",
description: time,
nID: timer.id,
priority: 1,
sound: this.timerSound.uri,
title: title + description,
vibrate: this.timerVibrate,
});
Application.android.registerBroadcastReceiver(bID, (ctx, intent) => {
let action = intent.getStringExtra("action");
console.log(action, "firing");
EventBus.$emit(bID, action);
});
},
// DATA HANDLERS
addTimer() {
this.$showModal(CookingTimePicker, {
props: {
title: "ntmr",
label: `${localize("tmr", this.activeTimers.length + 1)}`,
action: "strtBtn",
showPreset: this.timerPresets.length,
},
}).then((res) => {
if (res) {
if (res == "presets") {
let list = this.timerPresets.map(
(e) => `${e.label} - ${this.formattedTime(e.time)}`
);
this.$showModal(ActionDialog, {
props: {
title: "tmrPrsts",
list,
},
}).then((preset) => {
if (preset) {
let timer = JSON.parse(
JSON.stringify(this.timerPresets[list.indexOf(preset)])
);
timer.id = this.getRandomID();
this.addActiveTimer({
timer,
index: this.activeTimers.length,
});
this.notifyTimers();
}
});
} else {
if (res.time != "00:00:00") {
this.addActiveTimer({
timer: {
id: this.getRandomID(),
label: res.label,
recipeID: this.recipeID,
time: res.time,
timerInterval: null,
isPaused: false,
preset: 0,
},
index: this.activeTimers.length,
});
this.notifyTimers();
}
}
}
});
},
removeTimer(id, index, noUndo) {
let temp = this.activeTimers[index];
this.removeActiveTimer(index);
utils.TimerNotification.clear(id);
if (!noUndo) {
this.showUndoBar("tmrClr")
.then(() => {
this.addActiveTimer({
timer: temp,
index,
});
this.notifyTimers();
})
.catch(() => {
ApplicationSettings.remove(`${temp.id}progress`);
});
}
this.notifyTimers();
},
addToPreset(timer) {
timer = JSON.parse(JSON.stringify(timer));
timer.recipeID = timer.timerInterval = null;
timer.preset = 1;
this.addTimerPreset(timer);
},
togglePause(timer, bool) {
if (typeof bool === "boolean") timer.isPaused = bool;
else timer.isPaused = !timer.isPaused;
this.updateActiveTimer(timer);
this.notifyTimers();
},
showUndoBar(message) {
return new Promise((resolve, reject) => {
clearTimeout(undoTimer);
this.showUndo = true;
this.snackMsg = message;
this.countdown = 5;
let a = 5;
undoTimer = setInterval(() => {
if (this.undo) {
this.showUndo = this.undo = false;
clearTimeout(undoTimer);
resolve(true);
}
this.countdown = Math.round((a -= 0.1));
if (this.countdown < 1) {
this.showUndo = false;
clearTimeout(undoTimer);
reject(true);
}
}, 100);
});
},
hideUndoBar({ object }) {
object
.animate({
opacity: 0,
translate: { x: 0, y: 64 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
})
.then(() => {
this.showUndo = false;
this.appbar.translateY = 64;
this.appbar.animate({
translate: { x: 0, y: 0 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
});
object.opacity = 1;
object.translateY = 0;
clearTimeout(undoTimer);
});
},
undoDel() {
this.undo = true;
},
// HELPERS
getRandomID() {
return Math.floor(Math.random() * 9000000000) + 1000000000;
},
},
created() {
// Application.on(Application.launchEvent, this.intentListener);
Application.android.on(
AndroidApplication.activityNewIntentEvent,
this.intentListener
);
this.clearTimerInterval();
},
};
</script>

View File

@ -10,8 +10,8 @@
<Label class="pageTitle" padding="16 0" :text="`${title}` | L" />
<Image
margin="8 0 32"
v-if="recipe.imageSrc"
:src="recipe.imageSrc"
v-if="recipe.image"
:src="recipe.image"
stretch="aspectFit"
class="imgHolder"
:width="screenWidth - 32"
@ -95,7 +95,7 @@
<Label class="fieldLabel" :text="'yieldQ' | L" />
<TextField
ref="yieldQuantity"
v-model="recipe.yield.quantity"
v-model="recipe.yieldQuantity"
hint="1"
keyboardType="number"
returnKeyType="next"
@ -104,7 +104,7 @@
<StackLayout class="inputField" col="2">
<Label class="fieldLabel" :text="'yieldU' | L" />
<TextField
:text="`${recipe.yield.unit}` | L"
:text="`${recipe.yieldUnit}` | L"
editable="false"
@focus="!modalOpen && showYieldUnits(true)"
@tap="showYieldUnits(false)"
@ -252,23 +252,33 @@
<GridLayout
row="1"
@loaded="onAppBarLoad"
:colSpan="hasChanges || showUndo ? '2' : '1'"
:hidden="showUndo"
class="appbar"
:class="{ snackBar: showUndo }"
:colSpan="hasChanges ? 2 : 1"
columns="auto, *, auto"
>
<Button v-if="showUndo" :text="countdown" class="countdown ico tb" />
<Button v-else class="ico" :text="icon.back" @tap="navigateBack" />
<Label class="title" col="1" :hidden="!showUndo" :text="snackMsg | L" />
<Button class="ico" :text="icon.back" @tap="navigateBack" />
<Button
v-if="(hasChanges && !saving) || showUndo"
v-if="hasChanges && !saving"
class="ico fab"
:text="showUndo ? icon.undo : icon.save"
:text="icon.save"
col="2"
@tap="showUndo ? undoDel() : saveOperation()"
@tap="saveOperation()"
/>
<ActivityIndicator col="2" v-if="saving" :busy="saving" />
</GridLayout>
<GridLayout
row="1"
class="appbar snackBar"
:hidden="!showUndo"
colSpan="2"
columns="auto, *, auto"
@swipe="hideUndoBar"
>
<Button :text="countdown" class="ico countdown tb" />
<Label class="title" col="1" :text="snackMsg | L" />
<Button class="ico fab" :text="icon.undo" @tap="undoDel" col="3" />
</GridLayout>
</GridLayout>
</Page>
</template>
@ -276,7 +286,6 @@
<script>
import {
AndroidApplication,
Application,
ApplicationSettings,
File,
getFileAccess,
@ -295,7 +304,7 @@ import ActionDialog from "./modal/ActionDialog.vue";
import ActionDialogWithSearch from "./modal/ActionDialogWithSearch.vue";
import ConfirmDialog from "./modal/ConfirmDialog.vue";
import PromptDialog from "./modal/PromptDialog.vue";
import ListPicker from "./modal/ListPicker.vue";
import TimePicker from "./modal/TimePicker.vue";
import * as utils from "~/shared/utils";
let undoTimer;
export default {
@ -309,34 +318,32 @@ export default {
return {
title: "newRec",
recipe: {
imageSrc: null,
title: undefined,
id: this.recipeID ? this.recipeID : this.getRandomID(),
image: null,
title: null,
cuisine: "Undefined",
category: "Undefined",
tags: [],
prepTime: "00:00",
cookTime: "00:00",
yield: {
quantity: undefined,
unit: "Serving",
},
yieldQuantity: null,
yieldUnit: "Serving",
difficulty: "Easy",
rating: 0,
ingredients: [],
instructions: [],
combinations: [],
notes: [],
isFavorite: false,
tried: true,
favorite: 0,
tried: 1,
lastTried: null,
lastModified: null,
created: null,
inBag: false,
},
tempRecipe: {},
tags: undefined,
modalOpen: false,
newRecipeID: null,
// newRecipeID: null,
saving: false,
cacheImagePath: null,
unSyncCombinations: [],
@ -374,7 +381,6 @@ export default {
...mapActions([
"setComponent",
"addRecipeAction",
"overwriteRecipeAction",
"addListItemAction",
"unSyncCombinationsAction",
]),
@ -416,7 +422,7 @@ export default {
// PHOTO HANDLERS
imageHandler() {
this.clearEmptyFields(true);
if (this.recipe.imageSrc) {
if (this.recipe.image) {
this.modalOpen = true;
this.$showModal(ActionDialog, {
props: {
@ -430,7 +436,7 @@ export default {
this.imagePicker();
break;
case "rp":
this.recipe.imageSrc = null;
this.recipe.image = null;
break;
}
});
@ -470,7 +476,7 @@ export default {
)
.then((cropped) => {
cropped.image.saveToFile(this.cacheImagePath, "jpg", 75);
this.recipe.imageSrc = this.cacheImagePath;
this.recipe.image = this.cacheImagePath;
});
});
}
@ -574,7 +580,7 @@ export default {
}).then((item) => {
this.modalOpen = false;
if (item.length) {
this.recipe.yield.unit = item;
this.recipe.yieldUnit = item;
this.addListItemAction({
item,
listName: "yieldUnits",
@ -585,12 +591,12 @@ export default {
} else {
this.modalOpen = false;
if (action) {
this.recipe.yield.unit = action;
this.recipe.yieldUnit = action;
if (focus) this.autoFocusField("difficultyLevel", false);
} else
this.yieldUnits.includes(this.recipe.yield.unit)
this.yieldUnits.includes(this.recipe.yieldUnit)
? mull
: (this.recipe.yield.unit = "Serving");
: (this.recipe.yieldUnit = "Serving");
}
});
},
@ -731,7 +737,7 @@ export default {
// SAVE OPERATION
clearEmptyFields(bool) {
if (!this.recipe.title && !bool) this.recipe.title = localize("untRec");
if (!this.recipe.yield.quantity) this.recipe.yield.quantity = 1;
if (!this.recipe.yieldQuantity) this.recipe.yieldQuantity = 1;
this.recipe.ingredients = this.recipe.ingredients.filter((e) => e.item);
let vm = this;
@ -744,13 +750,10 @@ export default {
saveOperation() {
this.saving = this.modalOpen = true;
this.clearEmptyFields();
this.recipe.lastModified = new Date();
this.recipe.lastModified = new Date().getTime();
ApplicationSettings.setString("previousCuisine", this.recipe.cuisine);
ApplicationSettings.setString("previousCategory", this.recipe.category);
ApplicationSettings.setString(
"previousYieldUnit",
this.recipe.yield.unit
);
ApplicationSettings.setString("previousYieldUnit", this.recipe.yieldUnit);
if (this.cacheImagePath) {
let recipeImage = path.join(
knownFolders.documents().getFolder("EnRecipes").getFolder("Images")
@ -759,18 +762,18 @@ export default {
);
let binarySource = File.fromPath(this.cacheImagePath).readSync();
File.fromPath(recipeImage).writeSync(binarySource);
this.recipe.imageSrc = recipeImage;
this.recipe.image = recipeImage;
knownFolders.temp().clear();
}
if (this.recipe.imageSrc) {
if (this.recipe.image) {
if (
this.tempRecipe.imageSrc &&
this.tempRecipe.imageSrc !== this.recipe.imageSrc
this.tempRecipe.image &&
this.tempRecipe.image !== this.recipe.image
) {
getFileAccess().deleteFile(this.tempRecipe.imageSrc);
getFileAccess().deleteFile(this.tempRecipe.image);
}
} else if (this.tempRecipe.imageSrc) {
getFileAccess().deleteFile(this.tempRecipe.imageSrc);
} else if (this.tempRecipe.image) {
getFileAccess().deleteFile(this.tempRecipe.image);
}
this.unSyncCombinationsAction({
id: this.recipeID,
@ -779,18 +782,7 @@ export default {
this.saveRecipe();
},
saveRecipe() {
if (this.recipeID) {
this.overwriteRecipeAction({
id: this.recipeID,
recipe: this.recipe,
});
} else {
this.recipe.id = this.newRecipeID;
this.addRecipeAction({
id: this.newRecipeID,
recipe: this.recipe,
});
}
this.addRecipeAction(this.recipe);
setTimeout(() => (this.saving = false), 100);
this.$navigateBack();
},
@ -819,6 +811,27 @@ export default {
}, 100);
});
},
hideUndoBar({ object }) {
object
.animate({
opacity: 0,
translate: { x: 0, y: 64 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
})
.then(() => {
this.showUndo = false;
this.appbar.translateY = 64;
this.appbar.animate({
translate: { x: 0, y: 0 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
});
object.opacity = 1;
object.translateY = 0;
clearTimeout(undoTimer);
});
},
undoDel() {
this.undo = true;
},
@ -910,7 +923,7 @@ export default {
let t = this.recipe[time].split(":");
let hr = t[0];
let min = t[1];
this.$showModal(ListPicker, {
this.$showModal(TimePicker, {
props: {
title: `${time == "prepTime" ? "prepT" : "cookT"}`,
action: "SET",
@ -1001,15 +1014,15 @@ export default {
this.tags = this.selectedTag;
this.splitTags();
}
this.recipe.yield.unit = ApplicationSettings.getString(
this.recipe.yieldUnit = ApplicationSettings.getString(
"previousYieldUnit",
"Serving"
);
if (this.filterFavourites) this.recipe.isFavorite = true;
if (this.filterFavourites) this.recipe.favorite = true;
if (this.filterTrylater) this.recipe.tried = false;
this.recipe.created = new Date();
this.recipe.created = new Date().getTime();
Object.assign(this.tempRecipe, JSON.parse(JSON.stringify(this.recipe)));
this.newRecipeID = this.getRandomID();
// this.newRecipeID = this.getRandomID();
}
},
};

View File

@ -12,7 +12,7 @@
@scroll="!selectMode && onScroll($event)"
>
<v-template name="header">
<GridLayout rows="auto" columns="*, auto, 12">
<GridLayout rows="auto" columns="*, auto, 8">
<Label class="pageTitle" :text="`${currentComponent}` | L" />
<Button
col="1"
@ -78,8 +78,8 @@
<Image
class="imgHolder"
verticalAlignment="center"
v-if="recipe.imageSrc"
:src="recipe.imageSrc"
v-if="recipe.image"
:src="recipe.image"
stretch="none"
decodeWidth="96"
decodeHeight="96"
@ -143,8 +143,8 @@
>
<Image
class="imgHolder"
v-if="recipe.imageSrc"
:src="recipe.imageSrc"
v-if="recipe.image"
:src="recipe.image"
stretch="aspectFit"
:decodeWidth="imgWidth"
:decodeHeight="imgWidth"
@ -198,8 +198,8 @@
>
<Image
class="imgHolder"
v-if="recipe.imageSrc"
:src="recipe.imageSrc"
v-if="recipe.image"
:src="recipe.image"
stretch="aspectFit"
:decodeWidth="imgWidth"
:decodeHeight="imgWidth"
@ -311,11 +311,20 @@
</GridLayout>
<GridLayout
row="1"
rows="auto"
rows="auto, auto"
columns="auto"
class="appbar toolbar"
:hidden="!showTools"
>
<GridLayout
rows="48"
class="tool"
columns="auto, *"
@touch="touchTool($event, CookingTimer, 'CookingTimer')"
>
<Label class="ico" :text="icon.timer" />
<Label col="1" :text="'timer' | L" />
</GridLayout>
<GridLayout
row="1"
rows="48"
@ -416,10 +425,12 @@ import {
startAccelerometerUpdates,
stopAccelerometerUpdates,
} from "@triniwiz/nativescript-accelerometer";
import { mapActions, mapState } from "vuex";
import ViewRecipe from "./ViewRecipe";
import EditRecipe from "./EditRecipe";
import MealPlanner from "./MealPlanner";
import CookingTimer from "./CookingTimer";
import GroceryList from "./GroceryList";
import Settings from "./Settings";
import ActionDialog from "./modal/ActionDialog.vue";
@ -445,9 +456,10 @@ export default {
scrollPos: 1,
filterFavourites: false,
filterTrylater: false,
MealPlanner: MealPlanner,
GroceryList: GroceryList,
Settings: Settings,
MealPlanner: MealPlanner,
CookingTimer: CookingTimer,
GroceryList: GroceryList,
topmenu: [
{
title: "EnRecipes",
@ -465,13 +477,6 @@ export default {
showTools: false,
};
},
components: {
ViewRecipe,
EditRecipe,
MealPlanner,
GroceryList,
Settings,
},
computed: {
...mapState([
"icon",
@ -488,6 +493,7 @@ export default {
"selectedCategory",
"selectedTag",
"appTheme",
"timerSound",
]),
filteredRecipes() {
let vm = this;
@ -501,7 +507,7 @@ export default {
return this.recipes
.filter(
(e) =>
e.isFavorite &&
e.favorite &&
(e.title.toLowerCase().includes(this.searchQuery) ||
getIngredients(e))
)
@ -557,16 +563,16 @@ export default {
"setFirstDay",
"setLayout",
"setSortType",
"deleteRecipeAction",
"deleteRecipesAction",
"deleteRecipes",
"clearFilter",
"setTheme",
"setTimerSound",
]),
onFrameLoad() {
const View = android.view.View;
const window = Application.android.startActivity.getWindow();
const decorView = window.getDecorView();
let sdkv = Device.sdkVersion;
let sdkv = Device.sdkVersion * 1;
function setColors(color) {
window.setStatusBarColor(new Color(color).android);
sdkv >= 27 && window.setNavigationBarColor(new Color(color).android);
@ -694,7 +700,7 @@ export default {
],
},
}).then((action) => {
if (action && action !== "Cancel" && this.sortType !== action) {
if (action && this.sortType !== action) {
this.setSortType(action);
ApplicationSettings.setString("sortType", action);
this.updateSort();
@ -733,53 +739,35 @@ export default {
this.listview.refresh();
},
deleteSelection() {
this.selection.length === 1
? this.deleteRecipe(this.selection[0])
: this.deleteRecipes(this.selection);
this.deletionDialogActive = true;
let hasMany = this.selection.length > 1;
let what = hasMany
? `${this.selection.length} ${localize("recs")}`
: `"${
this.recipes[
this.recipes.findIndex((e) => e.id === this.selection[0])
].title
}"`;
this.$showModal(ConfirmDialog, {
props: {
title: localize("conf"),
description: `${localize(
hasMany ? "delRecsInfo" : "delRecInfo",
what
)}`,
cancelButtonText: "cBtn",
okButtonText: "dBtn",
},
}).then((action) => {
if (action) {
this.deleteRecipes(this.selection);
if (!this.filteredRecipes.length) this.goToHome();
this.clearSelection();
}
this.deletionDialogActive = false;
});
},
exportSelection() {},
deleteRecipe(id) {
this.deletionDialogActive = true;
let index = this.recipes.findIndex((e) => e.id === id);
let recipeTitle = `"${this.recipes[index].title}"`;
this.$showModal(ConfirmDialog, {
props: {
title: localize("conf"),
description: `${localize("delRecInfo", recipeTitle)}`,
cancelButtonText: "cBtn",
okButtonText: "dBtn",
},
}).then((action) => {
if (action) {
this.deleteRecipeAction({
index,
id,
});
if (!this.filteredRecipes.length) this.goToHome();
this.clearSelection();
}
this.deletionDialogActive = false;
});
},
deleteRecipes(idsArr) {
this.deletionDialogActive = true;
let selectionCount = `${this.selection.length} ${localize("recs")}`;
this.$showModal(ConfirmDialog, {
props: {
title: localize("conf"),
description: `${localize("delRecsInfo", selectionCount)}`,
cancelButtonText: "cBtn",
okButtonText: "dBtn",
},
}).then((action) => {
if (action) {
this.deleteRecipesAction(idsArr);
if (!this.filteredRecipes.length) this.goToHome();
this.clearSelection();
}
this.deletionDialogActive = false;
});
},
// SHAKE DETECTOR
onSensorData({ x, y, z }) {
@ -836,7 +824,7 @@ export default {
count = this.recipes.filter((e) => !e.tried).length;
break;
case "favourites":
count = this.recipes.filter((e) => e.isFavorite).length;
count = this.recipes.filter((e) => e.favorite).length;
break;
default:
count = this.recipes.filter((e) => {
@ -1089,12 +1077,10 @@ export default {
},
created() {
this.setTheme(ApplicationSettings.getString("appTheme", "sysDef"));
this.setLayout(ApplicationSettings.getString("layout", "detailed"));
if (!this.recipes.length) this.initRecipes();
this.initMealPlans();
this.initListItems();
if (!this.mealPlans.length) this.initMealPlans();
this.setShake(ApplicationSettings.getBoolean("shakeEnabled", true));
this.setFirstDay(ApplicationSettings.getBoolean("mondayFirst", false));
if (!this.timerSound.title) this.setTimerSound(utils.getTones()[0]);
},
};
</script>

View File

@ -7,7 +7,15 @@
scrollBarIndicatorVisible="false"
>
<StackLayout>
<Label class="pageTitle" :text="'planner' | L" />
<GridLayout rows="auto" columns="*, auto, 8">
<Label class="pageTitle" :text="'planner' | L" />
<Button
col="1"
class="ico"
:text="icon.cog"
@tap="$navigateTo(MPSettings)"
/>
</GridLayout>
<GridLayout
class="calendar"
columns="*, *, *, *, *, *, *"
@ -117,6 +125,7 @@
class="appbar snackBar"
:hidden="!showUndo"
columns="auto, *, auto"
@swipe="hideUndoBar"
>
<Button :text="countdown" class="ico countdown tb" />
<Label class="title" col="1" :text="snackMsg | L" />
@ -127,16 +136,16 @@
</template>
<script>
import { ApplicationSettings, Observable, CoreTypes } from "@nativescript/core";
import { Observable, CoreTypes } from "@nativescript/core";
import { mapState, mapActions } from "vuex";
import ViewRecipe from "./ViewRecipe.vue";
import MPSettings from "./Settings/MPSettings.vue";
import ActionDialogWithSearch from "./modal/ActionDialogWithSearch.vue";
let undoTimer;
export default {
data() {
return {
appTheme: "Light",
mealTimes: ["breakfast", "lunch", "dinner", "snacks"],
dNames: ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"],
year: 2021,
@ -163,6 +172,7 @@ export default {
snackMsg: null,
showUndo: false,
undo: false,
MPSettings: MPSettings,
};
},
computed: {
@ -181,8 +191,9 @@ export default {
} else return 0;
},
getDayNames() {
if (!this.mondayFirst) this.dNames.unshift(this.dNames.pop());
return this.dNames;
let dNames = [...this.dNames];
if (!this.mondayFirst) dNames.unshift(dNames.pop());
return dNames;
},
getCal() {
let y = this.year;
@ -316,12 +327,11 @@ export default {
setToday(date) {
if (date) this.today = date;
},
newMealPlan(title, date, type, index) {
newMealPlan(date, type, title) {
this.addMealPlanAction({
title,
date: date ? date : this.todaysTime,
type,
index,
title,
});
},
toggleEditMode() {
@ -337,25 +347,17 @@ export default {
title: "selRec",
recipes: filteredRecipes,
},
}).then((title) => {
title && this.newMealPlan(title, null, type, null);
});
}).then((title) => title && this.newMealPlan(null, type, title));
},
removeRecipe(title, type) {
let date = this.todaysTime;
let index = this.mealPlans.findIndex(
(e) => e.title === title && e.type === type && e.date === date
);
let mealPlan = {
title,
date,
type,
index,
title,
};
this.deleteMealPlanAction(mealPlan);
this.showUndoBar("recRm").then((res) =>
this.newMealPlan(title, date, type, index)
);
this.showUndoBar("recRm").then(() => this.newMealPlan(date, type, title));
},
showUndoBar(message) {
return new Promise((resolve, reject) => {
@ -379,12 +381,30 @@ export default {
}, 100);
});
},
hideUndoBar({ object }) {
object
.animate({
opacity: 0,
translate: { x: 0, y: 64 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
})
.then(() => {
this.showUndo = false;
this.appbar.translateY = 64;
this.appbar.animate({
translate: { x: 0, y: 0 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
});
object.opacity = 1;
object.translateY = 0;
clearTimeout(undoTimer);
});
},
undoDel() {
this.undo = true;
},
},
created() {
this.appTheme = ApplicationSettings.getString("appTheme", "Light");
},
};
</script>

View File

@ -54,7 +54,7 @@
</template>
<script>
import { Observable } from "@nativescript/core";
import { Observable, Device } from "@nativescript/core";
import { mapState, mapActions } from "vuex";
import { localize } from "@nativescript/localize";
import ActionDialog from "../modal/ActionDialog.vue";

View File

@ -67,15 +67,17 @@ import {
ApplicationSettings,
path,
knownFolders,
AndroidApplication,
File,
Folder,
Observable,
Application,
getFileAccess,
} from "@nativescript/core";
import { localize } from "@nativescript/localize";
import ConfirmDialog from "../modal/ConfirmDialog.vue";
import { mapState, mapActions } from "vuex";
import { openOrCreate } from "@akylas/nativescript-sqlite";
import * as utils from "~/shared/utils";
export default {
@ -124,9 +126,11 @@ export default {
},
methods: {
...mapActions([
"importListItemsAction",
"importRecipesAction",
"importMealPlansAction",
"importListItems",
"importRecipesFromJSON",
"importRecipesFromDB",
"importMealPlansFromJSON",
"importMealPlansFromDB",
"unlinkBrokenImages",
"clearImportSummary",
]),
@ -185,7 +189,7 @@ export default {
},
exportBackup() {
this.progress = localize("expip");
this.exportFiles("create");
this.hijackBackEvent();
let date = new Date();
let formattedDate =
date.getFullYear() +
@ -198,6 +202,9 @@ export default {
("0" + date.getMinutes()).slice(-2) +
("0" + date.getSeconds()).slice(-2);
// Copy db file to EnRecipes folder
utils.copyDBToExport();
let filename = `${localize("EnRecipes")}_${formattedDate}.zip`;
let fromPath = path.join(knownFolders.documents().path, "EnRecipes");
utils.Zip.zip(fromPath, this.backupFolder, filename)
@ -205,61 +212,20 @@ export default {
.catch((err) => {
console.log("Backup error: ", err);
this.progress = null;
this.releaseBackEvent();
this.setBackupFolder(true);
});
},
exportFiles(option) {
const folder = path.join(knownFolders.documents().path, "EnRecipes");
const EnRecipesFile = File.fromPath(path.join(folder, "recipes.json"));
let userCuisinesFile,
userCategoriesFile,
userYieldUnitsFile,
userUnitsFile,
mealPlansFile;
if (this.cuisines.length)
userCuisinesFile = File.fromPath(
path.join(folder, "userCuisines.json")
);
if (this.categories.length)
userCategoriesFile = File.fromPath(
path.join(folder, "userCategories.json")
);
if (this.yieldUnits.length)
userYieldUnitsFile = File.fromPath(
path.join(folder, "userYieldUnits.json")
);
if (this.units.length)
userUnitsFile = File.fromPath(path.join(folder, "userUnits.json"));
if (this.mealPlans.length)
mealPlansFile = File.fromPath(path.join(folder, "mealPlans.json"));
switch (option) {
case "create":
this.writeDataToFile(EnRecipesFile, this.recipes);
this.cuisines.length &&
this.writeDataToFile(userCuisinesFile, this.cuisines);
this.categories.length &&
this.writeDataToFile(userCategoriesFile, this.categories);
this.yieldUnits.length &&
this.writeDataToFile(userYieldUnitsFile, this.yieldUnits);
this.units.length && this.writeDataToFile(userUnitsFile, this.units);
this.mealPlans.length &&
this.writeDataToFile(mealPlansFile, this.mealPlans);
break;
case "delete":
EnRecipesFile.remove();
this.cuisines.length && userCuisinesFile.remove();
this.categories.length && userCategoriesFile.remove();
this.yieldUnits.length && userYieldUnitsFile.remove();
this.units.length && userUnitsFile.remove();
this.mealPlans.length && mealPlansFile.remove();
break;
}
},
writeDataToFile(file, data) {
file.writeText(JSON.stringify(data));
},
showExportSummary(filename) {
// delete copied db file
getFileAccess().deleteFile(
path.join(
knownFolders.documents().getFolder("EnRecipes").path,
"EnRecipes.db"
)
);
this.progress = null;
this.releaseBackEvent();
let description = localize("buto", `"${filename}"`);
this.$showModal(ConfirmDialog, {
props: {
@ -281,63 +247,77 @@ export default {
}
});
},
validateZipContent(extractedFolderPath, uri) {
validateZipContent(dest, uri) {
this.progress = localize("impip");
let cacheFolderPath = extractedFolderPath + "/EnRecipes";
const EnRecipesFilePath = cacheFolderPath + "/recipes.json";
const ImagesFolderPath = cacheFolderPath + "/Images";
const userCuisinesFilePath = cacheFolderPath + "/userCuisines.json";
const userCategoriesFilePath = cacheFolderPath + "/userCategories.json";
const userYieldUnitsFilePath = cacheFolderPath + "/userYieldUnits.json";
const userUnitsFilePath = cacheFolderPath + "/userUnits.json";
const mealPlansFilePath = cacheFolderPath + "/mealPlans.json";
if (Folder.exists(cacheFolderPath)) {
this.isFileDataValid([
{
path: EnRecipesFilePath,
db: "EnRecipesDB",
file: "recipes.json",
},
{
path: userCuisinesFilePath,
db: "userCuisinesDB",
file: "userCuisines.json",
},
{
path: userCategoriesFilePath,
db: "userCategoriesDB",
file: "userCategories.json",
},
{
path: userYieldUnitsFilePath,
db: "userYieldUnitsDB",
file: "userYieldUnits.json",
},
{
path: userUnitsFilePath,
db: "userUnitsDB",
file: "userUnits.json",
},
{
path: mealPlansFilePath,
db: "mealPlansDB",
file: "mealPlans.json",
},
]);
this.hijackBackEvent();
let cache = dest + "/EnRecipes";
const recipesDB = cache + "/EnRecipes.db";
const recipes = cache + "/recipes.json";
const images = cache + "/Images";
const userCuisines = cache + "/userCuisines.json";
const userCategories = cache + "/userCategories.json";
const userYieldUnits = cache + "/userYieldUnits.json";
const userUnits = cache + "/userUnits.json";
const mealPlans = cache + "/mealPlans.json";
let vm = this;
// IMPORT IMAGES FINALLY
function importImages() {
const timer = setInterval(() => {
if (!this.progress) clearInterval(timer);
if (this.progress && this.importSummary.found) {
Folder.exists(ImagesFolderPath)
? this.importImages(uri)
: this.showImportSummary();
if (!vm.progress) clearInterval(timer);
if (vm.progress && vm.importSummary.found) {
Folder.exists(images)
? vm.importImages(uri)
: vm.showImportSummary();
}
}, 100);
}
if (Folder.exists(cache)) {
if (File.exists(recipesDB)) {
// IMPORT FROM DB FILE
this.extractData(recipesDB);
importImages();
} else if (File.exists(recipes)) {
// IMPORT FROM JSON FILES
this.isFileDataValid([
{
path: recipes,
db: "recipes",
file: "recipes.json",
},
{
path: userCuisines,
db: "userCuisines",
file: "userCuisines.json",
},
{
path: userCategories,
db: "userCategories",
file: "userCategories.json",
},
{
path: userYieldUnits,
db: "userYieldUnits",
file: "userYieldUnits.json",
},
{
path: userUnits,
db: "userUnits",
file: "userUnits.json",
},
{
path: mealPlans,
db: "mealPlans",
file: "mealPlans.json",
},
]);
importImages();
} else this.failedImport(localize("buEmp"));
} else this.failedImport(localize("buInc"));
},
isFileDataValid(file) {
const files = file.filter((e) => File.exists(e.path));
if (files.length) {
let isValid = files.map((e) => false);
let isValid = files.map(() => false);
files.forEach((file, i) => {
File.fromPath(file.path)
.readText()
@ -354,7 +334,7 @@ export default {
File.fromPath(file.path)
.readText()
.then((data) => {
this.importDataToDB(JSON.parse(data), file.db);
this.importData(JSON.parse(data), file.db);
});
});
}
@ -364,6 +344,7 @@ export default {
},
failedImport(description) {
this.progress = null;
this.releaseBackEvent();
knownFolders.temp().clear();
this.$showModal(ConfirmDialog, {
props: {
@ -381,37 +362,62 @@ export default {
}
return true;
},
importDataToDB(data, db) {
extractData(recipesDB) {
const db = openOrCreate(recipesDB);
// Import recipes
db.select(`SELECT * FROM recipes`).then((res) => {
this.importRecipesFromDB(res);
});
// Import listitems
db.select(
`SELECT cuisines, categories, yieldUnits, units FROM lists`
).then((res) =>
Object.keys(res[0]).forEach((listName) =>
this.importListItems({
data: JSON.parse(res[0][listName]),
listName,
})
)
);
// Import mealPlans
db.select(`SELECT * FROM mealPlans`).then((res) =>
this.importMealPlansFromDB(res)
);
},
importData(data, db) {
switch (db) {
case "EnRecipesDB":
this.importRecipesAction(data);
case "recipes":
this.importRecipesFromJSON(data);
break;
case "userCuisinesDB":
this.importListItemsAction({
case "userCuisines":
this.importListItems({
data,
listName: "cuisines",
});
break;
case "userCategoriesDB":
this.importListItemsAction({
case "userCategories":
this.importListItems({
data,
listName: "categories",
});
break;
case "userYieldUnitsDB":
this.importListItemsAction({
case "userYieldUnits":
this.importListItems({
data,
listName: "yieldUnits",
});
break;
case "userUnitsDB":
this.importListItemsAction({
case "userUnits":
this.importListItems({
data,
listName: "units",
});
break;
case "mealPlansDB":
this.importMealPlansAction(data);
case "mealPlans":
this.importMealPlansFromJSON(data);
break;
}
},
@ -420,6 +426,16 @@ export default {
Folder.fromPath(destPath);
utils.Zip.unzip(uri, destPath).then((res) => {
if (res) {
// delete unzipped json files
Folder.fromPath(path.join(destPath, "EnRecipes"))
.getEntities()
.then((entities) => {
entities.forEach((entity) => {
if (/.json|.db/.test(entity._extension))
File.fromPath(entity._path).remove();
});
});
this.showImportSummary();
this.unlinkBrokenImages();
}
@ -427,8 +443,8 @@ export default {
},
showImportSummary() {
this.progress = null;
this.releaseBackEvent();
knownFolders.temp().clear();
this.exportFiles("delete");
let { found, imported, updated } = this.importSummary;
let exists = Math.abs(found - imported - updated) + updated;
let importedNote = `\n${localize("recI")} ${imported}`;
@ -445,6 +461,23 @@ export default {
}).then(() => this.clearImportSummary());
},
// NAVIGATION HANDLERS
hijackBackEvent() {
AndroidApplication.on(
AndroidApplication.activityBackPressedEvent,
this.backEvent
);
},
releaseBackEvent() {
AndroidApplication.off(
AndroidApplication.activityBackPressedEvent,
this.backEvent
);
},
backEvent(args) {
args.cancel = true;
},
// HELPERS
touch({ object, action }, method) {
object.className = action.match(/down|move/) ? "option fade" : "option";

View File

@ -97,7 +97,7 @@ export default {
list: [...languages],
},
}).then((action) => {
if (action && action !== "Cancel" && this.appLanguage !== action) {
if (action && this.appLanguage !== action) {
let currentLocale = Device.language.split("-")[0];
let locale = this.language.filter((e) => e.title === action)[0]
.locale;
@ -148,7 +148,7 @@ export default {
list: ["detailed", "grid", "photogrid", "simple", "minimal"],
},
}).then((action) => {
if (action && action !== "Cancel" && this.layoutMode !== action) {
if (action && this.layoutMode !== action) {
let act = action.toLowerCase();
ApplicationSettings.setString("layout", act);
this.setLayout(act);

View File

@ -0,0 +1,75 @@
<template>
<Page @loaded="onPageLoad" actionBarHidden="true">
<GridLayout rows="*, auto" columns="auto, *">
<ListView
colSpan="2"
rowSpan="2"
class="options-list"
for="item in items"
>
<v-template if="$index == 0">
<Label class="pageTitle" :text="'Settings' | L" />
</v-template>
<v-template if="item.type == 'switch'">
<GridLayout columns="auto, *, auto" class="option">
<Label class="ico" :text="icon[item.icon]" />
<StackLayout col="1" verticalAlignment="center">
<Label :text="item.title | L" class="info" />
<Label
v-if="item.subTitle"
:text="item.subTitle | L"
class="sub"
/>
</StackLayout>
<Switch
:color="item.checked ? '#ff5200' : '#adb5bd'"
col="2"
:checked="item.checked"
@checkedChange="item.action"
/>
</GridLayout>
</v-template>
<v-template>
<StackLayout class="listSpace"> </StackLayout>
</v-template>
</ListView>
<GridLayout row="1" class="appbar" rows="*" columns="auto, *">
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
</GridLayout>
</GridLayout>
</Page>
</template>
<script>
import { Observable } from "@nativescript/core";
import { mapState, mapActions } from "vuex";
export default {
computed: {
...mapState(["icon", "mondayFirst"]),
items() {
return [
{},
{
type: "switch",
icon: "week",
title: "swm",
checked: this.mondayFirst,
action: this.toggleFirstDay,
},
{},
];
},
},
methods: {
...mapActions(["setFirstDay"]),
onPageLoad(args) {
const page = args.object;
page.bindingContext = new Observable();
},
toggleFirstDay({ object }) {
this.setFirstDay(object.checked);
},
},
};
</script>

View File

@ -71,7 +71,7 @@ export default {
};
},
computed: {
...mapState(["icon", "shakeEnabled", "mondayFirst"]),
...mapState(["icon", "shakeEnabled"]),
items() {
return [
{},
@ -83,26 +83,16 @@ export default {
checked: this.shakeEnabled,
action: this.toggleShake,
},
{
type: "switch",
icon: "week",
title: "swm",
checked: this.mondayFirst,
action: this.toggleFirstDay,
},
{},
];
},
},
methods: {
...mapActions(["setShake", "setFirstDay"]),
...mapActions(["setShake"]),
onPageLoad(args) {
const page = args.object;
page.bindingContext = new Observable();
},
toggleFirstDay({ object }) {
this.setFirstDay(object.checked);
},
// SHAKE VIEW RANDOM RECIPE
toggleShake({ object }) {
let checked = object.checked;

View File

@ -31,7 +31,7 @@
v-show="!toast"
row="1"
class="appbar"
rows="*"
@loaded="onAppBarLoad"
columns="auto, *"
>
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
@ -42,7 +42,7 @@
colSpan="2"
class="appbar snackBar"
columns="*"
@tap="toast = null"
@swipe="hideToast"
>
<FlexboxLayout minHeight="48" alignItems="center">
<Label class="title msg" :text="toast" />
@ -53,7 +53,7 @@
</template>
<script>
import { Observable } from "@nativescript/core";
import { Observable, CoreTypes } from "@nativescript/core";
import { localize } from "@nativescript/localize";
import { mapState, mapActions } from "vuex";
import * as utils from "~/shared/utils";
@ -61,6 +61,7 @@ export default {
data() {
return {
toast: null,
appbar: null,
};
},
computed: {
@ -95,14 +96,41 @@ export default {
const page = args.object;
page.bindingContext = new Observable();
},
onAppBarLoad({ object }) {
this.appbar = object;
},
// RESET
resetListItems(listName) {
this.resetListItemsAction(listName);
this.showToast();
},
showToast() {
this.toast = localize("restDone");
utils.timer(5, (val) => {
if (!val) this.toast = val;
});
},
hideToast({ object }) {
object
.animate({
opacity: 0,
translate: { x: 0, y: 64 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
})
.then(() => {
this.showUndo = false;
this.appbar.translateY = 64;
this.appbar.animate({
translate: { x: 0, y: 0 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
});
object.opacity = 1;
object.translateY = 0;
this.toast = null;
});
},
touch({ object, action }, type) {
object.className = action.match(/down|move/) ? "option fade" : "option";
if (action == "up") this.resetListItems(type);

View File

@ -0,0 +1,196 @@
<template>
<GridLayout
rows="auto, auto"
columns="auto, *, auto, auto, auto"
class="singleTimer"
>
<Button
class="ico"
:class="{ blink: done }"
:text="done ? icon.ring : timer.isPaused ? icon.start : icon.pause"
@tap="!done && toggleProgress()"
/>
<StackLayout col="1" class="info" :colSpan="timer.isPaused ? 1 : 2">
<Label :text="timer.label" class="tb title tw" />
<Label
@touch="!timer.recipeID && touch($event)"
:text="getRecipeTitle"
class="recipeTitle"
:class="timer.recipeID ? 'sub' : 'clickable'"
/>
<Label :text="formattedTime(timer.time)" />
</StackLayout>
<Button
col="2"
class="ico"
:hidden="(!timer.isPaused || progress == 0) && !done"
:text="icon.reset"
@tap="resetTimer"
/>
<Button
col="3"
class="ico"
:hidden="timer.preset && !done"
@tap="done ? delay() : addPreset()"
:text="done ? icon.delay : icon.addTo"
/>
<Button
col="4"
class="ico x"
:text="icon.x"
@tap="removeTimerItem(timerIndex, false)"
/>
<Progress row="1" colSpan="5" :value="progress" />
</GridLayout>
</template>
<script>
import { ApplicationSettings, Application } from "@nativescript/core";
import { localize } from "@nativescript/localize";
import { mapState, mapActions } from "vuex";
import ActionDialogWithSearch from "./modal/ActionDialogWithSearch.vue";
import * as utils from "~/shared/utils";
import { EventBus } from "~/main";
export default {
props: [
"timer",
"timerIndex",
"formattedTime",
"removeTimer",
"addToPreset",
"togglePause",
"fireTimer",
],
data() {
return {
progress: 0,
timerInt: this.timer.timerInterval,
};
},
computed: {
...mapState(["icon", "recipes", "timerDelay"]),
getRecipeTitle() {
let { recipeID } = this.timer;
if (recipeID) {
let recipe = this.recipes.filter(
(e) => e.id === this.timer.recipeID
)[0];
return recipe
? recipe.title
: `[ ${this.$options.filters.L("resNF")} ]`;
} else return localize("fwr");
},
done() {
return this.progress >= 100;
},
getTimeInSec() {
let t = this.timer.time.split(":");
return +t[0] * 60 * 60 + +t[1] * 60 + +t[2];
},
},
methods: {
...mapActions(["removeActiveTimer", "updateActiveTimer", "addTimerPreset"]),
attachRecipe() {
this.$showModal(ActionDialogWithSearch, {
props: {
title: "selRec",
recipes: this.recipes,
},
}).then((recipeID) => {
let timer = this.timer;
timer.recipeID = recipeID;
this.updateActiveTimer(timer);
});
},
setProgress(progress, delay) {
this.progress = progress;
let timer = this.timer;
if (progress <= 100 && !timer.timerInterval) {
timer.timerInterval = setInterval(() => {
if (!this.timer.isPaused) {
this.progress += 100 / (delay + this.getTimeInSec);
ApplicationSettings.setNumber(
`${this.timer.id}progress`,
this.progress
);
}
if (this.progress >= 100) {
if (progress < 100) this.fireTimer(timer);
clearInterval(timer.timerInterval);
ApplicationSettings.remove(`${this.timer.id}delay`);
}
}, 1000);
this.updateActiveTimer(timer);
}
},
resetInterval() {
let timer = this.timer;
clearInterval(this.timer.timerInterval);
timer.timerInterval = null;
this.updateActiveTimer(timer);
},
resetTimer() {
this.resetInterval();
this.togglePause(this.timer, true);
ApplicationSettings.remove(`${this.timer.id}delay`);
this.setProgress(0, 0);
ApplicationSettings.setNumber(`${this.timer.id}progress`, 0);
this.clearNotification();
},
clearNotification() {
Application.android.unregisterBroadcastReceiver("timer" + this.timer.id);
utils.TimerNotification.clear(this.timer.id);
},
toggleProgress(bool) {
this.togglePause(this.timer, bool);
this.timer.isPaused
? this.resetInterval()
: this.setProgress(
ApplicationSettings.getNumber(`${this.timer.id}progress`, 0),
ApplicationSettings.getNumber(`${this.timer.id}delay`, 0)
);
},
removeTimerItem(index, noUndo) {
this.resetInterval();
this.removeTimer(this.timer.id, index, noUndo);
},
addPreset() {
this.timer.preset = 1;
this.addToPreset(this.timer);
},
delay() {
let delayInS = this.timerDelay.split(" ")[0] * 60;
ApplicationSettings.setNumber(`${this.timer.id}delay`, delayInS);
let progress = (100 / delayInS) * this.getTimeInSec;
this.resetInterval();
this.setProgress(progress, delayInS);
this.clearNotification();
},
// HELPERS
touch({ object, action }) {
object.className = action.match(/down|move/)
? "recipeTitle clickable fade"
: "recipeTitle clickable";
if (action == "up") this.attachRecipe();
},
},
mounted() {
this.setProgress(
ApplicationSettings.getNumber(`${this.timer.id}progress`, 0),
ApplicationSettings.getNumber(`${this.timer.id}delay`, 0)
);
EventBus.$on("timer" + this.timer.id, (e) => {
switch (e) {
case "stop":
this.resetTimer();
break;
case "delay":
this.delay();
break;
}
});
},
};
</script>

View File

@ -26,8 +26,8 @@
</StackLayout>
<Image
col="1"
v-if="recipe.imageSrc"
:src="recipe.imageSrc"
v-if="recipe.image"
:src="recipe.image"
stretch="aspectFit"
class="photo"
decodeWidth="96"
@ -81,8 +81,9 @@
<Label
@touch="touchYield"
class="value clickable"
horizontalAlignment="left"
:text="`${tempYieldQuantity} ${$options.filters.L(
recipe.yield.unit
recipe.yieldUnit
)}`"
/>
</StackLayout>
@ -183,7 +184,7 @@
@loaded="onAppBarLoad"
class="appbar"
v-show="!toast"
columns="auto, *, auto, auto, auto, auto"
columns="auto, *, auto, auto, auto, auto, auto"
>
<Button
class="ico"
@ -192,36 +193,42 @@
/>
<Button
col="2"
class="ico"
:text="icon.timer"
@tap="openCookingTimer"
/>
<Button
col="3"
v-if="!filterTrylater"
class="ico"
:text="recipe.tried ? icon.try : icon.tried"
@tap="toggle('tried')"
/>
<Button
col="2"
col="3"
v-else
class="ico"
:text="icon.done"
@tap="recipeTried"
/>
<Button
col="3"
class="ico"
:text="recipe.isFavorite ? icon.faved : icon.fav"
@tap="toggle('isFavorite')"
@tap="toggle('tried', true)"
/>
<Button
col="4"
class="ico"
:text="recipe.favorite ? icon.faved : icon.fav"
@tap="toggle('favorite')"
/>
<Button
col="5"
v-if="!busy"
class="ico"
:text="icon.edit"
@tap="editRecipe"
/>
<ActivityIndicator col="4" v-else :busy="busy" />
<ActivityIndicator col="5" v-else :busy="busy" />
<Button
col="6"
class="ico fab"
:text="icon.share"
col="5"
@tap="shareHandler"
/>
</GridLayout>
@ -230,7 +237,7 @@
row="1"
class="appbar snackBar"
columns="*"
@tap="toast = null"
@swipe="hideLastTried"
>
<FlexboxLayout minHeight="48" alignItems="center">
<Label class="title msg" :text="toast" />
@ -242,7 +249,7 @@
backgroundColor="black"
stretch="aspectFit"
@loaded="onImgViewLoad"
:src="recipe.imageSrc"
:src="recipe.image"
class="photoviewer"
/>
</AbsoluteLayout>
@ -262,10 +269,12 @@ import {
Observable,
Screen,
CoreTypes,
Color,
} from "@nativescript/core";
import { localize } from "@nativescript/localize";
const intl = require("nativescript-intl");
import { mapActions, mapState } from "vuex";
import CookingTimer from "./CookingTimer.vue";
import EditRecipe from "./EditRecipe.vue";
import ActionDialog from "./modal/ActionDialog.vue";
import PromptDialog from "./modal/PromptDialog.vue";
@ -325,8 +334,6 @@ export default {
...mapActions([
"toggleStateAction",
"setComponent",
"overwriteRecipeAction",
"setRecipeAsTriedAction",
"setRatingAction",
"toggleCartAction",
]),
@ -335,8 +342,8 @@ export default {
page.bindingContext = new Observable();
this.busy = this.photoOpen = false;
this.setComponent("ViewRecipe");
if (this.yieldMultiplier == this.recipe.yield.quantity)
this.yieldMultiplier = this.recipe.yield.quantity;
if (this.yieldMultiplier == this.recipe.yieldQuantity)
this.yieldMultiplier = this.recipe.yieldQuantity;
this.keepScreenOn(true);
this.syncCombinations();
},
@ -374,7 +381,6 @@ export default {
onStickyLoad({ object }) {
this.sticky = object;
},
// FIX: scroll not smooth
fixTitle({ object }, swipeUp: boolean): void {
let ingL = this.recipe.ingredients.length;
let insL = this.recipe.instructions.length;
@ -394,17 +400,6 @@ export default {
{ length: 4 },
(v, i) => (v = arr[i] ? i < n : false)
);
// this.sticky
// .animate({
// opacity: 0.5,
// duration: 0,
// })
// .then(() => {
// this.sticky.animate({
// opacity: 1,
// duration: 250,
// });
// });
};
if (swipeUp) {
@ -469,7 +464,7 @@ export default {
changeYield() {
this.$showModal(PromptDialog, {
props: {
title: `${localize("req", localize(this.recipe.yield.unit))}`,
title: `${localize("req", localize(this.recipe.yieldUnit))}`,
placeholder: Math.abs(parseFloat(this.yieldMultiplier)),
action: "SET",
},
@ -480,8 +475,7 @@ export default {
hasTime(time) {
return time != "00:00";
},
niceDate(time) {
let lastTried = new Date(time).getTime();
niceDate(lastTried) {
let now = new Date().getTime();
let midnight = new Date().setHours(0, 0, 0, 0);
let diff = (now - lastTried) / 1000;
@ -506,19 +500,40 @@ export default {
if (!val) this.toast = val;
});
},
hideLastTried({ object }) {
object
.animate({
opacity: 0,
translate: { x: 0, y: 64 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
})
.then(() => {
this.showUndo = false;
this.appbar.translateY = 64;
this.appbar.animate({
translate: { x: 0, y: 0 },
duration: 250,
curve: CoreTypes.AnimationCurve.ease,
});
object.opacity = 1;
object.translateY = 0;
this.toast = null;
});
},
// getMeasure(value: number, unit: string) {
// let vm = this;
// function roundedQ(val: number) {
// return Math.abs(
// Math.round(
// (val / vm.recipe.yield.quantity) * vm.tempYieldQuantity * 100
// (val / vm.recipe.yieldQuantity) * vm.tempYieldQuantity * 100
// ) / 100
// );
// }
// if (value) {
// let rounded = Math.abs(
// Math.round(
// (value / this.recipe.yield.quantity) * this.tempYieldQuantity * 100
// (value / this.recipe.yieldQuantity) * this.tempYieldQuantity * 100
// ) / 100
// );
// let lUnit = localize(unit);
@ -551,7 +566,7 @@ export default {
roundedQuantity(quantity: number) {
return Math.abs(
Math.round(
(quantity / this.recipe.yield.quantity) * this.tempYieldQuantity * 100
(quantity / this.recipe.yieldQuantity) * this.tempYieldQuantity * 100
) / 100
);
},
@ -598,10 +613,10 @@ export default {
)
.map((e) => e.id);
this.recipe.combinations = combinationForOtherRecipes;
this.overwriteRecipeAction({
id: this.currentRecipeID,
recipe: this.recipe,
});
// this.overwriteRecipeAction({
// id: this.currentRecipeID,
// recipe: this.recipe,
// });
},
touchIngredient({ object, action }, index) {
object.className = action.match(/down|move/)
@ -672,13 +687,13 @@ export default {
this.currentRecipeID = combination;
this.syncCombinations();
this.createNotes();
this.yieldMultiplier = this.recipe.yield.quantity;
this.yieldMultiplier = this.recipe.yieldQuantity;
this.recipe.tried && this.recipe.lastTried && this.showLastTried();
},
// SHARE ACTION
shareHandler() {
if (this.recipe.imageSrc) {
if (this.recipe.image) {
this.$showModal(ActionDialog, {
props: {
title: "shr",
@ -690,7 +705,7 @@ export default {
this.shareRecipe();
break;
case "pht":
ImageSource.fromFile(this.recipe.imageSrc).then((res) =>
ImageSource.fromFile(this.recipe.image).then((res) =>
utils.shareImage(res, localize("srpu"))
);
break;
@ -718,7 +733,7 @@ export default {
this.recipe.cookTime
)}\n`;
overview += `${localize("yld")}: ${this.tempYieldQuantity} ${localize(
this.recipe.yield.unit
this.recipe.yieldUnit
)}\n${localize("Difficulty level")}: ${localize(
this.recipe.difficulty
)}\n`;
@ -765,26 +780,18 @@ export default {
},
// DATA HANDLERS
toggle(key, setDate) {
toggle(key: string, setDate: boolean) {
this.toggleStateAction({
id: this.currentRecipeID,
recipe: this.recipe,
key,
setDate,
});
},
recipeTried() {
this.setRecipeAsTriedAction({
id: this.currentRecipeID,
recipe: this.recipe,
});
this.$navigateBack();
if (setDate) this.$navigateBack();
},
setRating(rating) {
if (rating !== this.recipe.rating || rating === 1) {
this.setRatingAction({
id: this.currentRecipeID,
recipe: this.recipe,
rating,
});
}
@ -797,7 +804,6 @@ export default {
}
this.toggleCartAction({
id: this.currentRecipeID,
recipe: this.recipe,
});
},
@ -855,7 +861,6 @@ export default {
} else this.$navigateBack();
},
viewPhoto() {
// this.imgView.initNativeView();
this.photoOpen = true;
this.hijackBackEvent();
let pv = this.imgView;
@ -920,6 +925,14 @@ export default {
this.photoOpen ? this.closePhoto() : this.$navigateBack();
},
//TIMERS
openCookingTimer() {
this.$navigateTo(CookingTimer, {
props: {
recipeID: this.recipe.id,
},
});
},
//HELPERS
touchYield({ object, action }) {
object.className = action.match(/down|move/)
@ -933,7 +946,7 @@ export default {
this.recipe.ingredients.forEach((e) => this.checks.push(false));
},
mounted() {
this.yieldMultiplier = this.recipe.yield.quantity;
this.yieldMultiplier = this.recipe.yieldQuantity;
this.recipe.tried && this.recipe.lastTried && this.showLastTried();
},
};

View File

@ -11,11 +11,7 @@
v-if="filteredRecipes.length || searchQuery"
class="input"
>
<TextField
class="modalInput"
:hint="'ser' | L"
v-model="searchQuery"
/>
<TextField class="modalInput" :hint="'ser' | L" v-model="searchQuery" />
</StackLayout>
<ListView row="2" for="recipe in filteredRecipes">
<v-template>
@ -48,7 +44,7 @@
<Button
col="2"
class="text sm"
:text="'CANCEL' | L"
:text="'cBtn' | L"
@tap="$modal.close(false)"
/>
</GridLayout>

View File

@ -0,0 +1,122 @@
<template>
<Page
@loaded="transparentPage"
backgroundColor="transparent"
:class="appTheme"
>
<GridLayout rows="auto, auto, auto" class="modal">
<Label class="title" :text="title | L" />
<StackLayout row="1">
<StackLayout class="input">
<TextField
class="modalInput"
v-model="setLabel"
:hint="label"
autocapitalizationType="words"
/></StackLayout>
<!-- @loaded="focusField" -->
<StackLayout orientation="horizontal" horizontalAlignment="center">
<ListPicker
@loaded="onLPLoad"
:items="hrsList"
@selectedIndexChange="setHr"
></ListPicker>
<ListPicker
@loaded="onLPLoad"
:items="minsList"
@selectedIndexChange="setMin"
></ListPicker>
<ListPicker
@loaded="onLPLoad"
:items="secsList"
@selectedIndexChange="setSec"
></ListPicker>
</StackLayout>
</StackLayout>
<GridLayout row="2" columns="auto, *, auto, auto" class="actions">
<Button
v-if="showPreset"
class="text sm"
:text="'prstBtn' | L"
@tap="$modal.close('presets')"
/>
<Button
col="2"
class="text sm"
:text="'cBtn' | L"
@tap="$modal.close(false)"
/>
<Button col="3" class="text sm" :text="action | L" @tap="sendRespose" />
</GridLayout>
</GridLayout>
</Page>
</template>
<script>
import { Utils } from "@nativescript/core";
import { localize } from "@nativescript/localize";
import { mapState } from "vuex";
export default {
props: ["title", "label", "action", "showPreset"],
data() {
return {
hrs: [],
mins: [],
secs: [],
selectedHrs: "00",
selectedMins: "00",
selectedSecs: "00",
setLabel: null,
};
},
computed: {
...mapState(["icon", "appTheme"]),
hrsList() {
let h = [...Array(24).keys()];
this.hrs = h;
return h.map((e) => `${e} ${localize("hr")}`);
},
minsList() {
let m = [...Array(60).keys()];
this.mins = m;
return m.map((e) => `${e} ${localize("min")}`);
},
secsList() {
let s = [...Array(60).keys()];
this.secs = s;
return s.map((e) => `${e} ${localize("sec")}`);
},
selectedTime() {
return `${this.selectedHrs}:${this.selectedMins}:${this.selectedSecs}`;
},
},
methods: {
onLPLoad({ object }) {
object.android.setWrapSelectorWheel(true);
},
setHr(args) {
let hr = "0" + this.hrs[args.object.selectedIndex];
this.selectedHrs = hr.slice(-2);
},
setMin(args) {
let min = "0" + this.mins[args.object.selectedIndex];
this.selectedMins = min.slice(-2);
},
setSec(args) {
let sec = "0" + this.secs[args.object.selectedIndex];
this.selectedSecs = sec.slice(-2);
},
focusField({ object }) {
object.focus();
setTimeout(() => Utils.ad.showSoftInput(object.android), 100);
},
sendRespose() {
this.$modal.close({
label: this.setLabel ? this.setLabel : this.label,
time: this.selectedTime,
});
},
},
};
</script>

View File

@ -66,12 +66,7 @@ export default {
return h.map((e) => `${e} ${localize("hr")}`);
},
minsList() {
let m = [
...new Set([
...Array(11).keys(),
...Array.from(Array(12), (_, x) => x * 5),
]),
];
let m = [...Array(60).keys()];
this.mins = m;
return m.map((e) => `${e} ${localize("min")}`);
},

Binary file not shown.

View File

@ -3,15 +3,17 @@ import {
androidLaunchEventLocalizationHandler,
} from '@nativescript/localize'
import { on, launchEvent } from '@nativescript/core/application'
on(launchEvent, (args) => {
if (args.android) {
androidLaunchEventLocalizationHandler()
}
on(launchEvent, ({ android }) => {
if (android) androidLaunchEventLocalizationHandler()
})
import Vue from 'nativescript-vue'
import EnRecipes from './components/EnRecipes.vue'
import store from './store'
export const EventBus = new Vue()
import CollectionView from '@nativescript-community/ui-collectionview/vue'
Vue.use(CollectionView)

View File

@ -15,29 +15,18 @@
android {
defaultConfig {
versionCode 8
versionName '1.3.3'
applicationId 'com.vishnuraghav.enrecipes'
minSdkVersion 23
versionCode 1
versionName '2.0.0'
minSdkVersion 21
targetSdkVersion 30
compileSdkVersion 30
generatedDensities = []
ndk {
abiFilters.clear()
abiFilters.addAll(['arm64-v8a', 'armeabi-v7a', 'x86'])
}
// ndk {
// abiFilters.clear()
// abiFilters.addAll(['arm64-v8a'])
// }
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
// buildTypes {
// release {
// minifyEnabled true
// shrinkResources false
// debuggable false
// jniDebuggable false
// renderscriptDebuggable false
// }
// }
}

View File

@ -4,14 +4,14 @@
<uses-permission android:name="android.permission.CAMERA" tools:node="remove" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" tools:node="remove" />
<uses-permission android:name="android.permission.INTERNET" tools:node="remove" />
<uses-permission android:name="android.permission.RECORD_AUDIO" tools:node="remove" />
<application android:extractNativeLibs="true"
android:name="com.tns.NativeScriptApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:hardwareAccelerated="true" android:largeHeap="true" android:theme="@style/AppTheme">
<activity android:name="com.tns.NativeScriptActivity" android:label="@string/title_activity_kimera" android:screenOrientation="userPortrait" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|locale|uiMode" android:theme="@style/LaunchScreenTheme" android:windowSoftInputMode="adjustResize">
<application android:extractNativeLibs="true" android:name="com.tns.NativeScriptApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:hardwareAccelerated="true" android:largeHeap="true" android:theme="@style/AppTheme">
<activity android:name="com.tns.NativeScriptActivity" android:label="@string/title_activity_kimera" android:launchMode="singleTop" android:screenOrientation="userPortrait" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|locale|uiMode" android:theme="@style/LaunchScreenTheme" android:windowSoftInputMode="adjustResize">
<meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@ -19,14 +19,8 @@
</intent-filter>
</activity>
<activity android:name="com.tns.ErrorReportActivity" />
<provider
android:name="androidx.core.content.FileProvider"
android:exported="false"
android:authorities="${applicationId}.provider"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider"/>
<provider android:name="androidx.core.content.FileProvider" android:exported="false" android:authorities="${applicationId}.provider" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider" />
</provider>
</application>
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 938 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"ثوان"</string>
<string name="hours">"ساعات"</string>
<string name="hour">"ساعة"</string>
<string name="minutes">"دقائق"</string>
<string name="minute">"دقيقة"</string>
<string name="dlyDur">"مدة التأخير"</string>
<string name="tmrvbrt">"اهتزاز المؤقت"</string>
<string name="tmrSnd">"صوت المؤقت"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"لأي وصفة؟"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"مؤقت %1$s"</string>
<string name="delay">"التأخير"</string>
<string name="stop">"قف"</string>
<string name="strtBtn">"ابدأ"</string>
<string name="ntmr">"مؤقت جديد"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sysDefB">"System default + Black"</string>
<string name="buto">"Backed up to %1$s"</string>
<string name="yld">"Yield"</string>
<string name="yieldU">"Yield unit"</string>
<string name="yieldQ">"Yield quantity"</string>
<string name="yesterday">"أمس"</string>
<string name="WED">"WED"</string>
<string name="wAgo">"قبل %1$s أسابيع"</string>
<string name="Vietnamese">"فيتنامية"</string>
<string name="Vegetarian">"نباتي"</string>
<string name="Vegan">"نباتي صرف"</string>
<string name="untRec">"Untitled Recipe"</string>
<string name="unsaved">"تغيرات غبر محفوظة"</string>
<string name="Unit">"وحدة"</string>
<string name="unit">"وحدة"</string>
<string name="Undefined">"Undefined"</string>
<string name="Turkish">"تركية"</string>
<string name="TUE">"TUE"</string>
<string name="tsp">"tsp"</string>
<string name="tsInfo">"separate with spaces"</string>
<string name="ts">"العلامات"</string>
<string name="trySer">"ابحث في كل الوصفات؟"</string>
<string name="trylater">"حاول لاحقاً"</string>
<string name="trnsl">"ترجم"</string>
<string name="triedInfo">"جربت هذه الوصفة %1$s"</string>
<string name="today">"اليوم"</string>
<string name="tLInfo">"الوصفات التي تريد تجربتها مسرودة هنا"</string>
<string name="title">"العنوان"</string>
<string name="THU">"THU"</string>
<string name="Theme">"السمة"</string>
<string name="Thai">"تايلندية"</string>
<string name="Teaspoon">"ملعقة شاي"</string>
<string name="tbsp">"tbsp"</string>
<string name="Tablespoon">"ملعقة"</string>
<string name="sysDef">"System default"</string>
<string name="swm">"ابدأ الاسبوع يوم الاثنين"</string>
<string name="Swedish">"سويدية"</string>
<string name="sVwInfo">"لمساعدتك على اختيار ما تطبخ عندما لا تستطيع الاختيار"</string>
<string name="sVw">"هز لرؤية وصفة عشوائية"</string>
<string name="SUN">"SUN"</string>
<string name="strAdd">"ابدأ إضافة وصفاتك!"</string>
<string name="stp">"خطوة"</string>
<string name="stick">"stick"</string>
<string name="stars">"التقييم النجمي"</string>
<string name="sru">"شارك وصفة باستعمال..."</string>
<string name="srt">"Sort"</string>
<string name="srpu">"شارك صورة الوصفة باستعمال..."</string>
<string name="_Sri_Lankan_Z7GfBa">"سري لانكية"</string>
<string name="Spanish">"اسبانية"</string>
<string name="Soups">"شوربات"</string>
<string name="snacks">"وجبات خفيفة"</string>
<string name="small">"صغير"</string>
<string name="sltd">"المختارة"</string>
<string name="_Slowest_first_hHjY6">"الأبطأ أولاً"</string>
<string name="simple">"بسيط"</string>
<string name="_Side_dishes_Z1Et4Vg">"الأطباق الجانبية"</string>
<string name="shr">"شارك"</string>
<string name="Settings">"الإعدادات"</string>
<string name="SET">"SET"</string>
<string name="Serving">"Serving"</string>
<string name="ser">"ابحث"</string>
<string name="September">"سبتمبر"</string>
<string name="selRec">"اختر وصفة"</string>
<string name="Seafood">"بحرية"</string>
<string name="Scottish">"سكتلندية"</string>
<string name="Sauces">"صلصات"</string>
<string name="SAT">"SAT"</string>
<string name="Salads">"سلطات"</string>
<string name="Russian">"روسية"</string>
<string name="rst">"أعد التشغيل"</string>
<string name="rp">"Remove photo"</string>
<string name="Roll">"لفة"</string>
<string name="rmYUInfo">"You are about to remove %1$s from the yield unit list"</string>
<string name="rmUInfo">"You are about to remove %1$s from the unit list"</string>
<string name="rmN">"Note removed"</string>
<string name="rmIns">"Instruction removed"</string>
<string name="rmIng">"Ingredient removed"</string>
<string name="rmCuiInfo">"You are about to remove %1$s from the cuisine list"</string>
<string name="rmCmb">"Combination removed"</string>
<string name="rmCatInfo">"You are about to remove %1$s from the category list"</string>
<string name="Rice">"أرز"</string>
<string name="restYUL">"Reset yield unit list"</string>
<string name="restUL">"Reset unit list"</string>
<string name="restInfo">"Resetting a list will delete user-created entries and restore default entries. Existing recipes will not be affected."</string>
<string name="restDone">"Reset done"</string>
<string name="restCuiL">"Reset cuisine list"</string>
<string name="restCatL">"Reset category list"</string>
<string name="rest">"Reset"</string>
<string name="resNF">"Recipe not found"</string>
<string name="req">"Required %1$s"</string>
<string name="recU">"Updated:"</string>
<string name="recTitle">"وصفتي الصحية"</string>
<string name="recs">"الوصفات"</string>
<string name="recRm">"Recipe removed"</string>
<string name="recPic">"صورة الوصفة"</string>
<string name="recListEmp">"لا شيء هنا! أضف بعض الوصفات ثم حاول مجدداً"</string>
<string name="recI">"المستورد:"</string>
<string name="recF">"recipes found"</string>
<string name="recE">"Already exist:"</string>
<string name="rec">"الوصفة"</string>
<string name="rBtn">"REMOVE"</string>
<string name="Rating">"التقييم"</string>
<string name="_Quickest_first_Z1CpP7N">"الاسرع أولاً"</string>
<string name="qt">"qt"</string>
<string name="pt">"pt"</string>
<string name="priv">"سياسة الخصوصية"</string>
<string name="prepT">"وقت التحضير"</string>
<string name="Pound">"رطل"</string>
<string name="Poultry">"دواجن"</string>
<string name="Portuguese">"برتغالية"</string>
<string name="plsAdd">"استعمل زر الزائد لإضافة واحدة"</string>
<string name="planner">"مخططة الوجبات"</string>
<string name="pinch">"رشة"</string>
<string name="Piece">"قطعة"</string>
<string name="piece">"قطعة"</string>
<string name="pht">"صورة الوصفة"</string>
<string name="photogrid">"Photo Grid"</string>
<string name="Patty">"فطيرة"</string>
<string name="Pasta">"باستا"</string>
<string name="oz">"oz"</string>
<string name="Ounce">"أونصة"</string>
<string name="opts">"الاعدادات"</string>
<string name="_Oldest_first_Z6cq4h">"الأقدم أولاً"</string>
<string name="OK">"OK"</string>
<string name="October">"أكتوبر"</string>
<string name="nwYiU">"New yield unit"</string>
<string name="nwCat">"صنف جديد"</string>
<string name="November">"نوفمبر"</string>
<string name="nos">"ملاحظات"</string>
<string name="noRecsInL">"None of the recipes here matches your search"</string>
<string name="noRecs">"لا وصفات مطابقة لبحثك"</string>
<string name="Noodles">"نودلز"</string>
<string name="noFavs">"No favourites yet"</string>
<string name="noAccSensor">"مقياس التسارع إما معطل أو لا يعمل"</string>
<string name="no">"ملاحظة"</string>
<string name="nNBtn">"ليس الآن"</string>
<string name="nLangInfo">"أعد تشغيل EnRecipes لاستخدام اللغة الجديدة"</string>
<string name="Nigerian">"نيجيرية"</string>
<string name="newUnit">"وحدة جديدة"</string>
<string name="newRec">"وصفة جديدة"</string>
<string name="_Newest_first_2Sb3c">"الأجد أولاً"</string>
<string name="newCui">"مطبخ جديد"</string>
<string name="MON">"MON"</string>
<string name="Moderate">"متوسطة"</string>
<string name="ml">"مل"</string>
<string name="minimal">"Minimal"</string>
<string name="sec">"sec"</string>
<string name="min">"min"</string>
<string name="Millilitre">"مللتر"</string>
<string name="mg">"مغ"</string>
<string name="Mexican">"مكسيكية"</string>
<string name="medium">"medium"</string>
<string name="Meat">"لحم"</string>
<string name="May">"مايو"</string>
<string name="March">"مارس"</string>
<string name="_Main_dishes_u6RGQ">"الأطباق الرئيسة"</string>
<string name="mAgo">"منذ %1$s أشهر"</string>
<string name="lunch">"غداء"</string>
<string name="ltAgo">"منذ وقت طويل"</string>
<string name="Loaf">"رغيف"</string>
<string name="Litre">"لتر"</string>
<string name="listVM">"وضع عرض القائمة"</string>
<string name="Light">"فاتح"</string>
<string name="leaf">"leaf"</string>
<string name="lb">"lb"</string>
<string name="_Last_updated_Z2gEbLD">"Last updated"</string>
<string name="large">"كبير"</string>
<string name="lang">"اللغة"</string>
<string name="l">"ل"</string>
<string name="Korean">"كورية"</string>
<string name="Kilogram">"كيلوغرام"</string>
<string name="kg">"كغ"</string>
<string name="Kenyan">"كينية"</string>
<string name="kEdit">"KEEP EDITING"</string>
<string name="June">"يونيو"</string>
<string name="July">"يوليو"</string>
<string name="joinTG">"انضم لمجموعة التلغرام"</string>
<string name="Jewish">"يهودية"</string>
<string name="Japanese">"يابانية"</string>
<string name="January">"يناير"</string>
<string name="Jamaican">"جمايكية"</string>
<string name="Italian">"إيطالية"</string>
<string name="it">"Item"</string>
<string name="Irish">"إيرلندية"</string>
<string name="invFile">"ملف غير صحيح"</string>
<string name="intf">"الواجهة"</string>
<string name="inss">"Instructions"</string>
<string name="ings">"المكونات"</string>
<string name="Indian">"هندية"</string>
<string name="in">"إن"</string>
<string name="impSuc">"نجح الاستيراد"</string>
<string name="impip">"جار الاستيراد"</string>
<string name="impInfo">"يدعم النسخ الاحتياطية الكاملة المصدرة من هذا التطبيق"</string>
<string name="impFail">"فشل الاستيراد"</string>
<string name="impBu">"استورد البيانات"</string>
<string name="hr">"hr"</string>
<string name="Healthy">"صحية"</string>
<string name="guide">"دليل المستخدم"</string>
<string name="grocery">"قائمة التسوق"</string>
<string name="grid">"شبكة"</string>
<string name="Greek">"إغريقية"</string>
<string name="Gram">"غرام"</string>
<string name="gh">"اعرض على github"</string>
<string name="German">"ألمانية"</string>
<string name="Gallon">"جالون"</string>
<string name="gal">"جال"</string>
<string name="g">"غ"</string>
<string name="fsList">"وصفاتك المفضلة مسرودة هنا"</string>
<string name="FRI">"FRI"</string>
<string name="French">"فرنسية"</string>
<string name="_Fluid_Ounce_bd10L">"Fluid Ounce"</string>
<string name="fltr">"المصفاة"</string>
<string name="_fl_oz_72kqu">"fl oz"</string>
<string name="_Filtered_recipes_Z1alhhu">"الوصفات المصفاة"</string>
<string name="Filipino">"فلبينية"</string>
<string name="February">"فبراير"</string>
<string name="favourites">"المفضلات"</string>
<string name="expSuc">"نجح التصدير"</string>
<string name="expip">"جار التصدير"</string>
<string name="expBu">"صدر نسخة احتياطية كاملة"</string>
<string name="EnRecipes">""</string>
<string name="English">"إنجليزية"</string>
<string name="Egyptian">"مصرية"</string>
<string name="editRec">"عدل الوصفة"</string>
<string name="Easy">"سهلة"</string>
<string name="dsp">"dstspn"</string>
<string name="drop">"قطرة"</string>
<string name="dozen">"درزن"</string>
<string name="donate">"تبرع"</string>
<string name="disc">"هذه الوصفة فيها تغييرات غير محفوظة. ما الذي تريد فعله؟"</string>
<string name="disBtn">"استبعد"</string>
<string name="dinner">"عشاء"</string>
<string name="_Difficulty_level_cSL5d">"مستوى الصعوبة"</string>
<string name="detailed">"مفصل"</string>
<string name="Desserts">"حلا"</string>
<string name="delRecsInfo">"You are about to permanently delete %1$s"</string>
<string name="delRecInfo">"You are about to permanently delete the recipe %1$s"</string>
<string name="December">"ديسمبر"</string>
<string name="dBtn">"DELETE"</string>
<string name="db">"قاعدة البيانات"</string>
<string name="Dark">"داكن"</string>
<string name="Danish">"دنماركي"</string>
<string name="dAgo">"قبل %1$s أيام"</string>
<string name="Cup">"كأس"</string>
<string name="cup">"كأس"</string>
<string name="cui">"المطبخ"</string>
<string name="Created">"Created"</string>
<string name="cPic">"قص الصورة"</string>
<string name="cookT">"Cooking time"</string>
<string name="conf">"Confirm"</string>
<string name="conBtn">"أكمل"</string>
<string name="cmbs">"Combinations"</string>
<string name="cm">"سم"</string>
<string name="clove">"فص"</string>
<string name="Chinese">"صينية"</string>
<string name="Challenging">"صعبة"</string>
<string name="cBtn">"ألغ"</string>
<string name="cat">"الصنف"</string>
<string name="buMod">"لف النسخة الاحتياطة عدل في مكان آخر"</string>
<string name="buInfo">"يولد ملف ZIP يحتوي على جميع بياناتك يمكن استيراده مجدداً"</string>
<string name="buInc">"ملف نسخة احتياطي مشوه أو فاسد"</string>
<string name="buFol">"مجلد النسخ الاحتياطية"</string>
<string name="buEmp">"مجلد النسخ الاحتيطية فارغ"</string>
<string name="British">"بريطانية"</string>
<string name="breakfast">"فطور"</string>
<string name="Breads">"أخباز"</string>
<string name="Brazilian">"برازيلية"</string>
<string name="Black">"أسود"</string>
<string name="Beverages">"مشروبات"</string>
<string name="Barbecue">"شواء"</string>
<string name="August">"أغسطس"</string>
<string name="aStpBtn">"أضف خطوة"</string>
<string name="April">"أبريل"</string>
<string name="appRst">"إعادة تشغيل التطبيق متطلبة"</string>
<string name="apply">"طبق"</string>
<string name="appInfo">"EnRecipes is an open source, privacy-friendly digital cookbook that lets you create, manage and share your recipes"</string>
<string name="Appetizers">"مقبلات"</string>
<string name="appCrd">"Shared via EnRecipes. Get it on F-Droid, IzzyOnDroid or the Play Store."</string>
<string name="_app_name_1k3Sbz">""</string>
<string name="app_name">""</string>
<string name="title_activity_kimera">""</string>
<string name="aNoBtn">"أضف ملاحظة"</string>
<string name="aNBtn">"أضف جديدة"</string>
<string name="American">"أمريكية"</string>
<string name="allTs">"كل العلامات"</string>
<string name="allCuis">"كل المطابخ"</string>
<string name="allCats">"كل الأصناف"</string>
<string name="aIngBtn">"أضف مكون"</string>
<string name="aFBu">"أضف وصفة لتقوم بالنسخ الاحتياطي"</string>
<string name="addCmbBtn">"ADD COMBINATION"</string>
<string name="aD">"انتهى!"</string>
<string name="aBtn">"أضف"</string>
<string name="About">"حول"</string>
<string name="aap">"ألحق صورة"</string>
</resources>

View File

@ -1,58 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="yld">""</string>
<string name="yieldU">""</string>
<string name="yieldQ">""</string>
<string name="yesterday">""</string>
<string name="sec">"s"</string>
<string name="WED">"DC."</string>
<string name="wAgo">""</string>
<string name="Vietnamese">""</string>
<string name="Vegetarian">"Vegetarianes"</string>
<string name="Vegan">"Veganes"</string>
<string name="untRec">"Recepta sense títol"</string>
<string name="unsaved">"Canvis no desats"</string>
<string name="Unit">""</string>
<string name="unit">""</string>
<string name="Undefined">"Sense definir"</string>
<string name="Turkish">""</string>
<string name="TUE">"DT."</string>
<string name="tsp">""</string>
<string name="tsInfo">""</string>
<string name="ts">"Etiquetes"</string>
<string name="trySer">""</string>
<string name="trylater">"Per a provar més tard"</string>
<string name="trnsl">"Tradueix"</string>
<string name="triedInfo">""</string>
<string name="today">""</string>
<string name="tLInfo">""</string>
<string name="title">""</string>
<string name="THU">"DJ."</string>
<string name="Theme">""</string>
<string name="Thai">""</string>
<string name="Teaspoon">"Culleradeta"</string>
<string name="tbsp">""</string>
<string name="Tablespoon">"Cullerada"</string>
<string name="sysDef">""</string>
<string name="swm">""</string>
<string name="Swedish">""</string>
<string name="sVwInfo">""</string>
<string name="sVw">""</string>
<string name="SUN">"DG."</string>
<string name="strAdd">""</string>
<string name="stp">""</string>
<string name="stick">""</string>
<string name="stars">""</string>
<string name="sru">""</string>
<string name="srt">""</string>
<string name="srpu">""</string>
<string name="_Sri_Lankan_Z7GfBa">""</string>
<string name="Spanish">"Espanyola"</string>
<string name="Soups">"Brous"</string>
<string name="snacks">"piscolabis"</string>
<string name="small">""</string>
<string name="sltd">""</string>
<string name="_Slowest_first_hHjY6">""</string>
<string name="simple">""</string>
<string name="_Side_dishes_Z1Et4Vg">"Guarnicions"</string>
<string name="shr">"Comparteix"</string>
<string name="Settings">"Paràmetres"</string>
@ -60,236 +25,292 @@
<string name="Serving">"Ració"</string>
<string name="ser">"Cerca"</string>
<string name="September">"setembre"</string>
<string name="selRec">""</string>
<string name="Seafood">"Peix i marisc"</string>
<string name="Scottish">""</string>
<string name="Sauces">"Salses"</string>
<string name="SAT">"DS."</string>
<string name="Salads">"Amanides"</string>
<string name="Russian">""</string>
<string name="rst">"REINICIA"</string>
<string name="rp">""</string>
<string name="Roll">""</string>
<string name="rmYUInfo">""</string>
<string name="rmUInfo">""</string>
<string name="rmN">""</string>
<string name="rmIns">""</string>
<string name="rmIng">""</string>
<string name="rmCuiInfo">""</string>
<string name="rmCmb">""</string>
<string name="rmCatInfo">""</string>
<string name="Rice">"Arròs"</string>
<string name="restYUL">""</string>
<string name="restUL">""</string>
<string name="restInfo">""</string>
<string name="restDone">""</string>
<string name="restCuiL">""</string>
<string name="restCatL">""</string>
<string name="rest">""</string>
<string name="resNF">""</string>
<string name="req">""</string>
<string name="recU">""</string>
<string name="recTitle">""</string>
<string name="recs">""</string>
<string name="recRm">""</string>
<string name="recPic">""</string>
<string name="recListEmp">""</string>
<string name="recI">""</string>
<string name="recF">""</string>
<string name="recE">""</string>
<string name="rec">"Recepta com a text"</string>
<string name="rBtn">""</string>
<string name="Rating">""</string>
<string name="_Quickest_first_Z1CpP7N">""</string>
<string name="qt">""</string>
<string name="pt">""</string>
<string name="priv">""</string>
<string name="prepT">""</string>
<string name="Pound">"Lliura"</string>
<string name="Poultry">""</string>
<string name="Portuguese">""</string>
<string name="plsAdd">""</string>
<string name="planner">"Planificador dàpats"</string>
<string name="pinch">""</string>
<string name="Piece">"Peça"</string>
<string name="piece">""</string>
<string name="pht">"Foto de la recepta"</string>
<string name="photogrid">""</string>
<string name="Patty">""</string>
<string name="Pasta">"Pasta"</string>
<string name="oz">""</string>
<string name="Ounce">"Unça"</string>
<string name="opts">""</string>
<string name="_Oldest_first_Z6cq4h">""</string>
<string name="OK">"Dacord"</string>
<string name="October">"octubre"</string>
<string name="nwYiU">""</string>
<string name="nwCat">"Categoria nova"</string>
<string name="November">"novembre"</string>
<string name="nos">""</string>
<string name="noRecs">""</string>
<string name="Noodles">"Fideus"</string>
<string name="noFavs">""</string>
<string name="noAccSensor">""</string>
<string name="no">""</string>
<string name="nNBtn">"ARA NO"</string>
<string name="nLangInfo">""</string>
<string name="Nigerian">""</string>
<string name="newUnit">""</string>
<string name="newRec">""</string>
<string name="_Newest_first_2Sb3c">""</string>
<string name="newCui">""</string>
<string name="MON">"DL."</string>
<string name="Moderate">""</string>
<string name="ml">""</string>
<string name="minimal">""</string>
<string name="min">""</string>
<string name="Millilitre">"Mil·lilitre"</string>
<string name="mg">""</string>
<string name="Mexican">"Mexicana"</string>
<string name="medium">""</string>
<string name="Meat">"Carn"</string>
<string name="May">"maig"</string>
<string name="March">"març"</string>
<string name="_Main_dishes_u6RGQ">""</string>
<string name="mAgo">""</string>
<string name="lunch">""</string>
<string name="ltAgo">""</string>
<string name="Loaf">""</string>
<string name="Litre">"Litre"</string>
<string name="listVM">""</string>
<string name="Light">""</string>
<string name="leaf">""</string>
<string name="lb">""</string>
<string name="_Last_updated_Z2gEbLD">""</string>
<string name="large">""</string>
<string name="lang">""</string>
<string name="l">""</string>
<string name="Korean">""</string>
<string name="Kilogram">"Quilogram"</string>
<string name="kg">""</string>
<string name="Kenyan">""</string>
<string name="kEdit">""</string>
<string name="June">"juny"</string>
<string name="July">"juliol"</string>
<string name="joinTG">""</string>
<string name="Jewish">""</string>
<string name="Japanese">""</string>
<string name="January">"gener"</string>
<string name="Jamaican">""</string>
<string name="Italian">""</string>
<string name="it">""</string>
<string name="Irish">""</string>
<string name="invFile">"El fitxer no és vàlid"</string>
<string name="intf">""</string>
<string name="inss">""</string>
<string name="ings">""</string>
<string name="Indian">""</string>
<string name="in">""</string>
<string name="impSuc">""</string>
<string name="impip">""</string>
<string name="impInfo">""</string>
<string name="impFail">"Ha fallat la importació"</string>
<string name="impBu">""</string>
<string name="hr">""</string>
<string name="Healthy">""</string>
<string name="guide">""</string>
<string name="grocery">"Llista de queviures"</string>
<string name="grid">"Graella"</string>
<string name="Greek">""</string>
<string name="Gram">"Gram"</string>
<string name="gh">""</string>
<string name="German">""</string>
<string name="Gallon">"Galó"</string>
<string name="gal">""</string>
<string name="g">""</string>
<string name="fsList">""</string>
<string name="FRI">"DV."</string>
<string name="French">""</string>
<string name="_Fluid_Ounce_bd10L">"Unça líquida"</string>
<string name="fltr">""</string>
<string name="_fl_oz_72kqu">""</string>
<string name="_Filtered_recipes_Z1alhhu">""</string>
<string name="Filipino">""</string>
<string name="February">"febrer"</string>
<string name="favourites">"Preferits"</string>
<string name="expSuc">""</string>
<string name="expip">""</string>
<string name="expBu">""</string>
<string name="EnRecipes">"EnRecipes"</string>
<string name="English">""</string>
<string name="Egyptian">""</string>
<string name="editRec">""</string>
<string name="Easy">""</string>
<string name="dsp">""</string>
<string name="drop">""</string>
<string name="dozen">""</string>
<string name="donate">""</string>
<string name="disc">"Aquesta recepta té canvis no desats. Què voleu fer?"</string>
<string name="disBtn">"DESCARTALS"</string>
<string name="dinner">""</string>
<string name="_Difficulty_level_cSL5d">""</string>
<string name="detailed">""</string>
<string name="Desserts">"Postres"</string>
<string name="delRecsInfo">""</string>
<string name="delRecInfo">""</string>
<string name="December">"desembre"</string>
<string name="dBtn">"SUPRIMEIX"</string>
<string name="db">""</string>
<string name="Dark">""</string>
<string name="Danish">""</string>
<string name="dAgo">""</string>
<string name="Cup">"Tassa"</string>
<string name="cup">""</string>
<string name="cui">""</string>
<string name="Created">""</string>
<string name="cPic">"Escapça la foto"</string>
<string name="cookT">""</string>
<string name="conf">"Confirma"</string>
<string name="conBtn">"CONTINUA"</string>
<string name="cmbs">""</string>
<string name="cm">""</string>
<string name="clove">""</string>
<string name="Chinese">""</string>
<string name="Challenging">""</string>
<string name="cBtn">""</string>
<string name="cat">""</string>
<string name="buMod">""</string>
<string name="buInfo">""</string>
<string name="buInc">""</string>
<string name="buFol">""</string>
<string name="buEmp">""</string>
<string name="British">""</string>
<string name="breakfast">""</string>
<string name="Breads">"Pans"</string>
<string name="Brazilian">""</string>
<string name="Black">""</string>
<string name="Beverages">"Begudes"</string>
<string name="Barbecue">"Barbacoes"</string>
<string name="August">"agost"</string>
<string name="aStpBtn">""</string>
<string name="April">"abril"</string>
<string name="appRst">"Cal reiniciar laplicació"</string>
<string name="apply">""</string>
<string name="appInfo">"LEnRecipes és un receptari digital, de codi obert i privat, que us permet crear, gestionar i compartir les vostres receptes"</string>
<string name="Appetizers">"Aperitius"</string>
<string name="appCrd">""</string>
<string name="_app_name_1k3Sbz">"EnRecipes"</string>
<string name="app_name">"EnRecipes"</string>
<string name="title_activity_kimera">"EnRecipes"</string>
<string name="aNoBtn">""</string>
<string name="aNBtn">"AFEGEIX-NE UN DE NOU"</string>
<string name="American">""</string>
<string name="allTs">"Totes les etiquetes"</string>
<string name="allCuis">""</string>
<string name="allCats">"Totes les categories"</string>
<string name="aIngBtn">""</string>
<string name="aFBu">""</string>
<string name="addCmbBtn">""</string>
<string name="aD">""</string>
<string name="aBtn">""</string>
<string name="About">"Quant a"</string>
<string name="aap">""</string>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sysDefB">"System default + Black"</string>
<string name="buto">"Backed up to %1$s"</string>
<string name="yld">"Yield"</string>
<string name="yieldU">"Yield unit"</string>
<string name="yieldQ">"Yield quantity"</string>
<string name="yesterday">"yesterday"</string>
<string name="wAgo">"%1$s weeks ago"</string>
<string name="Vietnamese">"Vietnamese"</string>
<string name="Unit">"Unit"</string>
<string name="unit">"unit"</string>
<string name="Turkish">"Turkish"</string>
<string name="tsp">"tsp"</string>
<string name="tsInfo">"separate with spaces"</string>
<string name="trySer">"SEARCH IN ALL THE RECIPES?"</string>
<string name="triedInfo">"You tried this recipe %1$s"</string>
<string name="today">"today"</string>
<string name="tLInfo">"Recipes you want to try later are listed here"</string>
<string name="title">"Title"</string>
<string name="Theme">"Theme"</string>
<string name="Thai">"Thai"</string>
<string name="tbsp">"tbsp"</string>
<string name="sysDef">"System default"</string>
<string name="swm">"Start week on Monday"</string>
<string name="Swedish">"Swedish"</string>
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
<string name="sVw">"Shake to view random recipe"</string>
<string name="strAdd">"Start adding your recipes!"</string>
<string name="stp">"Step"</string>
<string name="stick">"stick"</string>
<string name="stars">"Star rating"</string>
<string name="sru">"Share recipe using..."</string>
<string name="srt">"Sort"</string>
<string name="srpu">"Share recipe photo using..."</string>
<string name="_Sri_Lankan_Z7GfBa">"Sri Lankan"</string>
<string name="small">"small"</string>
<string name="sltd">"selected"</string>
<string name="_Slowest_first_hHjY6">"Slowest first"</string>
<string name="simple">"Simple"</string>
<string name="selRec">"Select recipe"</string>
<string name="Scottish">"Scottish"</string>
<string name="Russian">"Russian"</string>
<string name="rp">"Remove photo"</string>
<string name="Roll">"Roll"</string>
<string name="rmYUInfo">"You are about to remove %1$s from the yield unit list"</string>
<string name="rmUInfo">"You are about to remove %1$s from the unit list"</string>
<string name="rmN">"Note removed"</string>
<string name="rmIns">"Instruction removed"</string>
<string name="rmIng">"Ingredient removed"</string>
<string name="rmCuiInfo">"You are about to remove %1$s from the cuisine list"</string>
<string name="rmCmb">"Combination removed"</string>
<string name="rmCatInfo">"You are about to remove %1$s from the category list"</string>
<string name="restYUL">"Reset yield unit list"</string>
<string name="restUL">"Reset unit list"</string>
<string name="restInfo">"Resetting a list will delete user-created entries and restore default entries. Existing recipes will not be affected."</string>
<string name="restDone">"Reset done"</string>
<string name="restCuiL">"Reset cuisine list"</string>
<string name="restCatL">"Reset category list"</string>
<string name="rest">"Reset"</string>
<string name="resNF">"Recipe not found"</string>
<string name="req">"Required %1$s"</string>
<string name="recU">"Updated:"</string>
<string name="recTitle">"My Healthy Recipe"</string>
<string name="recs">"recipes"</string>
<string name="recRm">"Recipe removed"</string>
<string name="recPic">"Recipe photo"</string>
<string name="recListEmp">"Nothing here! Add some recipes and try again"</string>
<string name="recI">"Imported:"</string>
<string name="recF">"recipes found"</string>
<string name="recE">"Already exist:"</string>
<string name="rBtn">"REMOVE"</string>
<string name="Rating">"Rating"</string>
<string name="_Quickest_first_Z1CpP7N">"Quickest first"</string>
<string name="qt">"qt"</string>
<string name="pt">"pt"</string>
<string name="priv">"Privacy policy"</string>
<string name="prepT">"Preparation time"</string>
<string name="Poultry">"Poultry"</string>
<string name="Portuguese">"Portuguese"</string>
<string name="plsAdd">"Use the plus button to add one"</string>
<string name="pinch">"pinch"</string>
<string name="piece">"piece"</string>
<string name="photogrid">"Photo Grid"</string>
<string name="Patty">"Patty"</string>
<string name="oz">"oz"</string>
<string name="opts">"Options"</string>
<string name="_Oldest_first_Z6cq4h">"Oldest first"</string>
<string name="nwYiU">"New yield unit"</string>
<string name="nos">"Notes"</string>
<string name="noRecsInL">"None of the recipes here matches your search"</string>
<string name="noRecs">"No recipes match your search"</string>
<string name="noFavs">"No favourites yet"</string>
<string name="noAccSensor">"Accelerometer sensor is either disabled or is not working"</string>
<string name="no">"Note"</string>
<string name="nLangInfo">"Restart EnRecipes to use the new language"</string>
<string name="Nigerian">"Nigerian"</string>
<string name="newUnit">"New unit"</string>
<string name="newRec">"New recipe"</string>
<string name="_Newest_first_2Sb3c">"Newest first"</string>
<string name="newCui">"New cuisine"</string>
<string name="Moderate">"Moderate"</string>
<string name="ml">"ml"</string>
<string name="minimal">"Minimal"</string>
<string name="min">"min"</string>
<string name="mg">"mg"</string>
<string name="medium">"medium"</string>
<string name="_Main_dishes_u6RGQ">"Main dishes"</string>
<string name="mAgo">"%1$s months ago"</string>
<string name="lunch">"Lunch"</string>
<string name="ltAgo">"a long time ago"</string>
<string name="Loaf">"Loaf"</string>
<string name="listVM">"List view mode"</string>
<string name="Light">"Light"</string>
<string name="leaf">"leaf"</string>
<string name="lb">"lb"</string>
<string name="_Last_updated_Z2gEbLD">"Last updated"</string>
<string name="large">"large"</string>
<string name="lang">"Language"</string>
<string name="l">"l"</string>
<string name="Korean">"Korean"</string>
<string name="kg">"kg"</string>
<string name="Kenyan">"Kenyan"</string>
<string name="kEdit">"KEEP EDITING"</string>
<string name="joinTG">"Join the Telegram group"</string>
<string name="Jewish">"Jewish"</string>
<string name="Japanese">"Japanese"</string>
<string name="Jamaican">"Jamaican"</string>
<string name="Italian">"Italian"</string>
<string name="it">"Item"</string>
<string name="Irish">"Irish"</string>
<string name="intf">"Interface"</string>
<string name="inss">"Instructions"</string>
<string name="ings">"Ingredients"</string>
<string name="Indian">"Indian"</string>
<string name="in">"in"</string>
<string name="impSuc">"Import success"</string>
<string name="impip">"Import in progress"</string>
<string name="impInfo">"Supports full backups exported by this app"</string>
<string name="impBu">"Import data"</string>
<string name="hr">"hr"</string>
<string name="Healthy">"Healthy"</string>
<string name="guide">"User guide"</string>
<string name="Greek">"Greek"</string>
<string name="gh">"View on GitHub"</string>
<string name="German">"German"</string>
<string name="gal">"gal"</string>
<string name="g">"g"</string>
<string name="fsList">"Your favourite recipes are listed here"</string>
<string name="French">"French"</string>
<string name="fltr">"Filter"</string>
<string name="_fl_oz_72kqu">"fl oz"</string>
<string name="_Filtered_recipes_Z1alhhu">"Filtered recipes"</string>
<string name="Filipino">"Filipino"</string>
<string name="expSuc">"Export success"</string>
<string name="expip">"Export in progress"</string>
<string name="expBu">"Export full backup"</string>
<string name="English">"English"</string>
<string name="Egyptian">"Egyptian"</string>
<string name="editRec">"Edit recipe"</string>
<string name="Easy">"Easy"</string>
<string name="dsp">"dstspn"</string>
<string name="drop">"drop"</string>
<string name="dozen">"dozen"</string>
<string name="donate">"Donate"</string>
<string name="dinner">"Dinner"</string>
<string name="_Difficulty_level_cSL5d">"Difficulty level"</string>
<string name="detailed">"Detailed"</string>
<string name="delRecsInfo">"You are about to permanently delete %1$s"</string>
<string name="delRecInfo">"You are about to permanently delete the recipe %1$s"</string>
<string name="db">"Database"</string>
<string name="Dark">"Dark"</string>
<string name="Danish">"Danish"</string>
<string name="dAgo">"%1$s days ago"</string>
<string name="cup">"cup"</string>
<string name="cui">"Cuisine"</string>
<string name="Created">"Created"</string>
<string name="cookT">"Cooking time"</string>
<string name="cmbs">"Combinations"</string>
<string name="cm">"cm"</string>
<string name="clove">"clove"</string>
<string name="Chinese">"Chinese"</string>
<string name="Challenging">"Challenging"</string>
<string name="cBtn">"CANCEL"</string>
<string name="cat">"Category"</string>
<string name="buMod">"The backup file was modified elsewhere"</string>
<string name="buInfo">"Generates a ZIP file containing all your data that can be imported back"</string>
<string name="buInc">"Malformed or corrupt backup file"</string>
<string name="buFol">"Backup folder"</string>
<string name="buEmp">"The backup file is empty"</string>
<string name="British">"British"</string>
<string name="breakfast">"Breakfast"</string>
<string name="Brazilian">"Brazilian"</string>
<string name="Black">"Black"</string>
<string name="aStpBtn">"ADD STEP"</string>
<string name="apply">"APPLY"</string>
<string name="appCrd">"Shared via EnRecipes. Get it on F-Droid, IzzyOnDroid or the Play Store."</string>
<string name="aNoBtn">"ADD NOTE"</string>
<string name="American">"American"</string>
<string name="allCuis">"All Cuisines"</string>
<string name="aIngBtn">"ADD INGREDIENT"</string>
<string name="aFBu">"Add a recipe to perform a backup"</string>
<string name="addCmbBtn">"ADD COMBINATION"</string>
<string name="aD">"All done!"</string>
<string name="aBtn">"ADD"</string>
<string name="aap">"Attach a photo"</string>
</resources>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="seconds">"sekunder"</string>
<string name="minutes">"minutter"</string>
<string name="minute">"minut"</string>
<string name="dlyDur">"Forsinkelsens varighed"</string>
<string name="tmrvbrt">"Timer vibrerer"</string>
<string name="tmr">"Timeren %1$s"</string>
<string name="tmrSnd">"Timeren lyd"</string>
<string name="prstBtn">"FORUDSÆTTER"</string>
<string name="tmrPrsts">"Timeren forindstillinger"</string>
<string name="fwr">"til hvilken opskrift?"</string>
<string name="aTPrst">"Tilføjet til forudindstillinger"</string>
<string name="hours">"timers"</string>
<string name="hour">"timer"</string>
<string name="tmrClr">"Timeren er slettet"</string>
<string name="timer">"Kogetid Timer"</string>
<string name="ntmr">"Ny timer"</string>
<string name="strtBtn">"STARTER"</string>
<string name="stop">"Stopper"</string>
<string name="delay">"Forsinkelse"</string>
<string name="sec">"s"</string>
<string name="sysDefB">"Systemstandard + sort"</string>
<string name="November">"November"</string>
<string name="nwCat">"Ny kategori"</string>
<string name="nwYiU">"Ny udbytteenhed"</string>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Timer gelöscht"</string>
<string name="delay">"Verzögerung"</string>
<string name="dlyDur">"Verzögerungsdauer"</string>
<string name="minute">"Minute"</string>
<string name="minutes">"Minuten"</string>
<string name="hour">"Stunde"</string>
<string name="hours">"Stunden"</string>
<string name="seconds">"Sekunden"</string>
<string name="stop">"Stopp"</string>
<string name="prstBtn">"Voreinstellungen"</string>
<string name="fwr">"für welches Rezept?"</string>
<string name="aTPrst">"Zu Voreinstellungen hinzugefügt"</string>
<string name="tmrPrsts">"Timer-Voreinstellungen"</string>
<string name="tmrSnd">"Timerton"</string>
<string name="tmrvbrt">"Timervibration"</string>
<string name="sec">"sec"</string>
<string name="timer">"Kochtimer"</string>
<string name="ntmr">"Neuer Timer"</string>
<string name="strtBtn">"START"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="sysDefB">"Systemstandard + schwarz"</string>
<string name="buto">"Gesichert in %1$s"</string>
<string name="yld">"Ergebnis"</string>
<string name="yieldU">"Ertragseinheit"</string>

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Timer cleared"</string>
<string name="delay">"Delay"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="minute">"minute"</string>
<string name="minutes">"minutes"</string>
<string name="hour">"hour"</string>
<string name="hours">"hours"</string>
<string name="seconds">"seconds"</string>
<string name="sec">"s"</string>
<string name="timer">"Cooking Timer"</string>
<string name="ntmr">"New timer"</string>
<string name="strtBtn">"START"</string>
<string name="stop">"Stop"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="sysDefB">"System default + Black"</string>
<string name="buto">"Backed up to %1$s"</string>
<string name="yld">"Yield"</string>
<string name="yieldU">"Yield unit"</string>
<string name="yieldQ">"Yield quantity"</string>
<string name="yesterday">"yesterday"</string>
<string name="WED">"WED"</string>
<string name="wAgo">"%1$s weeks ago"</string>
<string name="Vietnamese">"Vietnamese"</string>
<string name="Vegetarian">"Vegetarian"</string>
<string name="Vegan">"Vegan"</string>
<string name="untRec">"Untitled Recipe"</string>
<string name="unsaved">"Unsaved changes"</string>
<string name="Unit">"Unit"</string>
<string name="unit">"unit"</string>
<string name="Undefined">"Undefined"</string>
<string name="Turkish">"Turkish"</string>
<string name="TUE">"TUE"</string>
<string name="tsp">"tsp"</string>
<string name="tsInfo">"separate with spaces"</string>
<string name="ts">"Tags"</string>
<string name="trySer">"SEARCH IN ALL THE RECIPES?"</string>
<string name="trylater">"Try Later"</string>
<string name="trnsl">"Translate"</string>
<string name="triedInfo">"You tried this recipe %1$s"</string>
<string name="today">"today"</string>
<string name="tLInfo">"Recipes you want to try later are listed here"</string>
<string name="title">"Title"</string>
<string name="THU">"THU"</string>
<string name="Theme">"Theme"</string>
<string name="Thai">"Thai"</string>
<string name="Teaspoon">"Teaspoon"</string>
<string name="tbsp">"tbsp"</string>
<string name="Tablespoon">"Tablespoon"</string>
<string name="sysDef">"System default"</string>
<string name="swm">"Start week on Monday"</string>
<string name="Swedish">"Swedish"</string>
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
<string name="sVw">"Shake to view random recipe"</string>
<string name="SUN">"SUN"</string>
<string name="strAdd">"Start adding your recipes!"</string>
<string name="stp">"Step"</string>
<string name="stick">"stick"</string>
<string name="stars">"Star rating"</string>
<string name="sru">"Share recipe using..."</string>
<string name="srt">"Sort"</string>
<string name="srpu">"Share recipe photo using..."</string>
<string name="_Sri_Lankan_Z7GfBa">"Sri Lankan"</string>
<string name="Spanish">"Spanish"</string>
<string name="Soups">"Soups"</string>
<string name="snacks">"Snacks"</string>
<string name="small">"small"</string>
<string name="sltd">"selected"</string>
<string name="_Slowest_first_hHjY6">"Slowest first"</string>
<string name="simple">"Simple"</string>
<string name="_Side_dishes_Z1Et4Vg">"Side dishes"</string>
<string name="shr">"Share"</string>
<string name="Settings">"Settings"</string>
<string name="SET">"SET"</string>
<string name="Serving">"Serving"</string>
<string name="ser">"Search"</string>
<string name="September">"September"</string>
<string name="selRec">"Select recipe"</string>
<string name="Seafood">"Seafood"</string>
<string name="Scottish">"Scottish"</string>
<string name="Sauces">"Sauces"</string>
<string name="SAT">"SAT"</string>
<string name="Salads">"Salads"</string>
<string name="Russian">"Russian"</string>
<string name="rst">"RESTART"</string>
<string name="rp">"Remove photo"</string>
<string name="Roll">"Roll"</string>
<string name="rmYUInfo">"You are about to remove %1$s from the yield unit list"</string>
<string name="rmUInfo">"You are about to remove %1$s from the unit list"</string>
<string name="rmN">"Note removed"</string>
<string name="rmIns">"Instruction removed"</string>
<string name="rmIng">"Ingredient removed"</string>
<string name="rmCuiInfo">"You are about to remove %1$s from the cuisine list"</string>
<string name="rmCmb">"Combination removed"</string>
<string name="rmCatInfo">"You are about to remove %1$s from the category list"</string>
<string name="Rice">"Rice"</string>
<string name="restYUL">"Reset yield unit list"</string>
<string name="restUL">"Reset unit list"</string>
<string name="restInfo">"Resetting a list will delete user-created entries and restore default entries. Existing recipes will not be affected."</string>
<string name="restDone">"Reset done"</string>
<string name="restCuiL">"Reset cuisine list"</string>
<string name="restCatL">"Reset category list"</string>
<string name="rest">"Reset"</string>
<string name="resNF">"Recipe not found"</string>
<string name="req">"Required %1$s"</string>
<string name="recU">"Updated:"</string>
<string name="recTitle">"My Healthy Recipe"</string>
<string name="recs">"recipes"</string>
<string name="recRm">"Recipe removed"</string>
<string name="recPic">"Recipe photo"</string>
<string name="recListEmp">"Nothing here! Add some recipes and try again"</string>
<string name="recI">"Imported:"</string>
<string name="recF">"recipes found"</string>
<string name="recE">"Already exist:"</string>
<string name="rec">"Recipe"</string>
<string name="rBtn">"REMOVE"</string>
<string name="Rating">"Rating"</string>
<string name="_Quickest_first_Z1CpP7N">"Quickest first"</string>
<string name="qt">"qt"</string>
<string name="pt">"pt"</string>
<string name="priv">"Privacy policy"</string>
<string name="prepT">"Preparation time"</string>
<string name="Pound">"Pound"</string>
<string name="Poultry">"Poultry"</string>
<string name="Portuguese">"Portuguese"</string>
<string name="plsAdd">"Use the plus button to add one"</string>
<string name="planner">"Meal Planner"</string>
<string name="pinch">"pinch"</string>
<string name="Piece">"Piece"</string>
<string name="piece">"piece"</string>
<string name="pht">"Recipe photo"</string>
<string name="photogrid">"Photo Grid"</string>
<string name="Patty">"Patty"</string>
<string name="Pasta">"Pasta"</string>
<string name="oz">"oz"</string>
<string name="Ounce">"Ounce"</string>
<string name="opts">"Options"</string>
<string name="_Oldest_first_Z6cq4h">"Oldest first"</string>
<string name="OK">"OK"</string>
<string name="October">"October"</string>
<string name="nwYiU">"New yield unit"</string>
<string name="nwCat">"New category"</string>
<string name="November">"November"</string>
<string name="nos">"Notes"</string>
<string name="noRecsInL">"None of the recipes here matches your search"</string>
<string name="noRecs">"No recipes match your search"</string>
<string name="Noodles">"Noodles"</string>
<string name="noFavs">"No favourites yet"</string>
<string name="noAccSensor">"Accelerometer sensor is either disabled or is not working"</string>
<string name="no">"Note"</string>
<string name="nNBtn">"NOT NOW"</string>
<string name="nLangInfo">"Restart EnRecipes to use the new language"</string>
<string name="Nigerian">"Nigerian"</string>
<string name="newUnit">"New unit"</string>
<string name="newRec">"New recipe"</string>
<string name="_Newest_first_2Sb3c">"Newest first"</string>
<string name="newCui">"New cuisine"</string>
<string name="MON">"MON"</string>
<string name="Moderate">"Moderate"</string>
<string name="ml">"ml"</string>
<string name="minimal">"Minimal"</string>
<string name="min">"min"</string>
<string name="Millilitre">"Millilitre"</string>
<string name="mg">"mg"</string>
<string name="Mexican">"Mexican"</string>
<string name="medium">"medium"</string>
<string name="Meat">"Meat"</string>
<string name="May">"May"</string>
<string name="March">"March"</string>
<string name="_Main_dishes_u6RGQ">"Main dishes"</string>
<string name="mAgo">"%1$s months ago"</string>
<string name="lunch">"Lunch"</string>
<string name="ltAgo">"a long time ago"</string>
<string name="Loaf">"Loaf"</string>
<string name="Litre">"Litre"</string>
<string name="listVM">"List view mode"</string>
<string name="Light">"Light"</string>
<string name="leaf">"leaf"</string>
<string name="lb">"lb"</string>
<string name="_Last_updated_Z2gEbLD">"Last updated"</string>
<string name="large">"large"</string>
<string name="lang">"Language"</string>
<string name="l">"l"</string>
<string name="Korean">"Korean"</string>
<string name="Kilogram">"Kilogram"</string>
<string name="kg">"kg"</string>
<string name="Kenyan">"Kenyan"</string>
<string name="kEdit">"KEEP EDITING"</string>
<string name="June">"June"</string>
<string name="July">"July"</string>
<string name="joinTG">"Join the Telegram group"</string>
<string name="Jewish">"Jewish"</string>
<string name="Japanese">"Japanese"</string>
<string name="January">"January"</string>
<string name="Jamaican">"Jamaican"</string>
<string name="Italian">"Italian"</string>
<string name="it">"Item"</string>
<string name="Irish">"Irish"</string>
<string name="invFile">"Invalid file"</string>
<string name="intf">"Interface"</string>
<string name="inss">"Instructions"</string>
<string name="ings">"Ingredients"</string>
<string name="Indian">"Indian"</string>
<string name="in">"in"</string>
<string name="impSuc">"Import success"</string>
<string name="impip">"Import in progress"</string>
<string name="impInfo">"Supports full backups exported by this app"</string>
<string name="impFail">"Import failed"</string>
<string name="impBu">"Import data"</string>
<string name="hr">"h"</string>
<string name="Healthy">"Healthy"</string>
<string name="guide">"User guide"</string>
<string name="grocery">"Grocery List"</string>
<string name="grid">"Grid"</string>
<string name="Greek">"Greek"</string>
<string name="Gram">"Gram"</string>
<string name="gh">"View on GitHub"</string>
<string name="German">"German"</string>
<string name="Gallon">"Gallon"</string>
<string name="gal">"gal"</string>
<string name="g">"g"</string>
<string name="fsList">"Your favourite recipes are listed here"</string>
<string name="FRI">"FRI"</string>
<string name="French">"French"</string>
<string name="_Fluid_Ounce_bd10L">"Fluid Ounce"</string>
<string name="fltr">"Filter"</string>
<string name="_fl_oz_72kqu">"fl oz"</string>
<string name="_Filtered_recipes_Z1alhhu">"Filtered recipes"</string>
<string name="Filipino">"Filipino"</string>
<string name="February">"February"</string>
<string name="favourites">"Favourites"</string>
<string name="expSuc">"Export success"</string>
<string name="expip">"Export in progress"</string>
<string name="expBu">"Export full backup"</string>
<string name="EnRecipes">"EnRecipes"</string>
<string name="English">"English"</string>
<string name="Egyptian">"Egyptian"</string>
<string name="editRec">"Edit recipe"</string>
<string name="Easy">"Easy"</string>
<string name="dsp">"dstspn"</string>
<string name="drop">"drop"</string>
<string name="dozen">"dozen"</string>
<string name="donate">"Donate"</string>
<string name="disc">"This recipe has unsaved changes. What would you like to do?"</string>
<string name="disBtn">"DISCARD"</string>
<string name="dinner">"Dinner"</string>
<string name="_Difficulty_level_cSL5d">"Difficulty level"</string>
<string name="detailed">"Detailed"</string>
<string name="Desserts">"Desserts"</string>
<string name="delRecsInfo">"You are about to permanently delete %1$s"</string>
<string name="delRecInfo">"You are about to permanently delete the recipe %1$s"</string>
<string name="December">"December"</string>
<string name="dBtn">"DELETE"</string>
<string name="db">"Database"</string>
<string name="Dark">"Dark"</string>
<string name="Danish">"Danish"</string>
<string name="dAgo">"%1$s days ago"</string>
<string name="Cup">"Cup"</string>
<string name="cup">"cup"</string>
<string name="cui">"Cuisine"</string>
<string name="Created">"Created"</string>
<string name="cPic">"Crop photo"</string>
<string name="cookT">"Cooking time"</string>
<string name="conf">"Confirm"</string>
<string name="conBtn">"CONTINUE"</string>
<string name="cmbs">"Combinations"</string>
<string name="cm">"cm"</string>
<string name="clove">"clove"</string>
<string name="Chinese">"Chinese"</string>
<string name="Challenging">"Challenging"</string>
<string name="cBtn">"CANCEL"</string>
<string name="cat">"Category"</string>
<string name="buMod">"The backup file was modified elsewhere"</string>
<string name="buInfo">"Generates a ZIP file containing all your data that can be imported back"</string>
<string name="buInc">"Malformed or corrupt backup file"</string>
<string name="buFol">"Backup folder"</string>
<string name="buEmp">"The backup file is empty"</string>
<string name="British">"British"</string>
<string name="breakfast">"Breakfast"</string>
<string name="Breads">"Breads"</string>
<string name="Brazilian">"Brazilian"</string>
<string name="Black">"Black"</string>
<string name="Beverages">"Beverages"</string>
<string name="Barbecue">"Barbecue"</string>
<string name="August">"August"</string>
<string name="aStpBtn">"ADD STEP"</string>
<string name="April">"April"</string>
<string name="appRst">"App restart required"</string>
<string name="apply">"APPLY"</string>
<string name="appInfo">"EnRecipes is an open source, privacy-friendly digital cookbook that lets you create, manage and share your recipes"</string>
<string name="Appetizers">"Appetizers"</string>
<string name="appCrd">"Shared via EnRecipes. Get it on F-Droid, IzzyOnDroid or the Play Store."</string>
<string name="_app_name_1k3Sbz">"EnRecipes"</string>
<string name="app_name">"EnRecipes"</string>
<string name="title_activity_kimera">"EnRecipes"</string>
<string name="aNoBtn">"ADD NOTE"</string>
<string name="aNBtn">"ADD NEW"</string>
<string name="American">"American"</string>
<string name="allTs">"All Tags"</string>
<string name="allCuis">"All Cuisines"</string>
<string name="allCats">"All Categories"</string>
<string name="aIngBtn">"ADD INGREDIENT"</string>
<string name="aFBu">"Add a recipe to perform a backup"</string>
<string name="addCmbBtn">"ADD COMBINATION"</string>
<string name="aD">"All done!"</string>
<string name="aBtn">"ADD"</string>
<string name="About">"About"</string>
<string name="aap">"Attach a photo"</string>
</resources>

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Timer cleared"</string>
<string name="delay">"Delay"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="minute">"minute"</string>
<string name="minutes">"minutes"</string>
<string name="hour">"hour"</string>
<string name="hours">"hours"</string>
<string name="seconds">"seconds"</string>
<string name="sec">"s"</string>
<string name="timer">"Cooking Timer"</string>
<string name="ntmr">"New timer"</string>
<string name="strtBtn">"START"</string>
<string name="stop">"Stop"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="sysDefB">"System default + Black"</string>
<string name="buto">"Backed up to %1$s"</string>
<string name="yld">"Yield"</string>
<string name="yieldU">"Yield unit"</string>
<string name="yieldQ">"Yield quantity"</string>
<string name="yesterday">"yesterday"</string>
<string name="WED">"WED"</string>
<string name="wAgo">"%1$s weeks ago"</string>
<string name="Vietnamese">"Vietnamese"</string>
<string name="Vegetarian">"Vegetarian"</string>
<string name="Vegan">"Vegan"</string>
<string name="untRec">"Untitled Recipe"</string>
<string name="unsaved">"Unsaved changes"</string>
<string name="Unit">"Unit"</string>
<string name="unit">"unit"</string>
<string name="Undefined">"Undefined"</string>
<string name="Turkish">"Turkish"</string>
<string name="TUE">"TUE"</string>
<string name="tsp">"tsp"</string>
<string name="tsInfo">"separate with spaces"</string>
<string name="ts">"Tags"</string>
<string name="trySer">"SEARCH IN ALL THE RECIPES?"</string>
<string name="trylater">"Try Later"</string>
<string name="trnsl">"Translate"</string>
<string name="triedInfo">"You tried this recipe %1$s"</string>
<string name="today">"today"</string>
<string name="tLInfo">"Recipes you want to try later are listed here"</string>
<string name="title">"Title"</string>
<string name="THU">"THU"</string>
<string name="Theme">"Theme"</string>
<string name="Thai">"Thai"</string>
<string name="Teaspoon">"Teaspoon"</string>
<string name="tbsp">"tbsp"</string>
<string name="Tablespoon">"Tablespoon"</string>
<string name="sysDef">"System default"</string>
<string name="swm">"Start week on Monday"</string>
<string name="Swedish">"Swedish"</string>
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
<string name="sVw">"Shake to view random recipe"</string>
<string name="SUN">"SUN"</string>
<string name="strAdd">"Start adding your recipes!"</string>
<string name="stp">"Step"</string>
<string name="stick">"stick"</string>
<string name="stars">"Star rating"</string>
<string name="sru">"Share recipe using..."</string>
<string name="srt">"Sort"</string>
<string name="srpu">"Share recipe photo using..."</string>
<string name="_Sri_Lankan_Z7GfBa">"Sri Lankan"</string>
<string name="Spanish">"Spanish"</string>
<string name="Soups">"Soups"</string>
<string name="snacks">"Snacks"</string>
<string name="small">"small"</string>
<string name="sltd">"selected"</string>
<string name="_Slowest_first_hHjY6">"Slowest first"</string>
<string name="simple">"Simple"</string>
<string name="_Side_dishes_Z1Et4Vg">"Side dishes"</string>
<string name="shr">"Share"</string>
<string name="Settings">"Settings"</string>
<string name="SET">"SET"</string>
<string name="Serving">"Serving"</string>
<string name="ser">"Search"</string>
<string name="September">"September"</string>
<string name="selRec">"Select recipe"</string>
<string name="Seafood">"Seafood"</string>
<string name="Scottish">"Scottish"</string>
<string name="Sauces">"Sauces"</string>
<string name="SAT">"SAT"</string>
<string name="Salads">"Salads"</string>
<string name="Russian">"Russian"</string>
<string name="rst">"RESTART"</string>
<string name="rp">"Remove photo"</string>
<string name="Roll">"Roll"</string>
<string name="rmYUInfo">"You are about to remove %1$s from the yield unit list"</string>
<string name="rmUInfo">"You are about to remove %1$s from the unit list"</string>
<string name="rmN">"Note removed"</string>
<string name="rmIns">"Instruction removed"</string>
<string name="rmIng">"Ingredient removed"</string>
<string name="rmCuiInfo">"You are about to remove %1$s from the cuisine list"</string>
<string name="rmCmb">"Combination removed"</string>
<string name="rmCatInfo">"You are about to remove %1$s from the category list"</string>
<string name="Rice">"Rice"</string>
<string name="restYUL">"Reset yield unit list"</string>
<string name="restUL">"Reset unit list"</string>
<string name="restInfo">"Resetting a list will delete user-created entries and restore default entries. Existing recipes will not be affected."</string>
<string name="restDone">"Reset done"</string>
<string name="restCuiL">"Reset cuisine list"</string>
<string name="restCatL">"Reset category list"</string>
<string name="rest">"Reset"</string>
<string name="resNF">"Recipe not found"</string>
<string name="req">"Required %1$s"</string>
<string name="recU">"Updated:"</string>
<string name="recTitle">"My Healthy Recipe"</string>
<string name="recs">"recipes"</string>
<string name="recRm">"Recipe removed"</string>
<string name="recPic">"Recipe photo"</string>
<string name="recListEmp">"Nothing here! Add some recipes and try again"</string>
<string name="recI">"Imported:"</string>
<string name="recF">"recipes found"</string>
<string name="recE">"Already exist:"</string>
<string name="rec">"Recipe"</string>
<string name="rBtn">"REMOVE"</string>
<string name="Rating">"Rating"</string>
<string name="_Quickest_first_Z1CpP7N">"Quickest first"</string>
<string name="qt">"qt"</string>
<string name="pt">"pt"</string>
<string name="priv">"Privacy policy"</string>
<string name="prepT">"Preparation time"</string>
<string name="Pound">"Pound"</string>
<string name="Poultry">"Poultry"</string>
<string name="Portuguese">"Portuguese"</string>
<string name="plsAdd">"Use the plus button to add one"</string>
<string name="planner">"Meal Planner"</string>
<string name="pinch">"pinch"</string>
<string name="Piece">"Piece"</string>
<string name="piece">"piece"</string>
<string name="pht">"Recipe photo"</string>
<string name="photogrid">"Photo Grid"</string>
<string name="Patty">"Patty"</string>
<string name="Pasta">"Pasta"</string>
<string name="oz">"oz"</string>
<string name="Ounce">"Ounce"</string>
<string name="opts">"Options"</string>
<string name="_Oldest_first_Z6cq4h">"Oldest first"</string>
<string name="OK">"OK"</string>
<string name="October">"October"</string>
<string name="nwYiU">"New yield unit"</string>
<string name="nwCat">"New category"</string>
<string name="November">"November"</string>
<string name="nos">"Notes"</string>
<string name="noRecsInL">"None of the recipes here matches your search"</string>
<string name="noRecs">"No recipes match your search"</string>
<string name="Noodles">"Noodles"</string>
<string name="noFavs">"No favorites yet"</string>
<string name="noAccSensor">"Accelerometer sensor is either disabled or is not working"</string>
<string name="no">"Note"</string>
<string name="nNBtn">"NOT NOW"</string>
<string name="nLangInfo">"Restart EnRecipes to use the new language"</string>
<string name="Nigerian">"Nigerian"</string>
<string name="newUnit">"New unit"</string>
<string name="newRec">"New recipe"</string>
<string name="_Newest_first_2Sb3c">"Newest first"</string>
<string name="newCui">"New cuisine"</string>
<string name="MON">"MON"</string>
<string name="Moderate">"Moderate"</string>
<string name="ml">"ml"</string>
<string name="minimal">"Minimal"</string>
<string name="min">"min"</string>
<string name="Millilitre">"Milliliter"</string>
<string name="mg">"mg"</string>
<string name="Mexican">"Mexican"</string>
<string name="medium">"medium"</string>
<string name="Meat">"Meat"</string>
<string name="May">"May"</string>
<string name="March">"March"</string>
<string name="_Main_dishes_u6RGQ">"Main dishes"</string>
<string name="mAgo">"%1$s months ago"</string>
<string name="lunch">"Lunch"</string>
<string name="ltAgo">"a long time ago"</string>
<string name="Loaf">"Loaf"</string>
<string name="Litre">"Liter"</string>
<string name="listVM">"List view mode"</string>
<string name="Light">"Light"</string>
<string name="leaf">"leaf"</string>
<string name="lb">"lb"</string>
<string name="_Last_updated_Z2gEbLD">"Last updated"</string>
<string name="large">"large"</string>
<string name="lang">"Language"</string>
<string name="l">"l"</string>
<string name="Korean">"Korean"</string>
<string name="Kilogram">"Kilogram"</string>
<string name="kg">"kg"</string>
<string name="Kenyan">"Kenyan"</string>
<string name="kEdit">"KEEP EDITING"</string>
<string name="June">"June"</string>
<string name="July">"July"</string>
<string name="joinTG">"Join the Telegram group"</string>
<string name="Jewish">"Jewish"</string>
<string name="Japanese">"Japanese"</string>
<string name="January">"January"</string>
<string name="Jamaican">"Jamaican"</string>
<string name="Italian">"Italian"</string>
<string name="it">"Item"</string>
<string name="Irish">"Irish"</string>
<string name="invFile">"Invalid file"</string>
<string name="intf">"Interface"</string>
<string name="inss">"Instructions"</string>
<string name="ings">"Ingredients"</string>
<string name="Indian">"Indian"</string>
<string name="in">"in"</string>
<string name="impSuc">"Import success"</string>
<string name="impip">"Import in progress"</string>
<string name="impInfo">"Supports full backups exported by this app"</string>
<string name="impFail">"Import failed"</string>
<string name="impBu">"Import data"</string>
<string name="hr">"h"</string>
<string name="Healthy">"Healthy"</string>
<string name="guide">"User guide"</string>
<string name="grocery">"Grocery List"</string>
<string name="grid">"Grid"</string>
<string name="Greek">"Greek"</string>
<string name="Gram">"Gram"</string>
<string name="gh">"View on GitHub"</string>
<string name="German">"German"</string>
<string name="Gallon">"Gallon"</string>
<string name="gal">"gal"</string>
<string name="g">"g"</string>
<string name="fsList">"Your favorite recipes are listed here"</string>
<string name="FRI">"FRI"</string>
<string name="French">"French"</string>
<string name="_Fluid_Ounce_bd10L">"Fluid Ounce"</string>
<string name="fltr">"Filter"</string>
<string name="_fl_oz_72kqu">"fl oz"</string>
<string name="_Filtered_recipes_Z1alhhu">"Filtered recipes"</string>
<string name="Filipino">"Filipino"</string>
<string name="February">"February"</string>
<string name="favourites">"Favorites"</string>
<string name="expSuc">"Export success"</string>
<string name="expip">"Export in progress"</string>
<string name="expBu">"Export full backup"</string>
<string name="EnRecipes">"EnRecipes"</string>
<string name="English">"English"</string>
<string name="Egyptian">"Egyptian"</string>
<string name="editRec">"Edit recipe"</string>
<string name="Easy">"Easy"</string>
<string name="dsp">"dstspn"</string>
<string name="drop">"drop"</string>
<string name="dozen">"dozen"</string>
<string name="donate">"Donate"</string>
<string name="disc">"This recipe has unsaved changes. What would you like to do?"</string>
<string name="disBtn">"DISCARD"</string>
<string name="dinner">"Dinner"</string>
<string name="_Difficulty_level_cSL5d">"Difficulty level"</string>
<string name="detailed">"Detailed"</string>
<string name="Desserts">"Desserts"</string>
<string name="delRecsInfo">"You are about to permanently delete %1$s"</string>
<string name="delRecInfo">"You are about to permanently delete the recipe %1$s"</string>
<string name="December">"December"</string>
<string name="dBtn">"DELETE"</string>
<string name="db">"Database"</string>
<string name="Dark">"Dark"</string>
<string name="Danish">"Danish"</string>
<string name="dAgo">"%1$s days ago"</string>
<string name="Cup">"Cup"</string>
<string name="cup">"cup"</string>
<string name="cui">"Cuisine"</string>
<string name="Created">"Created"</string>
<string name="cPic">"Crop photo"</string>
<string name="cookT">"Cooking time"</string>
<string name="conf">"Confirm"</string>
<string name="conBtn">"CONTINUE"</string>
<string name="cmbs">"Combinations"</string>
<string name="cm">"cm"</string>
<string name="clove">"clove"</string>
<string name="Chinese">"Chinese"</string>
<string name="Challenging">"Challenging"</string>
<string name="cBtn">"CANCEL"</string>
<string name="cat">"Category"</string>
<string name="buMod">"The backup file was modified elsewhere"</string>
<string name="buInfo">"Generates a ZIP file containing all your data that can be imported back"</string>
<string name="buInc">"Malformed or corrupt backup file"</string>
<string name="buFol">"Backup folder"</string>
<string name="buEmp">"The backup file is empty"</string>
<string name="British">"British"</string>
<string name="breakfast">"Breakfast"</string>
<string name="Breads">"Breads"</string>
<string name="Brazilian">"Brazilian"</string>
<string name="Black">"Black"</string>
<string name="Beverages">"Beverages"</string>
<string name="Barbecue">"Barbecue"</string>
<string name="August">"August"</string>
<string name="aStpBtn">"ADD STEP"</string>
<string name="April">"April"</string>
<string name="appRst">"App restart required"</string>
<string name="apply">"APPLY"</string>
<string name="appInfo">"EnRecipes is an open source, privacy-friendly digital cookbook that lets you create, manage and share your recipes"</string>
<string name="Appetizers">"Appetizers"</string>
<string name="appCrd">"Shared via EnRecipes. Get it on F-Droid, IzzyOnDroid or the Play Store."</string>
<string name="_app_name_1k3Sbz">"EnRecipes"</string>
<string name="app_name">"EnRecipes"</string>
<string name="title_activity_kimera">"EnRecipes"</string>
<string name="aNoBtn">"ADD NOTE"</string>
<string name="aNBtn">"ADD NEW"</string>
<string name="American">"American"</string>
<string name="allTs">"All Tags"</string>
<string name="allCuis">"All Cuisines"</string>
<string name="allCats">"All Categories"</string>
<string name="aIngBtn">"ADD INGREDIENT"</string>
<string name="aFBu">"Add a recipe to perform a backup"</string>
<string name="addCmbBtn">"ADD COMBINATION"</string>
<string name="aD">"All done!"</string>
<string name="aBtn">"ADD"</string>
<string name="About">"About"</string>
<string name="aap">"Attach a photo"</string>
</resources>

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="aap">"Adjuntá una foto"</string>
<string name="About">"Acerca de"</string>
<string name="aBtn">"AGREGAR"</string>
<string name="aD">"¡Todo listo!"</string>
<string name="addCmbBtn">"AGREGAR COMBINACIÓN"</string>
<string name="aFBu">"Agregá recetas para hacer un backup"</string>
<string name="aIngBtn">"AGREGAR INGREDIENTE"</string>
<string name="allCats">"Todas las categorías"</string>
<string name="American">"Americana"</string>
<string name="aNBtn">"AGREGAR NUEVA"</string>
<string name="aNoBtn">"AGREGAR NOTA"</string>
<string name="appCrd">"Compartido vía EnRecipes. Conseguilo en F-Droid, IzzyOnDroid o en la Play Store."</string>
<string name="Appetizers">"Aperitivos"</string>
<string name="appInfo">"EnRecipes es un libro de cocina digital, privado y de código abierto, que te permite crear, administrar y compartir tus recetas"</string>
<string name="apply">"APLICAR"</string>
<string name="appRst">"Se requiere reiniciar la app"</string>
<string name="April">"Abril"</string>
<string name="aStpBtn">"AGREGAR PASO"</string>
<string name="August">"Agosto"</string>
<string name="sec">"s"</string>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sysDefB">"System default + Black"</string>
<string name="buto">"Backed up to %1$s"</string>
<string name="yld">"Yield"</string>
<string name="yieldU">"Yield unit"</string>
<string name="yieldQ">"Yield quantity"</string>
<string name="yesterday">"yesterday"</string>
<string name="WED">"WED"</string>
<string name="wAgo">"%1$s weeks ago"</string>
<string name="Vietnamese">"Vietnamese"</string>
<string name="Vegetarian">"Vegetarian"</string>
<string name="Vegan">"Vegan"</string>
<string name="untRec">"Untitled Recipe"</string>
<string name="unsaved">"Unsaved changes"</string>
<string name="Unit">"Unit"</string>
<string name="unit">"unit"</string>
<string name="Undefined">"Undefined"</string>
<string name="Turkish">"Turkish"</string>
<string name="TUE">"TUE"</string>
<string name="tsp">"tsp"</string>
<string name="tsInfo">"separate with spaces"</string>
<string name="ts">"Tags"</string>
<string name="trySer">"SEARCH IN ALL THE RECIPES?"</string>
<string name="trylater">"Try Later"</string>
<string name="trnsl">"Translate"</string>
<string name="triedInfo">"You tried this recipe %1$s"</string>
<string name="today">"today"</string>
<string name="tLInfo">"Recipes you want to try later are listed here"</string>
<string name="title">"Title"</string>
<string name="THU">"THU"</string>
<string name="Theme">"Theme"</string>
<string name="Thai">"Thai"</string>
<string name="Teaspoon">"Teaspoon"</string>
<string name="tbsp">"tbsp"</string>
<string name="Tablespoon">"Tablespoon"</string>
<string name="sysDef">"System default"</string>
<string name="swm">"Start week on Monday"</string>
<string name="Swedish">"Swedish"</string>
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
<string name="sVw">"Shake to view random recipe"</string>
<string name="SUN">"SUN"</string>
<string name="strAdd">"Start adding your recipes!"</string>
<string name="stp">"Step"</string>
<string name="stick">"stick"</string>
<string name="stars">"Star rating"</string>
<string name="sru">"Share recipe using..."</string>
<string name="srt">"Sort"</string>
<string name="srpu">"Share recipe photo using..."</string>
<string name="_Sri_Lankan_Z7GfBa">"Sri Lankan"</string>
<string name="Spanish">"Spanish"</string>
<string name="Soups">"Soups"</string>
<string name="snacks">"Snacks"</string>
<string name="small">"small"</string>
<string name="sltd">"selected"</string>
<string name="_Slowest_first_hHjY6">"Slowest first"</string>
<string name="simple">"Simple"</string>
<string name="_Side_dishes_Z1Et4Vg">"Side dishes"</string>
<string name="shr">"Share"</string>
<string name="Settings">"Settings"</string>
<string name="SET">"SET"</string>
<string name="Serving">"Serving"</string>
<string name="ser">"Search"</string>
<string name="September">"September"</string>
<string name="selRec">"Select recipe"</string>
<string name="Seafood">"Seafood"</string>
<string name="Scottish">"Scottish"</string>
<string name="Sauces">"Sauces"</string>
<string name="SAT">"SAT"</string>
<string name="Salads">"Salads"</string>
<string name="Russian">"Russian"</string>
<string name="rst">"RESTART"</string>
<string name="rp">"Remove photo"</string>
<string name="Roll">"Roll"</string>
<string name="rmYUInfo">"You are about to remove %1$s from the yield unit list"</string>
<string name="rmUInfo">"You are about to remove %1$s from the unit list"</string>
<string name="rmN">"Note removed"</string>
<string name="rmIns">"Instruction removed"</string>
<string name="rmIng">"Ingredient removed"</string>
<string name="rmCuiInfo">"You are about to remove %1$s from the cuisine list"</string>
<string name="rmCmb">"Combination removed"</string>
<string name="rmCatInfo">"You are about to remove %1$s from the category list"</string>
<string name="Rice">"Rice"</string>
<string name="restYUL">"Reset yield unit list"</string>
<string name="restUL">"Reset unit list"</string>
<string name="restInfo">"Resetting a list will delete user-created entries and restore default entries. Existing recipes will not be affected."</string>
<string name="restDone">"Reset done"</string>
<string name="restCuiL">"Reset cuisine list"</string>
<string name="restCatL">"Reset category list"</string>
<string name="rest">"Reset"</string>
<string name="resNF">"Recipe not found"</string>
<string name="req">"Required %1$s"</string>
<string name="recU">"Updated:"</string>
<string name="recTitle">"My Healthy Recipe"</string>
<string name="recs">"recipes"</string>
<string name="recRm">"Recipe removed"</string>
<string name="recPic">"Recipe photo"</string>
<string name="recListEmp">"Nothing here! Add some recipes and try again"</string>
<string name="recI">"Imported:"</string>
<string name="recF">"recipes found"</string>
<string name="recE">"Already exist:"</string>
<string name="rec">"Recipe"</string>
<string name="rBtn">"REMOVE"</string>
<string name="Rating">"Rating"</string>
<string name="_Quickest_first_Z1CpP7N">"Quickest first"</string>
<string name="qt">"qt"</string>
<string name="pt">"pt"</string>
<string name="priv">"Privacy policy"</string>
<string name="prepT">"Preparation time"</string>
<string name="Pound">"Pound"</string>
<string name="Poultry">"Poultry"</string>
<string name="Portuguese">"Portuguese"</string>
<string name="plsAdd">"Use the plus button to add one"</string>
<string name="planner">"Meal Planner"</string>
<string name="pinch">"pinch"</string>
<string name="Piece">"Piece"</string>
<string name="piece">"piece"</string>
<string name="pht">"Recipe photo"</string>
<string name="photogrid">"Photo Grid"</string>
<string name="Patty">"Patty"</string>
<string name="Pasta">"Pasta"</string>
<string name="oz">"oz"</string>
<string name="Ounce">"Ounce"</string>
<string name="opts">"Options"</string>
<string name="_Oldest_first_Z6cq4h">"Oldest first"</string>
<string name="OK">"OK"</string>
<string name="October">"October"</string>
<string name="nwYiU">"New yield unit"</string>
<string name="nwCat">"New category"</string>
<string name="November">"November"</string>
<string name="nos">"Notes"</string>
<string name="noRecsInL">"None of the recipes here matches your search"</string>
<string name="noRecs">"No recipes match your search"</string>
<string name="Noodles">"Noodles"</string>
<string name="noFavs">"No favourites yet"</string>
<string name="noAccSensor">"Accelerometer sensor is either disabled or is not working"</string>
<string name="no">"Note"</string>
<string name="nNBtn">"NOT NOW"</string>
<string name="nLangInfo">"Restart EnRecipes to use the new language"</string>
<string name="Nigerian">"Nigerian"</string>
<string name="newUnit">"New unit"</string>
<string name="newRec">"New recipe"</string>
<string name="_Newest_first_2Sb3c">"Newest first"</string>
<string name="newCui">"New cuisine"</string>
<string name="MON">"MON"</string>
<string name="Moderate">"Moderate"</string>
<string name="ml">"ml"</string>
<string name="minimal">"Minimal"</string>
<string name="min">"min"</string>
<string name="Millilitre">"Millilitre"</string>
<string name="mg">"mg"</string>
<string name="Mexican">"Mexican"</string>
<string name="medium">"medium"</string>
<string name="Meat">"Meat"</string>
<string name="May">"May"</string>
<string name="March">"March"</string>
<string name="_Main_dishes_u6RGQ">"Main dishes"</string>
<string name="mAgo">"%1$s months ago"</string>
<string name="lunch">"Lunch"</string>
<string name="ltAgo">"a long time ago"</string>
<string name="Loaf">"Loaf"</string>
<string name="Litre">"Litre"</string>
<string name="listVM">"List view mode"</string>
<string name="Light">"Light"</string>
<string name="leaf">"leaf"</string>
<string name="lb">"lb"</string>
<string name="_Last_updated_Z2gEbLD">"Last updated"</string>
<string name="large">"large"</string>
<string name="lang">"Language"</string>
<string name="l">"l"</string>
<string name="Korean">"Korean"</string>
<string name="Kilogram">"Kilogram"</string>
<string name="kg">"kg"</string>
<string name="Kenyan">"Kenyan"</string>
<string name="kEdit">"KEEP EDITING"</string>
<string name="June">"June"</string>
<string name="July">"July"</string>
<string name="joinTG">"Join the Telegram group"</string>
<string name="Jewish">"Jewish"</string>
<string name="Japanese">"Japanese"</string>
<string name="January">"January"</string>
<string name="Jamaican">"Jamaican"</string>
<string name="Italian">"Italian"</string>
<string name="it">"Item"</string>
<string name="Irish">"Irish"</string>
<string name="invFile">"Invalid file"</string>
<string name="intf">"Interface"</string>
<string name="inss">"Instructions"</string>
<string name="ings">"Ingredients"</string>
<string name="Indian">"Indian"</string>
<string name="in">"in"</string>
<string name="impSuc">"Import success"</string>
<string name="impip">"Import in progress"</string>
<string name="impInfo">"Supports full backups exported by this app"</string>
<string name="impFail">"Import failed"</string>
<string name="impBu">"Import data"</string>
<string name="hr">"hr"</string>
<string name="Healthy">"Healthy"</string>
<string name="guide">"User guide"</string>
<string name="grocery">"Grocery List"</string>
<string name="grid">"Grid"</string>
<string name="Greek">"Greek"</string>
<string name="Gram">"Gram"</string>
<string name="gh">"View on GitHub"</string>
<string name="German">"German"</string>
<string name="Gallon">"Gallon"</string>
<string name="gal">"gal"</string>
<string name="g">"g"</string>
<string name="fsList">"Your favourite recipes are listed here"</string>
<string name="FRI">"FRI"</string>
<string name="French">"French"</string>
<string name="_Fluid_Ounce_bd10L">"Fluid Ounce"</string>
<string name="fltr">"Filter"</string>
<string name="_fl_oz_72kqu">"fl oz"</string>
<string name="_Filtered_recipes_Z1alhhu">"Filtered recipes"</string>
<string name="Filipino">"Filipino"</string>
<string name="February">"February"</string>
<string name="favourites">"Favourites"</string>
<string name="expSuc">"Export success"</string>
<string name="expip">"Export in progress"</string>
<string name="expBu">"Export full backup"</string>
<string name="EnRecipes">"EnRecipes"</string>
<string name="English">"English"</string>
<string name="Egyptian">"Egyptian"</string>
<string name="editRec">"Edit recipe"</string>
<string name="Easy">"Easy"</string>
<string name="dsp">"dstspn"</string>
<string name="drop">"drop"</string>
<string name="dozen">"dozen"</string>
<string name="donate">"Donate"</string>
<string name="disc">"This recipe has unsaved changes. What would you like to do?"</string>
<string name="disBtn">"DISCARD"</string>
<string name="dinner">"Dinner"</string>
<string name="_Difficulty_level_cSL5d">"Difficulty level"</string>
<string name="detailed">"Detailed"</string>
<string name="Desserts">"Desserts"</string>
<string name="delRecsInfo">"You are about to permanently delete %1$s"</string>
<string name="delRecInfo">"You are about to permanently delete the recipe %1$s"</string>
<string name="December">"December"</string>
<string name="dBtn">"DELETE"</string>
<string name="db">"Database"</string>
<string name="Dark">"Dark"</string>
<string name="Danish">"Danish"</string>
<string name="dAgo">"%1$s days ago"</string>
<string name="Cup">"Cup"</string>
<string name="cup">"cup"</string>
<string name="cui">"Cuisine"</string>
<string name="Created">"Created"</string>
<string name="cPic">"Crop photo"</string>
<string name="cookT">"Cooking time"</string>
<string name="conf">"Confirm"</string>
<string name="conBtn">"CONTINUE"</string>
<string name="cmbs">"Combinations"</string>
<string name="cm">"cm"</string>
<string name="clove">"clove"</string>
<string name="Chinese">"Chinese"</string>
<string name="Challenging">"Challenging"</string>
<string name="cBtn">"CANCEL"</string>
<string name="cat">"Category"</string>
<string name="buMod">"The backup file was modified elsewhere"</string>
<string name="buInfo">"Generates a ZIP file containing all your data that can be imported back"</string>
<string name="buInc">"Malformed or corrupt backup file"</string>
<string name="buFol">"Backup folder"</string>
<string name="buEmp">"The backup file is empty"</string>
<string name="British">"British"</string>
<string name="breakfast">"Breakfast"</string>
<string name="Breads">"Breads"</string>
<string name="Brazilian">"Brazilian"</string>
<string name="Black">"Black"</string>
<string name="Beverages">"Beverages"</string>
<string name="Barbecue">"Barbecue"</string>
<string name="_app_name_1k3Sbz">"EnRecipes"</string>
<string name="app_name">"EnRecipes"</string>
<string name="title_activity_kimera">"EnRecipes"</string>
<string name="allTs">"All Tags"</string>
<string name="allCuis">"All Cuisines"</string>
</resources>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Temporizador borrado"</string>
<string name="dlyDur">"Duración del retraso"</string>
<string name="tmrvbrt">"Vibrador del temporizador"</string>
<string name="tmrSnd">"Sonido del temporizador"</string>
<string name="aTPrst">"Añadido a los preajustes"</string>
<string name="fwr">"para qué receta?"</string>
<string name="tmrPrsts">"Preselecciones del temporizador"</string>
<string name="prstBtn">"PRECIPIOS"</string>
<string name="delay">"Retraso"</string>
<string name="stop">"Detener"</string>
<string name="minute">"minuto"</string>
<string name="minutes">"minutos"</string>
<string name="hour">"hora"</string>
<string name="hours">"horas"</string>
<string name="seconds">"segundos"</string>
<string name="tmr">"Temporizador %1$s"</string>
<string name="strtBtn">"INICIO"</string>
<string name="ntmr">"Nuevo temporizador"</string>
<string name="timer">"Temporizador de cocción"</string>
<string name="sec">"s"</string>
<string name="sysDefB">"Por defecto del Sistema + Negro"</string>
<string name="buto">"Copia de seguridad guardada a %1$s"</string>
<string name="yld">"Producir"</string>
<string name="yieldU">"Unidad de medida"</string>

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="minute">"minuutti"</string>
<string name="hour">"tunti"</string>
<string name="minutes">"minuuttia"</string>
<string name="hours">"tuntia"</string>
<string name="seconds">"sekuntia"</string>
<string name="dlyDur">"Viiveen kesto"</string>
<string name="sec">"s"</string>
<string name="prstBtn">"ESIASETUKSET"</string>
<string name="tmrPrsts">"Ajastimen esiasetukset"</string>
<string name="fwr">"mitä reseptiä varten?"</string>
<string name="aTPrst">"Lisätty esiasetuksiin"</string>
<string name="tmrSnd">"Ajastinääni"</string>
<string name="timer">"Keittoajastin"</string>
<string name="ntmr">"Uusi ajastin"</string>
<string name="stop">"Pysäytä"</string>
<string name="tmr">"Ajastin %1$s"</string>
<string name="sysDefB">"Järjestelmän oletusarvo + Musta"</string>
<string name="buto">""</string>
<string name="yld">""</string>
<string name="yieldU">""</string>
<string name="yieldQ">""</string>
<string name="yesterday">"eilen"</string>
<string name="WED">"ke"</string>
<string name="wAgo">"%1$s viikkoa sitten"</string>
<string name="Vietnamese">"vietnamilainen"</string>
<string name="Vegetarian">"Kasvissyöjä"</string>
<string name="Vegan">"Vegaani"</string>
<string name="untRec">""</string>
<string name="unsaved">""</string>
<string name="Unit">""</string>
<string name="unit">""</string>
<string name="Undefined">"Määrittelemätön"</string>
<string name="Turkish">""</string>
<string name="TUE">"ti"</string>
<string name="tsp">""</string>
<string name="tsInfo">""</string>
<string name="ts">"Tunnisteet"</string>
<string name="trySer">"ETSI KAIKISTA RESEPTEISTÄ?"</string>
<string name="trylater">""</string>
<string name="trnsl">"Käännä"</string>
<string name="triedInfo">"Kokeilit tätä reseptiä %1$s"</string>
<string name="today">"tänään"</string>
<string name="tLInfo">"Reseptit, joita haluat kokeilla myöhemmin, on lueteltu täällä"</string>
<string name="title">"Otsikko"</string>
<string name="THU">"to"</string>
<string name="Theme">"Teema"</string>
<string name="Thai">"thaimaalainen"</string>
<string name="Teaspoon">""</string>
<string name="tbsp">""</string>
<string name="Tablespoon">""</string>
<string name="sysDef">"Järjestelmän oletus"</string>
<string name="swm">"Aloita viikko maanantaina"</string>
<string name="Swedish">"ruotsalainen"</string>
<string name="sVwInfo">"Auttaa sinua valitsemaan, mitä valmistaa, kun et osaa päättää."</string>
<string name="sVw">"Ravista nähdäksesi satunnainen resepti"</string>
<string name="SUN">"su"</string>
<string name="strAdd">""</string>
<string name="stp">""</string>
<string name="stick">""</string>
<string name="stars">""</string>
<string name="sru">"Jaa resepti käyttämällä…"</string>
<string name="srt">"Järjestä"</string>
<string name="srpu">"Jaa reseptikuva käyttämällä…"</string>
<string name="_Sri_Lankan_Z7GfBa">"srilankalainen"</string>
<string name="Spanish">"espanjalainen"</string>
<string name="Soups">"Keitot"</string>
<string name="snacks">""</string>
<string name="small">""</string>
<string name="sltd">""</string>
<string name="_Slowest_first_hHjY6">""</string>
<string name="simple">""</string>
<string name="_Side_dishes_Z1Et4Vg">""</string>
<string name="shr">"Jaa"</string>
<string name="Settings">"Asetukset"</string>
<string name="SET">"ASETA"</string>
<string name="Serving">""</string>
<string name="ser">"Etsi"</string>
<string name="September">""</string>
<string name="selRec">""</string>
<string name="Seafood">""</string>
<string name="Scottish">"skotlantilainen"</string>
<string name="Sauces">"Kastikkeet"</string>
<string name="SAT">"la"</string>
<string name="Salads">"Salaatit"</string>
<string name="Russian">"venäläinen"</string>
<string name="rst">"UUDELLEENKÄYNNISTÄ"</string>
<string name="rp">"Poista valokuva"</string>
<string name="Roll">""</string>
<string name="rmYUInfo">""</string>
<string name="rmUInfo">""</string>
<string name="rmN">"Huomautus poistettu"</string>
<string name="rmIns">"Ohje poistettu"</string>
<string name="rmIng">"Ainesosa poistettu"</string>
<string name="rmCuiInfo">""</string>
<string name="rmCmb">"Yhdistelmä poistettu"</string>
<string name="rmCatInfo">"Olet poistamassa %1$s luokkaluettelosta"</string>
<string name="Rice">"Riisi"</string>
<string name="restYUL">""</string>
<string name="restUL">""</string>
<string name="restInfo">""</string>
<string name="restDone">""</string>
<string name="restCuiL">""</string>
<string name="restCatL">""</string>
<string name="rest">"Nollaa"</string>
<string name="resNF">""</string>
<string name="req">""</string>
<string name="recU">"Päivitetty:"</string>
<string name="recTitle">"Minun terveellinen reseptini"</string>
<string name="recs">"reseptiä"</string>
<string name="recRm">"Resepti poistettu"</string>
<string name="recPic">"Reseptivalokuva"</string>
<string name="recListEmp">""</string>
<string name="recI">""</string>
<string name="recF">"löydettyä reseptiä"</string>
<string name="recE">"On jo olemassa:"</string>
<string name="rec">"Resepti"</string>
<string name="rBtn">"POISTA"</string>
<string name="Rating">""</string>
<string name="_Quickest_first_Z1CpP7N">""</string>
<string name="qt">""</string>
<string name="pt">""</string>
<string name="priv">"Tietosuojakäytäntö"</string>
<string name="prepT">"Valmisteluaika"</string>
<string name="Pound">""</string>
<string name="Poultry">""</string>
<string name="Portuguese">"portugalilainen"</string>
<string name="plsAdd">"Lisää resepti pluspainikkeella"</string>
<string name="planner">"Ateriasuunnittelija"</string>
<string name="pinch">""</string>
<string name="Piece">"Pala"</string>
<string name="piece">"pala"</string>
<string name="pht">"Reseptivalokuva"</string>
<string name="photogrid">""</string>
<string name="Patty">""</string>
<string name="Pasta">""</string>
<string name="oz">""</string>
<string name="Ounce">""</string>
<string name="opts">"Valinnat"</string>
<string name="_Oldest_first_Z6cq4h">""</string>
<string name="OK">"OK"</string>
<string name="October">"lokakuu"</string>
<string name="nwYiU">""</string>
<string name="nwCat">"Uusi luokka"</string>
<string name="November">"marraskuu"</string>
<string name="nos">""</string>
<string name="noRecsInL">""</string>
<string name="noRecs">"Hakua vastaavia reseptejä ei ole"</string>
<string name="Noodles">""</string>
<string name="noFavs">""</string>
<string name="noAccSensor">""</string>
<string name="no">""</string>
<string name="nNBtn">""</string>
<string name="nLangInfo">""</string>
<string name="Nigerian">""</string>
<string name="newUnit">""</string>
<string name="newRec">""</string>
<string name="_Newest_first_2Sb3c">""</string>
<string name="newCui">""</string>
<string name="MON">""</string>
<string name="Moderate">""</string>
<string name="ml">""</string>
<string name="minimal">""</string>
<string name="min">""</string>
<string name="Millilitre">""</string>
<string name="mg">""</string>
<string name="Mexican">""</string>
<string name="medium">""</string>
<string name="Meat">""</string>
<string name="May">""</string>
<string name="March">""</string>
<string name="_Main_dishes_u6RGQ">""</string>
<string name="mAgo">""</string>
<string name="lunch">""</string>
<string name="ltAgo">""</string>
<string name="Loaf">""</string>
<string name="Litre">""</string>
<string name="listVM">""</string>
<string name="Light">""</string>
<string name="leaf">""</string>
<string name="lb">""</string>
<string name="_Last_updated_Z2gEbLD">""</string>
<string name="large">""</string>
<string name="lang">"Kieli"</string>
<string name="l">"l"</string>
<string name="Korean">"korealainen"</string>
<string name="Kilogram">"kilogramma"</string>
<string name="kg">"kg"</string>
<string name="Kenyan">""</string>
<string name="kEdit">""</string>
<string name="June">"kesäkuu"</string>
<string name="July">"heinäkuu"</string>
<string name="joinTG">""</string>
<string name="Jewish">"juutalainen"</string>
<string name="Japanese">"japanilainen"</string>
<string name="January">"tammikuu"</string>
<string name="Jamaican">""</string>
<string name="Italian">""</string>
<string name="it">""</string>
<string name="Irish">"irlantilainen"</string>
<string name="invFile">"Virheellinen tiedosto"</string>
<string name="intf">"Käyttöliittymä"</string>
<string name="inss">"Ohjeet"</string>
<string name="ings">"Ainekset"</string>
<string name="Indian">"intialainen"</string>
<string name="in">""</string>
<string name="impSuc">"Tuonti onnistui"</string>
<string name="impip">"Tuonti käynnissä"</string>
<string name="impInfo">"Tukee tämän sovelluksen viemiä täydellisiä varmuuskopioita"</string>
<string name="impFail">"Tuonti epäonnistui"</string>
<string name="impBu">"Tuo tietoja"</string>
<string name="hr">"t."</string>
<string name="Healthy">"Terveellinen"</string>
<string name="guide">"Käyttöopas"</string>
<string name="grocery">"Ostoslista"</string>
<string name="grid">""</string>
<string name="Greek">"kreikkalainen"</string>
<string name="Gram">"gramma"</string>
<string name="gh">"Näytä GitHub:ssa"</string>
<string name="German">"saksalainen"</string>
<string name="Gallon">""</string>
<string name="gal">""</string>
<string name="g">"g"</string>
<string name="fsList">"Suosikkireseptisi on lueteltu täällä"</string>
<string name="FRI">"pe"</string>
<string name="French">"ranskalainen"</string>
<string name="_Fluid_Ounce_bd10L">""</string>
<string name="fltr">""</string>
<string name="_fl_oz_72kqu">""</string>
<string name="_Filtered_recipes_Z1alhhu">"Suodatetut reseptit"</string>
<string name="Filipino">""</string>
<string name="February">"helmikuu"</string>
<string name="favourites">""</string>
<string name="expSuc">""</string>
<string name="expip">"Vienti käynnissä"</string>
<string name="expBu">"Vie koko varmuuskopio"</string>
<string name="EnRecipes">""</string>
<string name="English">"englantilainen"</string>
<string name="Egyptian">"egyptiläinen"</string>
<string name="editRec">"Muokkaa resepti"</string>
<string name="Easy">"Helppo"</string>
<string name="dsp">""</string>
<string name="drop">""</string>
<string name="dozen">"tusina"</string>
<string name="donate">"Lahjoita"</string>
<string name="disc">"Tässä reseptissä on tallentamattomia muutoksia. Mitä haluaisit tehdä?"</string>
<string name="disBtn">"HYLKÄÄ"</string>
<string name="dinner">"Illallinen"</string>
<string name="_Difficulty_level_cSL5d">"Vaikeustaso"</string>
<string name="detailed">"Yksityiskohtainen"</string>
<string name="Desserts">"Jälkiruoat"</string>
<string name="delRecsInfo">"Olet poistamassa %1$s pysyvästi"</string>
<string name="delRecInfo">"Olet poistamassa reseptiä %1$s pysyvästi"</string>
<string name="December">"joulukuu"</string>
<string name="dBtn">"POISTA"</string>
<string name="db">"Tietokanta"</string>
<string name="Dark">"Tumma"</string>
<string name="Danish">"tanskalainen"</string>
<string name="dAgo">"%1$s päivää sitten"</string>
<string name="Cup">"Kuppi"</string>
<string name="cup">"cup"</string>
<string name="cui">"Keittiö"</string>
<string name="Created">"Luotu"</string>
<string name="cPic">"Rajaa kuva"</string>
<string name="cookT">"Kypsennysaika"</string>
<string name="conf">"Vahvista"</string>
<string name="conBtn">"JATKA"</string>
<string name="cmbs">"Yhdistelmät"</string>
<string name="cm">"cm"</string>
<string name="clove">"kynsi"</string>
<string name="Chinese">"kiinalainen"</string>
<string name="Challenging">"Haastava"</string>
<string name="cBtn">"PERUUTA"</string>
<string name="cat">"Luokka"</string>
<string name="buMod">"Varmuuskopiotiedostoa muutettiin muualla"</string>
<string name="buInfo">"Luo ZIP-tiedoston, joka sisältää kaikki tiedot, jotka voidaan tuoda takaisin"</string>
<string name="buInc">"Virheellinen tai vioittunut varmuuskopiotiedosto"</string>
<string name="buFol">"Varmuuskopioiden hakemisto"</string>
<string name="buEmp">"Varmuuskopiotiedosto on tyhjä"</string>
<string name="British">"brittiläinen"</string>
<string name="breakfast">"Aamiainen"</string>
<string name="Breads">"Leivät"</string>
<string name="Brazilian">"brasilialainen"</string>
<string name="Black">"Musta"</string>
<string name="Beverages">"Juomat"</string>
<string name="Barbecue">"Grilli"</string>
<string name="August">"elokuu"</string>
<string name="aStpBtn">""</string>
<string name="April">"huhtikuu"</string>
<string name="appRst">"Sovelluksen uudelleenkäynnistys vaaditaan"</string>
<string name="apply">"KÄYTÄ"</string>
<string name="appInfo">"EnRecipes on avoimen lähdekoodin, yksityisyyden suojaa kunnioittava digitaalinen keittokirja, jonka avulla voit luoda, hallita ja jakaa reseptejäsi"</string>
<string name="Appetizers">"Alkupalat"</string>
<string name="appCrd">"Jaettu EnRecipesin kautta. Lataa se F-Droidista, IzzyOnDroidista tai Play Storesta."</string>
<string name="_app_name_1k3Sbz">""</string>
<string name="app_name">""</string>
<string name="title_activity_kimera">""</string>
<string name="aNoBtn">"LISÄÄ HUOMAUTUS"</string>
<string name="aNBtn">"LISÄÄ UUSI"</string>
<string name="American">"amerikkalainen"</string>
<string name="allTs">"Kaikki tunnisteet"</string>
<string name="allCuis">"Kaikki keittiöt"</string>
<string name="allCats">"Kaikki luokat"</string>
<string name="aIngBtn">"LISÄÄ AINESOSA"</string>
<string name="aFBu">"Lisää resepti varmuuskopioinnin suorittamiseen"</string>
<string name="addCmbBtn">"LISÄÄ YHDISTELMÄ"</string>
<string name="aD">"Valmista!"</string>
<string name="aBtn">"LISÄÄ"</string>
<string name="About">"Tietoja"</string>
<string name="aap">"Liitä valokuva"</string>
<string name="tmrClr">"Timer cleared"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="delay">"Delay"</string>
<string name="strtBtn">"START"</string>
</resources>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Minuterie effacée"</string>
<string name="delay">"Retard"</string>
<string name="dlyDur">"Durée du retard"</string>
<string name="minute">"minute"</string>
<string name="minutes">"minutes"</string>
<string name="hour">"heure"</string>
<string name="hours">"heures"</string>
<string name="seconds">"secondes"</string>
<string name="sec">"s"</string>
<string name="timer">"Minuterie de cuisson"</string>
<string name="ntmr">"Nouvelle minuterie"</string>
<string name="strtBtn">"DÉMARRER"</string>
<string name="stop">"Arrêter"</string>
<string name="tmr">"Minuterie %1$s"</string>
<string name="prstBtn">"PRÉRÉGLAGES"</string>
<string name="tmrPrsts">"Préréglages de la minuterie"</string>
<string name="fwr">"pour quelle recette ?"</string>
<string name="aTPrst">"Ajouté aux préréglages"</string>
<string name="tmrSnd">"Son de la minuterie"</string>
<string name="tmrvbrt">"Vibreur de la minuterie"</string>
<string name="sysDefB">"Selon le système + Noir"</string>
<string name="buto">"Sauvegardé dans %1$s"</string>
<string name="yld">"Rendement"</string>
<string name="yieldU">"Unité de rendement"</string>
@ -21,7 +42,7 @@
<string name="tsInfo">"séparez par des espaces"</string>
<string name="ts">"Étiquettes"</string>
<string name="trySer">"RECHERCHE DANS TOUTES LES RECETTES ?"</string>
<string name="trylater">"Essayer plus tard"</string>
<string name="trylater">"À essayer plus tard"</string>
<string name="trnsl">"Traduire"</string>
<string name="triedInfo">"Vous avez essayé cette recette %1$s"</string>
<string name="today">"aujourdhui"</string>
@ -49,7 +70,7 @@
<string name="_Sri_Lankan_Z7GfBa">"sri-lankaise"</string>
<string name="Spanish">"espagnole"</string>
<string name="Soups">"Soupes"</string>
<string name="snacks">"en-cas"</string>
<string name="snacks">"En-cas"</string>
<string name="small">"petit"</string>
<string name="sltd">"sélectionné"</string>
<string name="_Slowest_first_hHjY6">"La plus lente dabord"</string>
@ -88,7 +109,7 @@
<string name="restCatL">"Réinitialiser la liste des catégories"</string>
<string name="rest">"Réinitialiser"</string>
<string name="resNF">"Recette introuvable"</string>
<string name="req">"%1$s requise"</string>
<string name="req">"%1$s requis(e)"</string>
<string name="recU">"mise à jour:"</string>
<string name="recTitle">"Ma recette saine"</string>
<string name="recs">"recettes"</string>
@ -110,7 +131,7 @@
<string name="Poultry">"Volaille"</string>
<string name="Portuguese">"portugaise"</string>
<string name="plsAdd">"Utilisez le bouton plus pour en ajouter une"</string>
<string name="planner">"Organisateur de repas"</string>
<string name="planner">"Planificateur de repas"</string>
<string name="pinch">"pincée"</string>
<string name="Piece">"Morceau"</string>
<string name="piece">"morceau"</string>
@ -154,8 +175,8 @@
<string name="May">"mai"</string>
<string name="March">"mars"</string>
<string name="_Main_dishes_u6RGQ">"Plats principaux"</string>
<string name="mAgo">"Il ya %1$s mois"</string>
<string name="lunch">"diner"</string>
<string name="mAgo">"Il y a %1$s mois"</string>
<string name="lunch">"Diner"</string>
<string name="ltAgo">"il y a longtemps"</string>
<string name="Loaf">"Miche"</string>
<string name="Litre">"Litre"</string>
@ -229,7 +250,7 @@
<string name="donate">"Faire un don"</string>
<string name="disc">"Cette recette a des modifications non enregistrées. Que voudriez-vous faire ?"</string>
<string name="disBtn">"IGNORER"</string>
<string name="dinner">"souper"</string>
<string name="dinner">"Souper"</string>
<string name="_Difficulty_level_cSL5d">"Niveau de difficulté"</string>
<string name="detailed">"Détaillée"</string>
<string name="Desserts">"Desserts"</string>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Minuterie effacée"</string>
<string name="delay">"Retard"</string>
<string name="dlyDur">"Durée du retard"</string>
<string name="minute">"minute"</string>
<string name="minutes">"minutes"</string>
<string name="hour">"heure"</string>
<string name="hours">"heures"</string>
<string name="seconds">"secondes"</string>
<string name="sec">"s"</string>
<string name="timer">"Minuterie de cuisson"</string>
<string name="ntmr">"Nouvelle minuterie"</string>
<string name="strtBtn">"DÉMARRER"</string>
<string name="stop">"Arrêter"</string>
<string name="tmr">"Minuterie %1$s"</string>
<string name="prstBtn">"PRÉRÉGLAGES"</string>
<string name="tmrPrsts">"Préréglages de la minuterie"</string>
<string name="fwr">"pour quelle recette?"</string>
<string name="aTPrst">"Ajouté aux préréglages"</string>
<string name="tmrSnd">"Son de la minuterie"</string>
<string name="tmrvbrt">"Vibreur de la minuterie"</string>
<string name="sysDefB">"Selon le système + Noir"</string>
<string name="buto">"Sauvegardé dans %1$s"</string>
<string name="yld">"Rendement"</string>
<string name="yieldU">"Unité de rendement"</string>
@ -21,7 +42,7 @@
<string name="tsInfo">"séparez par des espaces"</string>
<string name="ts">"Étiquettes"</string>
<string name="trySer">"RECHERCHE DANS TOUTES LES RECETTES?"</string>
<string name="trylater">"Essayer plus tard"</string>
<string name="trylater">"À essayer plus tard"</string>
<string name="trnsl">"Traduire"</string>
<string name="triedInfo">"Vous avez essayé cette recette %1$s"</string>
<string name="today">"aujourdhui"</string>
@ -49,7 +70,7 @@
<string name="_Sri_Lankan_Z7GfBa">"sri-lankaise"</string>
<string name="Spanish">"espagnole"</string>
<string name="Soups">"Soupes"</string>
<string name="snacks">"en-cas"</string>
<string name="snacks">"En-cas"</string>
<string name="small">"petit"</string>
<string name="sltd">"sélectionné"</string>
<string name="_Slowest_first_hHjY6">"La plus lente dabord"</string>
@ -88,7 +109,7 @@
<string name="restCatL">"Réinitialiser la liste des catégories"</string>
<string name="rest">"Réinitialiser"</string>
<string name="resNF">"Recette introuvable"</string>
<string name="req">"%1$s requise"</string>
<string name="req">"%1$s requis(e)"</string>
<string name="recU">"mise à jour:"</string>
<string name="recTitle">"Ma recette saine"</string>
<string name="recs">"recettes"</string>
@ -110,7 +131,7 @@
<string name="Poultry">"Volaille"</string>
<string name="Portuguese">"portugaise"</string>
<string name="plsAdd">"Utilisez le bouton plus pour en ajouter une"</string>
<string name="planner">"Organisateur de repas"</string>
<string name="planner">"Planificateur de repas"</string>
<string name="pinch">"pincée"</string>
<string name="Piece">"Morceau"</string>
<string name="piece">"morceau"</string>
@ -154,8 +175,8 @@
<string name="May">"mai"</string>
<string name="March">"mars"</string>
<string name="_Main_dishes_u6RGQ">"Plats principaux"</string>
<string name="mAgo">"Il ya %1$s mois"</string>
<string name="lunch">"dîner"</string>
<string name="mAgo">"Il y a %1$s mois"</string>
<string name="lunch">"Dîner"</string>
<string name="ltAgo">"il y a longtemps"</string>
<string name="Loaf">"Miche"</string>
<string name="Litre">"Litre"</string>
@ -229,7 +250,7 @@
<string name="donate">"Faire un don"</string>
<string name="disc">"Cette recette a des modifications non enregistrées. Que voudriez-vous faire?"</string>
<string name="disBtn">"IGNORER"</string>
<string name="dinner">"souper"</string>
<string name="dinner">"Souper"</string>
<string name="_Difficulty_level_cSL5d">"Niveau de difficulté"</string>
<string name="detailed">"Détaillée"</string>
<string name="Desserts">"Desserts"</string>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Minuterie effacée"</string>
<string name="delay">"Retard"</string>
<string name="dlyDur">"Durée du retard"</string>
<string name="minute">"minute"</string>
<string name="minutes">"minutes"</string>
<string name="hour">"heure"</string>
<string name="hours">"heures"</string>
<string name="seconds">"secondes"</string>
<string name="sec">"s"</string>
<string name="timer">"Minuterie de cuisson"</string>
<string name="ntmr">"Nouvelle minuterie"</string>
<string name="strtBtn">"DÉMARRER"</string>
<string name="stop">"Arrêter"</string>
<string name="tmr">"Minuterie %1$s"</string>
<string name="prstBtn">"PRÉRÉGLAGES"</string>
<string name="tmrPrsts">"Préréglages de la minuterie"</string>
<string name="fwr">"pour quelle recette?"</string>
<string name="aTPrst">"Ajouté aux préréglages"</string>
<string name="tmrSnd">"Son de la minuterie"</string>
<string name="tmrvbrt">"Vibreur de la minuterie"</string>
<string name="sysDefB">"Selon le système + Noir"</string>
<string name="buto">"Sauvegardé dans %1$s"</string>
<string name="yld">"Rendement"</string>
<string name="yieldU">"Unité de rendement"</string>
@ -21,7 +42,7 @@
<string name="tsInfo">"séparez par des espaces"</string>
<string name="ts">"Étiquettes"</string>
<string name="trySer">"RECHERCHE DANS TOUTES LES RECETTES?"</string>
<string name="trylater">"Essayer plus tard"</string>
<string name="trylater">"À essayer plus tard"</string>
<string name="trnsl">"Traduire"</string>
<string name="triedInfo">"Vous avez essayé cette recette %1$s"</string>
<string name="today">"aujourdhui"</string>
@ -49,7 +70,7 @@
<string name="_Sri_Lankan_Z7GfBa">"sri-lankaise"</string>
<string name="Spanish">"espagnole"</string>
<string name="Soups">"Soupes"</string>
<string name="snacks">"en-cas"</string>
<string name="snacks">"En-cas"</string>
<string name="small">"petit"</string>
<string name="sltd">"sélectionné"</string>
<string name="_Slowest_first_hHjY6">"La plus lente dabord"</string>
@ -88,7 +109,7 @@
<string name="restCatL">"Réinitialiser la liste des catégories"</string>
<string name="rest">"Réinitialiser"</string>
<string name="resNF">"Recette introuvable"</string>
<string name="req">"%1$s requise"</string>
<string name="req">"%1$s requis(e)"</string>
<string name="recU">"mise à jour:"</string>
<string name="recTitle">"Ma recette saine"</string>
<string name="recs">"recettes"</string>
@ -110,7 +131,7 @@
<string name="Poultry">"Volaille"</string>
<string name="Portuguese">"portugaise"</string>
<string name="plsAdd">"Utilisez le bouton plus pour en ajouter une"</string>
<string name="planner">"Organisateur de repas"</string>
<string name="planner">"Planificateur de repas"</string>
<string name="pinch">"pincée"</string>
<string name="Piece">"Morceau"</string>
<string name="piece">"morceau"</string>
@ -154,8 +175,8 @@
<string name="May">"mai"</string>
<string name="March">"mars"</string>
<string name="_Main_dishes_u6RGQ">"Plats principaux"</string>
<string name="mAgo">"Il ya %1$s mois"</string>
<string name="lunch">"dîner"</string>
<string name="mAgo">"Il y a %1$s mois"</string>
<string name="lunch">"Dîner"</string>
<string name="ltAgo">"il y a longtemps"</string>
<string name="Loaf">"Miche"</string>
<string name="Litre">"Litre"</string>
@ -229,7 +250,7 @@
<string name="donate">"Faire un don"</string>
<string name="disc">"Cette recette a des modifications non enregistrées. Que voudriez-vous faire?"</string>
<string name="disBtn">"IGNORER"</string>
<string name="dinner">"souper"</string>
<string name="dinner">"Souper"</string>
<string name="_Difficulty_level_cSL5d">"Niveau de difficulté"</string>
<string name="detailed">"Détaillée"</string>
<string name="Desserts">"Desserts"</string>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Minuterie effacée"</string>
<string name="delay">"Retard"</string>
<string name="dlyDur">"Durée du retard"</string>
<string name="minute">"minute"</string>
<string name="minutes">"minutes"</string>
<string name="hour">"heure"</string>
<string name="hours">"heures"</string>
<string name="seconds">"secondes"</string>
<string name="sec">"s"</string>
<string name="timer">"Minuterie de cuisson"</string>
<string name="ntmr">"Nouvelle minuterie"</string>
<string name="strtBtn">"DÉMARRER"</string>
<string name="stop">"Arrêter"</string>
<string name="tmr">"Minuterie %1$s"</string>
<string name="prstBtn">"PRÉRÉGLAGES"</string>
<string name="tmrPrsts">"Préréglages de la minuterie"</string>
<string name="fwr">"pour quelle recette ?"</string>
<string name="aTPrst">"Ajouté aux préréglages"</string>
<string name="tmrSnd">"Son de la minuterie"</string>
<string name="tmrvbrt">"Vibreur de la minuterie"</string>
<string name="sysDefB">"Selon le système + Noir"</string>
<string name="buto">"Sauvegardé dans %1$s"</string>
<string name="yld">"Rendement"</string>
<string name="yieldU">"Unité de portion"</string>
@ -7,7 +28,7 @@
<string name="yesterday">"hier"</string>
<string name="WED">"mer"</string>
<string name="wAgo">"il y a %1$s semaines"</string>
<string name="Vietnamese">"Vietnamienne"</string>
<string name="Vietnamese">"vietnamienne"</string>
<string name="Vegetarian">"Végétarien"</string>
<string name="Vegan">"Végétalien"</string>
<string name="untRec">"Recette sans titre"</string>
@ -15,13 +36,13 @@
<string name="Unit">"Unité"</string>
<string name="unit">"unité"</string>
<string name="Undefined">"Indéfini"</string>
<string name="Turkish">"Turque"</string>
<string name="Turkish">"turque"</string>
<string name="TUE">"mar"</string>
<string name="tsp">"c.à.c"</string>
<string name="tsInfo">"séparez par des espaces"</string>
<string name="ts">"Étiquettes"</string>
<string name="trySer">"RECHERCHE DANS TOUTES LES RECETTES ?"</string>
<string name="trylater">"Essayer plus tard"</string>
<string name="trylater">"À essayer plus tard"</string>
<string name="trnsl">"Traduire"</string>
<string name="triedInfo">"Vous avez essayé cette recette %1$s"</string>
<string name="today">"aujourdhui"</string>
@ -29,13 +50,13 @@
<string name="title">"Titre"</string>
<string name="THU">"jeu"</string>
<string name="Theme">"Thème"</string>
<string name="Thai">"Thaïlandaise"</string>
<string name="Thai">"thaïlandaise"</string>
<string name="Teaspoon">"Cuillère à café"</string>
<string name="tbsp">"cuillérée"</string>
<string name="Tablespoon">"Cuillère à soupe"</string>
<string name="sysDef">"Selon le système"</string>
<string name="swm">"Début de la semaine le lundi"</string>
<string name="Swedish">"Suédoise"</string>
<string name="Swedish">"suédoise"</string>
<string name="sVwInfo">"Vous aide à choisir quoi cuisiner quand vous ne pouvez pas vous décider"</string>
<string name="sVw">"Secouez pour voir une recette au hasard"</string>
<string name="SUN">"dim"</string>
@ -46,14 +67,14 @@
<string name="sru">"Partager la recette en utilisant…"</string>
<string name="srt">"Trier"</string>
<string name="srpu">"Partager une photo de recette en utilisant…"</string>
<string name="_Sri_Lankan_Z7GfBa">"Sri-lankaise"</string>
<string name="Spanish">"Espagnole"</string>
<string name="_Sri_Lankan_Z7GfBa">"sri-lankaise"</string>
<string name="Spanish">"espagnole"</string>
<string name="Soups">"Soupes"</string>
<string name="snacks">"en-cas"</string>
<string name="snacks">"En-cas"</string>
<string name="small">"petit"</string>
<string name="sltd">"sélectionné"</string>
<string name="_Slowest_first_hHjY6">"La plus lente dabord"</string>
<string name="simple">"Simple"</string>
<string name="simple">"Simplicité"</string>
<string name="_Side_dishes_Z1Et4Vg">"Plats daccompagnement"</string>
<string name="shr">"Partager"</string>
<string name="Settings">"Paramètres"</string>
@ -63,11 +84,11 @@
<string name="September">"septembre"</string>
<string name="selRec">"Sélectionner une recette"</string>
<string name="Seafood">"Fruits de mer"</string>
<string name="Scottish">"Écossaise"</string>
<string name="Sauces">"Sauces"</string>
<string name="Scottish">"écossaise"</string>
<string name="Sauces">"Soupes"</string>
<string name="SAT">"sam"</string>
<string name="Salads">"Salades"</string>
<string name="Russian">"Russe"</string>
<string name="Russian">"russe"</string>
<string name="rst">"REDÉMARRER"</string>
<string name="rp">"Retirer la photo"</string>
<string name="Roll">"Rouleau"</string>
@ -88,7 +109,7 @@
<string name="restCatL">"Réinitialiser la liste des catégories"</string>
<string name="rest">"Réinitialiser"</string>
<string name="resNF">"Recette introuvable"</string>
<string name="req">"%1$s requise"</string>
<string name="req">"%1$s requis(e)"</string>
<string name="recU">"mise à jour:"</string>
<string name="recTitle">"Ma recette saine"</string>
<string name="recs">"recettes"</string>
@ -108,9 +129,9 @@
<string name="prepT">"Temps de préparation"</string>
<string name="Pound">"Livre"</string>
<string name="Poultry">"Volaille"</string>
<string name="Portuguese">"Portugaise"</string>
<string name="Portuguese">"portugaise"</string>
<string name="plsAdd">"Utilisez le bouton plus pour en ajouter une"</string>
<string name="planner">"Organisateur de repas"</string>
<string name="planner">"Planificateur de repas"</string>
<string name="pinch">"pincée"</string>
<string name="Piece">"Morceau"</string>
<string name="piece">"morceau"</string>
@ -136,7 +157,7 @@
<string name="no">"Note"</string>
<string name="nNBtn">"PAS MAINTENANT"</string>
<string name="nLangInfo">"Redémarrez EnRecipes pour utiliser la nouvelle langue"</string>
<string name="Nigerian">"Nigériane"</string>
<string name="Nigerian">"nigériane"</string>
<string name="newUnit">"Nouvelle unité"</string>
<string name="newRec">"Nouvelle recette"</string>
<string name="_Newest_first_2Sb3c">"La plus récente dabord"</string>
@ -146,19 +167,19 @@
<string name="ml">"ml"</string>
<string name="minimal">"Minimale"</string>
<string name="min">"min"</string>
<string name="Millilitre">"Millilitre"</string>
<string name="Millilitre">"Millilette"</string>
<string name="mg">"mg"</string>
<string name="Mexican">"Mexicaine"</string>
<string name="Mexican">"mexicaine"</string>
<string name="medium">"moyen"</string>
<string name="Meat">"Viande"</string>
<string name="May">"mai"</string>
<string name="March">"mars"</string>
<string name="_Main_dishes_u6RGQ">"Plats principaux"</string>
<string name="mAgo">"Il ya %1$s mois"</string>
<string name="lunch">"déjeuner"</string>
<string name="mAgo">"Il y a %1$s mois"</string>
<string name="lunch">"Déjeuner"</string>
<string name="ltAgo">"il y a longtemps"</string>
<string name="Loaf">"Miche"</string>
<string name="Litre">"Litre"</string>
<string name="Litre">"Leitre"</string>
<string name="listVM">"Type de vue en liste"</string>
<string name="Light">"Clair"</string>
<string name="leaf">"feuille"</string>
@ -167,26 +188,26 @@
<string name="large">"grand"</string>
<string name="lang">"Langue"</string>
<string name="l">"l"</string>
<string name="Korean">"Coréenne"</string>
<string name="Korean">"coréenne"</string>
<string name="Kilogram">"Kilogramme"</string>
<string name="kg">"kg"</string>
<string name="Kenyan">"Kényane"</string>
<string name="Kenyan">"kényane"</string>
<string name="kEdit">"CONTINUER"</string>
<string name="June">"juin"</string>
<string name="July">"juillet"</string>
<string name="joinTG">"Rejoignez le groupe Telegram"</string>
<string name="Jewish">"Juive"</string>
<string name="Japanese">"Japonaise"</string>
<string name="Jewish">"juive"</string>
<string name="Japanese">"japonaise"</string>
<string name="January">"janvier"</string>
<string name="Jamaican">"Jamaïcaine"</string>
<string name="Italian">"Italienne"</string>
<string name="Jamaican">"jamaïcaine"</string>
<string name="Italian">"italienne"</string>
<string name="it">"Élément"</string>
<string name="Irish">"Irlandaise"</string>
<string name="Irish">"irlandaise"</string>
<string name="invFile">"Fichier invalide"</string>
<string name="intf">"Interface"</string>
<string name="inss">"Instructions"</string>
<string name="ings">"Ingrédients"</string>
<string name="Indian">"Indienne"</string>
<string name="Indian">"indienne"</string>
<string name="in">"in"</string>
<string name="impSuc">"Importation réussie"</string>
<string name="impip">"Importation en cours"</string>
@ -198,29 +219,29 @@
<string name="guide">"Guide dutilisation"</string>
<string name="grocery">"Liste de courses"</string>
<string name="grid">"Grille"</string>
<string name="Greek">"Grecque"</string>
<string name="Greek">"grecque"</string>
<string name="Gram">"Gramme"</string>
<string name="gh">"Voir sur GitHub"</string>
<string name="German">"Allemande"</string>
<string name="Gallon">"Gallon"</string>
<string name="German">"allemande"</string>
<string name="Gallon">"Galon"</string>
<string name="gal">"gal"</string>
<string name="g">"g"</string>
<string name="fsList">"Vos recettes favorites sont listées ici"</string>
<string name="FRI">"ven"</string>
<string name="French">"Française"</string>
<string name="French">"française"</string>
<string name="_Fluid_Ounce_bd10L">"Once liquide"</string>
<string name="fltr">"Filtre"</string>
<string name="_fl_oz_72kqu">"oz liq"</string>
<string name="_Filtered_recipes_Z1alhhu">"Recettes filtrées"</string>
<string name="Filipino">"Philippine"</string>
<string name="Filipino">"philippine"</string>
<string name="February">"février"</string>
<string name="favourites">"Favoris"</string>
<string name="expSuc">"Exportation réussie"</string>
<string name="expip">"Exportation en cours"</string>
<string name="expBu">"Exporter une sauvegarde complète"</string>
<string name="EnRecipes">"EnRecipes"</string>
<string name="English">"Anglaise"</string>
<string name="Egyptian">"Égyptienne"</string>
<string name="English">"anglaise"</string>
<string name="Egyptian">"égyptienne"</string>
<string name="editRec">"Modifier la recette"</string>
<string name="Easy">"Facile"</string>
<string name="dsp">"c.à.d"</string>
@ -229,21 +250,21 @@
<string name="donate">"Faire un don"</string>
<string name="disc">"Cette recette a des modifications non enregistrées. Que voudriez-vous faire ?"</string>
<string name="disBtn">"IGNORER"</string>
<string name="dinner">"dîner"</string>
<string name="dinner">"Dîner"</string>
<string name="_Difficulty_level_cSL5d">"Niveau de difficulté"</string>
<string name="detailed">"Détaillée"</string>
<string name="Desserts">"Desserts"</string>
<string name="Desserts">"Délices"</string>
<string name="delRecsInfo">"Vous êtes sur le point de supprimer définitivement %1$s"</string>
<string name="delRecInfo">"Vous êtes sur le point de supprimer définitivement la recette %1$s"</string>
<string name="December">"décembre"</string>
<string name="dBtn">"SUPPRIMER"</string>
<string name="db">"Base de données"</string>
<string name="Dark">"Sombre"</string>
<string name="Danish">"Danoise"</string>
<string name="Danish">"danoise"</string>
<string name="dAgo">"il y a %1$s jours"</string>
<string name="Cup">"Tasse"</string>
<string name="cup">"tasse"</string>
<string name="cui">"Cuisine"</string>
<string name="cui">"Cuisines"</string>
<string name="Created">"Créé le"</string>
<string name="cPic">"Recadrer la photo"</string>
<string name="cookT">"Temps de cuisson"</string>
@ -252,7 +273,7 @@
<string name="cmbs">"Combinaisons"</string>
<string name="cm">"cm"</string>
<string name="clove">"gousse"</string>
<string name="Chinese">"Chinoise"</string>
<string name="Chinese">"chinoise"</string>
<string name="Challenging">"Difficile"</string>
<string name="cBtn">"ANNULER"</string>
<string name="cat">"Catégorie"</string>
@ -261,13 +282,13 @@
<string name="buInc">"Fichier de sauvegarde mal formé ou corrompu"</string>
<string name="buFol">"Dossier de sauvegarde"</string>
<string name="buEmp">"La sauvegarde est vide"</string>
<string name="British">"Britannique"</string>
<string name="British">"britannique"</string>
<string name="breakfast">"Petit déjeuner"</string>
<string name="Breads">"Pains"</string>
<string name="Brazilian">"Brésilienne"</string>
<string name="Black">"Noir"</string>
<string name="Beverages">"Boissons"</string>
<string name="Barbecue">"Barbecue"</string>
<string name="Barbecue">"Grillades"</string>
<string name="August">"août"</string>
<string name="aStpBtn">"AJOUTER UNE ÉTAPE"</string>
<string name="April">"avril"</string>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sec">"सेकंड"</string>
<string name="timer">"कुकिंग टाइमर"</string>
<string name="ntmr">"नया टाइमर"</string>
<string name="strtBtn">"शुरू"</string>
<string name="stop">"रुकें"</string>
<string name="delay">"देरी"</string>
<string name="tmr">"टाइमर%1$s"</string>
<string name="prstBtn">"प्रीसेट"</string>
<string name="tmrPrsts">"टाइमर प्रीसेट"</string>
<string name="aTPrst">"प्रीसेट में जोड़ा गया"</string>
<string name="tmrSnd">"टाइमर की आवाज़"</string>
<string name="tmrvbrt">"टाइमर वाइब्रेट"</string>
<string name="dlyDur">"विलंब अवधि"</string>
<string name="minute">"मिनट"</string>
<string name="minutes">"मिनटो"</string>
<string name="hour">"घंटा"</string>
<string name="hours">"घंटे"</string>
<string name="seconds">"सेकंड"</string>
<string name="tmrClr">"टाइमर साफ"</string>
<string name="fwr">"किस विधि के लिए?"</string>
<string name="sysDefB">"प्रणालीगत चूक + काला"</string>
<string name="buto">"%1$s में बैकअप लिया गया"</string>
<string name="yld">"मान जाना"</string>
<string name="yieldU">"उपज इकाई"</string>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="stop">"Berhenti"</string>
<string name="delay">"Menunda"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="prstBtn">"PRESET"</string>
<string name="tmrPrsts">"Preset timer"</string>
<string name="fwr">"untuk resep yang mana?"</string>
<string name="aTPrst">"Ditambahkan ke preset"</string>
<string name="tmrSnd">"Suara timer"</string>
<string name="tmrvbrt">"Timer bergetar"</string>
<string name="dlyDur">"Durasi penundaan"</string>
<string name="minute">"menit"</string>
<string name="minutes">"menit"</string>
<string name="hour">"jam"</string>
<string name="hours">"jam"</string>
<string name="seconds">"detik"</string>
<string name="tmrClr">"Timer dibersihkan"</string>
<string name="timer">"Timer Memasak"</string>
<string name="ntmr">"Timer baru"</string>
<string name="strtBtn">"MULAI"</string>
<string name="sec">"s"</string>
<string name="sysDefB">"Default sistem + Hitam"</string>
<string name="buto">"Didukung ke %1$s"</string>
<string name="yld">"Menghasilkan"</string>
<string name="yieldU">"Satuan hasil"</string>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Contaminuti cancellato"</string>
<string name="delay">"Ritardo"</string>
<string name="dlyDur">"Durata del ritardo"</string>
<string name="minute">"minuto"</string>
<string name="minutes">"minuti"</string>
<string name="hour">"ora"</string>
<string name="hours">"ore"</string>
<string name="seconds">"secondi"</string>
<string name="sec">"s"</string>
<string name="stop">"Ferma"</string>
<string name="prstBtn">"Preimpostazioni"</string>
<string name="tmrPrsts">"Preimpostazioni del contaminuti"</string>
<string name="fwr">"per quale ricetta?"</string>
<string name="aTPrst">"Aggiunto alle preimpostazioni"</string>
<string name="tmrSnd">"Suono del contaminuti"</string>
<string name="tmrvbrt">"Vibrazione contaminuti"</string>
<string name="timer">"Contaminuti di cottura"</string>
<string name="ntmr">"Nuovo contaminuti"</string>
<string name="strtBtn">"AVVIA"</string>
<string name="tmr">"Contaminuti %1$s"</string>
<string name="sysDefB">"Predefinito del sistema + Nero"</string>
<string name="buto">"Backup salvato in %1$s"</string>
<string name="yld">"Resa"</string>
<string name="yieldU">"Unità di resa"</string>
@ -21,7 +42,7 @@
<string name="tsInfo">"separa con spazi"</string>
<string name="ts">"Etichette"</string>
<string name="trySer">"CERCARE IN TUTTE LE RICETTE?"</string>
<string name="trylater">"Prova più tardi"</string>
<string name="trylater">"Da provare più tardi"</string>
<string name="trnsl">"Traduci"</string>
<string name="triedInfo">"Hai provato questa ricetta %1$s"</string>
<string name="today">"oggi"</string>
@ -117,7 +138,7 @@
<string name="pht">"Foto ricetta"</string>
<string name="photogrid">"Griglia di foto"</string>
<string name="Patty">"Polpetta"</string>
<string name="Pasta">"Pasta"</string>
<string name="Pasta">"Pastore"</string>
<string name="oz">"oz"</string>
<string name="Ounce">"Oncia"</string>
<string name="opts">"Opzioni"</string>

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="medium">"中"</string>
<string name="large">"大"</string>
<string name="small">"小"</string>
<string name="it">"材料"</string>
<string name="lb">"ポンド"</string>
<string name="oz">"オンス"</string>
<string name="pinch">"ピンチ"</string>
<string name="stick">"スティック"</string>
<string name="nNBtn">"あとで"</string>
<string name="Undefined">"未定義"</string>
<string name="in">"中の"</string>
<string name="sysDefB">"システム既定+黒"</string>
<string name="buto">"%1$s としてバックアップしました"</string>
<string name="yld">"仕上がり分量"</string>
<string name="yieldU">"仕上がり分量の単位"</string>
<string name="yieldQ">"仕上がり分量"</string>
<string name="yesterday">"昨日"</string>
<string name="WED">"水"</string>
<string name="wAgo">"%1$s 週前"</string>
<string name="Vietnamese">"ベトナム料理"</string>
<string name="Vegetarian">"ベジタリアン"</string>
<string name="Vegan">"ビーガン"</string>
<string name="untRec">"無題のレシピ"</string>
<string name="unsaved">"未保存の変更"</string>
<string name="Unit">"単位"</string>
<string name="unit">"個"</string>
<string name="Turkish">"トルコ料理"</string>
<string name="TUE">"火"</string>
<string name="tsp">"小さじ"</string>
<string name="tsInfo">"スペースで区切ってください"</string>
<string name="ts">"タグ"</string>
<string name="trySer">"全てのレシピを検索しますか?"</string>
<string name="trylater">"あとで作る"</string>
<string name="trnsl">"翻訳"</string>
<string name="triedInfo">"に作りました"</string>
<string name="today">"今日"</string>
<string name="tLInfo">"あとで試したいレシピはここに並びます"</string>
<string name="title">"タイトル"</string>
<string name="THU">"木"</string>
<string name="Theme">"テーマ"</string>
<string name="Thai">"タイ料理"</string>
<string name="Teaspoon">"小さじ"</string>
<string name="tbsp">"大さじ"</string>
<string name="Tablespoon">"大さじ"</string>
<string name="sysDef">"システム既定"</string>
<string name="swm">"月曜始まりにする"</string>
<string name="Swedish">"スウェーデン料理"</string>
<string name="sVwInfo">"何を作るか決められないときに使います"</string>
<string name="sVw">"振ってランダムなレシピを表示"</string>
<string name="SUN">"日"</string>
<string name="strAdd">"レシピを追加しましょう!"</string>
<string name="stp">"作り方"</string>
<string name="stars">"星評価"</string>
<string name="sru">"レシピを共有..."</string>
<string name="srt">"並び替え"</string>
<string name="srpu">"レシピの写真を共有..."</string>
<string name="_Sri_Lankan_Z7GfBa">"スリランカ料理"</string>
<string name="Spanish">"スペイン料理"</string>
<string name="Soups">"スープ"</string>
<string name="snacks">"軽食"</string>
<string name="sltd">"選択"</string>
<string name="_Slowest_first_hHjY6">"遅い順"</string>
<string name="simple">"シンプル"</string>
<string name="_Side_dishes_Z1Et4Vg">"副菜"</string>
<string name="shr">"共有"</string>
<string name="Settings">"設定"</string>
<string name="SET">"設定"</string>
<string name="Serving">"人前"</string>
<string name="ser">"検索"</string>
<string name="September">"9月"</string>
<string name="selRec">"レシピを選択"</string>
<string name="Seafood">"シーフード"</string>
<string name="Scottish">"スコットランド料理"</string>
<string name="Sauces">"ソース"</string>
<string name="SAT">"土"</string>
<string name="Salads">"サラダ"</string>
<string name="Russian">"ロシア料理"</string>
<string name="rst">"再起動"</string>
<string name="rp">"写真を削除"</string>
<string name="Roll">"ロール"</string>
<string name="rmYUInfo">"仕上がり分量の単位のリストから %1$s を削除しようとしています"</string>
<string name="rmUInfo">"単位のリストから %1$s を削除しようとしています"</string>
<string name="rmN">"メモが削除されました"</string>
<string name="rmIns">"作り方を削除しました"</string>
<string name="rmIng">"材料を削除しました"</string>
<string name="rmCuiInfo">"ジャンルのリストから %1$s を削除しようとしています"</string>
<string name="rmCmb">"組合せが削除されました"</string>
<string name="rmCatInfo">"カテゴリーのリストから %1$s を削除しようとしています"</string>
<string name="Rice">"お米料理"</string>
<string name="restYUL">"仕上がり分量の単位のリストをリセットする"</string>
<string name="restUL">"単位のリストをリセットする"</string>
<string name="restInfo">"リストをリセットすると、作成した項目が削除され、既定の項目を復元します。既にあるレシピには影響しません。"</string>
<string name="restDone">"リセットが完了しました"</string>
<string name="restCuiL">"ジャンルのリストをリセット"</string>
<string name="restCatL">"カテゴリーリストをリセット"</string>
<string name="rest">"リセット"</string>
<string name="resNF">"レシピが見つかりません"</string>
<string name="req">"%1$s が必要"</string>
<string name="recU">"アップデート:"</string>
<string name="recTitle">"私の健康レシピ"</string>
<string name="recs">"レシピ"</string>
<string name="recRm">"レシピを削除しました"</string>
<string name="recPic">"レシピの写真"</string>
<string name="recListEmp">"まだ何もありません!レシピを追加してもう一度試してください"</string>
<string name="recI">"インポートしました:"</string>
<string name="recF">"件のレシピが見つかりました"</string>
<string name="recE">"既に存在します:"</string>
<string name="rec">"レシピ"</string>
<string name="rBtn">"削除"</string>
<string name="Rating">"評価"</string>
<string name="_Quickest_first_Z1CpP7N">"速いもの順"</string>
<string name="qt">"クォート"</string>
<string name="pt">"少々"</string>
<string name="priv">"プライバシーポリシー"</string>
<string name="prepT">"準備時間"</string>
<string name="Pound">"ポンド"</string>
<string name="Poultry">"チキン料理"</string>
<string name="Portuguese">"ポルトガル料理"</string>
<string name="plsAdd">"プラスボタンを押して追加します"</string>
<string name="planner">"献立プラン"</string>
<string name="Piece">"片"</string>
<string name="piece">"片"</string>
<string name="pht">"レシピの写真"</string>
<string name="photogrid">"写真グリッド"</string>
<string name="Patty">"パティ"</string>
<string name="Pasta">"パスタ"</string>
<string name="Ounce">"オンス"</string>
<string name="opts">"オプション"</string>
<string name="_Oldest_first_Z6cq4h">"古いもの順"</string>
<string name="OK">"OK"</string>
<string name="October">"10月"</string>
<string name="nwYiU">"新しい仕上がり単位"</string>
<string name="nwCat">"新しいカテゴリー"</string>
<string name="November">"11月"</string>
<string name="nos">"メモ"</string>
<string name="noRecsInL">"検索に一致するレシピが見つかりませんでした"</string>
<string name="noRecs">"検索に一致するレシピがありません"</string>
<string name="Noodles">"麺"</string>
<string name="noFavs">"お気に入りはまだありません"</string>
<string name="noAccSensor">"加速度センサーが無効です"</string>
<string name="no">"メモ"</string>
<string name="nLangInfo">"新しい言語を使用するためにEnRecipesを再起動"</string>
<string name="Nigerian">"ナイジェリア料理"</string>
<string name="newUnit">"新しい単位"</string>
<string name="newRec">"新しいレシピ"</string>
<string name="_Newest_first_2Sb3c">"新しい順"</string>
<string name="newCui">"新しいジャンル"</string>
<string name="MON">"月"</string>
<string name="Moderate">"普通"</string>
<string name="ml">"ml"</string>
<string name="minimal">"最小"</string>
<string name="min">"分"</string>
<string name="Millilitre">"ミリリットル"</string>
<string name="mg">"mg"</string>
<string name="Mexican">"メキシコ料理"</string>
<string name="Meat">"肉料理"</string>
<string name="May">"5月"</string>
<string name="March">"3月"</string>
<string name="_Main_dishes_u6RGQ">"主菜"</string>
<string name="mAgo">"%1$s か月前"</string>
<string name="lunch">"昼食"</string>
<string name="ltAgo">"ずっと前"</string>
<string name="Loaf">"ローフ"</string>
<string name="Litre">"リットル"</string>
<string name="listVM">"一覧の表示方法"</string>
<string name="Light">"ライト"</string>
<string name="leaf">"枚"</string>
<string name="_Last_updated_Z2gEbLD">"最終更新"</string>
<string name="lang">"言語"</string>
<string name="l">"リットル"</string>
<string name="Korean">"韓国料理"</string>
<string name="Kilogram">"キログラム"</string>
<string name="kg">"kg"</string>
<string name="Kenyan">"ケニア料理"</string>
<string name="kEdit">"編集を続ける"</string>
<string name="June">"6月"</string>
<string name="July">"7月"</string>
<string name="joinTG">"Telegramグループに参加"</string>
<string name="Jewish">"ユダヤ料理"</string>
<string name="Japanese">"和食"</string>
<string name="January">"1月"</string>
<string name="Jamaican">"ジャマイカ料理"</string>
<string name="Italian">"イタリア料理"</string>
<string name="Irish">"アイルランド料理"</string>
<string name="invFile">"無効なファイルです"</string>
<string name="intf">"インターフェイス"</string>
<string name="inss">"作り方"</string>
<string name="ings">"材料"</string>
<string name="Indian">"インド料理"</string>
<string name="impSuc">"インポートに成功"</string>
<string name="impip">"インポートを実行中"</string>
<string name="impInfo">"アプリからエクスポートしたフルバックアップに対応しています"</string>
<string name="impFail">"インポートに失敗"</string>
<string name="impBu">"データをインポート"</string>
<string name="hr">"時間"</string>
<string name="Healthy">"ヘルシー"</string>
<string name="guide">"ユーザーガイド"</string>
<string name="grocery">"食材のリスト"</string>
<string name="grid">"グリッド"</string>
<string name="Greek">"ギリシャ料理"</string>
<string name="Gram">"グラム"</string>
<string name="gh">"GitHubで見る"</string>
<string name="German">"ドイツ料理"</string>
<string name="Gallon">"ガロン"</string>
<string name="gal">"ガロン"</string>
<string name="g">"g"</string>
<string name="fsList">"お気に入りのレシピはここに表示されます"</string>
<string name="FRI">"金"</string>
<string name="French">"フランス料理"</string>
<string name="_Fluid_Ounce_bd10L">"液量オンス"</string>
<string name="fltr">"絞り込み"</string>
<string name="_fl_oz_72kqu">"液量オンス"</string>
<string name="_Filtered_recipes_Z1alhhu">"絞り込み結果"</string>
<string name="Filipino">"フィリピン料理"</string>
<string name="February">"2月"</string>
<string name="favourites">"お気に入り"</string>
<string name="expSuc">"エクスポートに成功"</string>
<string name="expip">"エクスポートを実行中"</string>
<string name="expBu">"バックアップをエクスポート"</string>
<string name="English">"イングランド料理"</string>
<string name="Egyptian">"エジプト料理"</string>
<string name="editRec">"レシピを編集する"</string>
<string name="Easy">"簡単"</string>
<string name="dsp">"デザート用スプーン"</string>
<string name="drop">"滴"</string>
<string name="dozen">"ダース"</string>
<string name="donate">"寄付する"</string>
<string name="disc">"レシピの変更が保存されていません。どうしますか?"</string>
<string name="disBtn">"破棄"</string>
<string name="dinner">"夕食"</string>
<string name="_Difficulty_level_cSL5d">"難易度"</string>
<string name="detailed">"詳細"</string>
<string name="Desserts">"デザート"</string>
<string name="delRecsInfo">"%1$s 件のレシピを削除しようとしています"</string>
<string name="delRecInfo">"レシピ %1$s を削除しようとしています"</string>
<string name="December">"12月"</string>
<string name="dBtn">"削除"</string>
<string name="db">"データベース"</string>
<string name="Dark">"ダーク"</string>
<string name="Danish">"デンマーク料理"</string>
<string name="dAgo">"%1$s 日前"</string>
<string name="Cup">"カップ"</string>
<string name="cup">"カップ"</string>
<string name="cui">"ジャンル"</string>
<string name="Created">"作成日時"</string>
<string name="cPic">"写真を切り抜く"</string>
<string name="cookT">"調理時間"</string>
<string name="conf">"確認"</string>
<string name="conBtn">"続ける"</string>
<string name="cmbs">"組合せ"</string>
<string name="cm">"cm"</string>
<string name="clove">"クローブ"</string>
<string name="Chinese">"中華料理"</string>
<string name="Challenging">"難しい"</string>
<string name="cBtn">"キャンセル"</string>
<string name="cat">"カテゴリー"</string>
<string name="buMod">"バックアップファイルが一部修正されています"</string>
<string name="buInfo">"全てのデータを復元するためのZIPファイルを生成します"</string>
<string name="buInc">"バックアップファイルが壊れています"</string>
<string name="buFol">"バックアップフォルダー"</string>
<string name="buEmp">"バックアップファイルが空です"</string>
<string name="British">"イギリス料理"</string>
<string name="breakfast">"朝食"</string>
<string name="Breads">"パン"</string>
<string name="Brazilian">"ブラジル料理"</string>
<string name="Black">"黒"</string>
<string name="Beverages">"飲物"</string>
<string name="Barbecue">"キャンプ料理"</string>
<string name="August">"8月"</string>
<string name="aStpBtn">"手順を追加"</string>
<string name="April">"4月"</string>
<string name="appRst">"アプリの再起動が必要"</string>
<string name="apply">"適用する"</string>
<string name="appInfo">"EnRecipesはレシピを作成・管理・共有することができる、オープンソースでプライバシーに配慮したデジタル料理本です"</string>
<string name="Appetizers">"前菜"</string>
<string name="appCrd">"EnRecipesから共有されました。F-DroidかIzzyOnDroidかPlayストアからダウンロード出来ます。"</string>
<string name="aNoBtn">"メモを追加"</string>
<string name="aNBtn">"新しく追加"</string>
<string name="American">"アメリカ料理"</string>
<string name="allTs">"全てのタグ"</string>
<string name="allCuis">"全てのジャンル"</string>
<string name="allCats">"全てのカテゴリー"</string>
<string name="aIngBtn">"材料を追加"</string>
<string name="aFBu">"バックアップするにはレシピを登録してください"</string>
<string name="addCmbBtn">"組合せを追加"</string>
<string name="aD">"完了しました!"</string>
<string name="aBtn">"追加"</string>
<string name="About">"アプリについて"</string>
<string name="aap">"写真を添付"</string>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sec">"sec"</string>
<string name="EnRecipes">"EnRecipes"</string>
<string name="_app_name_1k3Sbz">"EnRecipes"</string>
<string name="app_name">"EnRecipes"</string>
<string name="title_activity_kimera">"EnRecipes"</string>
</resources>

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sysDefB">"System default + Black"</string>
<string name="buto">"Backed up to %1$s"</string>
<string name="yld">"Yield"</string>
<string name="yieldU">"Yield unit"</string>
<string name="yieldQ">"Yield quantity"</string>
<string name="yesterday">"yesterday"</string>
<string name="WED">"WED"</string>
<string name="wAgo">"%1$s weeks ago"</string>
<string name="Vietnamese">"Vietnamese"</string>
<string name="Vegetarian">"Vegetarian"</string>
<string name="Vegan">"Vegan"</string>
<string name="untRec">"Untitled Recipe"</string>
<string name="unsaved">"Unsaved changes"</string>
<string name="Unit">"Unit"</string>
<string name="unit">"unit"</string>
<string name="Undefined">"Undefined"</string>
<string name="Turkish">"Turkish"</string>
<string name="TUE">"TUE"</string>
<string name="tsp">"tsp"</string>
<string name="tsInfo">"separate with spaces"</string>
<string name="ts">"Tags"</string>
<string name="trySer">"SEARCH IN ALL THE RECIPES?"</string>
<string name="trylater">"Try Later"</string>
<string name="trnsl">"Translate"</string>
<string name="triedInfo">"You tried this recipe %1$s"</string>
<string name="today">"today"</string>
<string name="tLInfo">"Recipes you want to try later are listed here"</string>
<string name="title">"Title"</string>
<string name="THU">"THU"</string>
<string name="Theme">"Theme"</string>
<string name="Thai">"Thai"</string>
<string name="Teaspoon">"Teaspoon"</string>
<string name="tbsp">"tbsp"</string>
<string name="Tablespoon">"Tablespoon"</string>
<string name="sysDef">"System default"</string>
<string name="swm">"Start week on Monday"</string>
<string name="Swedish">"Swedish"</string>
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
<string name="sVw">"Shake to view random recipe"</string>
<string name="SUN">"SUN"</string>
<string name="strAdd">"Start adding your recipes!"</string>
<string name="stp">"Step"</string>
<string name="stick">"stick"</string>
<string name="stars">"Star rating"</string>
<string name="sru">"Share recipe using..."</string>
<string name="srt">"Sort"</string>
<string name="srpu">"Share recipe photo using..."</string>
<string name="_Sri_Lankan_Z7GfBa">"Sri Lankan"</string>
<string name="Spanish">"Spanish"</string>
<string name="Soups">"Soups"</string>
<string name="snacks">"Snacks"</string>
<string name="small">"small"</string>
<string name="sltd">"selected"</string>
<string name="_Slowest_first_hHjY6">"Slowest first"</string>
<string name="simple">"Simple"</string>
<string name="_Side_dishes_Z1Et4Vg">"Side dishes"</string>
<string name="shr">"Share"</string>
<string name="Settings">"Settings"</string>
<string name="SET">"SET"</string>
<string name="Serving">"Serving"</string>
<string name="ser">"Search"</string>
<string name="September">"September"</string>
<string name="selRec">"Select recipe"</string>
<string name="Seafood">"Seafood"</string>
<string name="Scottish">"Scottish"</string>
<string name="Sauces">"Sauces"</string>
<string name="SAT">"SAT"</string>
<string name="Salads">"Salads"</string>
<string name="Russian">"Russian"</string>
<string name="rst">"RESTART"</string>
<string name="rp">"Remove photo"</string>
<string name="Roll">"Roll"</string>
<string name="rmYUInfo">"You are about to remove %1$s from the yield unit list"</string>
<string name="rmUInfo">"You are about to remove %1$s from the unit list"</string>
<string name="rmN">"Note removed"</string>
<string name="rmIns">"Instruction removed"</string>
<string name="rmIng">"Ingredient removed"</string>
<string name="rmCuiInfo">"You are about to remove %1$s from the cuisine list"</string>
<string name="rmCmb">"Combination removed"</string>
<string name="rmCatInfo">"You are about to remove %1$s from the category list"</string>
<string name="Rice">"Rice"</string>
<string name="restYUL">"Reset yield unit list"</string>
<string name="restUL">"Reset unit list"</string>
<string name="restInfo">"Resetting a list will delete user-created entries and restore default entries. Existing recipes will not be affected."</string>
<string name="restDone">"Reset done"</string>
<string name="restCuiL">"Reset cuisine list"</string>
<string name="restCatL">"Reset category list"</string>
<string name="rest">"Reset"</string>
<string name="resNF">"Recipe not found"</string>
<string name="req">"Required %1$s"</string>
<string name="recU">"Updated:"</string>
<string name="recTitle">"My Healthy Recipe"</string>
<string name="recs">"recipes"</string>
<string name="recRm">"Recipe removed"</string>
<string name="recPic">"Recipe photo"</string>
<string name="recListEmp">"Nothing here! Add some recipes and try again"</string>
<string name="recI">"Imported:"</string>
<string name="recF">"recipes found"</string>
<string name="recE">"Already exist:"</string>
<string name="rec">"Recipe"</string>
<string name="rBtn">"REMOVE"</string>
<string name="Rating">"Rating"</string>
<string name="_Quickest_first_Z1CpP7N">"Quickest first"</string>
<string name="qt">"qt"</string>
<string name="pt">"pt"</string>
<string name="priv">"Privacy policy"</string>
<string name="prepT">"Preparation time"</string>
<string name="Pound">"Pound"</string>
<string name="Poultry">"Poultry"</string>
<string name="Portuguese">"Portuguese"</string>
<string name="plsAdd">"Use the plus button to add one"</string>
<string name="planner">"Meal Planner"</string>
<string name="pinch">"pinch"</string>
<string name="Piece">"Piece"</string>
<string name="piece">"piece"</string>
<string name="pht">"Recipe photo"</string>
<string name="photogrid">"Photo Grid"</string>
<string name="Patty">"Patty"</string>
<string name="Pasta">"Pasta"</string>
<string name="oz">"oz"</string>
<string name="Ounce">"Ounce"</string>
<string name="opts">"Options"</string>
<string name="_Oldest_first_Z6cq4h">"Oldest first"</string>
<string name="OK">"OK"</string>
<string name="October">"October"</string>
<string name="nwYiU">"New yield unit"</string>
<string name="nwCat">"New category"</string>
<string name="November">"November"</string>
<string name="nos">"Notes"</string>
<string name="noRecsInL">"None of the recipes here matches your search"</string>
<string name="noRecs">"No recipes match your search"</string>
<string name="Noodles">"Noodles"</string>
<string name="noFavs">"No favourites yet"</string>
<string name="noAccSensor">"Accelerometer sensor is either disabled or is not working"</string>
<string name="no">"Note"</string>
<string name="nNBtn">"NOT NOW"</string>
<string name="nLangInfo">"Restart EnRecipes to use the new language"</string>
<string name="Nigerian">"Nigerian"</string>
<string name="newUnit">"New unit"</string>
<string name="newRec">"New recipe"</string>
<string name="_Newest_first_2Sb3c">"Newest first"</string>
<string name="newCui">"New cuisine"</string>
<string name="MON">"MON"</string>
<string name="Moderate">"Moderate"</string>
<string name="ml">"ml"</string>
<string name="minimal">"Minimal"</string>
<string name="sec">"sec"</string>
<string name="min">"min"</string>
<string name="Millilitre">"Millilitre"</string>
<string name="mg">"mg"</string>
<string name="Mexican">"Mexican"</string>
<string name="medium">"medium"</string>
<string name="Meat">"Meat"</string>
<string name="May">"May"</string>
<string name="March">"March"</string>
<string name="_Main_dishes_u6RGQ">"Main dishes"</string>
<string name="mAgo">"%1$s months ago"</string>
<string name="lunch">"Lunch"</string>
<string name="ltAgo">"a long time ago"</string>
<string name="Loaf">"Loaf"</string>
<string name="Litre">"Litre"</string>
<string name="listVM">"List view mode"</string>
<string name="Light">"Light"</string>
<string name="leaf">"leaf"</string>
<string name="lb">"lb"</string>
<string name="_Last_updated_Z2gEbLD">"Last updated"</string>
<string name="large">"large"</string>
<string name="lang">"Language"</string>
<string name="l">"l"</string>
<string name="Korean">"Korean"</string>
<string name="Kilogram">"Kilogram"</string>
<string name="kg">"kg"</string>
<string name="Kenyan">"Kenyan"</string>
<string name="kEdit">"KEEP EDITING"</string>
<string name="June">"June"</string>
<string name="July">"July"</string>
<string name="joinTG">"Join the Telegram group"</string>
<string name="Jewish">"Jewish"</string>
<string name="Japanese">"Japanese"</string>
<string name="January">"January"</string>
<string name="Jamaican">"Jamaican"</string>
<string name="Italian">"Italian"</string>
<string name="it">"Item"</string>
<string name="Irish">"Irish"</string>
<string name="invFile">"Invalid file"</string>
<string name="intf">"Interface"</string>
<string name="inss">"Instructions"</string>
<string name="ings">"Ingredients"</string>
<string name="Indian">"Indian"</string>
<string name="in">"in"</string>
<string name="impSuc">"Import success"</string>
<string name="impip">"Import in progress"</string>
<string name="impInfo">"Supports full backups exported by this app"</string>
<string name="impFail">"Import failed"</string>
<string name="impBu">"Import data"</string>
<string name="hr">"hr"</string>
<string name="Healthy">"Healthy"</string>
<string name="guide">"User guide"</string>
<string name="grocery">"Grocery List"</string>
<string name="grid">"Grid"</string>
<string name="Greek">"Greek"</string>
<string name="Gram">"Gram"</string>
<string name="gh">"View on GitHub"</string>
<string name="German">"German"</string>
<string name="Gallon">"Gallon"</string>
<string name="gal">"gal"</string>
<string name="g">"g"</string>
<string name="fsList">"Your favourite recipes are listed here"</string>
<string name="FRI">"FRI"</string>
<string name="French">"French"</string>
<string name="_Fluid_Ounce_bd10L">"Fluid Ounce"</string>
<string name="fltr">"Filter"</string>
<string name="_fl_oz_72kqu">"fl oz"</string>
<string name="_Filtered_recipes_Z1alhhu">"Filtered recipes"</string>
<string name="Filipino">"Filipino"</string>
<string name="February">"February"</string>
<string name="favourites">"Favourites"</string>
<string name="expSuc">"Export success"</string>
<string name="expip">"Export in progress"</string>
<string name="expBu">"Export full backup"</string>
<string name="EnRecipes">"EnRecipes"</string>
<string name="English">"English"</string>
<string name="Egyptian">"Egyptian"</string>
<string name="editRec">"Edit recipe"</string>
<string name="Easy">"Easy"</string>
<string name="dsp">"dstspn"</string>
<string name="drop">"drop"</string>
<string name="dozen">"dozen"</string>
<string name="donate">"Donate"</string>
<string name="disc">"This recipe has unsaved changes. What would you like to do?"</string>
<string name="disBtn">"DISCARD"</string>
<string name="dinner">"Dinner"</string>
<string name="_Difficulty_level_cSL5d">"Difficulty level"</string>
<string name="detailed">"Detailed"</string>
<string name="Desserts">"Desserts"</string>
<string name="delRecsInfo">"You are about to permanently delete %1$s"</string>
<string name="delRecInfo">"You are about to permanently delete the recipe %1$s"</string>
<string name="December">"December"</string>
<string name="dBtn">"DELETE"</string>
<string name="db">"Database"</string>
<string name="Dark">"Dark"</string>
<string name="Danish">"Danish"</string>
<string name="dAgo">"%1$s days ago"</string>
<string name="Cup">"Cup"</string>
<string name="cup">"cup"</string>
<string name="cui">"Cuisine"</string>
<string name="Created">"Created"</string>
<string name="cPic">"Crop photo"</string>
<string name="cookT">"Cooking time"</string>
<string name="conf">"Confirm"</string>
<string name="conBtn">"CONTINUE"</string>
<string name="cmbs">"Combinations"</string>
<string name="cm">"cm"</string>
<string name="clove">"clove"</string>
<string name="Chinese">"Chinese"</string>
<string name="Challenging">"Challenging"</string>
<string name="cBtn">"CANCEL"</string>
<string name="cat">"Category"</string>
<string name="buMod">"The backup file was modified elsewhere"</string>
<string name="buInfo">"Generates a ZIP file containing all your data that can be imported back"</string>
<string name="buInc">"Malformed or corrupt backup file"</string>
<string name="buFol">"Backup folder"</string>
<string name="buEmp">"The backup file is empty"</string>
<string name="British">"British"</string>
<string name="breakfast">"Breakfast"</string>
<string name="Breads">"Breads"</string>
<string name="Brazilian">"Brazilian"</string>
<string name="Black">"Black"</string>
<string name="Beverages">"Beverages"</string>
<string name="Barbecue">"Barbecue"</string>
<string name="August">"August"</string>
<string name="aStpBtn">"ADD STEP"</string>
<string name="April">"April"</string>
<string name="appRst">"App restart required"</string>
<string name="apply">"APPLY"</string>
<string name="appInfo">"EnRecipes is an open source, privacy-friendly digital cookbook that lets you create, manage and share your recipes"</string>
<string name="Appetizers">"Appetizers"</string>
<string name="appCrd">"Shared via EnRecipes. Get it on F-Droid, IzzyOnDroid or the Play Store."</string>
<string name="_app_name_1k3Sbz">"EnRecipes"</string>
<string name="app_name">"EnRecipes"</string>
<string name="title_activity_kimera">"EnRecipes"</string>
<string name="aNoBtn">"ADD NOTE"</string>
<string name="aNBtn">"ADD NEW"</string>
<string name="American">"American"</string>
<string name="allTs">"All Tags"</string>
<string name="allCuis">"All Cuisines"</string>
<string name="allCats">"All Categories"</string>
<string name="aIngBtn">"ADD INGREDIENT"</string>
<string name="aFBu">"Add a recipe to perform a backup"</string>
<string name="addCmbBtn">"ADD COMBINATION"</string>
<string name="aD">"All done!"</string>
<string name="aBtn">"ADD"</string>
<string name="About">"About"</string>
<string name="aap">"Attach a photo"</string>
</resources>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sysDefB">"സിസ്റ്റം സ്ഥിരസ്ഥിതി + കറുപ്പ്"</string>
<string name="buto">"%1$s ലേക്ക് ബാക്കപ്പ് ചെയ്തു"</string>
<string name="yld">"വരുമാനം"</string>
<string name="yieldU">"വിളവ് യൂണിറ്റ്"</string>
@ -292,4 +293,24 @@
<string name="aBtn">"ചേർക്കുക"</string>
<string name="About">"കുറിച്ച്"</string>
<string name="aap">"ഒരു ഫോട്ടോ അറ്റാച്ചുചെയ്യുക"</string>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sec">"sec"</string>
</resources>

View File

@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sec">"s"</string>
<string name="sysDefB">"Systemforvalg + Svart"</string>
<string name="buto">"Støttet opp til %1$s"</string>
<string name="yld">"Nyttemengde"</string>
<string name="yieldU">"Enhet for nyttemengde"</string>
@ -292,4 +294,23 @@
<string name="aBtn">"Legg til"</string>
<string name="About">"Om"</string>
<string name="aap">"Legg ved et bilde"</string>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
</resources>

View File

@ -1,14 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" >
<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<style name="LaunchScreenThemeBase" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">
@color/dark
</item>
<item name="colorPrimaryDark">
@color/dark
</item>
<item name="colorAccent">
@color/dark
@color/orange
</item>
<item name="android:windowBackground">
@drawable/splash_screen_dark
@ -16,6 +10,9 @@
<item name="android:windowLightStatusBar">
false
</item>
<item name="android:statusBarColor">
@color/dark
</item>
<item name="android:windowLightNavigationBar" tools:targetApi="27">
false
</item>
@ -26,30 +23,38 @@
<style name="LaunchScreenTheme" parent="LaunchScreenThemeBase">
</style>
<style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">
@color/dark
</item>
<item name="colorPrimaryDark">
@color/dark
</item>
<item name="colorAccent">
@color/dark
@color/orange
</item>
<item name="colorControlNormal">
#00000000
</item>
</style>
<style name="AppTheme" parent="AppThemeBase">
<item name="android:listViewStyle">@style/ListViewTheme</item>
<item name="android:scrollViewStyle">@style/ScrollViewTheme</item>
<item name="android:listViewStyle">
@style/ListViewTheme
</item>
<item name="android:scrollViewStyle">
@style/ScrollViewTheme
</item>
</style>
<style name="ListViewTheme" parent="android:Widget.ListView">
<item name="android:overScrollMode">never</item>
<item name="android:divider">#00000000</item>
<item name="android:dividerHeight">0dp</item>
<item name="android:listSelector">#00000000</item>
<item name="android:overScrollMode">
never
</item>
<item name="android:divider">
#00000000
</item>
<item name="android:dividerHeight">
0dp
</item>
<item name="android:listSelector">
#00000000
</item>
</style>
<style name="ScrollViewTheme" parent="android:Widget.ScrollView">
<item name="android:overScrollMode">never</item>
<item name="android:overScrollMode">
never
</item>
</style>
</resources>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Kookwekker gewist"</string>
<string name="delay">"Vertraging"</string>
<string name="dlyDur">"Vertragingsduur"</string>
<string name="minute">"minuut"</string>
<string name="minutes">"minuten"</string>
<string name="hour">"uur"</string>
<string name="hours">"uur"</string>
<string name="seconds">"seconden"</string>
<string name="tmrvbrt">"Kookwekker laten trillen"</string>
<string name="stop">"Stoppen"</string>
<string name="prstBtn">"VOORINSTELLINGEN"</string>
<string name="tmrPrsts">"Kookwekker: voorinstellingen"</string>
<string name="fwr">"bij welk recept?"</string>
<string name="aTPrst">"Toegevoegd aan voorinstellingen"</string>
<string name="tmrSnd">"Kookwekkergeluid"</string>
<string name="sec">"s"</string>
<string name="timer">"Kookwekker"</string>
<string name="ntmr">"Nieuwe kookwekker"</string>
<string name="strtBtn">"STARTEN"</string>
<string name="tmr">"Kookwekker %1$s"</string>
<string name="sysDefB">"Systeemthema + Zwart"</string>
<string name="buto">"Gebackupt naar %1$s"</string>
<string name="yld">"Hoeveelheid"</string>
<string name="yieldU">"Eenheid"</string>

View File

@ -1,5 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Temporizador liberado"</string>
<string name="seconds">"segundos"</string>
<string name="hours">"horas"</string>
<string name="hour">"hora"</string>
<string name="minutes">"atas"</string>
<string name="minute">"minuto"</string>
<string name="dlyDur">"Duração do atraso"</string>
<string name="tmrvbrt">"Temporizador vibrar"</string>
<string name="tmrSnd">"Som temporizador"</string>
<string name="aTPrst">"Adicionado às predefinições"</string>
<string name="fwr">"para qual receita?"</string>
<string name="tmrPrsts">"Predefinições temporizadas"</string>
<string name="delay">"Atraso"</string>
<string name="stop">"Parada"</string>
<string name="sec">"s"</string>
<string name="prstBtn">"PERSPECTIVAS"</string>
<string name="timer">"Temporizador de Culinária"</string>
<string name="ntmr">"Novo timer"</string>
<string name="strtBtn">"INICIAR"</string>
<string name="tmr">"Temporizador %1$s"</string>
<string name="dAgo">"%1$s dias atrás"</string>
<string name="Filipino">"Filipina"</string>
<string name="mAgo">"%1$s meses atrás"</string>
<string name="Thai">"Tailandesa"</string>
<string name="wAgo">"%1$s semanas atrás"</string>
<string name="sysDefB">"Padrão do sistema + Preto"</string>
<string name="yld">"Porção"</string>
<string name="Jewish">"Judeu"</string>
<string name="Japanese">"Japonês"</string>
<string name="January">"Janeiro"</string>
@ -70,7 +97,7 @@
<string name="restDone">"Reposição feita"</string>
<string name="restInfo">"A redefinição de uma lista eliminará as entradas criadas pelo usuário e restaurará as entradas padrão. As receitas existentes não serão afetadas."</string>
<string name="restUL">"Reiniciar a lista de unidades"</string>
<string name="restYUL">"Redefinir a lista de unidades de rendimento"</string>
<string name="restYUL">"Redefinir a lista de unidades de porção"</string>
<string name="rmCmb">"Combinação removida"</string>
<string name="rmIng">"Ingrediente removido"</string>
<string name="rmIns">"Instrução retirada"</string>
@ -114,7 +141,7 @@
<string name="_Oldest_first_Z6cq4h">"Os mais antigos"</string>
<string name="OK">"OK"</string>
<string name="October">"Outubro"</string>
<string name="nwYiU">"Nova unidade de produção"</string>
<string name="nwYiU">"Nova unidade de porção"</string>
<string name="nwCat">"Nova categoria"</string>
<string name="noRecsInL">"Nenhuma das receitas aqui corresponde à sua busca"</string>
<string name="noAccSensor">"O sensor do acelerômetro está desativado ou não está funcionando"</string>
@ -143,8 +170,8 @@
<string name="WED">"VIA"</string>
<string name="FRI">"SEX"</string>
<string name="MON">"SEG"</string>
<string name="yieldU">"Unidade de rendimento"</string>
<string name="yieldQ">"Quantidade de rendimento"</string>
<string name="yieldU">"Unidade de porção"</string>
<string name="yieldQ">"Quantidade de porção"</string>
<string name="Vegetarian">"Vegetariano"</string>
<string name="Vegan">"Vegano"</string>
<string name="unit">"Unidade"</string>
@ -177,7 +204,7 @@
<string name="Salads">"Saladas"</string>
<string name="rst">"REINICIAR"</string>
<string name="Roll">"Lista"</string>
<string name="rmYUInfo">"Você está prestes a remover a unidade de rendimento"</string>
<string name="rmYUInfo">"Você está prestes a remover a unidade de porção"</string>
<string name="rmUInfo">"Você está prestes a remover a unidade"</string>
<string name="rmCuiInfo">"Você está prestes a remover a cozinha"</string>
<string name="rmCatInfo">"Você está prestes a remover a categoria"</string>
@ -286,10 +313,4 @@
<string name="aD">"Tudo feito!"</string>
<string name="aBtn">"ADICIONAR"</string>
<string name="About">"Sobre"</string>
<string name="yld">"Yield"</string>
<string name="wAgo">"%1$s weeks ago"</string>
<string name="Thai">"Thai"</string>
<string name="mAgo">"%1$s months ago"</string>
<string name="Filipino">"Filipino"</string>
<string name="dAgo">"%1$s days ago"</string>
</resources>

View File

@ -1,5 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Temporizador a zero"</string>
<string name="prstBtn">"PRIMEIROS"</string>
<string name="tmrPrsts">"Predefinições temporizadas"</string>
<string name="fwr">"para que receita?"</string>
<string name="aTPrst">"Adicionado às predefinições"</string>
<string name="tmrSnd">"Som temporizador"</string>
<string name="tmrvbrt">"Vibrador temporizador"</string>
<string name="seconds">"segundos"</string>
<string name="hours">"horas"</string>
<string name="hour">"hora"</string>
<string name="minutes">"minutos"</string>
<string name="minute">"minuto"</string>
<string name="sec">"s"</string>
<string name="stop">"Parar"</string>
<string name="delay">"Atraso"</string>
<string name="dlyDur">"Duração do atraso"</string>
<string name="timer">"Temporizador de cozedura"</string>
<string name="ntmr">"Novo temporizador"</string>
<string name="strtBtn">"INICIAR"</string>
<string name="tmr">"Temporizador %1$s"</string>
<string name="aBtn">"ADICIONAR"</string>
<string name="aD">"Terminado!"</string>
<string name="addCmbBtn">"ADICIONAR COMBINAÇÃO"</string>
<string name="aFBu">"Adicione uma receita para fazer uma cópia de segurança"</string>
<string name="aIngBtn">"ADICIONAR INGREDIENTE"</string>
<string name="allCats">"Todas as categorias"</string>
<string name="allCuis">"Todas as cozinhas"</string>
<string name="allTs">"Todas as etiquetas"</string>
<string name="aNBtn">"ADICIONAR NOVA"</string>
<string name="aNoBtn">"ADICIONAR NOTA"</string>
<string name="appCrd">"Partilhado via EnRecipes. Obtenha-o no F-Droid, IzzyOnDroid ou na Play Store."</string>
<string name="appInfo">"EnRecipes é um livro de receitas digital de código aberto, amigo da privacidade, que lhe permite criar, gerir e partilhar as suas receitas"</string>
<string name="apply">"APLICAR"</string>
<string name="appRst">"É necessário reiniciar a aplicação"</string>
<string name="April">"Abril"</string>
<string name="aStpBtn">"ADICIONAR PASSO"</string>
<string name="August">"Agosto"</string>
<string name="cBtn">"CANCELAR"</string>
<string name="conBtn">"CONTINUAR"</string>
<string name="dBtn">"ELIMINAR"</string>
<string name="disBtn">"DESCARTAR"</string>
<string name="fsList">"As suas receitas favoritas são apresentadas aqui"</string>
<string name="gh">"Ver no GitHub"</string>
<string name="grid">"Grelha"</string>
<string name="guide">"Guia do utilizador"</string>
<string name="impBu">"Importar dados"</string>
<string name="impFail">"A importação falhou"</string>
<string name="impInfo">"Suporta cópias de segurança completas exportadas por esta aplicação"</string>
<string name="impip">"Importação em curso"</string>
<string name="impSuc">"Importado com sucesso"</string>
<string name="ings">"Ingredientes"</string>
<string name="inss">"Instruções"</string>
<string name="intf">"Interface"</string>
<string name="invFile">"Ficheiro inválido"</string>
<string name="it">"Item"</string>
<string name="January">"Janeiro"</string>
<string name="joinTG">"Junte-se ao grupo no Telegram"</string>
<string name="July">"Julho"</string>
<string name="June">"Junho"</string>
<string name="kEdit">"CONTINUAR A EDITAR"</string>
<string name="lang">"Idioma"</string>
<string name="listVM">"Modo de vista em lista"</string>
<string name="ltAgo">"há muito tempo"</string>
<string name="mAgo">"%1$s meses atrás"</string>
<string name="March">"Março"</string>
<string name="May">"Maio"</string>
<string name="minimal">"Mínimo"</string>
<string name="newCui">"Nova cozinha"</string>
<string name="newRec">"Nova receita"</string>
<string name="newUnit">"Nova unidade"</string>
<string name="nLangInfo">"Reinicie o EnRecipes para usar o novo idioma"</string>
<string name="nNBtn">"AGORA NÃO"</string>
<string name="no">"Nota"</string>
<string name="noFavs">"Ainda não tem favoritos"</string>
<string name="noRecs">"Nenhuma receita corresponde à pesquisa"</string>
<string name="pht">"Fotografia da receita"</string>
<string name="plsAdd">"Use o botão mais para adicionar uma"</string>
<string name="prepT">"Tempo de preparação"</string>
<string name="priv">"Política de privacidade"</string>
<string name="rBtn">"REMOVER"</string>
<string name="restInfo">"A redefinição de uma lista eliminará as entradas criadas pelo utilizador e restaurará as entradas predefinidas. As receitas existentes não serão afetadas."</string>
<string name="restUL">"Repor lista de unidades"</string>
<string name="restYUL">"Repor lista de unidades de porções"</string>
<string name="yld">"Porção"</string>
<string name="rmCmb">"Combinação removida"</string>
<string name="rmIng">"Ingrediente removido"</string>
<string name="rmIns">"Instrução removida"</string>
<string name="rmN">"Nota removida"</string>
<string name="rp">"Remover fotografia"</string>
<string name="rst">"REINICIAR"</string>
<string name="selRec">"Selecione a receita"</string>
<string name="September">"Setembro"</string>
<string name="ser">"Pesquisar"</string>
<string name="shr">"Partilhar"</string>
<string name="simple">"Simples"</string>
<string name="sltd">"selecionada"</string>
<string name="srpu">"Partilhar fotografia da receita usando..."</string>
<string name="srt">"Ordenar"</string>
<string name="sru">"Partilhar receita usando..."</string>
<string name="stars">"Classificação por estrelas"</string>
<string name="stp">"Etapa"</string>
<string name="trySer">"PROCURAR EM TODAS AS RECEITAS?"</string>
<string name="sysDefB">"Padrão do sistema + Preto"</string>
<string name="FRI">"SEX"</string>
<string name="MON">"SEG"</string>
<string name="SAT">"SÁB"</string>
<string name="SUN">"DOM"</string>
<string name="TUE">"TER"</string>
<string name="WED">"QUA"</string>
<string name="THU">"QUI"</string>
<string name="rec">"Receita"</string>
<string name="recE">"Já existem:"</string>
<string name="recF">"receitas encontradas"</string>
@ -9,20 +119,20 @@
<string name="recRm">"Receita retirada"</string>
<string name="recs">"receitas"</string>
<string name="recTitle">"A minha receita saudável"</string>
<string name="recU">"Actualizado:"</string>
<string name="recU">"Atualizado:"</string>
<string name="req">"Necessárias %1$s"</string>
<string name="resNF">"Receita não encontrada"</string>
<string name="rest">"Reiniciar"</string>
<string name="restCatL">"Reiniciar lista de categorias"</string>
<string name="restCuiL">"Repor a lista de cozinha"</string>
<string name="restDone">"Reposição feita"</string>
<string name="buto">"Replacement made"</string>
<string name="yieldQ">"Quantidade de produção"</string>
<string name="yieldU">"Unidade de rendimento"</string>
<string name="buto">"Cópia de segurança guardada em %1$s"</string>
<string name="yieldQ">"Quantidade da porção"</string>
<string name="yieldU">"Unidade de porção"</string>
<string name="Black">"Preto"</string>
<string name="buEmp">"O arquivo de backup está vazio"</string>
<string name="buFol">"Pasta de backup"</string>
<string name="buInc">"Ficheiro de backup malformado ou corrupto"</string>
<string name="buEmp">"O ficheiro da cópia de segurança está vazio"</string>
<string name="buFol">"Pasta da cópia de segurança"</string>
<string name="buInc">"Ficheiro da cópia de segurança está mal formado ou corrupto"</string>
<string name="buInfo">"Gera um ficheiro ZIP contendo todos os seus dados que podem ser importados de volta"</string>
<string name="buMod">"O ficheiro de cópia de segurança foi modificado noutro local"</string>
<string name="cat">"Categoria"</string>
@ -42,7 +152,7 @@
<string name="editRec">"Editar receita"</string>
<string name="expBu">"Exportar apoio total"</string>
<string name="expip">"Exportação em curso"</string>
<string name="expSuc">"Sucesso de exportação"</string>
<string name="expSuc">"Exportado com sucesso"</string>
<string name="February">"Fevereiro"</string>
<string name="_Filtered_recipes_Z1alhhu">"Receitas filtradas"</string>
<string name="fltr">"Filtro"</string>
@ -50,13 +160,13 @@
<string name="nos">"Notas"</string>
<string name="November">"Novembro"</string>
<string name="nwCat">"Nova categoria"</string>
<string name="nwYiU">"Nova unidade de rendimento"</string>
<string name="nwYiU">"Nova unidade de porção"</string>
<string name="October">"Outubro"</string>
<string name="opts">"Opções"</string>
<string name="photogrid">"Grelha de fotos"</string>
<string name="wAgo">"%1$s semanas atrás"</string>
<string name="untRec">"Receita sem título"</string>
<string name="unsaved">"Alterações não salvas"</string>
<string name="unsaved">"Alterações não guardadas"</string>
<string name="tsInfo">"separar com espaços"</string>
<string name="ts">"Etiquetas"</string>
<string name="trnsl">"Traduzir"</string>
@ -67,11 +177,11 @@
<string name="swm">"Começa na segunda-feira"</string>
<string name="sVwInfo">"Ajuda-o a escolher o que deve cozinhar quando não consegue decidir"</string>
<string name="sVw">"Sacudir para ver a receita aleatória"</string>
<string name="rmYUInfo">"Está prestes a remover %1$s da lista de unidades de rendimento"</string>
<string name="rmYUInfo">"Está prestes a remover %1$s da lista de unidades de porções"</string>
<string name="rmUInfo">"Está prestes a remover %1$s da lista de unidades"</string>
<string name="rmCuiInfo">"Está prestes a retirar %1$s da lista de cozinha"</string>
<string name="rmCatInfo">"Está prestes a remover %1$s da lista de categorias"</string>
<string name="noAccSensor">"O sensor do acelerómetro ou está desactivado ou não está a funcionar"</string>
<string name="noAccSensor">"O sensor do acelerómetro ou está desativado ou não está a funcionar"</string>
<string name="yesterday">"ontem"</string>
<string name="Vietnamese">"Vietnamita"</string>
<string name="Vegetarian">"Vegetariano"</string>
@ -81,7 +191,7 @@
<string name="Undefined">"Indefinido"</string>
<string name="Turkish">"Turca"</string>
<string name="tsp">"colher de chá"</string>
<string name="trylater">"Tente Mais Tarde"</string>
<string name="trylater">"Tentar mais tarde"</string>
<string name="today">"hoje"</string>
<string name="Theme">"Tema"</string>
<string name="Thai">"Tailandesa"</string>
@ -91,7 +201,7 @@
<string name="Swedish">"Sueca"</string>
<string name="strAdd">"Comece a adicionar as suas receitas!"</string>
<string name="stick">"galho"</string>
<string name="_Sri_Lankan_Z7GfBa">"Cingalês"</string>
<string name="_Sri_Lankan_Z7GfBa">"Cingalesa"</string>
<string name="Spanish">"Espanhola"</string>
<string name="Soups">"Sopas"</string>
<string name="snacks">"Lanches"</string>
@ -99,10 +209,10 @@
<string name="_Slowest_first_hHjY6">"Mais lentas primeiro"</string>
<string name="_Side_dishes_Z1Et4Vg">"Acompanhamentos"</string>
<string name="Settings">"Definições"</string>
<string name="SET">"SET"</string>
<string name="SET">"DEFINIR"</string>
<string name="Serving">"Porção"</string>
<string name="Seafood">"Marisco"</string>
<string name="Scottish">"Escocêsa"</string>
<string name="Scottish">"Escocesa"</string>
<string name="Sauces">"Molhos"</string>
<string name="Salads">"Saladas"</string>
<string name="Russian">"Russa"</string>
@ -115,7 +225,7 @@
<string name="Pound">"Pound"</string>
<string name="Poultry">"Aves"</string>
<string name="Portuguese">"Portuguesa"</string>
<string name="planner">"Plano Refeições"</string>
<string name="planner">"Plano de refeições"</string>
<string name="pinch">"pitada"</string>
<string name="Piece">"Peça"</string>
<string name="piece">"peça"</string>
@ -151,15 +261,15 @@
<string name="kg">"kg"</string>
<string name="Kenyan">"Queniana"</string>
<string name="Jewish">"Judaica"</string>
<string name="Japanese">"Japonêsa"</string>
<string name="Japanese">"Japonesa"</string>
<string name="Jamaican">"Jamaicana"</string>
<string name="Italian">"Italiana"</string>
<string name="Irish">"Irlândesa"</string>
<string name="Irish">"Irlandesa"</string>
<string name="Indian">"Indiana"</string>
<string name="in">"in"</string>
<string name="hr">"hr"</string>
<string name="Healthy">"Saudável"</string>
<string name="grocery">"Lista Supermercado"</string>
<string name="grocery">"Lista de compras"</string>
<string name="Greek">"Grega"</string>
<string name="Gram">"Grama"</string>
<string name="German">"Alemã"</string>
@ -167,12 +277,12 @@
<string name="gal">"gal"</string>
<string name="g">"g"</string>
<string name="French">"Francesa"</string>
<string name="_Fluid_Ounce_bd10L">"Onça Fluida"</string>
<string name="_Fluid_Ounce_bd10L">"Onça líquida"</string>
<string name="_fl_oz_72kqu">"fl oz"</string>
<string name="Filipino">"Filipina"</string>
<string name="favourites">"Favoritos"</string>
<string name="EnRecipes">"EnRecipes"</string>
<string name="English">"Inglêsa"</string>
<string name="English">"Inglesa"</string>
<string name="Egyptian">"Egípcia"</string>
<string name="Easy">"Fácil"</string>
<string name="dsp">"colher de sobremesa"</string>
@ -182,7 +292,7 @@
<string name="_Difficulty_level_cSL5d">"Nível de dificuldade"</string>
<string name="Desserts">"Sobremesas"</string>
<string name="Dark">"Escuro"</string>
<string name="Danish">"Dinamarquêsa"</string>
<string name="Danish">"Dinamarquesa"</string>
<string name="Cup">"Copo"</string>
<string name="cup">"copo"</string>
<string name="Created">"Criado"</string>
@ -202,94 +312,5 @@
<string name="title_activity_kimera">"EnRecipes"</string>
<string name="American">"Americana"</string>
<string name="About">"Sobre"</string>
<string name="aap">""</string>
<string name="yld">"Yield"</string>
<string name="WED">"WED"</string>
<string name="TUE">"TUE"</string>
<string name="trySer">"SEARCH IN ALL THE RECIPES?"</string>
<string name="THU">"THU"</string>
<string name="SUN">"SUN"</string>
<string name="stp">"Step"</string>
<string name="stars">"Star rating"</string>
<string name="sru">"Share recipe using..."</string>
<string name="srt">"Sort"</string>
<string name="srpu">"Share recipe photo using..."</string>
<string name="sltd">"selected"</string>
<string name="simple">"Simple"</string>
<string name="shr">"Share"</string>
<string name="ser">"Search"</string>
<string name="September">"September"</string>
<string name="selRec">"Select recipe"</string>
<string name="SAT">"SAT"</string>
<string name="rst">"RESTART"</string>
<string name="rp">"Remove photo"</string>
<string name="rmN">"Note removed"</string>
<string name="rmIns">"Instruction removed"</string>
<string name="rmIng">"Ingredient removed"</string>
<string name="rmCmb">"Combination removed"</string>
<string name="restYUL">"Reset yield unit list"</string>
<string name="restUL">"Reset unit list"</string>
<string name="restInfo">"Resetting a list will delete user-created entries and restore default entries. Existing recipes will not be affected."</string>
<string name="rBtn">"REMOVE"</string>
<string name="priv">"Privacy policy"</string>
<string name="prepT">"Preparation time"</string>
<string name="plsAdd">"Use the plus button to add one"</string>
<string name="pht">"Recipe photo"</string>
<string name="noRecs">"No recipes match your search"</string>
<string name="noFavs">"No favourites yet"</string>
<string name="no">"Note"</string>
<string name="nNBtn">"NOT NOW"</string>
<string name="nLangInfo">"Restart EnRecipes to use the new language"</string>
<string name="newUnit">"New unit"</string>
<string name="newRec">"New recipe"</string>
<string name="newCui">"New cuisine"</string>
<string name="MON">"MON"</string>
<string name="minimal">"Minimal"</string>
<string name="May">"May"</string>
<string name="March">"March"</string>
<string name="mAgo">"%1$s months ago"</string>
<string name="ltAgo">"a long time ago"</string>
<string name="listVM">"List view mode"</string>
<string name="lang">"Language"</string>
<string name="kEdit">"KEEP EDITING"</string>
<string name="June">"June"</string>
<string name="July">"July"</string>
<string name="joinTG">"Join the Telegram group"</string>
<string name="January">"January"</string>
<string name="it">"Item"</string>
<string name="invFile">"Invalid file"</string>
<string name="intf">"Interface"</string>
<string name="inss">"Instructions"</string>
<string name="ings">"Ingredients"</string>
<string name="impSuc">"Import success"</string>
<string name="impip">"Import in progress"</string>
<string name="impInfo">"Supports full backups exported by this app"</string>
<string name="impFail">"Import failed"</string>
<string name="impBu">"Import data"</string>
<string name="guide">"User guide"</string>
<string name="grid">"Grid"</string>
<string name="gh">"View on GitHub"</string>
<string name="fsList">"Your favourite recipes are listed here"</string>
<string name="FRI">"FRI"</string>
<string name="disBtn">"DISCARD"</string>
<string name="dBtn">"DELETE"</string>
<string name="conBtn">"CONTINUE"</string>
<string name="cBtn">"CANCEL"</string>
<string name="August">"August"</string>
<string name="aStpBtn">"ADD STEP"</string>
<string name="April">"April"</string>
<string name="appRst">"App restart required"</string>
<string name="apply">"APPLY"</string>
<string name="appInfo">"EnRecipes is an open source, privacy-friendly digital cookbook that lets you create, manage and share your recipes"</string>
<string name="appCrd">"Shared via EnRecipes. Get it on F-Droid, IzzyOnDroid or the Play Store."</string>
<string name="aNoBtn">"ADD NOTE"</string>
<string name="aNBtn">"ADD NEW"</string>
<string name="allTs">"All Tags"</string>
<string name="allCuis">"All Cuisines"</string>
<string name="allCats">"All Categories"</string>
<string name="aIngBtn">"ADD INGREDIENT"</string>
<string name="aFBu">"Add a recipe to perform a backup"</string>
<string name="addCmbBtn">"ADD COMBINATION"</string>
<string name="aD">"All done!"</string>
<string name="aBtn">"ADD"</string>
<string name="aap">"Anexar uma fotografia"</string>
</resources>

View File

@ -1,5 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Таймер очищен"</string>
<string name="seconds">"секунды"</string>
<string name="hours">"часы"</string>
<string name="hour">"час"</string>
<string name="minutes">"минут"</string>
<string name="minute">"минута"</string>
<string name="dlyDur">"Длительность задержки"</string>
<string name="tmrvbrt">"Таймер вибрации"</string>
<string name="tmrSnd">"Звук таймера"</string>
<string name="aTPrst">"Добавлено в предустановки"</string>
<string name="fwr">"для какого рецепта?"</string>
<string name="tmrPrsts">"Предустановки таймера"</string>
<string name="prstBtn">"ПРЕЗЕТЫ"</string>
<string name="delay">"Задержка"</string>
<string name="stop">"Стоп"</string>
<string name="sec">"вто"</string>
<string name="timer">"Таймер готовки"</string>
<string name="ntmr">"Новый таймер"</string>
<string name="tmr">"Таймер %1$s"</string>
<string name="strtBtn">"СТАРТ"</string>
<string name="sysDefB">"По умолчанию + Чернить"</string>
<string name="buto">"Резервировано до %1$s"</string>
<string name="yld">"Урожай"</string>
<string name="yieldU">"Подавать в"</string>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sysDefB">"அமைப்பு இயல்புநிலை + கருப்பு"</string>
<string name="buto">"%1$s இல் காப்புப் பிரதி எடுக்கப்பட்டது"</string>
<string name="yld">"மகசூல்"</string>
<string name="yieldU">"மகசூல் அலகு"</string>
@ -292,4 +293,24 @@
<string name="aBtn">"சேர்"</string>
<string name="About">"பற்றி"</string>
<string name="aap">"புகைப்படத்தை இணைக்கவும்"</string>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sec">"sec"</string>
</resources>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="sysDefB">"సిస్టమ్ డిఫాల్ట్ + నలుపు"</string>
<string name="buto">"%1$s కు బ్యాకప్ చేయబడింది"</string>
<string name="yld">"దిగుబడి"</string>
<string name="yieldU">"దిగుబడి యూనిట్"</string>
@ -292,4 +293,24 @@
<string name="aBtn">"చేర్చు"</string>
<string name="About">"గురించి"</string>
<string name="aap">"ఫోటోను అటాచ్ చేయండి"</string>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sec">"sec"</string>
</resources>

View File

@ -9,6 +9,9 @@
<color name="ns_accent">
#ffffff
</color>
<color name="orange">
#ff5200
</color>
<color name="white">
#ffffff
</color>

View File

@ -1,5 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="tmrClr">"Timer cleared"</string>
<string name="seconds">"seconds"</string>
<string name="hours">"hours"</string>
<string name="hour">"hour"</string>
<string name="minutes">"minutes"</string>
<string name="minute">"minute"</string>
<string name="dlyDur">"Delay duration"</string>
<string name="tmrvbrt">"Timer vibrate"</string>
<string name="tmrSnd">"Timer sound"</string>
<string name="aTPrst">"Added to presets"</string>
<string name="fwr">"for which recipe?"</string>
<string name="tmrPrsts">"Timer presets"</string>
<string name="prstBtn">"PRESETS"</string>
<string name="tmr">"Timer %1$s"</string>
<string name="delay">"Delay"</string>
<string name="stop">"Stop"</string>
<string name="strtBtn">"START"</string>
<string name="ntmr">"New timer"</string>
<string name="timer">"Cooking Timer"</string>
<string name="sysDefB">"System default + Black"</string>
<string name="buto">"Backed up to %1$s"</string>
<string name="yld">"Yield"</string>
<string name="yieldU">"Yield unit"</string>
@ -145,6 +165,7 @@
<string name="Moderate">"Moderate"</string>
<string name="ml">"ml"</string>
<string name="minimal">"Minimal"</string>
<string name="sec">"sec"</string>
<string name="min">"min"</string>
<string name="Millilitre">"Millilitre"</string>
<string name="mg">"mg"</string>

View File

@ -1,14 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" >
<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<style name="LaunchScreenThemeBase" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">
@color/light
</item>
<item name="colorPrimaryDark">
@color/light
</item>
<item name="colorAccent">
@color/light
@color/orange
</item>
<item name="android:windowBackground">
@drawable/splash_screen
@ -16,6 +10,9 @@
<item name="android:windowLightStatusBar">
true
</item>
<item name="android:statusBarColor">
@color/light
</item>
<item name="android:windowLightNavigationBar" tools:targetApi="27">
true
</item>
@ -26,30 +23,38 @@
<style name="LaunchScreenTheme" parent="LaunchScreenThemeBase">
</style>
<style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">
@color/light
</item>
<item name="colorPrimaryDark">
@color/light
</item>
<item name="colorAccent">
@color/light
@color/orange
</item>
<item name="colorControlNormal">
#00000000
</item>
</style>
<style name="AppTheme" parent="AppThemeBase">
<item name="android:listViewStyle">@style/ListViewTheme</item>
<item name="android:scrollViewStyle">@style/ScrollViewTheme</item>
<item name="android:listViewStyle">
@style/ListViewTheme
</item>
<item name="android:scrollViewStyle">
@style/ScrollViewTheme
</item>
</style>
<style name="ListViewTheme" parent="android:Widget.ListView">
<item name="android:overScrollMode">never</item>
<item name="android:divider">#00000000</item>
<item name="android:dividerHeight">0dp</item>
<item name="android:listSelector">#00000000</item>
<item name="android:overScrollMode">
never
</item>
<item name="android:divider">
#00000000
</item>
<item name="android:dividerHeight">
0dp
</item>
<item name="android:listSelector">
#00000000
</item>
</style>
<style name="ScrollViewTheme" parent="android:Widget.ScrollView">
<item name="android:overScrollMode">never</item>
<item name="android:overScrollMode">
never
</item>
</style>
</resources>

View File

@ -1,20 +1,27 @@
import { Application, AndroidApplication, Utils } from '@nativescript/core'
import {
Application,
AndroidApplication,
Utils,
Device,
Color,
path,
knownFolders,
} from '@nativescript/core'
let timerOne
export const restartApp = () => {
const ctx = Utils.ad.getApplicationContext()
let mStartActivity = new android.content.Intent(
Application.android.context,
ctx,
Application.android.startActivity.getClass()
)
let mPendingIntentId = Math.random() * 100000
let mPendingIntent = android.app.PendingIntent.getActivity(
Application.android.context,
ctx,
mPendingIntentId,
mStartActivity,
android.app.PendingIntent.FLAG_CANCEL_CURRENT
)
let mgr = Application.android.context.getSystemService(
android.content.Context.ALARM_SERVICE
)
let mgr = ctx.getSystemService(android.content.Context.ALARM_SERVICE)
mgr.set(
android.app.AlarmManager.RTC,
java.lang.System.currentTimeMillis() + 100,
@ -112,6 +119,26 @@ export const copyPhotoToCache = (uri, filepath) => {
})
}
// COPY DB FILE
export const copyDBToExport = () => {
const src = path.join(knownFolders.documents().path, 'EnRecipes.db')
const dst = path.join(
knownFolders.documents().getFolder('EnRecipes').path,
'EnRecipes.db'
)
const input = new java.io.FileInputStream(src)
try {
const output = new java.io.FileOutputStream(dst)
let len
let buffer = Array.create('byte', 1024)
while ((len = input.read(buffer)) > 0) output.write(buffer, 0, len)
} catch (error) {
console.log(error)
} finally {
input.close()
}
}
// BACKUP FOLDER PICKER
export const getBackupFolder = () => {
const ctx =
@ -272,3 +299,158 @@ export const shareImage = (image, subject) => {
intent.putExtra(android.content.Intent.EXTRA_STREAM, shareUri)
share(intent, subject)
}
// TIMER NOTIFICATION
export class TimerNotification {
static getResource(ctx, icon) {
const packageName = ctx.getApplicationInfo().packageName
let resources = ctx.getResources()
return (
resources.getIdentifier(icon, 'drawable', packageName) ||
ctx.getApplicationInfo().icon
)
}
static clear(nID) {
let ctx = Utils.ad.getApplicationContext()
const NotifySrv = ctx.getSystemService(
android.content.Context.NOTIFICATION_SERVICE
)
NotifySrv.cancel(nID)
}
static show({
actions,
bID,
cID,
cName,
description,
nID,
priority,
sound,
title,
vibrate,
}) {
let sdkv = Device.sdkVersion * 1
let soundUri
if (sound) soundUri = new android.net.Uri.parse(sound)
const NotifyMgr = android.app.NotificationManager
let ctx = Utils.ad.getApplicationContext()
const NotifySrv = ctx.getSystemService(
android.content.Context.NOTIFICATION_SERVICE
)
if (priority) {
// Show over lock screen
Application.android.on(AndroidApplication.activityResumedEvent, () => {
const window = Application.android.startActivity.getWindow()
const windowMgr = android.view.WindowManager
window.addFlags(
windowMgr.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
windowMgr.LayoutParams.FLAG_TURN_SCREEN_ON |
windowMgr.LayoutParams.FLAG_KEEP_SCREEN_ON
)
})
}
if (sdkv >= 26) {
const importance = priority
? NotifyMgr.IMPORTANCE_HIGH
: NotifyMgr.IMPORTANCE_DEFAULT
const AudioAttributes = android.media.AudioAttributes
const audioAttributes = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.setUsage(AudioAttributes.USAGE_ALARM)
.build()
const Channel = new android.app.NotificationChannel(
cID,
cName,
importance
)
if (description) Channel.setDescription(description)
Channel.enableVibration(vibrate)
Channel.enableLights(false)
if (sound) Channel.setSound(soundUri, audioAttributes)
else Channel.setSound(null, null)
Channel.setShowBadge(true)
NotifySrv.createNotificationChannel(Channel)
}
const Intent = android.content.Intent
const PendingIntent = android.app.PendingIntent
const mainInt = new Intent(ctx, com.tns.NativeScriptActivity.class)
mainInt.putExtra('action', 'open_timer')
const mainPInt = PendingIntent.getActivity(
ctx,
1,
mainInt,
PendingIntent.FLAG_UPDATE_CURRENT
)
// Action intent
let actionInt1, actionInt2, actionPInt1, actionPInt2
if (actions) {
actionInt1 = new Intent(bID)
actionInt1.putExtra('action', 'delay')
actionPInt1 = PendingIntent.getBroadcast(
ctx,
2,
actionInt1,
PendingIntent.FLAG_UPDATE_CURRENT
)
actionInt2 = new Intent(bID)
actionInt2.putExtra('action', 'stop')
actionPInt2 = PendingIntent.getBroadcast(
ctx,
3,
actionInt2,
PendingIntent.FLAG_UPDATE_CURRENT
)
}
// CREATE NOTIFICATION
const NotificationCompat = androidx.core.app.NotificationCompat
let icon = TimerNotification.getResource(ctx, 'ic_stat_notify_silhouette')
let builder = new NotificationCompat.Builder(ctx, cID)
.setColor(new Color('#ff5200').android)
.setContentIntent(mainPInt)
.setContentTitle(title)
.setOngoing(true)
.setPriority(priority)
.setShowWhen(actions)
.setSmallIcon(icon)
.setSound(sound ? soundUri : null)
.setTicker(title)
.setAutoCancel(false)
if (description) builder.setContentText(description)
if (vibrate) builder.setVibrate([500, 1000])
if (actions) {
builder.setDeleteIntent(actionPInt2)
builder.setFullScreenIntent(mainPInt, true)
builder.addAction(null, 'Delay', actionPInt1)
builder.addAction(null, 'Stop', actionPInt2)
}
let notification = builder.build()
notification.flags = NotificationCompat.FLAG_INSISTENT
NotifySrv.notify(nID, notification)
}
}
// GET RINGTONES LIST
export const getTones = () => {
let ctx = Utils.ad.getApplicationContext()
let tones = []
const RingtoneManager = android.media.RingtoneManager
const ringtonesMgr = new RingtoneManager(ctx)
ringtonesMgr.setType(RingtoneManager.TYPE_ALARM)
const cursor = ringtonesMgr.getCursor()
while (cursor.moveToNext()) {
tones.push({
title: cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX),
uri:
cursor.getString(RingtoneManager.URI_COLUMN_INDEX) +
'/' +
cursor.getString(RingtoneManager.ID_COLUMN_INDEX),
})
}
return tones
}

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
- You can now choose a system default theme to follow your device's dark mode setting (for Android 10 and above)
- Cooking timer tool has been added
- Individual settings page for each tool

View File

@ -1,7 +1,7 @@
import { NativeScriptConfig } from "@nativescript/core"
export default {
id: "com.vishnuraghav.enrecipes",
id: "com.vishnuraghav.EnRecipes",
appPath: "app",
appResourcesPath: "app/resources",
android: {

2620
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
{
"name": "enrecipes",
"main": "./app/main.ts",
"version": "1.0.0",
"description": "A native application built with NativeScript-Vue",
"version": "2.0.0",
"description": "EnRecipes is an open source, privacy-friendly digital cookbook that lets you create, manage and share your recipes.",
"homepage": "https://enrecipes.vercel.app/",
"bugs": {
"url": "https://github.com/vishnuraghavb/EnRecipes/issues"
@ -18,23 +18,24 @@
},
"private": "true",
"dependencies": {
"@akylas/nativescript-sqlite": "^3.3.12",
"@nativescript-community/ui-collectionview": "^4.0.29",
"@nativescript/core": "~8.0.1",
"@nativescript/core": "^8.0.5",
"@nativescript/local-notifications": "^5.0.3",
"@nativescript/localize": "^5.0.4",
"@triniwiz/nativescript-accelerometer": "^4.0.3",
"@triniwiz/nativescript-couchbase": "^1.2.2",
"nativescript-imagecropper": "^4.0.1",
"nativescript-intl": "^4.0.2",
"nativescript-vue": "~2.9.0",
"nativescript-vue": "^2.9.0",
"vuex": "^3.6.2"
},
"devDependencies": {
"@nativescript/android": "8.0.0",
"@nativescript/types-android": "^8.0.0",
"@nativescript/types": "^8.0.1",
"@nativescript/webpack": "beta",
"@types/node": "^14.14.37",
"@types/node": "^15.3.0",
"nativescript-vue-template-compiler": "~2.9.0",
"sass": "^1.32.8",
"sass": "^1.32.13",
"typescript": "^4.2.4",
"vue": "^2.6.12"
}

View File

@ -1 +1 @@
/// <reference path="../node_modules/@nativescript/types-android/index.d.ts" />
/// <reference path="../node_modules/@nativescript/types/index.d.ts" />