diff --git a/localization/de/component_translations.php b/localization/de/component_translations.php
index 4bf2a8ea..a04d81ab 100644
--- a/localization/de/component_translations.php
+++ b/localization/de/component_translations.php
@@ -5,5 +5,6 @@ return array(
'timeago_nan' => 'vor NaN Jahren',
'moment_locale' => 'de',
'datatables_localization' => '{"sEmptyTable":"Keine Daten in der Tabelle vorhanden","sInfo":"_START_ bis _END_ von _TOTAL_ Einträgen","sInfoEmpty":"Keine Daten vorhanden","sInfoFiltered":"(gefiltert von _MAX_ Einträgen)","sInfoPostFix":"","sInfoThousands":".","sLengthMenu":"_MENU_ Einträge anzeigen","sLoadingRecords":"Wird geladen ..","sProcessing":"Bitte warten ..","sSearch":"Suchen","sZeroRecords":"Keine Einträge vorhanden","oPaginate":{"sFirst":"Erste","sPrevious":"Zurück","sNext":"Nächste","sLast":"Letzte"},"oAria":{"sSortAscending":": aktivieren, um Spalte aufsteigend zu sortieren","sSortDescending":": aktivieren, um Spalte absteigend zu sortieren"},"select":{"rows":{"0":"Zum Auswählen auf eine Zeile klicken","1":"1 Zeile ausgewählt","_":"%d Zeilen ausgewählt"}},"buttons":{"print":"Drucken","colvis":"Spalten","copy":"Kopieren","copyTitle":"In Zwischenablage kopieren","copyKeys":"Taste ctrl oder ⌘ + C um Tabelle
in Zwischenspeicher zu kopieren.
Um abzubrechen die Nachricht anklicken oder Escape drücken.","copySuccess":{"1":"1 Spalte kopiert","_":"%d Spalten kopiert"}}}',
- 'summernote_locale' => 'de-DE'
+ 'summernote_locale' => 'de-DE',
+ 'fullcalendar_locale' => 'de'
);
diff --git a/localization/de/stock_transaction_types.php b/localization/de/stock_transaction_types.php
index 12ca5bf3..96bf18d2 100644
--- a/localization/de/stock_transaction_types.php
+++ b/localization/de/stock_transaction_types.php
@@ -3,5 +3,6 @@
return array(
'purchase' => 'Einkauf',
'consume' => 'Verbrauch',
- 'inventory-correction' => 'Inventur-Korrektur'
+ 'inventory-correction' => 'Inventur-Korrektur',
+ 'product-opened' => 'Produkt geöffnet'
);
diff --git a/localization/de/strings.php b/localization/de/strings.php
index 08364b8b..a4367328 100644
--- a/localization/de/strings.php
+++ b/localization/de/strings.php
@@ -302,5 +302,28 @@ return array(
'Booking successfully undone' => 'Buchung erfolgreich rückgängig gemacht',
'Charge cycle successfully undone' => 'Ladezyklus erfolgreich rückgängig gemacht',
'This cannot be negative and must be an integral number' => 'Diese darf nicht negativ und muss eine ganze Zahl sein',
- 'Disable stock fulfillment checking for this ingredient' => 'Bestandsprüfung für diese Zutat deaktivieren'
+ 'Disable stock fulfillment checking for this ingredient' => 'Bestandsprüfung für diese Zutat deaktivieren',
+ 'Add all list items to stock' => 'Alle Einträge zum Bestand hinzufügen',
+ 'Add #3 #1 of #2 to stock' => 'Füge #3 #1 of #2 dem Bestand hinzu',
+ 'Adding shopping list item #1 of #2' => 'Bearbeite Einkausfzettel-Eintrag #1 von #2',
+ 'Use a specific stock item' => 'Einen bestimmten Bestandseintrag verwenden',
+ 'The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"' => 'Der erste Eintrag in dieser Liste würde von der Standardregel "Zuerst ablaufende zuerst, dann First In - First Out" ausgewählt werden',
+ 'Mark #3 #1 of #2 as open' => '#3 #1 von #2 als geöffnet markieren',
+ 'When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)' => 'Wenn ein Produkt als geöffnet markiert wurde, wird das Mindesthaltbarkeitsdatum durch heute + diese Anzahl von Tagen ersetzt (ein Wert von 0 deaktiviert dies)',
+ 'Default best before days after opened' => 'Standard Haltbarkeit in Tagen nach dem Öffnen',
+ 'Marked #1 #2 of #3 as opened' => '#1 #2 von #3 als geöffnet markiert',
+ 'Mark as opened' => 'Als geöffnet markieren',
+ 'Expires on #1; Bought on #2' => 'Läuft ab am #1; Gekauft am #2',
+ 'Not opened' => 'Nicht geöffnet',
+ 'Opened' => 'Geöffnet',
+ 'Mark #3 #1 of #2 as open' => '#3 #1 von #2 als geöffnet markieren',
+ '#1 opened' => '#1 geöffnet',
+ 'Product expires' => 'Produkt läuft ab',
+ 'Task due' => 'Aufgabe fällig',
+ 'Chore due' => 'Hausarbeit fällig',
+ 'Battery charge cycle due' => 'Battery-Ladezyklus fällig',
+ 'Show clock in header' => 'Uhr in der Kopfzeile anzeigen',
+ 'Stock settings' => 'Bestandseinstellungen',
+ 'Shopping list to stock workflow' => 'Einkaufsliste -> Bestand Workflow',
+ 'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set' => 'Buchung automatisch ausführen, wenn das Produkt "Standard Haltbarkeit in Tagen" hinterlegt hat (als Preis wird der letzte Preis verwendet)'
);
diff --git a/localization/fr/chore_types.php b/localization/fr/chore_types.php
new file mode 100644
index 00000000..7cf0ba97
--- /dev/null
+++ b/localization/fr/chore_types.php
@@ -0,0 +1,6 @@
+ 'Manuelle',
+ 'dynamic-regular' => 'Régulière-dynamique'
+);
diff --git a/localization/fr/component_translations.php b/localization/fr/component_translations.php
new file mode 100644
index 00000000..7341d0a8
--- /dev/null
+++ b/localization/fr/component_translations.php
@@ -0,0 +1,31 @@
+ 'fr',
+ 'timeago_nan' => 'Il y a NaN années',
+ 'moment_locale' => 'fr',
+ 'datatables_localization' => '{
+ "sProcessing": "Traitement en cours...",
+ "sSearch": "Rechercher :",
+ "sLengthMenu": "Afficher _MENU_ éléments",
+ "sInfo": "Affichage de l\'élément _START_ à _END_ sur _TOTAL_ éléments",
+ "sInfoEmpty": "Affichage de l\'élément 0 à 0 sur 0 élément",
+ "sInfoFiltered": "(filtré de _MAX_ éléments au total)",
+ "sInfoPostFix": "",
+ "sLoadingRecords": "Chargement en cours...",
+ "sZeroRecords": "Aucun élément à afficher",
+ "sEmptyTable": "Aucune donnée disponible dans le tableau",
+ "oPaginate": {
+ "sFirst": "Premier",
+ "sPrevious": "Précédent",
+ "sNext": "Suivant",
+ "sLast": "Dernier"
+ },
+ "oAria": {
+ "sSortAscending": ": activer pour trier la colonne par ordre croissant",
+ "sSortDescending": ": activer pour trier la colonne par ordre décroissant"
+ },
+}',
+ 'summernote_locale' => 'fr-FR',
+ 'fullcalendar_locale' => 'fr'
+);
diff --git a/localization/fr/demo_data.php b/localization/fr/demo_data.php
new file mode 100644
index 00000000..e6854fdf
--- /dev/null
+++ b/localization/fr/demo_data.php
@@ -0,0 +1,86 @@
+ 'Cookies',
+ 'Chocolate' => 'Chocolat',
+ 'Pantry' => 'Garde-manger',
+ 'Candy cupboard' => 'Boîte à bonbons',
+ 'Tinned food cupboard' => 'Conserve de nourriture',
+ 'Fridge' => 'Réfrigérateur',
+ 'Piece' => 'Pièce',
+ 'Pieces' => 'Pièces',
+ 'Pack' => 'Pack',
+ 'Packs' => 'Packs',
+ 'Glass' => 'Verre',
+ 'Glasses' => 'Verres',
+ 'Tin' => 'Pot',
+ 'Tins' => 'Pots',
+ 'Can' => 'Canette',
+ 'Cans' => 'Canettes',
+ 'Bunch' => 'Brunch',
+ 'Bunches' => 'Brunchs',
+ 'Gummy bears' => 'Oursons en gélatine',
+ 'Crisps' => 'Chips',
+ 'Eggs' => 'Oeufs',
+ 'Noodles' => 'Nouilles',
+ 'Pickles' => 'Cornichons',
+ 'Gulash soup' => 'Soupe de goulache',
+ 'Yogurt' => 'Yaourt',
+ 'Cheese' => 'Fromage',
+ 'Cold cuts' => 'Charcuterie',
+ 'Paprika' => 'Paprika',
+ 'Cucumber' => 'Concombre',
+ 'Radish' => 'Radis',
+ 'Tomato' => 'Tomate',
+ 'Changed towels in the bathroom' => 'Changement des serviettes dans la salle de bain',
+ 'Cleaned the kitchen floor' => 'Nettoyage du sol de la cuisine',
+ 'Warranty ends' => 'Fin de garantie',
+ 'TV remote control' => 'Télécommande de la TV',
+ 'Alarm clock' => 'Réveil',
+ 'Heat remote control' => 'Télécommande du chauffage',
+ 'Lawn mowed in the garden' => 'Jardin tondu',
+ 'Some good snacks' => 'Quelques bons snacks',
+ 'Pizza dough' => 'Pâte à pizza',
+ 'Sieved tomatoes' => 'Sauce tomate',
+ 'Salami' => 'Salami',
+ 'Toast' => 'Pain grillé',
+ 'Minced meat' => 'Viande hachée',
+ 'Pizza' => 'PIzza',
+ 'Spaghetti bolognese' => 'Spaghetti bolognaise',
+ 'Sandwiches' => 'Sandwiches',
+ 'English' => 'Anglais',
+ 'German' => 'Allemand',
+ 'Italian' => 'Italien',
+ 'Demo in different language' => 'Démo dans une langue différente',
+ 'This is the note content of the recipe ingredient' => 'Ceci est le contenu de la note concernant l\'ingrédient de la recette',
+ 'Demo User' => 'Utilisateur de démonstration',
+ 'Gram' => 'Gramme',
+ 'Grams' => 'Grammes',
+ 'Flour' => 'Farine',
+ 'Pancakes' => 'Crêpes',
+ 'Sugar' => 'Sucre',
+ 'Home' => 'Domicile',
+ 'Life' => 'Vie',
+ 'Projects' => 'Projets',
+ 'Repair the garage door' => 'Réparer la porte du garage',
+ 'Fork and improve grocy' => 'Forker et améliorer grocy',
+ 'Find a solution for what to do when I forget the door keys' => 'Trouver une solution pour savoir quoi faire quand j\'oublie les clefs de la porte',
+ 'Sweets' => 'Bonbons',
+ 'Bakery products' => 'Produits de la boulangerie',
+ 'Tinned food' => 'Conserve',
+ 'Butchery products' => 'Produits de la boucherie',
+ 'Vegetables/Fruits' => 'Légumes/Fruits',
+ 'Refrigerated products' => 'Produits réfrigérés',
+ 'Coffee machine' => 'Machie à café',
+ 'Dishwasher' => 'Lave-vaisselle',
+ 'Liter' => 'Litière',
+ 'Liters' => 'Litières',
+ 'Bottle' => 'Bouteille',
+ 'Bottles' => 'Bouteilles',
+ 'Milk' => 'Lait',
+ 'Chocolate sauce' => 'Sauce au chocolat',
+ 'Milliliters' => 'Millilitres',
+ 'Milliliter' => 'Millilitre',
+ 'Bottom' => 'Dessous',
+ 'Topping' => 'Garniture'
+);
diff --git a/localization/fr/stock_transaction_types.php b/localization/fr/stock_transaction_types.php
new file mode 100644
index 00000000..e13aa79d
--- /dev/null
+++ b/localization/fr/stock_transaction_types.php
@@ -0,0 +1,8 @@
+ 'Achat',
+ 'consume' => 'Consommation',
+ 'inventory-correction' => 'Correction d\'inventaire',
+ 'product-opened' => 'Produit ouvert'
+);
diff --git a/localization/fr/strings.php b/localization/fr/strings.php
new file mode 100644
index 00000000..71831042
--- /dev/null
+++ b/localization/fr/strings.php
@@ -0,0 +1,329 @@
+ 'Aperçu du stock',
+ '#1 products expiring within the next #2 days' => '#1 produits se périment dans les #2 jours',
+ '#1 products are already expired' => '#1 produits sont périmés',
+ '#1 products are below defined min. stock amount' => '#1 produits sont sous le seuil de stock minimum',
+ 'Product' => 'Produit',
+ 'Amount' => 'Quantité',
+ 'Next best before date' => 'Prochaine date de péremption',
+ 'Logout' => 'Se déconnecter',
+ 'Chores overview' => 'Aperçu des corvées',
+ 'Batteries overview' => 'Batteries',
+ 'Purchase' => 'Achat',
+ 'Consume' => 'Consommation',
+ 'Inventory' => 'Inventaire',
+ 'Shopping list' => 'Liste de courses',
+ 'Chore tracking' => 'Suivi des corvées',
+ 'Battery tracking' => 'Suivi des batteries',
+ 'Products' => 'Produits',
+ 'Locations' => 'Emplacements',
+ 'Quantity units' => 'Formats',
+ 'Chores' => 'Corvées',
+ 'Batteries' => 'Batteries',
+ 'Chore' => 'Corvée',
+ 'Next estimated tracking' => 'Prochaine occurrence estimée',
+ 'Last tracked' => 'Dernière réalisation',
+ 'Battery' => 'Batterie',
+ 'Last charged' => 'Dernier chargement',
+ 'Next planned charge cycle' => 'Prochaine charge planifiée',
+ 'Best before' => 'Date d\'expiration',
+ 'OK' => 'Ok',
+ 'Product overview' => 'Aperçu du produit',
+ 'Stock quantity unit' => 'Format de stockage',
+ 'Stock amount' => 'Quantité en stock',
+ 'Last purchased' => 'Dernier achat',
+ 'Last used' => 'Dernière utilisation',
+ 'Spoiled' => 'Périmé',
+ 'Barcode lookup is disabled' => 'La recherche par code barres est désactivée',
+ 'will be added to the list of barcodes for the selected product on submit' => 'sera ajouté à la liste des codes barres du produit sélectionné à l\'envoi',
+ 'New amount' => 'Nouvelle quantité',
+ 'Note' => 'Note',
+ 'Tracked time' => 'Réalisé le',
+ 'Chore overview' => 'Aperçu de la corvée',
+ 'Tracked count' => 'Nombre de réalisations',
+ 'Battery overview' => 'Aperçu des batteries',
+ 'Charge cycles count' => 'Nombre de charges',
+ 'Create shopping list item' => 'Créer une liste de courses',
+ 'Edit shopping list item' => 'Modifier une liste de courses',
+ '#1 units were automatically added and will apply in addition to the amount entered here' => '#1 unités seront automatiquement ajoutées en plus de la quantité renseignée ici',
+ 'Save' => 'Sauvegarder',
+ 'Add' => 'Ajouter',
+ 'Name' => 'Nom',
+ 'Location' => 'Emplacement',
+ 'Min. stock amount' => 'Quantité minimum en stock',
+ 'QU purchase' => 'Format achat',
+ 'QU stock' => 'Format stock',
+ 'QU factor' => 'Facteur format',
+ 'Description' => 'Description',
+ 'Create product' => 'Créer un produit',
+ 'Barcode(s)' => 'Code(s) barres',
+ 'Minimum stock amount' => 'Quantité minimum en stock',
+ 'Default best before days' => 'Jours avant péremption par défaut',
+ 'Quantity unit purchase' => 'Format à l\'achat',
+ 'Quantity unit stock' => 'Format au stockage',
+ 'Factor purchase to stock quantity unit' => 'Facteur entre la quantité à l\'achat et la quantité en stock',
+ 'Create location' => 'Créer un emplacement',
+ 'Create quantity unit' => 'Créer un format',
+ 'Period type' => 'Type de période',
+ 'Period days' => 'Jours dans la période',
+ 'Create chore' => 'Créer une corvée',
+ 'Used in' => 'Utilisé dans',
+ 'Create battery' => 'Créer une batterie',
+ 'Edit battery' => 'Modifier une batterie',
+ 'Edit chore' => 'Modifier une corvée',
+ 'Edit quantity unit' => 'Modifier le format',
+ 'Edit product' => 'Modifier le produit',
+ 'Edit location' => 'Modifier l\'emplacement',
+ 'Record data' => 'Enregistrer les données',
+ 'Manage master data' => 'Gérer les données',
+ 'This will apply to added products' => 'Sera appliqué aux produits ajoutés',
+ 'never' => 'jamais',
+ 'Add products that are below defined min. stock amount' => 'Ajouter les produits qui sont en dessous du seuil de stock minimum',
+ 'For purchases this amount of days will be added to today for the best before date suggestion' => 'A l\'achat, ce nombre de jours sera ajouté à la date de péremption suggérée',
+ 'This means 1 #1 purchased will be converted into #2 #3 in stock' => '1 #1 acheté sera converti en #2 #3 dans le stock',
+ 'Login' => 'Se connecter',
+ 'Username' => 'Identifiant',
+ 'Password' => 'Mot de passe',
+ 'Invalid credentials, please try again' => 'Identifiants invalides, merci de réessayer',
+ 'Are you sure to delete battery "#1"?' => 'Êtes vous sûr de vouloir supprimer la batterie "#1" ?',
+ 'Yes' => 'Oui',
+ 'No' => 'Non',
+ 'Are you sure to delete chore "#1"?' => 'Voulez-vous vraiment supprimer la corvée "#1" ?',
+ '"#1" could not be resolved to a product, how do you want to proceed?' => '"#1" n\'a pas été retrouvé en tant que produit, comment voulez-vous procéder ?',
+ 'Create or assign product' => 'Créer ou assigner à un produit',
+ 'Cancel' => 'Annuler',
+ 'Add as new product' => 'Ajouter un nouveau produit',
+ 'Add as barcode to existing product' => 'Ajouter en tant que code-barres à un produit existant',
+ 'Add as new product and prefill barcode' => 'Ajouter un nouveau produit et pré-renseigner le code-barres',
+ 'Are you sure to delete quantity unit "#1"?' => 'Voulez-vous vraiment supprimer le format "#1" ?',
+ 'Are you sure to delete product "#1"?' => 'Voulez-vous vraiment supprimer le produit "#1" ?',
+ 'Are you sure to delete location "#1"?' => 'Voulez-vous vraiment supprimer l\'emplacement "#1" ?',
+ 'Manage API keys' => 'Gérer les clefs API',
+ 'REST API & data model documentation' => 'Documentation sur l\'API REST & le modèle des données',
+ 'API keys' => 'Clefs API',
+ 'Create new API key' => 'Créer une nouvelle clef API',
+ 'API key' => 'Clef API',
+ 'Expires' => 'Valide jusqu\'à',
+ 'Created' => 'Créée',
+ 'This product is not in stock' => 'Ce produit n\'est pas en stock',
+ 'This means #1 will be added to stock' => '#1 sera ajouté au stock',
+ 'This means #1 will be removed from stock' => '#1 sera supprimé du stock',
+ 'This means it is estimated that a new execution of this chore is tracked #1 days after the last was tracked' => 'La prochaine exécution de cette corvée sera programmée #1 jours après sa dernière exécution',
+ 'Removed #1 #2 of #3 from stock' => '#1 #2 de #3 supprimés du stock',
+ 'About grocy' => 'À propos de grocy',
+ 'Close' => 'Fermer',
+ '#1 batteries are due to be charged within the next #2 days' => '#1 batteries doivent être rechargées dans les #2 prochains jours',
+ '#1 batteries are overdue to be charged' => '#1 batteries n\'ont pas été rechargées à temps',
+ '#1 chores are due to be done within the next #2 days' => '#1 corvées doivent être réalisées dans les #2 prochains jours',
+ '#1 chores are overdue to be done' => '#1 corvées n\'ont pas été réalisées à temps',
+ 'Released on' => 'Date de sortie',
+ 'Consume #3 #1 of #2' => 'Consommer #3 #1 de #2',
+ 'Added #1 #2 of #3 to stock' => '#1 #2 de #3 ajoutés au stock',
+ 'Stock amount of #1 is now #2 #3' => 'La quantité en stock de #1 est maintenant de #2 #3',
+ 'Tracked execution of chore #1 on #2' => 'La corvée "#1" a été réalisée le #2',
+ 'Tracked charge cycle of battery #1 on #2' => 'La batterie "#1" a été rechargée le #2',
+ 'Consume all #1 which are currently in stock' => 'Consommer tous les #1 actuellement en stock',
+ 'All' => 'Tout',
+ 'Track charge cycle of battery #1' => 'Indiquer le rechargement de la batterie #1',
+ 'Track execution of chore #1' => 'Indiquer la réalisation de la corvée #1',
+ 'Filter by location' => 'Filtrer par emplacement',
+ 'Search' => 'Recherche',
+ 'Not logged in' => 'Non connecté',
+ 'You have to select a product' => 'Vous devez sélectionner un produit',
+ 'You have to select a chore' => 'Vous devez sélectionner une corvée',
+ 'You have to select a battery' => 'Vous devez sélectionner une batterie',
+ 'A name is required' => 'Un nom est requis',
+ 'A location is required' => 'Un emplacement est requis',
+ 'The amount cannot be lower than #1' => 'La quantité ne peut être inférieure à #1',
+ 'This cannot be negative' => 'Ne peut être négatif',
+ 'A quantity unit is required' => 'Un format est requis',
+ 'A period type is required' => 'Un type de période est requis',
+ 'A best before date is required and must be later than today' => 'Une date de péremption est requise et doit être supérieure à la date du jour',
+ 'Settings' => 'Paramètres',
+ 'This can only be before now' => 'Ne peut être qu\'antérieur à maintenant',
+ 'Calendar' => 'Calendrier',
+ 'Recipes' => 'Recettes',
+ 'Edit recipe' => 'Modifier une recette',
+ 'New recipe' => 'Nouvelle recette',
+ 'Ingredients list' => 'Liste des ingrédients',
+ 'Add recipe ingredient' => 'Ajouter un ingrédient dans la recette',
+ 'Edit recipe ingredient' => 'Modifier un ingrédient dans la recette',
+ 'Are you sure to delete recipe "#1"?' => 'Voulez-vous vraiment supprimer la recette "#1" ?',
+ 'Are you sure to delete recipe ingredient "#1"?' => 'Voulez-vous vraiment supprimer l\'ingrédient "#1" de la recette ?',
+ 'Are you sure to empty the shopping list?' => 'Voulez-vous vraiment vider la liste de courses ?',
+ 'Clear list' => 'Vider la liste',
+ 'Requirements fulfilled' => 'Prérequis remplis',
+ 'Put missing products on shopping list' => 'Ajouter les produits manquants dans la liste de courses',
+ 'Not enough in stock, #1 ingredients missing' => 'Pas assez en stock, #1 ingrédients manquants',
+ 'Enough in stock' => 'Il y en a assez en stock',
+ 'Not enough in stock, #1 ingredients missing but already on the shopping list' => 'Pas assez en stock, #1 ingrédients manquants mais déjà dans la liste de courses',
+ 'Expand to fullscreen' => 'Mettre en plein écran',
+ 'Ingredients' => 'Ingrédients',
+ 'Preparation' => 'Préparation',
+ 'Recipe' => 'Recette',
+ 'Not enough in stock, #1 missing, #2 already on shopping list' => 'Pas assez en stock, #1 manquant et #2 déjà dans la liste de courses',
+ 'Show notes' => 'Afficher les notes',
+ 'Put missing amount on shopping list' => 'Ajouter la quantité manquante dans la liste de courses',
+ 'Are you sure to put all missing ingredients for recipe "#1" on the shopping list?' => 'Voulez-vous vraiment ajouter tous les ingrédients manquants de la recette "#1" dans la liste de courses ?',
+ 'Added for recipe #1' => 'Ajoutés pour la recette #1',
+ 'Manage users' => 'Gérer les utilisateurs',
+ 'User' => 'Utilisateur',
+ 'Users' => 'Utilisateurs',
+ 'Are you sure to delete user "#1"?' => 'Voulez-vous vraiment supprimer l\'utilisateur "#1" ?',
+ 'Create user' => 'Créer un utilisateur',
+ 'Edit user' => 'Modifier un utilisateur',
+ 'First name' => 'Prénom',
+ 'Last name' => 'Nom',
+ 'A username is required' => 'Un nom d\'utilisateur est requis',
+ 'Confirm password' => 'Confirmation du mot de passe',
+ 'Passwords do not match' => 'Les mots de passe ne sont pas identiques',
+ 'Change password' => 'Changer le mot de passe',
+ 'Done by' => 'Fait par',
+ 'Last done by' => 'Dernière réalisation par',
+ 'Unknown' => 'Inconnu',
+ 'Filter by chore' => 'Filtrer par corvée',
+ 'Chores journal' => 'Journal des corvées',
+ '0 means suggestions for the next charge cycle are disabled' => '0 implique que les suggestions du prochain cycle de charge seront désactivées',
+ 'Charge cycle interval (days)' => 'Intervalle du cycle de charge (jours)',
+ 'Last price' => 'Dernier prix',
+ 'Price history' => 'Historique des prix',
+ 'No price history available' => 'Aucun historique disponible',
+ 'Price' => 'Prix',
+ 'in #1 per purchase quantity unit' => 'en #1 par quantité achetée (au format d\'achat)',
+ 'The price cannot be lower than #1' => 'Le prix ne peut être inférieur à #1',
+ '#1 product expires within the next #2 days' => '#1 produit se périme dans les #2 prochains jours',
+ '#1 product is already expired' => '#1 produit est périmé',
+ '#1 product is below defined min. stock amount' => '#1 produit est sous le seuil de stock minimum',
+ 'Unit' => 'Unité',
+ 'Units' => 'Unités',
+ '#1 chore is due to be done within the next #2 days' => '#1 corvée doit être réalisée dans les #2 prochains jours',
+ '#1 chore is overdue to be done' => '#1 corvée n\'a pas été réalisée à temps',
+ '#1 battery is due to be charged within the next #2 days' => '#1 batterie doit être rechargée dans les #2 prochains jours',
+ '#1 battery is overdue to be charged' => '#1 batterie n\'a pas été rechargée à temps',
+ '#1 unit was automatically added and will apply in addition to the amount entered here' => '#1 unité a automatiquement été ajoutée et sera appliquée en plus à la quantité entrée ici',
+ 'in singular form' => 'Au singulier',
+ 'in plural form' => 'Au pluriel',
+ 'Never expires' => 'Ne périme jamais',
+ 'This cannot be lower than #1' => 'Ne peut être inférieur à #1',
+ '-1 means that this product never expires' => '-1 implique que ce produit ne périme jamais',
+ 'Quantity unit' => 'Format',
+ 'Only check if a single unit is in stock (a different quantity can then be used above)' => 'Vérifier uniquement si une unité est en stock (une quantité différente peut alors être utilisée au dessus)',
+ 'Are you sure to consume all ingredients needed by recipe "#1" (ingredients marked with "check only if a single unit is in stock" will be ignored)?' => 'Voulez-vous vraiment consommer tous les ingrédients requis par la recette "#1" (les ingrédients avec l\'option "Vérifier uniquement si une unité est en stock" seront ignorés) ?',
+ 'Removed all ingredients of recipe "#1" from stock' => 'Enlever tous les ingrédients de la recette "#1" du stock',
+ 'Consume all ingredients needed by this recipe' => 'Consommer tous les ingrédients requis par cette recette',
+ 'Click to show technical details' => 'Cliquer pour afficher les détails techniques',
+ 'Error while saving, probably this item already exists' => 'Erreur à l\'enregistrement, cet objet existe déjà',
+ 'Error details' => 'Détails sur l\'erreur',
+ 'Tasks' => 'Tâches',
+ 'Show done tasks' => 'Afficher les tâches terminées',
+ 'Task' => 'Tâche',
+ 'Due' => 'À faire',
+ 'Assigned to' => 'Assigné à',
+ 'Mark task "#1" as completed' => 'Indiquer la tâche "#1" comme terminée',
+ 'Uncategorized' => 'Sans catégorie',
+ 'Task categories' => 'Catégories de tâche',
+ 'Create task' => 'Créer une tâche',
+ 'A due date is required' => 'Une date de réalisation est requise',
+ 'Category' => 'Catégorie',
+ 'Edit task' => 'Modifier la tâche',
+ 'Are you sure to delete task "#1"?' => 'Voulez-vous vraiment supprimer la tâche "#1" ?',
+ '#1 task is due to be done within the next #2 days' => '#1 tâche doit être réalisée dans les #2 prochains jours',
+ '#1 tasks are due to be done within the next #2 days' => '#1 tâches doivent être réalisées dans les #2 prochains jours',
+ '#1 task is overdue to be done' => '#1 tâche n\'a pas été réalisée à temps',
+ '#1 tasks are overdue to be done' => '#1 tâches n\'ont pas été réalisées à temps',
+ 'Edit task category' => 'Modifier la catégorie de tâche',
+ 'Create task category' => 'Créer une catégorie de tâche',
+ 'Product groups' => 'Groupes de produit',
+ 'Ungrouped' => 'Sans groupe',
+ 'Create product group' => 'Créer un groupe de produit',
+ 'Edit product group' => 'Modifier le groupe de produit',
+ 'Product group' => 'Groupe de produit',
+ 'Are you sure to delete product group "#1"?' => 'Voulez-vous vraiment supprimer le groupe de produit "#1" ?',
+ 'Stay logged in permanently' => 'Rester connecté de manière permanente',
+ 'When not set, you will get logged out at latest after 30 days' => 'Si non défini, vous serez déconnecté après au moins 30 jours',
+ 'Filter by status' => 'Filtrer par statut',
+ 'Below min. stock amount' => 'En dessous du seuil de stock minimum',
+ 'Expiring soon' => 'Expire bientôt',
+ 'Already expired' => 'Déjà périmé',
+ 'Due soon' => 'À réaliser bientôt',
+ 'Overdue' => 'En retard',
+ 'View settings' => 'Voir les paramètres',
+ 'Auto reload on external changes' => 'Mettre à jour automatiquement lors d\'un changement externe',
+ 'Enable night mode' => 'Activer le mode nuit',
+ 'Auto enable in time range' => 'Activer automatiquement pendant la période',
+ 'From' => 'De',
+ 'in format' => 'Au format',
+ 'To' => 'à',
+ 'Time range goes over midnight' => 'La période inclus minuit',
+ 'Product picture' => 'Photo du produit',
+ 'No file selected' => 'Aucun fichier sélectionné',
+ 'If you don\'t select a file, the current picture will not be altered' => 'Si vous ne sélectionnez pas de photo, l\'actuelle sera conservée',
+ 'Current picture' => 'Photo actuelle',
+ 'Delete' => 'Supprimer',
+ 'The current picture will be deleted when you save the product' => 'La photo actuelle va être supprimée lors de la sauvegarde du produit',
+ 'Select file' => 'Sélectionner un fichier',
+ 'Image of product #1' => 'Photo du produit #1',
+ 'This product cannot be deleted because it is in stock, please remove the stock amount first.' => 'Ce produit ne peut être supprimé puisqu\'il est en stock. Merci d\'enlever la quantité en stock avant.',
+ 'Delete not possible' => 'Impossible de supprimer',
+ 'Equipment' => 'Équipement',
+ 'Instruction manual' => 'Manuel d\'utilisation',
+ 'The selected equipment has no instruction manual' => 'L\'équipement sélectionné n\'a pas de manuel d\'utilisation',
+ 'Notes' => 'Notes',
+ 'Edit equipment' => 'Modifier un équipement',
+ 'Create equipment' => 'Créer un équipement',
+ 'If you don\'t select a file, the current instruction manual will not be altered' => 'Si vous ne sélectionnez pas de fichier, le manuel actuel ne sera pas modifié',
+ 'Current instruction manual' => 'Manuel d\'utilisation actuel',
+ 'No instruction manual available' => 'Aucun manuel d\'utilisation disponible',
+ 'The current instruction manual will be deleted when you save the equipment' => 'Le manuel d\'utilisation actuel sera supprimé lors de la sauvegarde de cet équipement',
+ 'No picture available' => 'Aucune photo disponible',
+ 'Filter by product group' => 'Filtrer par groupe de produits',
+ 'Presets for new products' => 'Modèle pour les nouveaux produits',
+ 'Included recipes' => 'Recettes incluses',
+ 'A recipe is required' => 'Une recette est requise',
+ 'Add included recipe' => 'Ajouter une recette incluse',
+ 'Edit included recipe' => 'Supprimer une recette incluse',
+ 'Group' => 'Groupe',
+ 'This will be used as a headline to group ingredients together' => 'Cela sera utilisé comme titre pour regrouper les ingrédients ensemble',
+ 'Journal' => 'Journal',
+ 'Stock journal' => 'Journal du stock',
+ 'Filter by product' => 'Filtrer par produit',
+ 'Booking time' => 'Temps de réservation',
+ 'Booking type' => 'Type de réservation',
+ 'Undo booking' => 'Annuler la réservation',
+ 'Undone on' => 'Annulé le',
+ 'Batteries journal' => 'Journal des batteries',
+ 'Filter by battery' => 'Filtrer par batterie',
+ 'Undo charge cycle' => 'Annuler le cycle de charge',
+ 'Undo chore execution' => 'Annuler la réalisation de la corvée',
+ 'Chore execution successfully undone' => 'La réalisation de la corvée a bien été annulée',
+ 'Undo' => 'Annuler',
+ 'Booking successfully undone' => 'Réservation annulée',
+ 'Charge cycle successfully undone' => 'Le cycle de charge a bien été annulé',
+ 'This cannot be negative and must be an integral number' => 'Ne peut être négatif et doit être un nombre entier',
+ 'Disable stock fulfillment checking for this ingredient' => 'Désactiver la vérification du stock pour cet ingrédient',
+ 'Add all list items to stock' => 'Ajouter toute la liste dans le stock',
+ 'Add #3 #1 of #2 to stock' => 'Ajouter #3 #1 de #2 au stock',
+ 'Adding shopping list item #1 of #2' => 'Ajout du produit #1 sur #2 de la liste de courses',
+ 'Use a specific stock item' => 'Utiliser un objet spécifique du stock',
+ 'The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"' => 'Le premier élément de cette liste sera sélectionné par la règle par défaut qui est "Le premier arrivant à péremption en premier, puis premier entré premier sorti"',
+ 'Mark #3 #1 of #2 as open' => 'Indiquer #3 #1 de #2 comme ouvert',
+ 'When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)' => 'Quand un produit est marqué comme ouvert, la date de péremption sera remplacée par la date du jour + ce nombre de jours (une valeur de 0 désactive ce changement)',
+ 'Default best before days after opened' => 'Date de péremption en jours par défaut après ouverture',
+ 'Marked #1 #2 of #3 as opened' => '#1 #2 de #3 indiqués comme ouverts',
+ 'Mark as opened' => 'Indiquer comme ouvert',
+ 'Expires on #1; Bought on #2' => 'Périme le #1; Acheté le #2',
+ 'Not opened' => 'Non ouvert',
+ 'Opened' => 'Ouvert',
+ 'Mark #3 #1 of #2 as open' => 'Indiquer #3 #1 de #2 comme ouvert',
+ '#1 opened' => '#1 ouvert',
+ 'Product expires' => 'Expiration du produit',
+ 'Task due' => 'Tâche à réaliser',
+ 'Chore due' => 'Corvée à réaliser',
+ 'Battery charge cycle due' => 'Rechargement à réaliser',
+ 'Show clock in header' => 'Show clock in header',
+ 'Stock settings' => 'Stock settings',
+ 'Shopping list to stock workflow' => 'Shopping list to stock workflow',
+ 'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set' => 'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set'
+);
diff --git a/localization/it/component_translations.php b/localization/it/component_translations.php
index f5680a78..8d4e6bb7 100644
--- a/localization/it/component_translations.php
+++ b/localization/it/component_translations.php
@@ -5,5 +5,6 @@ return array(
'timeago_nan' => 'NaN anni fa',
'moment_locale' => 'it',
'datatables_localization' => '{"sEmptyTable":"Nessun dato disponibile","sInfo":"Mostrando da _START_ a _END_ di _TOTAL_ voci","sInfoEmpty":"Mostrando da 0 a 0 di 0 voci","sInfoFiltered":"(Filtrato da _MAX_ voci totali)","sInfoPostFix":"","sInfoThousands":",","sLengthMenu":"Mostra _MENU_ voci","sLoadingRecords":"Caricando...","sProcessing":"Calcolando...","sSearch":"Cerca:","sZeroRecords":"Nessun risultato trovato","oPaginate":{"sFirst":"Prima","sLast":"Ultima","sNext":"Prossima","sPrevious":"Precedente"},"oAria":{"sSortAscending":": ordine crescente","sSortDescending":": ordine decrescente"}}',
- 'summernote_locale' => 'it-IT'
+ 'summernote_locale' => 'it-IT',
+ 'fullcalendar_locale' => 'fr'
);
diff --git a/localization/it/stock_transaction_types.php b/localization/it/stock_transaction_types.php
index 22a57178..24d87eff 100644
--- a/localization/it/stock_transaction_types.php
+++ b/localization/it/stock_transaction_types.php
@@ -3,5 +3,6 @@
return array(
'purchase' => 'Purchase',
'consume' => 'Consume',
- 'inventory-correction' => 'Inventory correction'
+ 'inventory-correction' => 'Inventory correction',
+ 'product-opened' => 'Product opened'
);
diff --git a/localization/it/strings.php b/localization/it/strings.php
index 6fbda76b..f4e9b9f9 100644
--- a/localization/it/strings.php
+++ b/localization/it/strings.php
@@ -302,5 +302,28 @@ return array(
'Booking successfully undone' => 'Booking successfully undone',
'Charge cycle successfully undone' => 'Charge cycle successfully undone',
'This cannot be negative and must be an integral number' => 'This cannot be negative and must be an integral number',
- 'Disable stock fulfillment checking for this ingredient' => 'Disable stock fulfillment checking for this ingredient'
+ 'Disable stock fulfillment checking for this ingredient' => 'Disable stock fulfillment checking for this ingredient',
+ 'Add all list items to stock' => 'Add all list items to stock',
+ 'Add #3 #1 of #2 to stock' => 'Add #3 #1 of #2 to stock',
+ 'Adding shopping list item #1 of #2' => 'Adding shopping list item #1 of #2',
+ 'Use a specific stock item' => 'Use a specific stock item',
+ 'The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"' => 'The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"',
+ 'Mark #3 #1 of #2 as open' => 'Mark #3 #1 of #2 as open',
+ 'When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)' => 'When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)',
+ 'Default best before days after opened' => 'Default best before days after opened',
+ 'Marked #1 #2 of #3 as opened' => 'Marked #1 #2 of #3 as opened',
+ 'Mark as opened' => 'Mark as opened',
+ 'Expires on #1; Bought on #2' => 'Expires on #1; Bought on #2',
+ 'Not opened' => 'Not opened',
+ 'Opened' => 'Opened',
+ 'Mark #3 #1 of #2 as open' => 'Mark #3 #1 of #2 as open',
+ '#1 opened' => '#1 opened',
+ 'Product expires' => 'Product expires',
+ 'Task due' => 'Task due',
+ 'Chore due' => 'Chore due',
+ 'Battery charge cycle due' => 'Battery charge cycle due',
+ 'Show clock in header' => 'Show clock in header',
+ 'Stock settings' => 'Stock settings',
+ 'Shopping list to stock workflow' => 'Shopping list to stock workflow',
+ 'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set' => 'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set'
);
diff --git a/localization/no/component_translations.php b/localization/no/component_translations.php
index 5d4bf08d..a89c40e5 100644
--- a/localization/no/component_translations.php
+++ b/localization/no/component_translations.php
@@ -5,5 +5,6 @@ return array(
'timeago_nan' => 'for NaN År',
'moment_locale' => 'nb',
'datatables_localization' => '{"sEmptyTable":"Det finnes ingen data i tabellen","sInfo":"_START_ fra _END_ til _TOTAL_ skriv","sInfoEmpty":"Ingen data tilgjengelign","sInfoFiltered":"(filtrert fra _MAX_ skriv)","sInfoPostFix":"","sInfoThousands":".","sLengthMenu":"_MENU_ registrer deg","sLoadingRecords":"Laster ..","sProcessing":"Vennligst vent ..","sSearch":"Søk","sZeroRecords":"Ingen oppføringer tilgjengelig","oPaginate":{"sFirst":"Første","sPrevious":"Bakover","sNext":"Neste","sLast":"Siste"},"oAria":{"sSortAscending":": Sortér stigende","sSortDescending":": Sortér synkende"},"select":{"rows":{"0":"klikk på en linje for å velge","1":"1 linje valgt","_":"%d linger valgt"}},"buttons":{"print":"Print","colvis":"Søyle","copy":"Kopi","copyTitle":"Kopier til utklippstavlen","copyKeys":"Trykk ctrl eller ⌘ + C for å kopiere tabell
til utklipptavlen.
For å avbryte, klikke på meldingen eller trykk på ESC.","copySuccess":{"1":"1 Kolonne kopiert","_":"%d kolonne kopiert"}}}',
- 'summernote_locale' => 'nb-NO'
+ 'summernote_locale' => 'nb-NO',
+ 'fullcalendar_locale' => 'nb'
);
diff --git a/localization/no/demo_data.php b/localization/no/demo_data.php
index 53ebd2e4..98c6b834 100644
--- a/localization/no/demo_data.php
+++ b/localization/no/demo_data.php
@@ -74,13 +74,13 @@ return array(
'Coffee machine' => 'Kaffetrakter',
'Dishwasher' => 'Oppvaskmaskin',
'Liter' => 'Liter',
- 'Liters' => 'Liters',
- 'Bottle' => 'Bottle',
- 'Bottles' => 'Bottles',
- 'Milk' => 'Milk',
- 'Chocolate sauce' => 'Chocolate sauce',
- 'Milliliters' => 'Milliliters',
+ 'Liters' => 'Liter',
+ 'Bottle' => 'Flaske',
+ 'Bottles' => 'Flasker',
+ 'Milk' => 'Melk',
+ 'Chocolate sauce' => 'Sjokoladesaus',
+ 'Milliliters' => 'Milliliter',
'Milliliter' => 'Milliliter',
- 'Bottom' => 'Bottom',
+ 'Bottom' => 'Bunn',
'Topping' => 'Topping'
);
diff --git a/localization/no/stock_transaction_types.php b/localization/no/stock_transaction_types.php
index 22a57178..81c7565b 100644
--- a/localization/no/stock_transaction_types.php
+++ b/localization/no/stock_transaction_types.php
@@ -1,7 +1,8 @@
'Purchase',
- 'consume' => 'Consume',
- 'inventory-correction' => 'Inventory correction'
+ 'purchase' => 'Innkjøp',
+ 'consume' => 'Forbruke produkt',
+ 'inventory-correction' => 'Korreksjon av husholdnings ',
+ 'product-opened' => 'Produkt åpnet'
);
diff --git a/localization/no/strings.php b/localization/no/strings.php
index e7cc1724..e976f29f 100644
--- a/localization/no/strings.php
+++ b/localization/no/strings.php
@@ -119,7 +119,7 @@ return array(
'#1 chores are due to be done within the next #2 days' => '#1 husarbeids oppgaver skal gjøres inne de #2 neste dagene',
'#1 chores are overdue to be done' => '#1 husarbeids oppgaver har gått over fristen for utførelse',
'Released on' => 'Utgitt',
- 'Consume #3 #1 of #2' => 'Forbruk #3 #1 #2',
+ 'Consume #3 #1 of #2' => 'Forbruk #3 #1 av #2',
'Added #1 #2 of #3 to stock' => '#1 #2 #3 lagt til i husholdningen',
'Stock amount of #1 is now #2 #3' => 'Husholdning antall #1 er nå #2 #3',
'Tracked execution of chore #1 on #2' => 'Utførte husarbeid oppgave "#1" den #2',
@@ -267,40 +267,63 @@ return array(
'Image of product #1' => 'Bilde av produkt #1',
'This product cannot be deleted because it is in stock, please remove the stock amount first.' => 'Dette produktet kan ikke slettes fordi det er gjenværende produkter i husholdningen',
'Delete not possible' => 'Ikke mulig å slette',
- 'Equipment' => 'Utstyr',
+ 'Equipment' => 'Instruksjonmanualer',
'Instruction manual' => 'Instruksjonsmanual',
'The selected equipment has no instruction manual' => 'Merket utstyr har ingen instruksjonsmanual',
'Notes' => 'Notater',
- 'Edit equipment' => 'Endre utstyr',
- 'Create equipment' => 'Opprett utstyr',
+ 'Edit equipment' => 'Endre instruksjonmanualer for utstyr',
+ 'Create equipment' => 'Opprett instruksjonmanualer for utstyr',
'If you don\'t select a file, the current instruction manual will not be altered' => 'Hvis du ikke velger en instruksjonsmanual, vil nåværende instruksjonsmanual ikke bli endret',
'Current instruction manual' => 'Nåværende instruksjonsmanual',
'No instruction manual available' => 'Ingen instruksjonsmanual tilgjengelig',
'The current instruction manual will be deleted when you save the equipment' => 'Nåværende instruksjonsmanual vil bli slettet når du lagrer utstyret',
'No picture available' => 'Ingen bilde tilgjengelig',
- 'Filter by product group' => 'Filter by product group',
- 'Presets for new products' => 'Presets for new products',
- 'Included recipes' => 'Included recipes',
- 'A recipe is required' => 'A recipe is required',
- 'Add included recipe' => 'Add included recipe',
- 'Edit included recipe' => 'Edit included recipe',
- 'Group' => 'Group',
- 'This will be used as a headline to group ingredients together' => 'This will be used as a headline to group ingredients together',
- 'Journal' => 'Journal',
- 'Stock journal' => 'Stock journal',
- 'Filter by product' => 'Filter by product',
- 'Booking time' => 'Booking time',
+ 'Filter by product group' => 'Filtrér etter produktgruppe',
+ 'Presets for new products' => 'Standard for nye produkter',
+ 'Included recipes' => 'Inkludert oppskrift',
+ 'A recipe is required' => 'En oppskrift kreves',
+ 'Add included recipe' => 'Legg til inkludert oppskrift',
+ 'Edit included recipe' => 'Endre inkludert oppskrift',
+ 'Group' => 'Gruppe',
+ 'This will be used as a headline to group ingredients together' => 'Dette vil bli brukt som overskrift for gruppering av ingredienser',
+ 'Journal' => 'Logg',
+ 'Stock journal' => 'Husholdningslogg',
+ 'Filter by product' => 'Filtrér etter produkt',
+ 'Booking time' => 'Tid logget',
'Booking type' => 'Booking type',
- 'Undo booking' => 'Undo booking',
- 'Undone on' => 'Undone on',
- 'Batteries journal' => 'Batteries journal',
- 'Filter by battery' => 'Filter by battery',
- 'Undo charge cycle' => 'Undo charge cycle',
- 'Undo chore execution' => 'Undo chore execution',
- 'Chore execution successfully undone' => 'Chore execution successfully undone',
- 'Undo' => 'Undo',
- 'Booking successfully undone' => 'Booking successfully undone',
- 'Charge cycle successfully undone' => 'Charge cycle successfully undone',
- 'This cannot be negative and must be an integral number' => 'This cannot be negative and must be an integral number',
- 'Disable stock fulfillment checking for this ingredient' => 'Disable stock fulfillment checking for this ingredient'
+ 'Undo booking' => 'Angre booking',
+ 'Undone on' => 'Angret den',
+ 'Batteries journal' => 'Batterilogg',
+ 'Filter by battery' => 'Filtrér etter batteri',
+ 'Undo charge cycle' => 'Angre ladesyklus',
+ 'Undo chore execution' => 'Fjerne utførelse av husarbeidsoppgave',
+ 'Chore execution successfully undone' => 'Husarbeid fjernet',
+ 'Undo' => 'Angre',
+ 'Booking successfully undone' => 'Booking fjernet',
+ 'Charge cycle successfully undone' => 'Ladesyklus fjernet',
+ 'This cannot be negative and must be an integral number' => 'Tallet kan ikke være negativ og må være et helt tall',
+ 'Disable stock fulfillment checking for this ingredient' => 'Skru av husholdning sjekk for denne ingrediensen ',
+ 'Add all list items to stock' => 'Legg alle produktene i listen til husholdningen',
+ 'Add #3 #1 of #2 to stock' => 'Legg til #3 #1 av #2 til husholdningen',
+ 'Adding shopping list item #1 of #2' => 'Legger til produkt #1 av #2 fra handlelisten',
+ 'Use a specific stock item' => 'Velg et bestemt produkt',
+ 'The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"' => 'Første produkt på listen vil bli konsumert først i henhold til standard regelen. "Går ut på dato først. Deretter først inn, først ut".',
+ 'Mark #3 #1 of #2 as open' => 'Merk #3 #1 av #2 som åpnet',
+ 'When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)' => 'Når et produkt blir merket som åpnet endres best før datoen fra i dag + dette antallet av dager. (Et 0 vil deaktivere dette)',
+ 'Default best before days after opened' => 'Standard best før dager etter åpnet',
+ 'Marked #1 #2 of #3 as opened' => 'Merk #1 #2 av #3 som åpnet',
+ 'Mark as opened' => 'Merk som åpnet',
+ 'Expires on #1; Bought on #2' => 'Går ut på dato #1; Kjøpt #2',
+ 'Not opened' => 'Ikke åpnet',
+ 'Opened' => 'Åpnet',
+ 'Mark #3 #1 of #2 as open' => 'Merk #3 #1 av #2 som åpnet',
+ '#1 opened' => '#1 åpnet',
+ 'Product expires' => 'Produkt går ut på dato',
+ 'Task due' => 'Tidsfrist for oppgave',
+ 'Chore due' => 'Tidsfrist for husarbeid',
+ 'Battery charge cycle due' => 'Batteri må lades',
+ 'Show clock in header' => 'Show clock in header',
+ 'Stock settings' => 'Stock settings',
+ 'Shopping list to stock workflow' => 'Shopping list to stock workflow',
+ 'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set' => 'Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set'
);