diff --git a/.devtools/update_dependencies.bat b/.devtools/update_dependencies.bat index d89d3063..f96a25af 100644 --- a/.devtools/update_dependencies.bat +++ b/.devtools/update_dependencies.bat @@ -1,4 +1,4 @@ pushd .. call composer update -yarn upgrade +yarn upgrade --latest popd diff --git a/changelog/55_UNRELEASED_2019-xx-xx.md b/changelog/55_UNRELEASED_2020-01-31.md similarity index 82% rename from changelog/55_UNRELEASED_2019-xx-xx.md rename to changelog/55_UNRELEASED_2020-01-31.md index 6c3291f2..91e0f56f 100644 --- a/changelog/55_UNRELEASED_2019-xx-xx.md +++ b/changelog/55_UNRELEASED_2020-01-31.md @@ -1,8 +1,8 @@ ### New feature: Transfer products between locations and edit stock entries - New menu entry in the sidebar to transfer products (or as a shortcut in the more/context menu per line on the stock overview page) -- New menu entry in the more/context menu of stock overview page lines to show the detail stock entries behind the corresponding product +- New button "Stock entries" in the header of the stock overview page (or as a shortcut in the more/context menu per line) to show the detail stock entries behind each product - From there you can also edit the stock entries -- A huge THANK YOU goes to @kriddles for the work on this feature +- (A huge THANK YOU goes to @kriddles for the work on this feature) ### New feature: Scan mode - Just scan one product after another, no manual input required and audio feedback is provided @@ -26,19 +26,17 @@ - => When moving a product from/to a freezer location, the best before date is changed accordingly - There is also a new sub feature flag `FEATURE_FLAG_STOCK_PRODUCT_FREEZING` to disable this if you don't need it (defaults to `true`) -### Other new things to note -- There is now a RSS feed for this changelog, use it to get notified about new releases: https://grocy.info/changelog/feed - ### Stock improvements/fixes - The productcard gets now also refreshed after a transaction was posted (purchase/consume/etc.) (thanks @kriddles) - The product field calories (kcal) now also allows decimal numbers +- On the inventory page, "New amount" is now prefilled with the current stock amount of the selected product - Fixed that entering partial amounts was not possible on the inventory page (only applies if the product option "Allow partial units in stock" is enabled) - Fixed that on purchase a wrong minimum amount was enforced for products with enabled tare weight handling in combination with different purchase/stock quantity units - Fixed that the productcard did not load correctly when `FEATURE_FLAG_STOCK_LOCATION_TRACKING` was set to `false` (thanks @kriddles) - Fixed that the "Add as barcode to existing product" workflow did not work twice when not switching the page inbetween ### Shopping list improvements/fixes -- Added a compact view to have better shopping list for shopping trips (new button "Compact view" in the header, additionally this is automatically enabled on mobile devices / when screen width is < 768 px) +- Added a compact view to have a better shopping list for shopping trips (new button "Compact view" in the header, additionally this is automatically enabled on mobile devices / when screen width is < 768 px) - It's now possible to filter for only undone (not striked through) items (new option in the "Filter by status" dropdown) - Fixed that when `FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS` was set to `false`, the shopping list appeared empty after some actions @@ -50,7 +48,7 @@ - It's now possible to products directly (also in the dropdown of the add button in the header of each day column, maybe useful in combination with the new "Self produced products" feature) - Added that the calories per serving are now also shown - Added that the total costs and calories per day are displayed in the header of each day column -- Added new `config.php` setting `MEAL_PLAN_FIRST_DAY_OF_WEEK` which can be used to start the meal plan on a different day (defaults to `CALENDAR_FIRST_DAY_OF_WEEK`, so no changed behavior when not configured) +- Added a new `config.php` setting `MEAL_PLAN_FIRST_DAY_OF_WEEK` which can be used to start the meal plan on a different day (defaults to `CALENDAR_FIRST_DAY_OF_WEEK`, so no changed behavior when not configured) - Fixed that when `FEATURE_FLAG_STOCK_PRICE_TRACKING` was set to `false`, prices were still shown (thanks @kriddles) - Fixed that the week costs were missing for the weeks 1 - 9 of a year @@ -64,16 +62,19 @@ - The endpoint `/stock` now includes also the product object itself (new field/property `product`) (thanks @gsacre) - Fixed that the route `/stock/barcodes/external-lookup/{barcode}` did not work, because the `barcode` argument was expected as a route argument but the route was missing it (thanks @Mikhail5555 and @beetle442002) - Fixed the response type description of the `/stock/volatile` endpoint -- New endpoints for the stock transfer & stock entry edit capabilities mentioned above +- New endpoints for the new stock transfer & stock entry edit capabilities ### General & other improvements/fixes - It's now possible to keep the screen on always or when a "fullscreen-card" (e. g. used for recipes) is displayed - - New user options in the display settings menu in the top right corner (default is disabled) + - New user options in the display settings menu in the top right corner (defaults to disabled) +- Slightly optimized table loading & search performance (thanks @lwis) +- Added that the currently active sidebar menu item is always in view +- Reordered the sidebar menu items a little bit and grouped them by borders to waste less space - Fixed that also the first column (where in most tables only buttons/menus are displayed) in tables was searched when using the general search field - Fixed that the meal plan menu entry (sidebar) was not visible when the calendar was disabled (`FEATURE_FLAG_CALENDAR`) (thanks @lwis) -- Slightly optimized table loading & search performance (thanks @lwis) - For integration: If a `GET` parameter `closeAfterCreation` is passed to the product edit page, the window will be closed on save (due to Browser restrictions, this only works when the window was opened from JavaScript) (thanks @Forceu) - Fixed that the `update.sh` file had wrong line endings (DOS instead of Unix) - Internal change: Demo mode is now handled via the setting `MODE` instead of checking the existence of the file `data/demo.txt` +- There is now a RSS feed for the changelog, subscribe to get notified about new releases: https://grocy.info/changelog/feed - New translations: (thanks all the translators) - Portuguese (Brazil) (demo available at https://pt-br.demo.grocy.info) diff --git a/composer.lock b/composer.lock index 819d4515..c3b39c75 100644 --- a/composer.lock +++ b/composer.lock @@ -6,49 +6,18 @@ ], "content-hash": "eff0f8f394573d15e26d8abd3788ed72", "packages": [ - { - "name": "container-interop/container-interop", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/container-interop/container-interop.git", - "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", - "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", - "shasum": "" - }, - "require": { - "psr/container": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Interop\\Container\\": "src/Interop/Container/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", - "homepage": "https://github.com/container-interop/container-interop", - "time": "2017-02-14T19:40:03+00:00" - }, { "name": "doctrine/inflector", - "version": "v1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1", + "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1", "shasum": "" }, "require": { @@ -73,6 +42,10 @@ "MIT" ], "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -81,10 +54,6 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" @@ -102,7 +71,7 @@ "singularize", "string" ], - "time": "2018-01-09T20:05:19+00:00" + "time": "2019-10-30T19:59:35+00:00" }, { "name": "eluceo/ical", @@ -157,16 +126,16 @@ }, { "name": "erusev/parsedown", - "version": "1.7.3", + "version": "1.7.4", "source": { "type": "git", "url": "https://github.com/erusev/parsedown.git", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7" + "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3", + "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3", "shasum": "" }, "require": { @@ -199,20 +168,20 @@ "markdown", "parser" ], - "time": "2019-03-17T18:48:37+00:00" + "time": "2019-12-30T22:54:17+00:00" }, { "name": "gettext/gettext", - "version": "v4.6.3", + "version": "v4.8.2", "source": { "type": "git", - "url": "https://github.com/oscarotero/Gettext.git", - "reference": "70c6ff2fecd275e6ef9cdd542f55939a3d1904d6" + "url": "https://github.com/php-gettext/Gettext.git", + "reference": "e474f872f2c8636cf53fd283ec4ce1218f3d236a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/oscarotero/Gettext/zipball/70c6ff2fecd275e6ef9cdd542f55939a3d1904d6", - "reference": "70c6ff2fecd275e6ef9cdd542f55939a3d1904d6", + "url": "https://api.github.com/repos/php-gettext/Gettext/zipball/e474f872f2c8636cf53fd283ec4ce1218f3d236a", + "reference": "e474f872f2c8636cf53fd283ec4ce1218f3d236a", "shasum": "" }, "require": { @@ -261,31 +230,31 @@ "po", "translation" ], - "time": "2019-07-15T12:56:31+00:00" + "time": "2019-12-02T10:21:14+00:00" }, { "name": "gettext/languages", - "version": "2.5.0", + "version": "2.6.0", "source": { "type": "git", - "url": "https://github.com/mlocati/cldr-to-gettext-plural-rules.git", - "reference": "78db2d17933f0765a102f368a6663f057162ddbd" + "url": "https://github.com/php-gettext/Languages.git", + "reference": "38ea0482f649e0802e475f0ed19fa993bcb7a618" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mlocati/cldr-to-gettext-plural-rules/zipball/78db2d17933f0765a102f368a6663f057162ddbd", - "reference": "78db2d17933f0765a102f368a6663f057162ddbd", + "url": "https://api.github.com/repos/php-gettext/Languages/zipball/38ea0482f649e0802e475f0ed19fa993bcb7a618", + "reference": "38ea0482f649e0802e475f0ed19fa993bcb7a618", "shasum": "" }, "require": { "php": ">=5.3" }, "require-dev": { - "phpunit/phpunit": "^4" + "friendsofphp/php-cs-fixer": "^2.16.0", + "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5 || ^8.4" }, "bin": [ - "bin/export-plural-rules", - "bin/export-plural-rules.php" + "bin/export-plural-rules" ], "type": "library", "autoload": { @@ -305,7 +274,7 @@ } ], "description": "gettext languages with plural rules", - "homepage": "https://github.com/mlocati/cldr-to-gettext-plural-rules", + "homepage": "https://github.com/php-gettext/Languages", "keywords": [ "cldr", "i18n", @@ -322,7 +291,7 @@ "translations", "unicode" ], - "time": "2018-11-13T22:06:07+00:00" + "time": "2019-11-13T10:30:21+00:00" }, { "name": "gumlet/php-image-resize", @@ -381,7 +350,7 @@ }, { "name": "illuminate/container", - "version": "v5.8.35", + "version": "v5.8.36", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", @@ -426,7 +395,7 @@ }, { "name": "illuminate/contracts", - "version": "v5.8.35", + "version": "v5.8.36", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", @@ -470,7 +439,7 @@ }, { "name": "illuminate/events", - "version": "v5.8.35", + "version": "v5.8.36", "source": { "type": "git", "url": "https://github.com/illuminate/events.git", @@ -515,7 +484,7 @@ }, { "name": "illuminate/filesystem", - "version": "v5.8.35", + "version": "v5.8.36", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", @@ -567,16 +536,16 @@ }, { "name": "illuminate/support", - "version": "v5.8.35", + "version": "v5.8.36", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "e63a495d3bf01654f70def1046fb925c4bb56506" + "reference": "df4af6a32908f1d89d74348624b57e3233eea247" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/e63a495d3bf01654f70def1046fb925c4bb56506", - "reference": "e63a495d3bf01654f70def1046fb925c4bb56506", + "url": "https://api.github.com/repos/illuminate/support/zipball/df4af6a32908f1d89d74348624b57e3233eea247", + "reference": "df4af6a32908f1d89d74348624b57e3233eea247", "shasum": "" }, "require": { @@ -624,11 +593,11 @@ ], "description": "The Illuminate Support package.", "homepage": "https://laravel.com", - "time": "2019-09-03T16:36:47+00:00" + "time": "2019-12-12T14:16:47+00:00" }, { "name": "illuminate/view", - "version": "v5.8.35", + "version": "v5.8.36", "source": { "type": "git", "url": "https://github.com/illuminate/view.git", @@ -781,27 +750,27 @@ }, { "name": "nesbot/carbon", - "version": "2.24.0", + "version": "2.29.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29" + "reference": "e509be5bf2d703390e69e14496d9a1168452b0a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/934459c5ac0658bc765ad1e53512c7c77adcac29", - "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e509be5bf2d703390e69e14496d9a1168452b0a2", + "reference": "e509be5bf2d703390e69e14496d9a1168452b0a2", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", - "symfony/translation": "^3.4 || ^4.0" + "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", "kylekatarnls/multi-tester": "^1.1", - "phpmd/phpmd": "dev-php-7.1-compatibility", + "phpmd/phpmd": "^2.8", "phpstan/phpstan": "^0.11", "phpunit/phpunit": "^7.5 || ^8.0", "squizlabs/php_codesniffer": "^3.4" @@ -811,6 +780,9 @@ ], "type": "library", "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -837,14 +809,14 @@ "homepage": "http://github.com/kylekatarnls" } ], - "description": "A API extension for DateTime that supports 281 different languages.", + "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "http://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], - "time": "2019-08-31T16:37:55+00:00" + "time": "2020-01-21T09:36:43+00:00" }, { "name": "nikic/fast-route", @@ -1242,16 +1214,16 @@ }, { "name": "psr/log", - "version": "1.1.0", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", - "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", + "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", "shasum": "" }, "require": { @@ -1260,7 +1232,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -1285,7 +1257,7 @@ "psr", "psr-3" ], - "time": "2018-11-20T15:27:04+00:00" + "time": "2019-11-01T11:05:21+00:00" }, { "name": "psr/simple-cache", @@ -1387,20 +1359,19 @@ }, { "name": "slim/slim", - "version": "3.12.2", + "version": "3.12.3", "source": { "type": "git", "url": "https://github.com/slimphp/Slim.git", - "reference": "200c6143f15baa477601879b64ab2326847aac0b" + "reference": "1c9318a84ffb890900901136d620b4f03a59da38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slimphp/Slim/zipball/200c6143f15baa477601879b64ab2326847aac0b", - "reference": "200c6143f15baa477601879b64ab2326847aac0b", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/1c9318a84ffb890900901136d620b4f03a59da38", + "reference": "1c9318a84ffb890900901136d620b4f03a59da38", "shasum": "" }, "require": { - "container-interop/container-interop": "^1.2", "ext-json": "*", "ext-libxml": "*", "ext-simplexml": "*", @@ -1457,20 +1428,20 @@ "micro", "router" ], - "time": "2019-08-20T18:46:05+00:00" + "time": "2019-11-28T17:40:33+00:00" }, { "name": "symfony/debug", - "version": "v4.3.4", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced" + "reference": "89c3fd5c299b940333bc6fe9f1b8db1b0912c759" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/afcdea44a2e399c1e4b52246ec8d54c715393ced", - "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced", + "url": "https://api.github.com/repos/symfony/debug/zipball/89c3fd5c299b940333bc6fe9f1b8db1b0912c759", + "reference": "89c3fd5c299b940333bc6fe9f1b8db1b0912c759", "shasum": "" }, "require": { @@ -1481,12 +1452,12 @@ "symfony/http-kernel": "<3.4" }, "require-dev": { - "symfony/http-kernel": "~3.4|~4.0" + "symfony/http-kernel": "^3.4|^4.0|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -1513,20 +1484,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:27:59+00:00" + "time": "2020-01-08T17:29:02+00:00" }, { "name": "symfony/finder", - "version": "v4.3.4", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2" + "reference": "3a50be43515590faf812fbd7708200aabc327ec3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/86c1c929f0a4b24812e1eb109262fc3372c8e9f2", - "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "url": "https://api.github.com/repos/symfony/finder/zipball/3a50be43515590faf812fbd7708200aabc327ec3", + "reference": "3a50be43515590faf812fbd7708200aabc327ec3", "shasum": "" }, "require": { @@ -1535,7 +1506,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -1562,20 +1533,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-08-14T12:26:46+00:00" + "time": "2020-01-04T13:00:46+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.12.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", "shasum": "" }, "require": { @@ -1587,7 +1558,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -1621,46 +1592,47 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2019-11-27T14:18:11+00:00" }, { "name": "symfony/translation", - "version": "v4.3.4", + "version": "v5.0.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "28498169dd334095fa981827992f3a24d50fed0f" + "reference": "28e1054f1ea26c63762d9260c37cb1056ea62dbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/28498169dd334095fa981827992f3a24d50fed0f", - "reference": "28498169dd334095fa981827992f3a24d50fed0f", + "url": "https://api.github.com/repos/symfony/translation/zipball/28e1054f1ea26c63762d9260c37cb1056ea62dbb", + "reference": "28e1054f1ea26c63762d9260c37cb1056ea62dbb", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": "^7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^1.1.6" + "symfony/translation-contracts": "^2" }, "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" }, "provide": { - "symfony/translation-implementation": "1.0" + "symfony/translation-implementation": "2.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/console": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/http-kernel": "~3.4|~4.0", - "symfony/intl": "~3.4|~4.0", - "symfony/service-contracts": "^1.1.2", - "symfony/var-dumper": "~3.4|~4.0", - "symfony/yaml": "~3.4|~4.0" + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -1670,7 +1642,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -1697,24 +1669,24 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2020-01-21T08:40:24+00:00" }, { "name": "symfony/translation-contracts", - "version": "v1.1.6", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a" + "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", - "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8cc682ac458d75557203b2f2f14b0b92e1c744ed", + "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.2.5" }, "suggest": { "symfony/translation-implementation": "" @@ -1722,7 +1694,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -1754,7 +1726,7 @@ "interoperability", "standards" ], - "time": "2019-08-02T12:15:04+00:00" + "time": "2019-11-18T17:27:11+00:00" }, { "name": "tuupola/callable-handler", @@ -1811,16 +1783,16 @@ }, { "name": "tuupola/cors-middleware", - "version": "1.0.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/tuupola/cors-middleware.git", - "reference": "f8bee9b47729a36892c680c457ff824c04cfae70" + "reference": "a043f4f52b902ee8902f95d28aae05013a7180fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tuupola/cors-middleware/zipball/f8bee9b47729a36892c680c457ff824c04cfae70", - "reference": "f8bee9b47729a36892c680c457ff824c04cfae70", + "url": "https://api.github.com/repos/tuupola/cors-middleware/zipball/a043f4f52b902ee8902f95d28aae05013a7180fc", + "reference": "a043f4f52b902ee8902f95d28aae05013a7180fc", "shasum": "" }, "require": { @@ -1835,7 +1807,7 @@ "codedungeon/phpunit-result-printer": "^0.23.2", "equip/dispatch": "^2.0", "overtrue/phplint": "^1.0", - "phpstan/phpstan": "^0.11.4", + "phpstan/phpstan": "^0.11.15", "phpunit/phpunit": "^7.4", "squizlabs/php_codesniffer": "^3.3.1", "zendframework/zend-diactoros": "^1.0|^2.0" @@ -1866,7 +1838,7 @@ "psr-15", "psr-7" ], - "time": "2019-06-04T06:54:19+00:00" + "time": "2019-10-30T11:18:16+00:00" }, { "name": "tuupola/http-factory", diff --git a/controllers/StockController.php b/controllers/StockController.php index e06a07ca..788d7ae4 100644 --- a/controllers/StockController.php +++ b/controllers/StockController.php @@ -92,6 +92,7 @@ class StockController extends BaseController public function StockEdit(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args) { return $this->AppContainer->view->render($response, 'stockedit', [ + 'stockEntry' => $this->Database->stock()->where('id', $args['entryId'])->fetch(), 'products' => $this->Database->products()->orderBy('name'), 'locations' => $this->Database->locations()->orderBy('name') ]); diff --git a/grocy.openapi.json b/grocy.openapi.json index cdf729de..89f982a0 100644 --- a/grocy.openapi.json +++ b/grocy.openapi.json @@ -18,6 +18,40 @@ { "name": "Generic entity interactions", "description": "A limited set of entities are directly exposed for convenience" + }, + { + "name": "System" + }, + { + "name": "User management" + }, + { + "name": "User settings" + }, + { + "name": "Stock" + }, + { + "name": "Stock \"by-barcode\"", + "description": "Some of the *Stock* routes, but access them by the products barcode instead of its id" + }, + { + "name": "Recipes" + }, + { + "name": "Chores" + }, + { + "name": "Batteries" + }, + { + "name": "Tasks" + }, + { + "name": "Calendar" + }, + { + "name": "Files" } ], "paths": { @@ -1771,7 +1805,7 @@ "get": { "summary": "Returns details of the given product by its barcode", "tags": [ - "Stock" + "Stock \"by-barcode\"" ], "parameters": [ { @@ -1812,7 +1846,7 @@ "post": { "summary": "Adds the given amount of the by its barcode given product to stock", "tags": [ - "Stock" + "Stock \"by-barcode\"" ], "parameters": [ { @@ -1894,7 +1928,7 @@ "post": { "summary": "Removes the given amount of the by its barcode given product from stock", "tags": [ - "Stock" + "Stock \"by-barcode\"" ], "parameters": [ { @@ -1977,7 +2011,7 @@ "post": { "summary": "Transfers the given amount of the by its barcode given product from one location to another (this is currently not supported for tare weight handling enabled products)", "tags": [ - "Stock" + "Stock \"by-barcode\"" ], "parameters": [ { @@ -2053,7 +2087,7 @@ "post": { "summary": "Inventories the by its barcode given product (adds/removes based on the given new amount)", "tags": [ - "Stock" + "Stock \"by-barcode\"" ], "parameters": [ { @@ -2125,7 +2159,7 @@ "post": { "summary": "Marks the given amount of the by its barcode given product as opened", "tags": [ - "Stock" + "Stock \"by-barcode\"" ], "parameters": [ { diff --git a/localization/da/chore_period_types.po b/localization/da/chore_period_types.po index e521501c..f70c8d04 100644 --- a/localization/da/chore_period_types.po +++ b/localization/da/chore_period_types.po @@ -1,5 +1,7 @@ # Translators: # Troels Siggaard , 2019 +# Rasmus Bojsen , 2019 +# Brian Moos Lindberg , 2019 # msgid "" msgstr "" @@ -7,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Troels Siggaard , 2019\n" +"Last-Translator: Brian Moos Lindberg , 2019\n" "Language-Team: Danish (https://www.transifex.com/grocy/teams/93189/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +22,7 @@ msgid "manually" msgstr "manuelt" msgid "dynamic-regular" -msgstr "gentagende-dynamisk" +msgstr "dynamisk-regelmæssig" msgid "daily" msgstr "daglig" @@ -30,3 +32,6 @@ msgstr "ugentlig" msgid "monthly" msgstr "månedlig" + +msgid "yearly" +msgstr "årlig" diff --git a/localization/da/demo_data.po b/localization/da/demo_data.po index 58286743..1492eca8 100644 --- a/localization/da/demo_data.po +++ b/localization/da/demo_data.po @@ -1,6 +1,8 @@ # Translators: # dark159123 , 2019 # Troels Siggaard , 2019 +# Rasmus Bojsen , 2019 +# Brian Moos Lindberg , 2019 # msgid "" msgstr "" @@ -8,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Troels Siggaard , 2019\n" +"Last-Translator: Brian Moos Lindberg , 2019\n" "Language-Team: Danish (https://www.transifex.com/grocy/teams/93189/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,8 +39,8 @@ msgstr "Køleskab" msgid "Piece" msgid_plural "Pieces" -msgstr[0] "Styk" -msgstr[1] "Stykker" +msgstr[0] "stk" +msgstr[1] "stk" msgid "Pack" msgid_plural "Packs" @@ -81,7 +83,7 @@ msgid "Pickles" msgstr "Syltede agurker" msgid "Gulash soup" -msgstr "Gulash" +msgstr "Gullashsuppe" msgid "Yogurt" msgstr "Yoghurt" @@ -161,14 +163,11 @@ msgstr "Tysk" msgid "Italian" msgstr "Italiensk" -msgid "Demo in different language" -msgstr "Demo på et andet sprog" - msgid "This is the note content of the recipe ingredient" msgstr "Dette er indholdet af opskrift-ingrediensens notefeltet" msgid "Demo User" -msgstr "Demo Bruger" +msgstr "Demobruger" msgid "Gram" msgid_plural "Grams" @@ -218,7 +217,7 @@ msgid "Vegetables/Fruits" msgstr "Frugt og grønt" msgid "Refrigerated products" -msgstr "Køleskabsprodukter" +msgstr "Køleskabsvarer" msgid "Coffee machine" msgstr "Kaffemaskine" @@ -284,27 +283,60 @@ msgid "Polish" msgstr "Polsk" msgid "Milk Chocolate" -msgstr "" +msgstr "Mælkechokolade" msgid "Dark Chocolate" -msgstr "" +msgstr "Mørk chokolade" msgid "Slice" msgid_plural "Slices" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Skive" +msgstr[1] "Skiver" msgid "Example userentity" -msgstr "" +msgstr "Eksempel-brugerenhed" msgid "This is an example user entity..." -msgstr "" +msgstr "Dette er en eksempel-brugerenhed..." msgid "Custom field" -msgstr "" +msgstr "Brugerdefineret felt" msgid "Example field value..." -msgstr "" +msgstr "Eksempel-feltværdi..." msgid "Waffle rolls" +msgstr "Vaffelruller" + +msgid "Danish" +msgstr "Dansk" + +msgid "Dutch" +msgstr "Hollandsk" + +msgid "Norwegian" +msgstr "Norsk" + +msgid "Demo" +msgstr "Demo" + +msgid "Stable version" +msgstr "Stabil version" + +msgid "Preview version" +msgstr "Forhåndsvisningsversion" + +msgid "current release" +msgstr "aktuel udgivelse" + +msgid "not yet released" +msgstr "Ikke frigivet endnu" + +msgid "Portuguese (Brazil)" +msgstr "Portugisisk (Brasilien)" + +msgid "This is a note" +msgstr "" + +msgid "Freezer" msgstr "" diff --git a/localization/da/strings.po b/localization/da/strings.po index 9f16bff3..6621e66e 100644 --- a/localization/da/strings.po +++ b/localization/da/strings.po @@ -1,6 +1,8 @@ # Translators: # dark159123 , 2019 # Bernd Bestel , 2019 +# Troels Siggaard , 2019 +# Brian Moos Lindberg , 2019 # msgid "" msgstr "" @@ -8,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Brian Moos Lindberg , 2019\n" "Language-Team: Danish (https://www.transifex.com/grocy/teams/93189/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,35 +20,35 @@ msgstr "" "X-Domain: grocy/strings\n" msgid "Stock overview" -msgstr "Beholdnings oversigt" +msgstr "Lageroversigt" msgid "%s product expires" msgid_plural "%s products expiring" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s produkt udløber" +msgstr[1] "%s varer udløber" msgid "within the next day" msgid_plural "within the next %s days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "indenfor den næstkommende dag" +msgstr[1] "indenfor de næste %s dage" msgid "%s product is already expired" msgid_plural "%s products are already expired" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s vare er allerede udløbet" +msgstr[1] "%s varer er allerede udløbet" msgid "%s product is below defined min. stock amount" msgid_plural "%s products are below defined min. stock amount" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s vare er under den definerede minimumsbeholdning" +msgstr[1] "%s varer er under den definerede minimumsbeholdning" msgid "Product" -msgstr "Produkt" +msgstr "Vare" msgid "%s Product" msgid_plural "%s Products" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s Vare" +msgstr[1] "%s Varer" msgid "Amount" msgstr "Mængde" @@ -58,34 +60,34 @@ msgid "Logout" msgstr "Log ud" msgid "Chores overview" -msgstr "Pligt oversigt" +msgstr "Pligtoversigt" msgid "Batteries overview" -msgstr "Batteri oversigt" +msgstr "Batterioversigt" msgid "Purchase" msgstr "Køb" msgid "Consume" -msgstr "Brug" +msgstr "Forbrug" msgid "Inventory" -msgstr "Beholdning" +msgstr "Statusoptælling" msgid "Shopping list" msgstr "Indkøbsliste" msgid "Chore tracking" -msgstr "Pligt overvågning" +msgstr "Registering af pligter" msgid "Battery tracking" -msgstr "Batteri overvågning" +msgstr "Batteriregistrering" msgid "Locations" msgstr "Steder" msgid "Quantity units" -msgstr "Mængde enheder" +msgstr "Mængdeenheder" msgid "Chores" msgstr "Pligter" @@ -97,10 +99,10 @@ msgid "Chore" msgstr "Pligt" msgid "Next estimated tracking" -msgstr "" +msgstr "Næste forventede registrering" msgid "Last tracked" -msgstr "Sidst overvåget" +msgstr "Sidst registreret" msgid "Battery" msgstr "Batteri" @@ -118,13 +120,13 @@ msgid "OK" msgstr "OK" msgid "Product overview" -msgstr "Produkt oversigt" +msgstr "Vareoversigt" msgid "Stock quantity unit" -msgstr "Standard enhed" +msgstr "Lagermængdeenhed" msgid "Stock amount" -msgstr "Standard mængde" +msgstr "Lagerbeholdning" msgid "Last purchased" msgstr "Sidst købt" @@ -136,12 +138,11 @@ msgid "Spoiled" msgstr "Udløbet" msgid "Barcode lookup is disabled" -msgstr "Stregkode opslag er slået fra" +msgstr "Stregkodeopslag er deaktiveret" msgid "" "will be added to the list of barcodes for the selected product on submit" -msgstr "" -"Bliver tilføjet til stregkodelisten for det valgte produkt når du sender" +msgstr "bliver tilføjet til stregkodelisten for den valgte vare når du gemmer" msgid "New amount" msgstr "Ny mængde" @@ -150,25 +151,25 @@ msgid "Note" msgstr "Note" msgid "Tracked time" -msgstr "Overvåget tid" +msgstr "Tid registreret" msgid "Chore overview" -msgstr "Pligt oversigt" +msgstr "Pligtoversigt" msgid "Tracked count" -msgstr "Antal overvågede" +msgstr "Antal registrerede" msgid "Battery overview" -msgstr "Batteri oversigt" +msgstr "Batterioversigt" msgid "Charge cycles count" msgstr "Antal opladninger" msgid "Create shopping list item" -msgstr "Lav indkøbsliste punkt" +msgstr "Opret punkt på indkøbslisten" msgid "Edit shopping list item" -msgstr "Ændr indkøbsliste punkt" +msgstr "Rediger punkt på indkøbslisten" msgid "Save" msgstr "Gem" @@ -180,114 +181,116 @@ msgid "Name" msgstr "Navn" msgid "Location" -msgstr "Sted" +msgstr "Placering" msgid "Min. stock amount" -msgstr "Mindste beholdning" +msgstr "Min. beholdning" msgid "QU purchase" -msgstr "QU køb" +msgstr "Mængdeenhed køb" msgid "QU stock" -msgstr "QU beholdning" +msgstr "Mængdeenhed på lager" msgid "QU factor" -msgstr "" +msgstr "Mængdeenhed faktor" msgid "Description" msgstr "Beskrivelse" msgid "Create product" -msgstr "Lav produkt" +msgstr "Opret vare" msgid "Barcode(s)" msgstr "Stegkode(r)" msgid "Minimum stock amount" -msgstr "Minimum mængde" +msgstr "Minimumsbeholdning" msgid "Default best before days" msgstr "Standard bedst før dage" msgid "Quantity unit purchase" -msgstr "" +msgstr "Mængdeenhed ved køb" msgid "Quantity unit stock" -msgstr "" +msgstr "Beholdningstype" msgid "Factor purchase to stock quantity unit" -msgstr "" +msgstr "Konverteringfaktor ved køb til beholdningstypen" msgid "Create location" -msgstr "Lav placering" +msgstr "Opret placering" msgid "Create quantity unit" -msgstr "Lav mængde enhed" +msgstr "Opret mængdeenhed" msgid "Period type" msgstr "Periode type" msgid "Period days" -msgstr "" +msgstr "Periode dage" msgid "Create chore" -msgstr "Lav pligt" +msgstr "Opret pligt" msgid "Used in" msgstr "Brugt i" msgid "Create battery" -msgstr "Lav batteri" +msgstr "Opret batteri" msgid "Edit battery" -msgstr "Ændr batteri" +msgstr "Rediger batteri" msgid "Edit chore" -msgstr "Ændr pligt" +msgstr "Rediger pligt" msgid "Edit quantity unit" -msgstr "Ændr mængde enhed" +msgstr "Rediger mængdeenhed" msgid "Edit product" -msgstr "Ændr produkt" +msgstr "Rediger vare" msgid "Edit location" -msgstr "Ændr placering" +msgstr "Rediger placering" msgid "Record data" msgstr "Optag data" msgid "Manage master data" -msgstr "" +msgstr "Administrer stamdata" msgid "This will apply to added products" -msgstr "Dette vil gælde tilføjede produkter" +msgstr "Dette vil gælde for tilføjede varer" msgid "never" msgstr "aldrig" msgid "Add products that are below defined min. stock amount" -msgstr "Tilføj produkter der er under minimumsantallet" +msgstr "Tilføj varer der er under minimumsbeholdningen" msgid "" "For purchases this amount of days will be added to today for the best before" " date suggestion" msgstr "" +"For køb, vil dette antal dage blive tilføjet til dags dato for forslag til " +"bedst før dato " -msgid "This means 1 %s purchased will be converted into %s %s in stock" -msgstr "Dette betyder at 1 %s bliver lavet om til %s %s i beholdningen" +msgid "This means 1 %1$s purchased will be converted into %2$s %3$s in stock" +msgstr "Dette betyder 1 %1$s købt bliver konverteret til %2$s %3$s på lageret" msgid "Login" -msgstr "Login" +msgstr "Log ind" msgid "Username" msgstr "Brugernavn" msgid "Password" -msgstr "Kode" +msgstr "Adgangskode" msgid "Invalid credentials, please try again" -msgstr "Ugyldige informationer, prøv igen" +msgstr "Ugyldig brugernavn og/eller adgangskode, prøv igen" msgid "Are you sure to delete battery \"%s\"?" msgstr "Er du sikker på du vil slette batteriet \"%s\"?" @@ -302,43 +305,43 @@ msgid "Are you sure to delete chore \"%s\"?" msgstr "Er du sikker på du vil slette pligten \"%s\"?" msgid "\"%s\" could not be resolved to a product, how do you want to proceed?" -msgstr "\"%s\" kunne ikke findes som produkt. Hvordan vil du fortsætte?" +msgstr "\"%s\" kunne ikke findes som vare. Hvordan vil du fortsætte?" msgid "Create or assign product" -msgstr "Lav eller tilknyt produkt" +msgstr "Opret eller tilknyt vare" msgid "Cancel" -msgstr "Afbryd" +msgstr "Annuller" msgid "Add as new product" -msgstr "Tilføj som nyt produkt" +msgstr "Tilføj som ny vare" msgid "Add as barcode to existing product" -msgstr "Tilføj som stregkode til et eksisterende produkt" +msgstr "Tilføj som stregkode til en eksisterende vare" msgid "Add as new product and prefill barcode" -msgstr "Tilføj som nyt produkt og udfyld stregkoden på forhånd" +msgstr "Tilføj som ny vare og udfyld stregkoden på forhånd" msgid "Are you sure to delete quantity unit \"%s\"?" -msgstr "Er du sikker på du vil slette mængde enheden \"%s\"?" +msgstr "Er du sikker på du vil slette mængdeenheden \"%s\"?" msgid "Are you sure to delete product \"%s\"?" -msgstr "Er du sikker på du vil slette produktet \"%s\"?" +msgstr "Er du sikker på du vil slette varen \"%s\"?" msgid "Are you sure to delete location \"%s\"?" msgstr "Er du sikker på du vil slette placeringen \"%s\"?" msgid "Manage API keys" -msgstr "Styr API nøgler" +msgstr "Administrer API nøgler" msgid "REST API & data model documentation" -msgstr "REST API & datamodel dokumentation" +msgstr "REST API & datamodel-dokumentation" msgid "API keys" msgstr "API nøgler" msgid "Create new API key" -msgstr "Lav ny API nøgle" +msgstr "Opret ny API nøgle" msgid "API key" msgstr "API nøgle" @@ -347,10 +350,10 @@ msgid "Expires" msgstr "Udløber" msgid "Created" -msgstr "Lavet" +msgstr "Oprettet" msgid "This product is not in stock" -msgstr "Dette produkt er ikke i beholdningen" +msgstr "Denne vare er ikke på lager" msgid "This means %s will be added to stock" msgstr "Dette betyder %s bliver tilføjet til beholdningen" @@ -359,51 +362,50 @@ msgid "This means %s will be removed from stock" msgstr "Dette betyder at %s bliver fjernet fra beholdningen" msgid "" -"This means it is estimated that a new execution of this chore is tracked %s " -"days after the last was tracked" +"This means the next execution of this chore is scheduled %s days after the " +"last execution" msgstr "" +"Det betyder at næste udførelse af denne pligt er planlagt %sdage efter " +"sidste udførelse." -msgid "Removed %s %s of %s from stock" -msgstr "Fjernede %s %s af %s fra beholdningen" +msgid "Removed %1$s of %2$s from stock" +msgstr "Fjerede %1$s af %2$s fra beholdningen" msgid "About grocy" -msgstr "Omkring Grocy" +msgstr "Om grocy" msgid "Close" msgstr "Luk" msgid "Released on" -msgstr "" +msgstr "Udgivet den" -msgid "Consume %s %s of %s" -msgstr "Brug %s %s af %s" +msgid "Added %1$s of %2$s to stock" +msgstr "Tilføjet %1$s af %2$s til beholdningen" -msgid "Added %s %s of %s to stock" -msgstr "Tilføjede %s %s af %s til beholdningen" +msgid "Stock amount of %1$s is now %2$s" +msgstr "Beholdning af %1$s er nu %2$s" -msgid "Stock amount of %s is now %s %s" -msgstr "Mængden af %s er nu %s %s" +msgid "Tracked execution of chore %1$s on %2$s" +msgstr "Registreret udførelse af pligt %1$s på %2$s" -msgid "Tracked execution of chore %s on %s" -msgstr "Overvågede udførslen af pligt %s på %s" - -msgid "Tracked charge cycle of battery %s on %s" -msgstr "" +msgid "Tracked charge cycle of battery %1$s on %2$s" +msgstr "Registreret ladecyklus af batteri %1$s på %2$s" msgid "Consume all %s which are currently in stock" -msgstr "Brug alle %s i beholdningen" +msgstr "Forbrug alle %s i beholdningen" msgid "All" msgstr "Alle" msgid "Track charge cycle of battery %s" -msgstr "Overvåg opladningscyklus af batteri %s" +msgstr "Registrer opladningscyklus af batteri %s" msgid "Track execution of chore %s" -msgstr "" +msgstr "Registrer pligt %s" msgid "Filter by location" -msgstr "Filtre med placering" +msgstr "Filtrer efter placering" msgid "Search" msgstr "Søg" @@ -412,7 +414,7 @@ msgid "Not logged in" msgstr "Ikke logget ind" msgid "You have to select a product" -msgstr "Du skal vælge et produkt" +msgstr "Du skal vælge en vare" msgid "You have to select a chore" msgstr "Du skal vælge en pligt" @@ -421,25 +423,25 @@ msgid "You have to select a battery" msgstr "Du skal vælge et batteri" msgid "A name is required" -msgstr "Du skal vælge et navn" +msgstr "Et navn er påkrævet" msgid "A location is required" -msgstr "Du skal vælge en placering" +msgstr "En placering er påkrævet" msgid "The amount cannot be lower than %s" -msgstr "Mængden kan ikek kvære lavere end %s" +msgstr "Mængden kan ikke være lavere end %s" msgid "This cannot be negative" msgstr "Dette kan ikke være negativt" msgid "A quantity unit is required" -msgstr "Du skal vælge en enhed for mængden" +msgstr "Enhed for mængden er påkrævet" msgid "A period type is required" -msgstr "Du skal vælge en slags periode" +msgstr "Periodetype er påkrævet" msgid "A best before date is required" -msgstr "" +msgstr "Bedst før dato er påkrævet" msgid "Settings" msgstr "Indstillinger" @@ -454,19 +456,19 @@ msgid "Recipes" msgstr "Opskrifter" msgid "Edit recipe" -msgstr "Ændr opskrift" +msgstr "Rediger opskrift" msgid "New recipe" msgstr "Ny opskrift" msgid "Ingredients list" -msgstr "Ingrediens liste" +msgstr "Ingrediensliste" msgid "Add recipe ingredient" msgstr "Tilføj ingrediens til opskrift" msgid "Edit recipe ingredient" -msgstr "Ændr ingrediens til opskrift" +msgstr "Rediger ingrediens til opskrift" msgid "Are you sure to delete recipe \"%s\"?" msgstr "Er du sikker på du vil slette opskriften \"%s\"?" @@ -475,16 +477,16 @@ msgid "Are you sure to delete recipe ingredient \"%s\"?" msgstr "Er du sikker på du vil slette ingrediensen \"%s\" fra opskriften?" msgid "Are you sure to empty shopping list \"%s\"?" -msgstr "" +msgstr "Er du sikker på at du vil tømme indkøbslisten \"%s\"?" msgid "Clear list" -msgstr "Ryd liste" +msgstr "Ryd indkøbslisten" msgid "Requirements fulfilled" msgstr "Skal udfyldes" msgid "Put missing products on shopping list" -msgstr "Sæt manglende produkter på en indkøbsliste" +msgstr "Sæt manglende varer på en indkøbsliste" msgid "Enough in stock" msgstr "Der er nok i beholdningen" @@ -494,7 +496,11 @@ msgid "" msgid_plural "" "Not enough in stock, %s ingredients missing but already on the shopping list" msgstr[0] "" +"Ikke nok i beholdningen, %s ingrediens mangler men er allerede på " +"indkøbslisten" msgstr[1] "" +"Ikke nok i beholdningen, %s ingredienser mangler men er allerede på " +"indkøbslisten" msgid "Expand to fullscreen" msgstr "Udvid til fuldskærm" @@ -508,10 +514,8 @@ msgstr "Tilberedning" msgid "Recipe" msgstr "Opskrift" -msgid "Not enough in stock, %s missing, %s already on shopping list" -msgstr "" -"Der er ikke nok i beholdningen. Der mangler %s, %s er allerede i " -"beholdningen" +msgid "Not enough in stock, %1$s missing, %2$s already on shopping list" +msgstr "Ikke nok i beholdningen, %1$s mangler, %2$s allerede på indkøbslisten" msgid "Show notes" msgstr "Vis noter" @@ -530,7 +534,7 @@ msgid "Added for recipe %s" msgstr "Tilføjet til opskriften %s" msgid "Manage users" -msgstr "" +msgstr "Administrer brugere" msgid "User" msgstr "Bruger" @@ -542,483 +546,496 @@ msgid "Are you sure to delete user \"%s\"?" msgstr "Er du sikker på du vil slette brugeren \"%s\"?" msgid "Create user" -msgstr "Lav bruger" +msgstr "Opret bruger" msgid "Edit user" -msgstr "Ændr bruger" +msgstr "Rediger bruger" msgid "First name" -msgstr "" +msgstr "Fornavn" msgid "Last name" -msgstr "" +msgstr "Efternavn" msgid "A username is required" -msgstr "" +msgstr "Brugernavnet er påkrævet" msgid "Confirm password" -msgstr "" +msgstr "Gentag adgangskoden" msgid "Passwords do not match" -msgstr "" +msgstr "Adgangskoderne matcher ikke" msgid "Change password" -msgstr "" +msgstr "Skift adgangskode" msgid "Done by" -msgstr "" +msgstr "Udført af" msgid "Last done by" -msgstr "" +msgstr "Sidst udført af" msgid "Unknown" -msgstr "" +msgstr "Ukendt" msgid "Filter by chore" -msgstr "" +msgstr "Filtrer efter pligt" msgid "Chores journal" -msgstr "" +msgstr "Pligt-logbog" msgid "0 means suggestions for the next charge cycle are disabled" -msgstr "" +msgstr "0 betyder forslag til næste ladecyklus er deaktiveret" msgid "Charge cycle interval (days)" -msgstr "" +msgstr "Ladecyklus interval (dage)" msgid "Last price" -msgstr "" +msgstr "Sidste pris" msgid "Price history" -msgstr "" +msgstr "Prishistorik" msgid "No price history available" -msgstr "" +msgstr "Ingen prishistorik tilgængelig" msgid "Price" -msgstr "" +msgstr "Pris" msgid "in %s per purchase quantity unit" -msgstr "" +msgstr "i %s per købt mængdeenhed" msgid "The price cannot be lower than %s" -msgstr "" +msgstr "Prisen kan ikke være lavere end %s" msgid "Unit" -msgstr "" +msgstr "Enhed" msgid "%s Unit" msgid_plural "%s Units" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s Enhed" +msgstr[1] "%s Enheder " msgid "%s chore is due to be done" msgid_plural "%s chores are due to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s pligt forfalder nu" +msgstr[1] "%s pligter forfalder nu" msgid "%s chore is overdue to be done" msgid_plural "%s chores are overdue to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s pligt er forfalden" +msgstr[1] "%s pligter er forfaldne" msgid "%s battery is due to be charged" msgid_plural "%s batteries are due to be charged" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s batteri skal oplades nu" +msgstr[1] "%s batterier skal oplades" msgid "%s battery is overdue to be charged" msgid_plural "%s batteries are overdue to be charged" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s batteri skulle have været opladet" +msgstr[1] "%s batterier skulle have være opladet" msgid "in singular form" -msgstr "" +msgstr "i ental" msgid "Never expires" -msgstr "" +msgstr "Udløber aldrig" msgid "This cannot be lower than %s" -msgstr "" +msgstr "Dette kan ikke være lavere end %s" msgid "-1 means that this product never expires" -msgstr "" +msgstr "-1 betyder at denne vare aldrig udløber" msgid "Quantity unit" -msgstr "" +msgstr "Mængdeenhed" msgid "" "Only check if a single unit is in stock (a different quantity can then be " "used above)" msgstr "" +"Udfyld kun hvis en enkelt enhed er i beholdningen (en anden mængde kan " +"herved blive brugt ovenfor)" msgid "" "Are you sure to consume all ingredients needed by recipe \"%s\" (ingredients" " marked with \"check only if a single unit is in stock\" will be ignored)?" msgstr "" +"Er du sikker på du vil forbruge alle nødvendige ingredienser i opskrift " +"\"%s\" (ingredienser markeret med \"udfyld kun hvis en enkelt enhed er i " +"beholdningen\" vil blive ignoreret)?" msgid "Removed all ingredients of recipe \"%s\" from stock" -msgstr "" +msgstr "Fjernede alle ingredienser til opskrift \"%s\" fra beholdningen" msgid "Consume all ingredients needed by this recipe" -msgstr "" +msgstr "Forbrug alle nødvendige ingredienser til denne opskrift" msgid "Click to show technical details" -msgstr "" +msgstr "Klik for at vise tekniske detaljer" msgid "Error while saving, probably this item already exists" -msgstr "" +msgstr "Fejl ved lagring, måske eksisterer varen allerede" msgid "Error details" -msgstr "" +msgstr "Detaljer for fejl" msgid "Tasks" -msgstr "" +msgstr "Opgaver" msgid "Show done tasks" -msgstr "" +msgstr "Vis udførte opgaver" msgid "Task" -msgstr "" +msgstr "Opgave" msgid "Due" -msgstr "" +msgstr "Forfald" msgid "Assigned to" -msgstr "" +msgstr "Tildelt" msgid "Mark task \"%s\" as completed" -msgstr "" +msgstr "Marker opgaven \"%s\" som udført" msgid "Uncategorized" -msgstr "" +msgstr "Ikke kategoriseret" msgid "Task categories" -msgstr "" +msgstr "Opgavekategorier" msgid "Create task" -msgstr "" +msgstr "Opret opgave" msgid "A due date is required" -msgstr "" +msgstr "En forfaldsdato er påkrævet" msgid "Category" -msgstr "" +msgstr "Kategori" msgid "Edit task" -msgstr "" +msgstr "Rediger opgave" msgid "Are you sure to delete task \"%s\"?" -msgstr "" +msgstr "Er du sikker på at du vil slette opgaven \"%s\"?" msgid "%s task is due to be done" msgid_plural "%s tasks are due to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s opgaven forfalder nu" +msgstr[1] "%s opgaver forfalder nu" msgid "%s task is overdue to be done" msgid_plural "%s tasks are overdue to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s opgaver er forfaldne" +msgstr[1] "%s opgaver er forfaldne" msgid "Edit task category" -msgstr "" +msgstr "Rediger opgavekategori" msgid "Create task category" -msgstr "" +msgstr "Opret opgavekategori" msgid "Product groups" -msgstr "" +msgstr "Varegrupper" msgid "Ungrouped" -msgstr "" +msgstr "Ikke grupperet" msgid "Create product group" -msgstr "" +msgstr "Opret varegruppe" msgid "Edit product group" -msgstr "" +msgstr "Rediger varegruppe" msgid "Product group" -msgstr "" +msgstr "Varegruppe" msgid "Are you sure to delete product group \"%s\"?" -msgstr "" +msgstr "Er du sikker på at du vil slette varegruppen \"%s\"?" msgid "Stay logged in permanently" -msgstr "" +msgstr "Forbliv logget ind" msgid "When not set, you will get logged out at latest after 30 days" -msgstr "" +msgstr "Hvis ikke markeret, vil du blive logget ud senest efter 30 dage" msgid "Filter by status" -msgstr "" +msgstr "Filtrer efter status" msgid "Below min. stock amount" -msgstr "" +msgstr "Under min. beholdningsantal" msgid "Expiring soon" -msgstr "" +msgstr "Udløber snart" msgid "Already expired" -msgstr "" +msgstr "Allerede udløbet" msgid "Due soon" -msgstr "" +msgstr "Forfalder snart" msgid "Overdue" -msgstr "" +msgstr "Forfalden" msgid "View settings" -msgstr "" +msgstr "Vis indstillinger" msgid "Auto reload on external changes" -msgstr "" +msgstr "Auto genindlæs ved eksterne ændringer" msgid "Enable night mode" -msgstr "" +msgstr "Aktiver nat-tilstand" msgid "Auto enable in time range" -msgstr "" +msgstr "Auto aktivering i tidsintervallet" msgid "From" -msgstr "" +msgstr "Fra" msgid "in format" -msgstr "" +msgstr "i format" msgid "To" -msgstr "" +msgstr "Til" msgid "Time range goes over midnight" -msgstr "" +msgstr "Tidsintervallet går over midnat" msgid "Product picture" -msgstr "" +msgstr "Produktbillede" msgid "No file selected" -msgstr "" +msgstr "Ingen fil valgt" msgid "If you don't select a file, the current picture will not be altered" msgstr "" +"Hvis du ikke vælger en fil, vil det nuværende billede ikke blive ændret" msgid "Delete" -msgstr "" +msgstr "Slet" msgid "The current picture will be deleted when you save the product" -msgstr "" +msgstr "Det nuværende billede vil blive slettet når du gemmer denne vare" msgid "Select file" -msgstr "" +msgstr "Vælg fil" msgid "Image of product %s" -msgstr "" +msgstr "Billede af varen %s" msgid "" "This product cannot be deleted because it is in stock, please remove the " "stock amount first." msgstr "" +"Denne vare kan ikke slettes fordi den er på lager. Fjern venligst " +"lagerbeholdningen først." msgid "Delete not possible" -msgstr "" +msgstr "Ikke muligt at slette" msgid "Equipment" -msgstr "" +msgstr "Udstyr" msgid "Instruction manual" -msgstr "" +msgstr "Instruktionsmanual" msgid "The selected equipment has no instruction manual" -msgstr "" +msgstr "Det valgte udstyr har ingen instruktionsmanual" msgid "Notes" -msgstr "" +msgstr "Noter" msgid "Edit equipment" -msgstr "" +msgstr "Rediger udstyr" msgid "Create equipment" -msgstr "" +msgstr "Opret udstyr" msgid "" "If you don't select a file, the current instruction manual will not be " "altered" msgstr "" +"Hvis du ikke vælger en fil vil den nuværende instruktionsmanual ikke blive " +"ændret" msgid "No instruction manual available" -msgstr "" +msgstr "Ingen instruktionsmanual tilgængelig" msgid "" "The current instruction manual will be deleted when you save the equipment" msgstr "" +"Den nuværende instruktionsmanual vil blive slettet når du gemmer udstyret" msgid "No picture available" -msgstr "" +msgstr "Intet billede tilgængeligt" msgid "Filter by product group" -msgstr "" +msgstr "Filtrer efter varegruppe" msgid "Presets for new products" -msgstr "" +msgstr "Forudindstillinger for nye varer" msgid "Included recipes" -msgstr "" +msgstr "Inkluderede opskrifter" msgid "A recipe is required" -msgstr "" +msgstr "En opskrift er påkrævet" msgid "Add included recipe" -msgstr "" +msgstr "Opret inkluderet opskrift" msgid "Edit included recipe" -msgstr "" +msgstr "Rediger inkluderet opskrift" msgid "Group" -msgstr "" +msgstr "Gruppe" msgid "This will be used as a headline to group ingredients together" -msgstr "" +msgstr "Dette vil blive brugt som overskrift til at gruppere ingredienser" msgid "Journal" -msgstr "" +msgstr "Logbog" msgid "Stock journal" -msgstr "" +msgstr "Lager-logbog" msgid "Filter by product" -msgstr "" +msgstr "Filtrer efter vare" msgid "Booking time" -msgstr "" +msgstr "Logningstidspunkt" msgid "Booking type" -msgstr "" +msgstr "Logningstype" msgid "Undo booking" -msgstr "" +msgstr "Fortryd logning" msgid "Undone on" -msgstr "" +msgstr "Fortrudt den" msgid "Batteries journal" -msgstr "" +msgstr "Batteri-logbog" msgid "Filter by battery" -msgstr "" +msgstr "Filtrer efter batteri" msgid "Undo charge cycle" -msgstr "" +msgstr "Fortryd ladecyklus" msgid "Undo chore execution" -msgstr "" +msgstr "Fortryd udførsel af pligt" msgid "Chore execution successfully undone" -msgstr "" +msgstr "Pligtudførsel blev fortrudt" msgid "Undo" -msgstr "" +msgstr "Fortryd" msgid "Booking successfully undone" -msgstr "" +msgstr "Logning blev fortrudt" msgid "Charge cycle successfully undone" -msgstr "" +msgstr "Ladecyklus blev fortrudt" msgid "This cannot be negative and must be an integral number" -msgstr "" +msgstr "Dette kan ikke være negativt og skal være et heltal" msgid "Disable stock fulfillment checking for this ingredient" -msgstr "" +msgstr "Deaktiver opfyldningstjek i beholdningen for denne ingrediens" msgid "Add all list items to stock" -msgstr "" +msgstr "Tilføj alle viste varer til lagerbeholdningen" -msgid "Add %s %s of %s to stock" -msgstr "" +msgid "Add %1$s of %2$s to stock" +msgstr "Tilføj %1$s af %2$s til beholdningen" -msgid "Adding shopping list item %s of %s" -msgstr "" +msgid "Adding shopping list item %1$s of %2$s" +msgstr "Tilføjer indkøbsliste-punkt %1$s af %2$s" msgid "Use a specific stock item" -msgstr "" +msgstr "Brug en bestemt lagervare" msgid "" "The first item in this list would be picked by the default rule which is " "\"First expiring first, then first in first out\"" msgstr "" +"Den første vare på denne liste bliver valgt af standardreglen som er \"Først" +" udløbende først, så først ind, først ud\"" -msgid "Mark %s of %s as open" -msgstr "" +msgid "Mark %1$s of %2$s as open" +msgstr "Marker %1$s %2$s som åben" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" msgid "Default best before days after opened" -msgstr "" +msgstr "Standard bedst før dage efter åbnet" -msgid "Marked %s %s of %s as opened" -msgstr "" +msgid "Marked %1$s of %2$s as opened" +msgstr "Markerede %1$s %2$s som åbnet" msgid "Mark as opened" -msgstr "" - -msgid "Expires on %s; Bought on %s" -msgstr "" +msgstr "Marker som åbnet" msgid "Not opened" -msgstr "" +msgstr "Ikke åbnet" msgid "Opened" -msgstr "" +msgstr "Åbnet" msgid "%s opened" -msgstr "" +msgstr "%s åbnet" msgid "Product expires" -msgstr "" +msgstr "Varen udløber" msgid "Task due" -msgstr "" +msgstr "Opgave forfalder" msgid "Chore due" -msgstr "" +msgstr "Pligt forfalder" msgid "Battery charge cycle due" -msgstr "" +msgstr "Batteri ladecyklus forfalder" msgid "Show clock in header" -msgstr "" +msgstr "Vis ur i headeren" msgid "Stock settings" -msgstr "" +msgstr "Beholdningsindstillinger" msgid "Shopping list to stock workflow" -msgstr "" +msgstr "Indkøbsliste til lagerworkflow" msgid "" "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" msgstr "" +"Automatik book ved hjælp af den sidste pris og antallet af " +"indkøbslisteprodukt, hvis produktet har \"Standard bedst før dage\" markeret" msgid "Skip" -msgstr "" +msgstr "Skip" msgid "Servings" -msgstr "" +msgstr "Portioner" msgid "Costs" -msgstr "" +msgstr "Omkostninger" msgid "Based on the prices of the last purchase per product" -msgstr "" +msgstr "Baseret på prisen af sidste køb per produkt" msgid "The ingredients listed here result in this amount of servings" -msgstr "" +msgstr "Ingredienslisten vist her resulterer i følgende antal portioner" msgid "Do not check against the shopping list when adding missing items to it" msgstr "" +"Tjek ikke op imod indkøbslisten når der tilføjes manglende produkter til den" msgid "" "By default the amount to be added to the shopping list is \"needed amount - " @@ -1026,227 +1043,839 @@ msgid "" "checked against the stock amount, not against what is already on the " "shopping list" msgstr "" +"Som standard er antallet der bliver tilføjet indkøbslisten \"nødvendigt " +"antal - lagerbeholdning - indkøbslisteantal\" - når dette er aktiveret " +"bliver det kun tjekket op imod lagerbeholdningen, ikke op imod hvad der " +"allerede er på indkøbslisten" msgid "Picture" -msgstr "" +msgstr "Billede" msgid "Uncheck ingredients to not put them on the shopping list" -msgstr "" +msgstr "Fjern markeringen fra ingredienser der ikke skal på indkøbslisten" msgid "This is for statistical purposes only" -msgstr "" +msgstr "Dette er kun til brug for statistiske udregninger" msgid "You have to select a recipe" -msgstr "" +msgstr "Du skal vælge en opskrift" msgid "Key type" -msgstr "" +msgstr "Nøgletype" msgid "Share/Integrate calendar (iCal)" -msgstr "" +msgstr "Del/Integrer kalender (iCal)" msgid "" "Use the following (public) URL to share or integrate the calendar in iCal " "format" msgstr "" +"Brug følgende (offentlige) URL til at dele eller integrere kalenderen i " +"iCal-format" msgid "Allow partial units in stock" -msgstr "" +msgstr "Tillad kun delvise enheder i beholdningen" msgid "Enable tare weight handling" -msgstr "" +msgstr "Aktiver emballagevægthåndtering" msgid "" "This is useful e.g. for flour in jars - on purchase/consume/inventory you " "always weigh the whole jar, the amount to be posted is then automatically " "calculated based on what is in stock and the tare weight defined below" msgstr "" +"Dette er brugbart for f.eks. mel i glas - ved køb/forbrug/statusoptælling " +"kan du altid veje hele glasset. Mængden der bliver vist, bliver automatisk " +"udregnet ud fra hvad der er på lager og hvad emballagens vægt, der er " +"defineret nedenfor, er" msgid "Tare weight" -msgstr "" +msgstr "Emballagevægt" msgid "" "Tare weight handling enabled - please weigh the whole container, the amount " "to be posted will be automatically calculcated" msgstr "" +"Emballagevægthåndtering aktiveret - venligst vej hele beholderen/emballagen," +" mængden der bliver vist vil automatisk blive udregnet" msgid "You have to select a location" -msgstr "" +msgstr "Du skal vælge en placering" msgid "List" -msgstr "" +msgstr "Liste" msgid "Gallery" -msgstr "" +msgstr "Galleri" msgid "The current picture will be deleted when you save the recipe" -msgstr "" +msgstr "Det nuværende billede vil blive slettet når du gemmer opskriften" msgid "Show product details" -msgstr "" +msgstr "Vis produktdetaljer" msgid "Stock journal for this product" -msgstr "" +msgstr "Lager-logbog for denne vare" msgid "Show chore details" -msgstr "" +msgstr "Vis pligtdetajler" msgid "Journal for this chore" -msgstr "" +msgstr "Logbog for denne pligt" msgid "Show battery details" -msgstr "" +msgstr "Vis batteridetaljer" msgid "Journal for this battery" -msgstr "" +msgstr "Logbog for dette batteri" msgid "System info" -msgstr "" +msgstr "Systeminformation" msgid "Changelog" -msgstr "" +msgstr "Ændringslog" -msgid "will be multiplied a factor of %s to get %s" -msgstr "" +msgid "will be multiplied a factor of %1$s to get %2$s" +msgstr "vil blive ganget med en faktor af %1$s for at få %2$s" msgid "The given date is earlier than today, are you sure?" -msgstr "" +msgstr "Den angivne dato er før i dag, er du sikker?" msgid "Product count" -msgstr "" +msgstr "Antal varer" msgid "Type a new product name or barcode and hit TAB to start a workflow" msgstr "" +"Skriv et nyt produktnavn eller stregkode og tryk TAB for at starte et " +"workflow" msgid "" "This will be used as the default setting when adding this product as a " "recipe ingredient" msgstr "" +"Dette vil blive brugt som standardindstillinger når dette produkt tilføjes " +"som ingredient til en opskrift" msgid "Add item" -msgstr "" +msgstr "Tilføj produkt" msgid "Selected shopping list" -msgstr "" +msgstr "Valgte indkøbsliste" msgid "New shopping list" -msgstr "" +msgstr "Ny indkøbsliste" msgid "Delete shopping list" -msgstr "" +msgstr "Slet indkøbsliste" msgid "Chores settings" -msgstr "" +msgstr "Pligt-indstillinger" msgid "Batteries settings" -msgstr "" +msgstr "Batteri-indstillinger" msgid "Tasks settings" -msgstr "" +msgstr "Opgave-indstillinger" msgid "Create shopping list" -msgstr "" +msgstr "Opret indkøbsliste" msgid "Are you sure to delete shopping list \"%s\"?" -msgstr "" +msgstr "Er du sikker på at du vil slette indkøbslisten \"%s\"?" msgid "Average shelf life" -msgstr "" +msgstr "Gennemsnitlig holdbarhed" msgid "Spoil rate" -msgstr "" +msgstr "Fordærvelseshastighed" msgid "Show more" -msgstr "" +msgstr "Vis mere" msgid "Show less" -msgstr "" +msgstr "Vis mindre" -msgid "The amount must be between %s and %s" -msgstr "" +msgid "The amount must be between %1$s and %2$s" +msgstr "Antallet skal være imellem %1$s og %2$s" msgid "Day of month" -msgstr "" +msgstr "Dag i måneden" msgid "Monday" -msgstr "" +msgstr "Mandag" msgid "Tuesday" -msgstr "" +msgstr "Tirsdag" msgid "Wednesday" -msgstr "" +msgstr "Onsdag" msgid "Thursday" -msgstr "" +msgstr "Torsdag" msgid "Friday" -msgstr "" +msgstr "Fredag" msgid "Saturday" -msgstr "" +msgstr "Lørdag" msgid "Sunday" -msgstr "" +msgstr "Søndag" msgid "Configure userfields" -msgstr "" +msgstr "Konfigurer brugerfelter" msgid "Userfields" -msgstr "" +msgstr "Brugerfelter" msgid "Filter by entity" -msgstr "" +msgstr "Filtrer efter enhed" msgid "Entity" -msgstr "" +msgstr "Enhed" msgid "Caption" -msgstr "" +msgstr "Billedetekst" msgid "Type" -msgstr "" +msgstr "Type" msgid "Create userfield" -msgstr "" +msgstr "Opret brugerfelt" msgid "A entity is required" -msgstr "" +msgstr "Der kræves en enhed" msgid "A caption is required" -msgstr "" +msgstr "En billedetekst er påkrævet" msgid "A type is required" -msgstr "" +msgstr "En type er påkrævet" msgid "Show as column in tables" -msgstr "" +msgstr "Vist som kolonne i tabeller" msgid "This is required and can only contain letters and numbers" -msgstr "" +msgstr "Dette er påkrævet og kan kun indeholde bogstaver og numre" msgid "Edit userfield" -msgstr "" +msgstr "Rediger brugerfelt" msgid "Plural forms" -msgstr "" +msgstr "Flertalsformer" msgid "One plural form per line, the current language requires" -msgstr "" +msgstr "En flertalsform per linje, det nuværende sprog er påkrævet" msgid "Plural count" -msgstr "" +msgstr "Flertalsantal" msgid "Plural rule" -msgstr "" +msgstr "Flertalsregel" msgid "in plural form" -msgstr "" +msgstr "i flertal" msgid "Not enough in stock, %s ingredient missing" msgid_plural "Not enough in stock, %s ingredients missing" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ikke nok i beholdningen, %s ingrediens mangler" +msgstr[1] "Ikke nok i beholdningen, %s ingredienser mangler" -msgid "Consume %s of %s" +msgid "The amount cannot be lower than %1$s or equal %2$s" +msgstr "Antallet kan ikke være lavere end %1$s eller lig med %2$s" + +msgid "Not enough in stock, but already on the shopping list" +msgstr "Ikke nok på lager, men allerede på indkøbslisten" + +msgid "Not enough in stock" +msgstr "Ikke nok på lager" + +msgid "Expiring soon days" +msgstr "Udløber snart - antal dage" + +msgid "Default location" +msgstr "Standardplacering" + +msgid "Default amount for purchase" +msgstr "Standardantal for køb" + +msgid "Default amount for consume" +msgstr "Standardantal for forbrug" + +msgid "Variable amount" +msgstr "Variabelt antal" + +msgid "" +"When this is not empty, it will be shown instead of the amount entered above" +" while the amount there will still be used for stock fulfillment checking" +msgstr "" +"Når denne ikke er tom, vil den blive vist istedet for antallet skrevet " +"ovenfor, dog vil antallet dér stadig blive brugt til opfyldningstjek af " +"beholdning" + +msgid "Track date only" +msgstr "Registrer kun dato" + +msgid "When enabled only the day of an execution is tracked, not the time" +msgstr "" +"Når aktiveret vil kun dagen for udførsel blive registreret, ikke tidspunktet" + +msgid "Consume %1$s of %2$s" +msgstr "Forbrug %1$s af %2$s" + +msgid "Meal plan" +msgstr "Måltidsplan" + +msgid "Add recipe to %s" +msgstr "Tilføj opskrift til %s" + +msgid "%s serving" +msgid_plural "%s servings" +msgstr[0] "%s portion" +msgstr[1] "%s portioner" + +msgid "Week costs" +msgstr "Ugentlige omkostninger" + +msgid "Configuration" +msgstr "Konfiguration" + +msgid "A predefined list of values, one per line" +msgstr "En prædefineret liste af værdier, en per linje" + +msgid "Chores due soon days" +msgstr "Pligter der forfalder snart - antal dage" + +msgid "Batteries due to be charged soon days" +msgstr "Batterier der skal oplades snart - antal dage" + +msgid "Tasks due soon days" +msgstr "Opgaver der snart skal udføres - antal dage" + +msgid "Products" +msgstr "Varer" + +msgid "Marked task %s as completed on %s" +msgstr "Markeret opgave %s som udført på %s" + +msgid "Booking has subsequent dependent bookings, undo not possible" +msgstr "Logningen har senere afhængige logninger. Fortryd er ikke muligt" + +msgid "per serving" +msgstr "per portion" + +msgid "Never" +msgstr "Aldrig" + +msgid "Today" +msgstr "Idag" + +msgid "Consume %1$s of %2$s as spoiled" +msgstr "Forbrug %1$s af %2$s som har overskredet holdbarhedsdatoen" + +msgid "Not all ingredients of recipe \"%s\" are in stock, nothing removed" +msgstr "" +"Ikke alle ingredienser til opskrift \"%s\" er i beholdningen, intet fjernet" + +msgid "Undo task \"%s\"" +msgstr "Fortryd opgave \"%s\"" + +msgid "Due date rollover" +msgstr "Forfaldsdato for omlægning" + +msgid "" +"When enabled the chore can never be overdue, the due date will shift forward" +" each day when due" +msgstr "" +"Når aktiveret kan pligten aldrig være efter forfaldsdatoen, forfaldsdatoen " +"rykkes frem hver dag pligten forfalder og ikke udføres" + +msgid "Location Content Sheet" +msgstr "Placeringsindholdsark" + +msgid "Print" +msgstr "Udskriv" + +msgid "all locations" +msgstr "Alle placeringer" + +msgid "" +"Here you can print a page per location with the current stock, maybe to hang" +" it there and note the consumed things on it." +msgstr "" +"Her kan du printe en side per beliggenhed med nuværende beholdning, for " +"eksempel til at hænge op og notere forbrug af ting på denne." + +msgid "this location" +msgstr "denne placering" + +msgid "Consumend amount" +msgstr "Brugt antal" + +msgid "Time of printing" +msgstr "Tidspunkt for udskrift" + +msgid "Are you sure to delete equipment \"%s\"?" +msgstr "Er du sikker på du vil slette udstyret \"%s\"?" + +msgid "Parent product" +msgstr "Overordnet vare" + +msgid "" +"Not possible because this product is already used as a parent product in " +"another product" +msgstr "" +"Ikke muligt fordi denne vare allerede er brugt som overordnet vare for en " +"anden vare" + +msgid "Default conversions" +msgstr "Standardkonverteringer" + +msgid "Factor" +msgstr "Faktor" + +msgid "1 %s is the same as..." +msgstr "%s er det samme som..." + +msgid "Create QU conversion" +msgstr "Opret mængdeenhedskonvertering" + +msgid "Default for QU" +msgstr "Standard for mængdeenhed" + +msgid "Quantity unit from" +msgstr "Mængdeenhed fra" + +msgid "Quantity unit to" +msgstr "Mængdeenhed til" + +msgid "" +"This cannot be lower than %1$s and must be a valid number with max. %2$s " +"decimal places" +msgstr "" +"Dette kan ikke være lavere end %1$s og skal være et gyldigt nummer med maks " +"%2$sdecimaler" + +msgid "This cannot be equal to %s" +msgstr "Dette kan ikke være lig med %s" + +msgid "This means 1 %1$s is the same as %2$s %3$s" +msgstr "Dette betyder at 1 %1$s er det samme som %2$s %3$s" + +msgid "QU conversions" +msgstr "Mængdeenhedskonverteringer" + +msgid "Product overrides" +msgstr "Vareoverstyringer" + +msgid "Override for product" +msgstr "Overstyring for vare" + +msgid "This equals %1$s %2$s in stock" +msgstr "Dette tilsvarer %1$s %2$s i beholdningen" + +msgid "Edit QU conversion" +msgstr "Rediger mængdeenhedskonvertering" + +msgid "An assignment type is required" +msgstr "En opgavetype er påkrævet" + +msgid "Assignment type" +msgstr "Opgavetype" + +msgid "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution" +msgstr "" +"Det betyder at den næste udførelse af denne pligt er planlagt 1 dag efter " +"sidste udførelse" + +msgid "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution, but only for the weekdays selected below" +msgstr "" +"Det betyder at den næste udførelse af denne pligt er planlagt 1 dag efter " +"sidste udførelse, men kun på de dage der er valgt herunder" + +msgid "This means the next execution of this chore is not scheduled" +msgstr "Det betyder at næste udførelse af denne pligt ikke er planlagt" + +msgid "" +"This means the next execution of this chore is scheduled on the below " +"selected day of each month" +msgstr "" +"Det betyder at næste udførelse af denne pligt er planlagt på den nedenfor " +"valgte dag i hver måned" + +msgid "" +"This means the next execution of this chore will not be assigned to anyone" +msgstr "" +"Det betyder at den næste udførelse af denne pligt ikke vil blive tildelt til" +" nogen" + +msgid "" +"This means the next execution of this chore will be assigned to the one who " +"executed it least" +msgstr "" +"Det betyder at næste udførelse af denne pligt vil blive tildelt til den som " +"har udført den mindst" + +msgid "This means the next execution of this chore will be assigned randomly" +msgstr "" +"Det betyder at den næste udførelse af denne pligt vil blive tildelt " +"tilfældigt" + +msgid "" +"This means the next execution of this chore will be assigned to the next one" +" in alphabetical order" +msgstr "" +"Det betyder at den næste udførelse af denne pligt vil blive tildelt til den " +"næste i alfabetisk rækkefølge" + +msgid "Assign to" +msgstr "Tildel til" + +msgid "This assignment type requires that at least one is assigned" +msgstr "Denne opgavetype kræver, at der tildeles mindst en" + +msgid "%s chore is assigned to me" +msgid_plural "%s chores are assigned to me" +msgstr[0] "%spligt er tildelt til mig" +msgstr[1] "%spligter er tildelt til mig" + +msgid "Assigned to me" +msgstr "Tildelt til mig" + +msgid "assigned to %s" +msgstr "tildelt til %s" + +msgid "Filter by assignment" +msgstr "Filtrer efter tildeling" + +msgid "Consume product on chore execution" +msgstr "Forbrug vare ved udførsel af pligt" + +msgid "Are you sure to delete user field \"%s\"?" +msgstr "Er du sikker på at du vil slette brugerfeltet \"%s\"?" + +msgid "Userentities" +msgstr "Brugerenheder" + +msgid "Create userentity" +msgstr "Opret brugerenhed" + +msgid "Show in sidebar menu" +msgstr "Vis i side-menu" + +msgid "Edit userentity" +msgstr "Rediger brugerenhed" + +msgid "Edit %s" +msgstr "Rediger %s" + +msgid "Create %s" +msgstr "Opret %s" + +msgid "Are you sure to delete this userobject?" +msgstr "Er du sikker på at du vil slette denne brugerenhed?" + +msgid "Icon CSS class" +msgstr "Ikon CSS-klasse" + +msgid "For example" +msgstr "For eksempel" + +msgid "Configure fields" +msgstr "Konfigurer felter" + +msgid "Quantity unit plural form testing" +msgstr "Mængdeenhed flertalsform test" + +msgid "Result" +msgstr "Resultat" + +msgid "Test plural forms" +msgstr "Test flertalsform" + +msgid "Scan a barcode" +msgstr "Skan en stregkode" + +msgid "Error while initializing the barcode scanning library" +msgstr "Fejl ved initialisering af stregkodeskannerbibliotek" + +msgid "" +"The resulting price of this ingredient will be multiplied by this factor" +msgstr "Prisen for denne ingrediens vil blive ganget med denne faktor" + +msgid "Price factor" +msgstr "Prisfaktor" + +msgid "Do you find grocy useful?" +msgstr "Er grocy brugbart?" + +msgid "Say thanks" +msgstr "Sig tak" + +msgid "Search for recipes containing this product" +msgstr "Søg efter opskrifter som indeholder denne vare" + +msgid "Add to shopping list" +msgstr "Tilføj til indkøbsliste" + +msgid "Added %1$s of %2$s to the shopping list \"%3$s\"" +msgstr "Tilføjet %1$s af %2$s til indkøbslisten \"%3$s\"" + +msgid "Output" +msgstr "Output" + +msgid "Energy (kcal)" +msgstr "Energi (kcal)" + +msgid "Per stock quantity unit" +msgstr "Per lager-mængdeenhed" + +msgid "Barcode scanner testing" +msgstr "Stregkodeskannertest" + +msgid "Expected barcode" +msgstr "Forventet stregkode" + +msgid "Scan field" +msgstr "Skannerfelt" + +msgid "Scanned barcodes" +msgstr "Skannede stregkoder" + +msgid "Hit" +msgstr "Hit" + +msgid "Miss" +msgstr "Miss" + +msgid "Display recipe" +msgstr "Vis opskrift" + +msgid "Accumulate sub products min. stock amount" +msgstr "Akkumuler underordnede varers minimumbeholdning" + +msgid "" +"If enabled, the min. stock amount of sub products will be accumulated into " +"this product, means the sub product will never be \"missing\", only this " +"product" +msgstr "" +"Hvis aktiveret bliver minimumsbeholdning for underordnede varer akkumuleret " +"ind i denne vare så det kun er denne vare der \"mangler\" og ikke de " +"underordnede" + +msgid "Are you sure to remove this conversion?" +msgstr "Er du sikker på at du vil fjerne denne konvertering" + +msgid "Unit price" +msgstr "Enhedspris" + +msgid "Total price" +msgstr "Totalpris" + +msgid "in %s and based on the purchase quantity unit" +msgstr "i %s og baseret på købets mængdeenhed" + +msgid "Unlimited" +msgstr "Ubegrænset" + +msgid "Clear" +msgstr "Ryd" + +msgid "Are you sure to remove the included recipe \"%s\"?" +msgstr "Er du sikker på du vil fjerne den inkluderede opskrift \"%s\"?" + +msgid "Period interval" +msgstr "Periodeinterval" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s days" +msgstr "" +"Det betyder at den næste udførelse af denne pligt kun bør planlægges hver %s" +" dage" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s weeks" +msgstr "" +"Det betyder at den næste udførelse af denne pligt kun bør planlægges hver %s" +" uger" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s months" +msgstr "" +"Det betyder at den næste udførsel af denne pligt kun bør planlægges hver %s " +"måneder" + +msgid "" +"This means the next execution of this chore is scheduled 1 year after the " +"last execution" +msgstr "" +"Det betyder at næste udførsel af denne pligt er planlagt 1 år efter sidste " +"udførsel" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s years" +msgstr "" +"Det betyder at næste udførsel af denne pligt kun bør planlægges hver %s år" + +msgid "Transfer" +msgstr "Flyt" + +msgid "From location" +msgstr "Fra placering" + +msgid "To location" +msgstr "Til placering" + +msgid "There are no units available at this location" +msgstr "Der er ingen enheder tilgængelig på denne placering" + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "Mængde: %1$s; Udløber d. %2$s; Købt d. %3$s" + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "Flyttede %1$s af %2$s fra %3$s til %4$s" + +msgid "Show stock entries" +msgstr "Vis lagerposteringer" + +msgid "Stock entries" +msgstr "Lagerposteringer" + +msgid "Best before date" +msgstr "Bedst før dato" + +msgid "Purchased date" +msgstr "Købsdato" + +msgid "Consume all %s for this stock entry" +msgstr "Forbrug alle %s i denne lagerpostering" + +msgid "The amount cannot be lower than %1$s" +msgstr "Mængden kan ikke være lavere end %1$s" + +msgid "Stock entry successfully updated" +msgstr "Lagerpostering opdateret" + +msgid "Edit stock entry" +msgstr "Rediger lagerpostering" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" + +msgid "Keep screen on" +msgstr "" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "" + +msgid "A purchased date is required" +msgstr "" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" + +msgid "Produces product" +msgstr "" + +msgid "This booking cannot be undone" +msgstr "" + +msgid "Booking does not exist or was already undone" +msgstr "" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "" + +msgid "Add note" +msgstr "" + +msgid "Add note to %s" +msgstr "" + +msgid "per day" +msgstr "" + +msgid "Compact view" +msgstr "" + +msgid "Normal view" +msgstr "" + +msgid "Only undone items" +msgstr "" + +msgid "Add product" +msgstr "" + +msgid "Add product to %s" +msgstr "" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" + +msgid "Meal plan recipe" +msgstr "" + +msgid "Meal plan note" +msgstr "" + +msgid "Meal plan product" +msgstr "" + +msgid "Scan mode" +msgstr "" + +msgid "on" +msgstr "" + +msgid "off" +msgstr "" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" + +msgid "Is freezer" +msgstr "" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after freezing" +msgstr "" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after thawing" +msgstr "" + +msgid "This cannot be the same as the \"From\" location" +msgstr "" + +msgid "Thawed" +msgstr "" + +msgid "Frozen" msgstr "" diff --git a/localization/da/userfield_types.po b/localization/da/userfield_types.po index e3984ffd..c2670c2d 100644 --- a/localization/da/userfield_types.po +++ b/localization/da/userfield_types.po @@ -1,3 +1,5 @@ +# Translators: +# Brian Moos Lindberg , 2019 # msgid "" msgstr "" @@ -5,6 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:43+0000\n" +"Last-Translator: Brian Moos Lindberg , 2019\n" "Language-Team: Danish (https://www.transifex.com/grocy/teams/93189/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,22 +17,31 @@ msgstr "" "X-Domain: grocy/userfield_types\n" msgid "text-single-line" -msgstr "" +msgstr "tekst-enkelt-linje" msgid "text-multi-line" -msgstr "" +msgstr "tekst-flere-linjer" msgid "number-integral" -msgstr "" +msgstr "tal-heltal" msgid "number-decimal" -msgstr "" +msgstr "tal-decimal" msgid "date" -msgstr "" +msgstr "dato" msgid "datetime" -msgstr "" +msgstr "datotid" msgid "checkbox" -msgstr "" +msgstr "afkrydsningsfelt" + +msgid "preset-list" +msgstr "forudindstillet-liste" + +msgid "preset-checklist" +msgstr "forudindstillet-tjekliste" + +msgid "link" +msgstr "link" diff --git a/localization/de/demo_data.po b/localization/de/demo_data.po index dd2f0b0f..d4ec53a5 100644 --- a/localization/de/demo_data.po +++ b/localization/de/demo_data.po @@ -1,5 +1,5 @@ # Translators: -# Bernd Bestel , 2019 +# Bernd Bestel , 2020 # msgid "" msgstr "" @@ -7,7 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Bernd Bestel , 2020\n" "Language-Team: German (https://www.transifex.com/grocy/teams/93189/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -328,3 +328,12 @@ msgstr "aktuelles Release" msgid "not yet released" msgstr "noch nicht freigegeben" + +msgid "Portuguese (Brazil)" +msgstr "Portugiesisch (Brasilien)" + +msgid "This is a note" +msgstr "Dies ist eine Notiz" + +msgid "Freezer" +msgstr "Gefrierschrank" diff --git a/localization/de/stock_transaction_types.po b/localization/de/stock_transaction_types.po index d4af0965..66364374 100644 --- a/localization/de/stock_transaction_types.po +++ b/localization/de/stock_transaction_types.po @@ -1,5 +1,5 @@ # Translators: -# Bernd Bestel , 2019 +# Bernd Bestel , 2020 # msgid "" msgstr "" @@ -7,7 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Bernd Bestel , 2020\n" "Language-Team: German (https://www.transifex.com/grocy/teams/93189/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +19,12 @@ msgstr "" msgid "purchase" msgstr "Einkauf" +msgid "transfer_from" +msgstr "Umlagerung von" + +msgid "transfer_to" +msgstr "Umlagerung nach" + msgid "consume" msgstr "Verbrauch" @@ -27,3 +33,12 @@ msgstr "Inventur-Korrektur" msgid "product-opened" msgstr "Produkt geöffnet" + +msgid "stock-edit-old" +msgstr "Bestandseintrag bearbeitet (alte Werte)" + +msgid "stock-edit-new" +msgstr "Bestandseintrag bearbeitet (neue Werte)" + +msgid "self-production" +msgstr "Eigenproduktion" diff --git a/localization/de/strings.po b/localization/de/strings.po index d1236289..a81e33a6 100644 --- a/localization/de/strings.po +++ b/localization/de/strings.po @@ -1,5 +1,6 @@ # Translators: -# Bernd Bestel , 2019 +# H T , 2020 +# Bernd Bestel , 2020 # msgid "" msgstr "" @@ -7,7 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Bernd Bestel , 2020\n" "Language-Team: German (https://www.transifex.com/grocy/teams/93189/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -676,7 +677,7 @@ msgstr "" msgid "Consume all ingredients needed by this recipe" msgstr "" "Alle Zutaten, die von diesem Rezept benötigt werden, aus dem Bestand " -"enternen" +"entfernen" msgid "Click to show technical details" msgstr "Klick um technische Details anzuzeigen" @@ -975,12 +976,12 @@ msgid "Mark %1$s of %2$s as open" msgstr "%1$s %2$s als geöffnet markieren" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" -"Wenn ein Produkt als geöffnet markiert wurde, wird das " +"Wenn dieses Produkt als geöffnet markiert wurde, wird das " "Mindesthaltbarkeitsdatum durch heute + diese Anzahl von Tagen ersetzt (ein " -"Wert von 0 deaktiviert dies)" +"Wert von 0 deaktiviert dies) " msgid "Default best before days after opened" msgstr "Standard Haltbarkeit in Tagen nach dem Öffnen" @@ -991,9 +992,6 @@ msgstr "%1$s %2$s als geöffnet markiert" msgid "Mark as opened" msgstr "Als geöffnet markieren" -msgid "Expires on %1$s; Bought on %2$s" -msgstr "Läuft ab am %1$s; Gekauft am %2$s" - msgid "Not opened" msgstr "Nicht geöffnet" @@ -1309,6 +1307,9 @@ msgstr "Nicht ausreichend im Bestand" msgid "Expiring soon days" msgstr "\"Bald ablaufend\"-Tage" +msgid "Default location" +msgstr "Standard Standort" + msgid "Default amount for purchase" msgstr "Standardmenge für Einkauf" @@ -1745,3 +1746,178 @@ msgid "" msgstr "" "Das bedeutet, dass eine erneute Ausführung der Hausarbeit nur alle %s Jahre " "geplant wird" + +msgid "Transfer" +msgstr "Umlagern" + +msgid "From location" +msgstr "Von Standort" + +msgid "To location" +msgstr "Nach Standort" + +msgid "There are no units available at this location" +msgstr "Keine Einheiten an diesem Standort verfügbar" + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "Menge: %1$s; Läuft ab am %2$s; Gekauft am %3$s " + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "%1$s %2$s von %3$s nach %4$s verschoben" + +msgid "Show stock entries" +msgstr "Bestandseinträge anzeigen" + +msgid "Stock entries" +msgstr "Bestandseinträge" + +msgid "Best before date" +msgstr "MHD" + +msgid "Purchased date" +msgstr "Einkaufsdatum" + +msgid "Consume all %s for this stock entry" +msgstr "Verbrauche alle %s dieses Bestandseintrags" + +msgid "The amount cannot be lower than %1$s" +msgstr "Die Menge darf nicht kleiner als %1$s sein" + +msgid "Stock entry successfully updated" +msgstr "Bestandseintrag wurde erfolgreich aktualisiert" + +msgid "Edit stock entry" +msgstr "Bestandseintrag bearbeiten" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" +"Der Kamerazugriff ist nur möglich, wenn dein Browser dies unterstützt und " +"zulässt und wenn auf grocy über eine sichere Verbindung (https://) " +"zugegriffen wird" + +msgid "Keep screen on" +msgstr "Bildschirm eingeschaltet lassen" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "" +"Bildschirm eingeschaltet lassen während eine \"fullscreen-card\" angezeigt " +"wird" + +msgid "A purchased date is required" +msgstr "Ein Einkaufsdatum ist erforderlich" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" +"Wenn ein Produkt ausgewählt ist, wird beim Verbrauch dieses Rezeptes eine " +"Einheit (pro Portion in Einkaufsmengeneinheit) dem Bestand hinzugefügt" + +msgid "Produces product" +msgstr "Produziertes Produkt" + +msgid "This booking cannot be undone" +msgstr "Die Buchung kann nicht rückgängig gemacht werden" + +msgid "Booking does not exist or was already undone" +msgstr "Buchung existiert nicht oder wurde bereits rückgängig gemacht" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "API key \"%s\" wirklich löschen?" + +msgid "Add note" +msgstr "Notiz hinzufügen" + +msgid "Add note to %s" +msgstr "Notiz zu %s hinzufügen" + +msgid "per day" +msgstr "pro Tag" + +msgid "Compact view" +msgstr "Kompakte Ansicht" + +msgid "Normal view" +msgstr "Normale Ansicht" + +msgid "Only undone items" +msgstr "Nur unerledigte Einträge" + +msgid "Add product" +msgstr "Produkt hinzufügen" + +msgid "Add product to %s" +msgstr "Produkt zu %s hinzufügen" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" +"Alle Zutaten, die diese Woche von Rezepten oder Produkten benötigt werden, " +"aus dem Bestand entfernen" + +msgid "Meal plan recipe" +msgstr "Speiseplan Rezept" + +msgid "Meal plan note" +msgstr "Speiseplan Notiz" + +msgid "Meal plan product" +msgstr "Speiseplan Produkt" + +msgid "Scan mode" +msgstr "Scan-Modus" + +msgid "on" +msgstr "an" + +msgid "off" +msgstr "aus" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" +"Scan-Modus ist eingeschaltet, aber nicht alle erforderlichen Felder konnten " +"automatisch ausgefüllt werden" + +msgid "Is freezer" +msgstr "Ist ein Gefrier-Standort (also z. B. ein Gefrierschrank)" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" +"Beim Umlagen von Produkten von/zu einem Gefrier-Standort wird das " +"Mindesthaltbarkeitsdatum der Produkte automatisch entsprechend den " +"Produkteinstellungen angepasst" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" +"Wenn dieses Produkt zu einem Gefrier-Standort umgelagert (sprich " +"eingefroren) wird, wird das Mindesthaltbarkeitsdatum durch heute + diese " +"Anzahl von Tagen ersetzt" + +msgid "Default best before days after freezing" +msgstr "Standard Haltbartkeit in Tagen nach dem Einfrieren" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" +"Wenn dieses Produkt von einem Gefrier-Standort umgelagert (sprich aufgetaut)" +" wird, wird das Mindesthaltbarkeitsdatum durch heute + diese Anzahl von " +"Tagen ersetzt" + +msgid "Default best before days after thawing" +msgstr "Standard Haltbartkeit in Tagen nach dem Auftauen" + +msgid "This cannot be the same as the \"From\" location" +msgstr "Dies kann nicht derselbe Standort wie \"Von Standort\" sein" + +msgid "Thawed" +msgstr "Aufgetaut" + +msgid "Frozen" +msgstr "Eingefroren" diff --git a/localization/en_GB/chore_assignment_types.po b/localization/en_GB/chore_assignment_types.po index cacd1f2f..c21980f8 100644 --- a/localization/en_GB/chore_assignment_types.po +++ b/localization/en_GB/chore_assignment_types.po @@ -1,3 +1,5 @@ +# Translators: +# Jonathan Adams , 2020 # msgid "" msgstr "" @@ -5,6 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-09-17 10:45+0000\n" +"Last-Translator: Jonathan Adams , 2020\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/grocy/teams/93189/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,13 +17,13 @@ msgstr "" "X-Domain: grocy/chore_assignment_types\n" msgid "no-assignment" -msgstr "" +msgstr "no-assignment" msgid "who-least-did-first" -msgstr "" +msgstr "who-least-did-first" msgid "random" -msgstr "" +msgstr "random" msgid "in-alphabetical-order" -msgstr "" +msgstr "in-alphabetical-order" diff --git a/localization/en_GB/chore_period_types.po b/localization/en_GB/chore_period_types.po index 2f17bcfd..91d5d29b 100644 --- a/localization/en_GB/chore_period_types.po +++ b/localization/en_GB/chore_period_types.po @@ -1,3 +1,5 @@ +# Translators: +# Jonathan Adams , 2020 # msgid "" msgstr "" @@ -5,6 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" +"Last-Translator: Jonathan Adams , 2020\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/grocy/teams/93189/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,19 +17,19 @@ msgstr "" "X-Domain: grocy/chore_types\n" msgid "manually" -msgstr "" +msgstr "manually" msgid "dynamic-regular" -msgstr "" +msgstr "dynamic-regular" msgid "daily" -msgstr "" +msgstr "daily" msgid "weekly" -msgstr "" +msgstr "weekly" msgid "monthly" -msgstr "" +msgstr "monthly" msgid "yearly" -msgstr "" +msgstr "yearly" diff --git a/localization/en_GB/demo_data.po b/localization/en_GB/demo_data.po index a86d5ade..1e14cf03 100644 --- a/localization/en_GB/demo_data.po +++ b/localization/en_GB/demo_data.po @@ -1,3 +1,5 @@ +# Translators: +# Jonathan Adams , 2020 # msgid "" msgstr "" @@ -5,6 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" +"Last-Translator: Jonathan Adams , 2020\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/grocy/teams/93189/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,314 +17,323 @@ msgstr "" "X-Domain: grocy/demo_data\n" msgid "Cookies" -msgstr "" +msgstr "Cookies" msgid "Chocolate" -msgstr "" +msgstr "Chocolate" msgid "Pantry" -msgstr "" +msgstr "Pantry" msgid "Candy cupboard" -msgstr "" +msgstr "Candy cupboard" msgid "Tinned food cupboard" -msgstr "" +msgstr "Tinned food cupboard" msgid "Fridge" -msgstr "" +msgstr "Fridge" msgid "Piece" msgid_plural "Pieces" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Piece" +msgstr[1] "Pieces" msgid "Pack" msgid_plural "Packs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Pack" +msgstr[1] "Packs" msgid "Glass" msgid_plural "Glasses" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Glass" +msgstr[1] "Glasses" msgid "Tin" msgid_plural "Tins" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Tin" +msgstr[1] "Tins" msgid "Can" msgid_plural "Cans" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Can" +msgstr[1] "Cans" msgid "Bunch" msgid_plural "Bunches" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Bunch" +msgstr[1] "Bunches" msgid "Gummy bears" -msgstr "" +msgstr "Gummy bears" msgid "Crisps" -msgstr "" +msgstr "Crisps" msgid "Eggs" -msgstr "" +msgstr "Eggs" msgid "Noodles" -msgstr "" +msgstr "Noodles" msgid "Pickles" -msgstr "" +msgstr "Pickles" msgid "Gulash soup" -msgstr "" +msgstr "Gulash soup" msgid "Yogurt" -msgstr "" +msgstr "Yogurt" msgid "Cheese" -msgstr "" +msgstr "Cheese" msgid "Cold cuts" -msgstr "" +msgstr "Cold cuts" msgid "Paprika" -msgstr "" +msgstr "Paprika" msgid "Cucumber" -msgstr "" +msgstr "Cucumber" msgid "Radish" -msgstr "" +msgstr "Radish" msgid "Tomato" -msgstr "" +msgstr "Tomato" msgid "Changed towels in the bathroom" -msgstr "" +msgstr "Changed towels in the bathroom" msgid "Cleaned the kitchen floor" -msgstr "" +msgstr "Cleaned the kitchen floor" msgid "Warranty ends" -msgstr "" +msgstr "Warranty ends" msgid "TV remote control" -msgstr "" +msgstr "TV remote control" msgid "Alarm clock" -msgstr "" +msgstr "Alarm clock" msgid "Heat remote control" -msgstr "" +msgstr "Heat remote control" msgid "Lawn mowed in the garden" -msgstr "" +msgstr "Lawn mowed in the garden" msgid "Some good snacks" -msgstr "" +msgstr "Some good snacks" msgid "Pizza dough" -msgstr "" +msgstr "Pizza dough" msgid "Sieved tomatoes" -msgstr "" +msgstr "Sieved tomatoes" msgid "Salami" -msgstr "" +msgstr "Salami" msgid "Toast" -msgstr "" +msgstr "Toast" msgid "Minced meat" -msgstr "" +msgstr "Minced meat" msgid "Pizza" -msgstr "" +msgstr "Pizza" msgid "Spaghetti bolognese" -msgstr "" +msgstr "Spaghetti bolognese" msgid "Sandwiches" -msgstr "" +msgstr "Sandwiches" msgid "English" -msgstr "" +msgstr "English" msgid "German" -msgstr "" +msgstr "German" msgid "Italian" -msgstr "" +msgstr "Italian" msgid "This is the note content of the recipe ingredient" -msgstr "" +msgstr "This is the note content of the recipe ingredient" msgid "Demo User" -msgstr "" +msgstr "Demo User" msgid "Gram" msgid_plural "Grams" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Gram" +msgstr[1] "Grams" msgid "Flour" -msgstr "" +msgstr "Flour" msgid "Pancakes" -msgstr "" +msgstr "Pancakes" msgid "Sugar" -msgstr "" +msgstr "Sugar" msgid "Home" -msgstr "" +msgstr "Home" msgid "Life" -msgstr "" +msgstr "Life" msgid "Projects" -msgstr "" +msgstr "Projects" msgid "Repair the garage door" -msgstr "" +msgstr "Repair the garage door" msgid "Fork and improve grocy" -msgstr "" +msgstr "Fork and improve grocy" msgid "Find a solution for what to do when I forget the door keys" -msgstr "" +msgstr "Find a solution for what to do when I forget the door keys" msgid "Sweets" -msgstr "" +msgstr "Sweets" msgid "Bakery products" -msgstr "" +msgstr "Bakery products" msgid "Tinned food" -msgstr "" +msgstr "Tinned food" msgid "Butchery products" -msgstr "" +msgstr "Butchery products" msgid "Vegetables/Fruits" -msgstr "" +msgstr "Vegetables/Fruits" msgid "Refrigerated products" -msgstr "" +msgstr "Refrigerated products" msgid "Coffee machine" -msgstr "" +msgstr "Coffee machine" msgid "Dishwasher" -msgstr "" +msgstr "Dishwasher" msgid "Liter" -msgstr "" +msgstr "Liter" msgid "Liters" -msgstr "" +msgstr "Liters" msgid "Bottle" -msgstr "" +msgstr "Bottle" msgid "Bottles" -msgstr "" +msgstr "Bottles" msgid "Milk" -msgstr "" +msgstr "Milk" msgid "Chocolate sauce" -msgstr "" +msgstr "Chocolate sauce" msgid "Milliliters" -msgstr "" +msgstr "Milliliters" msgid "Milliliter" -msgstr "" +msgstr "Milliliter" msgid "Bottom" -msgstr "" +msgstr "Bottom" msgid "Topping" -msgstr "" +msgstr "Topping" msgid "French" -msgstr "" +msgstr "French" msgid "Turkish" -msgstr "" +msgstr "Turkish" msgid "Spanish" -msgstr "" +msgstr "Spanish" msgid "Russian" -msgstr "" +msgstr "Russian" msgid "The thing which happens on the 5th of every month" -msgstr "" +msgstr "The thing which happens on the 5th of every month" msgid "The thing which happens daily" -msgstr "" +msgstr "The thing which happens daily" msgid "The thing which happens on Mondays and Wednesdays" -msgstr "" +msgstr "The thing which happens on Mondays and Wednesdays" msgid "Swedish" -msgstr "" +msgstr "Swedish" msgid "Polish" -msgstr "" +msgstr "Polish" msgid "Milk Chocolate" -msgstr "" +msgstr "Milk Chocolate" msgid "Dark Chocolate" -msgstr "" +msgstr "Dark Chocolate" msgid "Slice" msgid_plural "Slices" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Slice" +msgstr[1] "Slices" msgid "Example userentity" -msgstr "" +msgstr "Example userentity" msgid "This is an example user entity..." -msgstr "" +msgstr "This is an example user entity..." msgid "Custom field" -msgstr "" +msgstr "Custom field" msgid "Example field value..." -msgstr "" +msgstr "Example field value..." msgid "Waffle rolls" -msgstr "" +msgstr "Waffle rolls" msgid "Danish" -msgstr "" +msgstr "Danish" msgid "Dutch" -msgstr "" +msgstr "Dutch" msgid "Norwegian" -msgstr "" +msgstr "Norwegian" msgid "Demo" -msgstr "" +msgstr "Demo" msgid "Stable version" -msgstr "" +msgstr "Stable version" msgid "Preview version" -msgstr "" +msgstr "Preview version" msgid "current release" -msgstr "" +msgstr "current release" msgid "not yet released" +msgstr "not yet released" + +msgid "Portuguese (Brazil)" +msgstr "Portuguese (Brazil)" + +msgid "This is a note" +msgstr "" + +msgid "Freezer" msgstr "" diff --git a/localization/en_GB/stock_transaction_types.po b/localization/en_GB/stock_transaction_types.po index a9d88a61..22036d36 100644 --- a/localization/en_GB/stock_transaction_types.po +++ b/localization/en_GB/stock_transaction_types.po @@ -1,3 +1,5 @@ +# Translators: +# Jonathan Adams , 2020 # msgid "" msgstr "" @@ -5,6 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" +"Last-Translator: Jonathan Adams , 2020\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/grocy/teams/93189/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,13 +17,28 @@ msgstr "" "X-Domain: grocy/stock_transaction_types\n" msgid "purchase" -msgstr "" +msgstr "purchase" + +msgid "transfer_from" +msgstr "transfer_from" + +msgid "transfer_to" +msgstr "transfer_to" msgid "consume" -msgstr "" +msgstr "consume" msgid "inventory-correction" -msgstr "" +msgstr "inventory-correction" msgid "product-opened" +msgstr "product-opened" + +msgid "stock-edit-old" +msgstr "stock-edit-old" + +msgid "stock-edit-new" +msgstr "stock-edit-new" + +msgid "self-production" msgstr "" diff --git a/localization/en_GB/strings.po b/localization/en_GB/strings.po index a6c18be3..99e607b5 100644 --- a/localization/en_GB/strings.po +++ b/localization/en_GB/strings.po @@ -1,3 +1,5 @@ +# Translators: +# Jonathan Adams , 2020 # msgid "" msgstr "" @@ -5,6 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" +"Last-Translator: Jonathan Adams , 2020\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/grocy/teams/93189/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,999 +17,1019 @@ msgstr "" "X-Domain: grocy/strings\n" msgid "Stock overview" -msgstr "" +msgstr "Stock overview" msgid "%s product expires" msgid_plural "%s products expiring" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s product expires" +msgstr[1] "%s products expiring" msgid "within the next day" msgid_plural "within the next %s days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "within the next day" +msgstr[1] "within the next %s days" msgid "%s product is already expired" msgid_plural "%s products are already expired" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s product is already expired" +msgstr[1] "%s products are already expired" msgid "%s product is below defined min. stock amount" msgid_plural "%s products are below defined min. stock amount" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s product is below defined min. stock amount" +msgstr[1] "%s products are below defined min. stock amount" msgid "Product" -msgstr "" +msgstr "Product" msgid "%s Product" msgid_plural "%s Products" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s Product" +msgstr[1] "%s Products" msgid "Amount" -msgstr "" +msgstr "Amount" msgid "Next best before date" -msgstr "" +msgstr "Next best before date" msgid "Logout" -msgstr "" +msgstr "Logout" msgid "Chores overview" -msgstr "" +msgstr "Chores overview" msgid "Batteries overview" -msgstr "" +msgstr "Batteries overview" msgid "Purchase" -msgstr "" +msgstr "Purchase" msgid "Consume" -msgstr "" +msgstr "Consume" msgid "Inventory" -msgstr "" +msgstr "Inventory" msgid "Shopping list" -msgstr "" +msgstr "Shopping list" msgid "Chore tracking" -msgstr "" +msgstr "Chore tracking" msgid "Battery tracking" -msgstr "" +msgstr "Battery tracking" msgid "Locations" -msgstr "" +msgstr "Locations" msgid "Quantity units" -msgstr "" +msgstr "Quantity units" msgid "Chores" -msgstr "" +msgstr "Chores" msgid "Batteries" -msgstr "" +msgstr "Batteries" msgid "Chore" -msgstr "" +msgstr "Chore" msgid "Next estimated tracking" -msgstr "" +msgstr "Next estimated tracking" msgid "Last tracked" -msgstr "" +msgstr "Last tracked" msgid "Battery" -msgstr "" +msgstr "Battery" msgid "Last charged" -msgstr "" +msgstr "Last charged" msgid "Next planned charge cycle" -msgstr "" +msgstr "Next planned charge cycle" msgid "Best before" -msgstr "" +msgstr "Best before" msgid "OK" -msgstr "" +msgstr "OK" msgid "Product overview" -msgstr "" +msgstr "Product overview" msgid "Stock quantity unit" -msgstr "" +msgstr "Stock quantity unit" msgid "Stock amount" -msgstr "" +msgstr "Stock amount" msgid "Last purchased" -msgstr "" +msgstr "Last purchased" msgid "Last used" -msgstr "" +msgstr "Last used" msgid "Spoiled" -msgstr "" +msgstr "Spoiled" msgid "Barcode lookup is disabled" -msgstr "" +msgstr "Barcode lookup is disabled" msgid "" "will be added to the list of barcodes for the selected product on submit" msgstr "" +"will be added to the list of barcodes for the selected product on submit" msgid "New amount" -msgstr "" +msgstr "New amount" msgid "Note" -msgstr "" +msgstr "Note" msgid "Tracked time" -msgstr "" +msgstr "Tracked time" msgid "Chore overview" -msgstr "" +msgstr "Chore overview" msgid "Tracked count" -msgstr "" +msgstr "Tracked count" msgid "Battery overview" -msgstr "" +msgstr "Battery overview" msgid "Charge cycles count" -msgstr "" +msgstr "Charge cycles count" msgid "Create shopping list item" -msgstr "" +msgstr "Create shopping list item" msgid "Edit shopping list item" -msgstr "" +msgstr "Edit shopping list item" msgid "Save" -msgstr "" +msgstr "Save" msgid "Add" -msgstr "" +msgstr "Add" msgid "Name" -msgstr "" +msgstr "Name" msgid "Location" -msgstr "" +msgstr "Location" msgid "Min. stock amount" -msgstr "" +msgstr "Min. stock amount" msgid "QU purchase" -msgstr "" +msgstr "QU purchase" msgid "QU stock" -msgstr "" +msgstr "QU stock" msgid "QU factor" -msgstr "" +msgstr "QU factor" msgid "Description" -msgstr "" +msgstr "Description" msgid "Create product" -msgstr "" +msgstr "Create product" msgid "Barcode(s)" -msgstr "" +msgstr "Barcode(s)" msgid "Minimum stock amount" -msgstr "" +msgstr "Minimum stock amount" msgid "Default best before days" -msgstr "" +msgstr "Default best before days" msgid "Quantity unit purchase" -msgstr "" +msgstr "Quantity unit purchase" msgid "Quantity unit stock" -msgstr "" +msgstr "Quantity unit stock" msgid "Factor purchase to stock quantity unit" -msgstr "" +msgstr "Factor purchase to stock quantity unit" msgid "Create location" -msgstr "" +msgstr "Create location" msgid "Create quantity unit" -msgstr "" +msgstr "Create quantity unit" msgid "Period type" -msgstr "" +msgstr "Period type" msgid "Period days" -msgstr "" +msgstr "Period days" msgid "Create chore" -msgstr "" +msgstr "Create chore" msgid "Used in" -msgstr "" +msgstr "Used in" msgid "Create battery" -msgstr "" +msgstr "Create battery" msgid "Edit battery" -msgstr "" +msgstr "Edit battery" msgid "Edit chore" -msgstr "" +msgstr "Edit chore" msgid "Edit quantity unit" -msgstr "" +msgstr "Edit quantity unit" msgid "Edit product" -msgstr "" +msgstr "Edit product" msgid "Edit location" -msgstr "" +msgstr "Edit location" msgid "Record data" -msgstr "" +msgstr "Record data" msgid "Manage master data" -msgstr "" +msgstr "Manage master data" msgid "This will apply to added products" -msgstr "" +msgstr "This will apply to added products" msgid "never" -msgstr "" +msgstr "never" msgid "Add products that are below defined min. stock amount" -msgstr "" +msgstr "Add products that are below defined min. stock amount" msgid "" "For purchases this amount of days will be added to today for the best before" " date suggestion" msgstr "" +"For purchases this amount of days will be added to today for the best before" +" date suggestion" msgid "This means 1 %1$s purchased will be converted into %2$s %3$s in stock" -msgstr "" +msgstr "This means 1 %1$s purchased will be converted into %2$s %3$s in stock" msgid "Login" -msgstr "" +msgstr "Login" msgid "Username" -msgstr "" +msgstr "Username" msgid "Password" -msgstr "" +msgstr "Password" msgid "Invalid credentials, please try again" -msgstr "" +msgstr "Invalid credentials, please try again" msgid "Are you sure to delete battery \"%s\"?" -msgstr "" +msgstr "Are you sure to delete battery \"%s\"?" msgid "Yes" -msgstr "" +msgstr "Yes" msgid "No" -msgstr "" +msgstr "No" msgid "Are you sure to delete chore \"%s\"?" -msgstr "" +msgstr "Are you sure to delete chore \"%s\"?" msgid "\"%s\" could not be resolved to a product, how do you want to proceed?" -msgstr "" +msgstr "\"%s\" could not be resolved to a product, how do you want to proceed?" msgid "Create or assign product" -msgstr "" +msgstr "Create or assign product" msgid "Cancel" -msgstr "" +msgstr "Cancel" msgid "Add as new product" -msgstr "" +msgstr "Add as new product" msgid "Add as barcode to existing product" -msgstr "" +msgstr "Add as barcode to existing product" msgid "Add as new product and prefill barcode" -msgstr "" +msgstr "Add as new product and prefill barcode" msgid "Are you sure to delete quantity unit \"%s\"?" -msgstr "" +msgstr "Are you sure to delete quantity unit \"%s\"?" msgid "Are you sure to delete product \"%s\"?" -msgstr "" +msgstr "Are you sure to delete product \"%s\"?" msgid "Are you sure to delete location \"%s\"?" -msgstr "" +msgstr "Are you sure to delete location \"%s\"?" msgid "Manage API keys" -msgstr "" +msgstr "Manage API keys" msgid "REST API & data model documentation" -msgstr "" +msgstr "REST API & data model documentation" msgid "API keys" -msgstr "" +msgstr "API keys" msgid "Create new API key" -msgstr "" +msgstr "Create new API key" msgid "API key" -msgstr "" +msgstr "API key" msgid "Expires" -msgstr "" +msgstr "Expires" msgid "Created" -msgstr "" +msgstr "Created" msgid "This product is not in stock" -msgstr "" +msgstr "This product is not in stock" msgid "This means %s will be added to stock" -msgstr "" +msgstr "This means %s will be added to stock" msgid "This means %s will be removed from stock" -msgstr "" +msgstr "This means %s will be removed from stock" msgid "" "This means the next execution of this chore is scheduled %s days after the " "last execution" msgstr "" +"This means the next execution of this chore is scheduled %s days after the " +"last execution" msgid "Removed %1$s of %2$s from stock" -msgstr "" +msgstr "Removed %1$s of %2$s from stock" msgid "About grocy" -msgstr "" +msgstr "About grocy" msgid "Close" -msgstr "" +msgstr "Close" msgid "Released on" -msgstr "" +msgstr "Released on" msgid "Added %1$s of %2$s to stock" -msgstr "" +msgstr "Added %1$s of %2$s to stock" msgid "Stock amount of %1$s is now %2$s" -msgstr "" +msgstr "Stock amount of %1$s is now %2$s" msgid "Tracked execution of chore %1$s on %2$s" -msgstr "" +msgstr "Tracked execution of chore %1$s on %2$s" msgid "Tracked charge cycle of battery %1$s on %2$s" -msgstr "" +msgstr "Tracked charge cycle of battery %1$s on %2$s" msgid "Consume all %s which are currently in stock" -msgstr "" +msgstr "Consume all %s which are currently in stock" msgid "All" -msgstr "" +msgstr "All" msgid "Track charge cycle of battery %s" -msgstr "" +msgstr "Track charge cycle of battery %s" msgid "Track execution of chore %s" -msgstr "" +msgstr "Track execution of chore %s" msgid "Filter by location" -msgstr "" +msgstr "Filter by location" msgid "Search" -msgstr "" +msgstr "Search" msgid "Not logged in" -msgstr "" +msgstr "Not logged in" msgid "You have to select a product" -msgstr "" +msgstr "You have to select a product" msgid "You have to select a chore" -msgstr "" +msgstr "You have to select a chore" msgid "You have to select a battery" -msgstr "" +msgstr "You have to select a battery" msgid "A name is required" -msgstr "" +msgstr "A name is required" msgid "A location is required" -msgstr "" +msgstr "A location is required" msgid "The amount cannot be lower than %s" -msgstr "" +msgstr "The amount cannot be lower than %s" msgid "This cannot be negative" -msgstr "" +msgstr "This cannot be negative" msgid "A quantity unit is required" -msgstr "" +msgstr "A quantity unit is required" msgid "A period type is required" -msgstr "" +msgstr "A period type is required" msgid "A best before date is required" -msgstr "" +msgstr "A best before date is required" msgid "Settings" -msgstr "" +msgstr "Settings" msgid "This can only be before now" -msgstr "" +msgstr "This can only be before now" msgid "Calendar" -msgstr "" +msgstr "Calendar" msgid "Recipes" -msgstr "" +msgstr "Recipes" msgid "Edit recipe" -msgstr "" +msgstr "Edit recipe" msgid "New recipe" -msgstr "" +msgstr "New recipe" msgid "Ingredients list" -msgstr "" +msgstr "Ingredients list" msgid "Add recipe ingredient" -msgstr "" +msgstr "Add recipe ingredient" msgid "Edit recipe ingredient" -msgstr "" +msgstr "Edit recipe ingredient" msgid "Are you sure to delete recipe \"%s\"?" -msgstr "" +msgstr "Are you sure to delete recipe \"%s\"?" msgid "Are you sure to delete recipe ingredient \"%s\"?" -msgstr "" +msgstr "Are you sure to delete recipe ingredient \"%s\"?" msgid "Are you sure to empty shopping list \"%s\"?" -msgstr "" +msgstr "Are you sure to empty shopping list \"%s\"?" msgid "Clear list" -msgstr "" +msgstr "Clear list" msgid "Requirements fulfilled" -msgstr "" +msgstr "Requirements fulfilled" msgid "Put missing products on shopping list" -msgstr "" +msgstr "Put missing products on shopping list" msgid "Enough in stock" -msgstr "" +msgstr "Enough in stock" msgid "" "Not enough in stock, %s ingredient missing but already on the shopping list" msgid_plural "" "Not enough in stock, %s ingredients missing but already on the shopping list" msgstr[0] "" +"Not enough in stock, %s ingredient missing but already on the shopping list" msgstr[1] "" +"Not enough in stock, %s ingredients missing but already on the shopping list" msgid "Expand to fullscreen" -msgstr "" +msgstr "Expand to fullscreen" msgid "Ingredients" -msgstr "" +msgstr "Ingredients" msgid "Preparation" -msgstr "" +msgstr "Preparation" msgid "Recipe" -msgstr "" +msgstr "Recipe" msgid "Not enough in stock, %1$s missing, %2$s already on shopping list" -msgstr "" +msgstr "Not enough in stock, %1$s missing, %2$s already on shopping list" msgid "Show notes" -msgstr "" +msgstr "Show notes" msgid "Put missing amount on shopping list" -msgstr "" +msgstr "Put missing amount on shopping list" msgid "" "Are you sure to put all missing ingredients for recipe \"%s\" on the " "shopping list?" msgstr "" +"Are you sure to put all missing ingredients for recipe \"%s\" on the " +"shopping list?" msgid "Added for recipe %s" -msgstr "" +msgstr "Added for recipe %s" msgid "Manage users" -msgstr "" +msgstr "Manage users" msgid "User" -msgstr "" +msgstr "User" msgid "Users" -msgstr "" +msgstr "Users" msgid "Are you sure to delete user \"%s\"?" -msgstr "" +msgstr "Are you sure to delete user \"%s\"?" msgid "Create user" -msgstr "" +msgstr "Create user" msgid "Edit user" -msgstr "" +msgstr "Edit user" msgid "First name" -msgstr "" +msgstr "First name" msgid "Last name" -msgstr "" +msgstr "Last name" msgid "A username is required" -msgstr "" +msgstr "A username is required" msgid "Confirm password" -msgstr "" +msgstr "Confirm password" msgid "Passwords do not match" -msgstr "" +msgstr "Passwords do not match" msgid "Change password" -msgstr "" +msgstr "Change password" msgid "Done by" -msgstr "" +msgstr "Done by" msgid "Last done by" -msgstr "" +msgstr "Last done by" msgid "Unknown" -msgstr "" +msgstr "Unknown" msgid "Filter by chore" -msgstr "" +msgstr "Filter by chore" msgid "Chores journal" -msgstr "" +msgstr "Chores journal" msgid "0 means suggestions for the next charge cycle are disabled" -msgstr "" +msgstr "0 means suggestions for the next charge cycle are disabled" msgid "Charge cycle interval (days)" -msgstr "" +msgstr "Charge cycle interval (days)" msgid "Last price" -msgstr "" +msgstr "Last price" msgid "Price history" -msgstr "" +msgstr "Price history" msgid "No price history available" -msgstr "" +msgstr "No price history available" msgid "Price" -msgstr "" +msgstr "Price" msgid "in %s per purchase quantity unit" -msgstr "" +msgstr "in %s per purchase quantity unit" msgid "The price cannot be lower than %s" -msgstr "" +msgstr "The price cannot be lower than %s" msgid "Unit" -msgstr "" +msgstr "Unit" msgid "%s Unit" msgid_plural "%s Units" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s Unit" +msgstr[1] "%s Units" msgid "%s chore is due to be done" msgid_plural "%s chores are due to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s chore is due to be done" +msgstr[1] "%s chores are due to be done" msgid "%s chore is overdue to be done" msgid_plural "%s chores are overdue to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s chore is overdue to be done" +msgstr[1] "%s chores are overdue to be done" msgid "%s battery is due to be charged" msgid_plural "%s batteries are due to be charged" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s battery is due to be charged" +msgstr[1] "%s batteries are due to be charged" msgid "%s battery is overdue to be charged" msgid_plural "%s batteries are overdue to be charged" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s battery is overdue to be charged" +msgstr[1] "%s batteries are overdue to be charged" msgid "in singular form" -msgstr "" +msgstr "in singular form" msgid "Never expires" -msgstr "" +msgstr "Never expires" msgid "This cannot be lower than %s" -msgstr "" +msgstr "This cannot be lower than %s" msgid "-1 means that this product never expires" -msgstr "" +msgstr "-1 means that this product never expires" msgid "Quantity unit" -msgstr "" +msgstr "Quantity unit" msgid "" "Only check if a single unit is in stock (a different quantity can then be " "used above)" msgstr "" +"Only check if a single unit is in stock (a different quantity can then be " +"used above)" msgid "" "Are you sure to consume all ingredients needed by recipe \"%s\" (ingredients" " marked with \"check only if a single unit is in stock\" will be ignored)?" msgstr "" +"Are you sure to consume all ingredients needed by recipe \"%s\" (ingredients" +" marked with \"check only if a single unit is in stock\" will be ignored)?" msgid "Removed all ingredients of recipe \"%s\" from stock" -msgstr "" +msgstr "Removed all ingredients of recipe \"%s\" from stock" msgid "Consume all ingredients needed by this recipe" -msgstr "" +msgstr "Consume all ingredients needed by this recipe" msgid "Click to show technical details" -msgstr "" +msgstr "Click to show technical details" msgid "Error while saving, probably this item already exists" -msgstr "" +msgstr "Error while saving, probably this item already exists" msgid "Error details" -msgstr "" +msgstr "Error details" msgid "Tasks" -msgstr "" +msgstr "Tasks" msgid "Show done tasks" -msgstr "" +msgstr "Show done tasks" msgid "Task" -msgstr "" +msgstr "Task" msgid "Due" -msgstr "" +msgstr "Due" msgid "Assigned to" -msgstr "" +msgstr "Assigned to" msgid "Mark task \"%s\" as completed" -msgstr "" +msgstr "Mark task \"%s\" as completed" msgid "Uncategorized" -msgstr "" +msgstr "Uncategorized" msgid "Task categories" -msgstr "" +msgstr "Task categories" msgid "Create task" -msgstr "" +msgstr "Create task" msgid "A due date is required" -msgstr "" +msgstr "A due date is required" msgid "Category" -msgstr "" +msgstr "Category" msgid "Edit task" -msgstr "" +msgstr "Edit task" msgid "Are you sure to delete task \"%s\"?" -msgstr "" +msgstr "Are you sure to delete task \"%s\"?" msgid "%s task is due to be done" msgid_plural "%s tasks are due to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s task is due to be done" +msgstr[1] "%s tasks are due to be done" msgid "%s task is overdue to be done" msgid_plural "%s tasks are overdue to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s task is overdue to be done" +msgstr[1] "%s tasks are overdue to be done" msgid "Edit task category" -msgstr "" +msgstr "Edit task category" msgid "Create task category" -msgstr "" +msgstr "Create task category" msgid "Product groups" -msgstr "" +msgstr "Product groups" msgid "Ungrouped" -msgstr "" +msgstr "Ungrouped" msgid "Create product group" -msgstr "" +msgstr "Create product group" msgid "Edit product group" -msgstr "" +msgstr "Edit product group" msgid "Product group" -msgstr "" +msgstr "Product group" msgid "Are you sure to delete product group \"%s\"?" -msgstr "" +msgstr "Are you sure to delete product group \"%s\"?" msgid "Stay logged in permanently" -msgstr "" +msgstr "Stay logged in permanently" msgid "When not set, you will get logged out at latest after 30 days" -msgstr "" +msgstr "When not set, you will get logged out at latest after 30 days" msgid "Filter by status" -msgstr "" +msgstr "Filter by status" msgid "Below min. stock amount" -msgstr "" +msgstr "Below min. stock amount" msgid "Expiring soon" -msgstr "" +msgstr "Expiring soon" msgid "Already expired" -msgstr "" +msgstr "Already expired" msgid "Due soon" -msgstr "" +msgstr "Due soon" msgid "Overdue" -msgstr "" +msgstr "Overdue" msgid "View settings" -msgstr "" +msgstr "View settings" msgid "Auto reload on external changes" -msgstr "" +msgstr "Auto reload on external changes" msgid "Enable night mode" -msgstr "" +msgstr "Enable night mode" msgid "Auto enable in time range" -msgstr "" +msgstr "Auto enable in time range" msgid "From" -msgstr "" +msgstr "From" msgid "in format" -msgstr "" +msgstr "in format" msgid "To" -msgstr "" +msgstr "To" msgid "Time range goes over midnight" -msgstr "" +msgstr "Time range goes over midnight" msgid "Product picture" -msgstr "" +msgstr "Product picture" msgid "No file selected" -msgstr "" +msgstr "No file selected" msgid "If you don't select a file, the current picture will not be altered" -msgstr "" +msgstr "If you don't select a file, the current picture will not be altered" msgid "Delete" -msgstr "" +msgstr "Delete" msgid "The current picture will be deleted when you save the product" -msgstr "" +msgstr "The current picture will be deleted when you save the product" msgid "Select file" -msgstr "" +msgstr "Select file" msgid "Image of product %s" -msgstr "" +msgstr "Image of product %s" msgid "" "This product cannot be deleted because it is in stock, please remove the " "stock amount first." msgstr "" +"This product cannot be deleted because it is in stock, please remove the " +"stock amount first." msgid "Delete not possible" -msgstr "" +msgstr "Delete not possible" msgid "Equipment" -msgstr "" +msgstr "Equipment" msgid "Instruction manual" -msgstr "" +msgstr "Instruction manual" msgid "The selected equipment has no instruction manual" -msgstr "" +msgstr "The selected equipment has no instruction manual" msgid "Notes" -msgstr "" +msgstr "Notes" msgid "Edit equipment" -msgstr "" +msgstr "Edit equipment" msgid "Create equipment" -msgstr "" +msgstr "Create equipment" msgid "" "If you don't select a file, the current instruction manual will not be " "altered" msgstr "" +"If you don't select a file, the current instruction manual will not be " +"altered" msgid "No instruction manual available" -msgstr "" +msgstr "No instruction manual available" msgid "" "The current instruction manual will be deleted when you save the equipment" msgstr "" +"The current instruction manual will be deleted when you save the equipment" msgid "No picture available" -msgstr "" +msgstr "No picture available" msgid "Filter by product group" -msgstr "" +msgstr "Filter by product group" msgid "Presets for new products" -msgstr "" +msgstr "Presets for new products" msgid "Included recipes" -msgstr "" +msgstr "Included recipes" msgid "A recipe is required" -msgstr "" +msgstr "A recipe is required" msgid "Add included recipe" -msgstr "" +msgstr "Add included recipe" msgid "Edit included recipe" -msgstr "" +msgstr "Edit included recipe" msgid "Group" -msgstr "" +msgstr "Group" msgid "This will be used as a headline to group ingredients together" -msgstr "" +msgstr "This will be used as a headline to group ingredients together" msgid "Journal" -msgstr "" +msgstr "Journal" msgid "Stock journal" -msgstr "" +msgstr "Stock journal" msgid "Filter by product" -msgstr "" +msgstr "Filter by product" msgid "Booking time" -msgstr "" +msgstr "Booking time" msgid "Booking type" -msgstr "" +msgstr "Booking type" msgid "Undo booking" -msgstr "" +msgstr "Undo booking" msgid "Undone on" -msgstr "" +msgstr "Undone on" msgid "Batteries journal" -msgstr "" +msgstr "Batteries journal" msgid "Filter by battery" -msgstr "" +msgstr "Filter by battery" msgid "Undo charge cycle" -msgstr "" +msgstr "Undo charge cycle" msgid "Undo chore execution" -msgstr "" +msgstr "Undo chore execution" msgid "Chore execution successfully undone" -msgstr "" +msgstr "Chore execution successfully undone" msgid "Undo" -msgstr "" +msgstr "Undo" msgid "Booking successfully undone" -msgstr "" +msgstr "Booking successfully undone" msgid "Charge cycle successfully undone" -msgstr "" +msgstr "Charge cycle successfully undone" msgid "This cannot be negative and must be an integral number" -msgstr "" +msgstr "This cannot be negative and must be an integral number" msgid "Disable stock fulfillment checking for this ingredient" -msgstr "" +msgstr "Disable stock fulfillment checking for this ingredient" msgid "Add all list items to stock" -msgstr "" +msgstr "Add all list items to stock" msgid "Add %1$s of %2$s to stock" -msgstr "" +msgstr "Add %1$s of %2$s to stock" msgid "Adding shopping list item %1$s of %2$s" -msgstr "" +msgstr "Adding shopping list item %1$s of %2$s" msgid "Use a specific stock item" -msgstr "" +msgstr "Use a specific stock item" msgid "" "The first item in this list would be picked by the default rule which is " "\"First expiring first, then first in first out\"" msgstr "" +"The first item in this list would be picked by the default rule which is " +"\"First expiring first, then first in first out\"" msgid "Mark %1$s of %2$s as open" -msgstr "" +msgstr "Mark %1$s of %2$s as open" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" msgid "Default best before days after opened" -msgstr "" +msgstr "Default best before days after opened" msgid "Marked %1$s of %2$s as opened" -msgstr "" +msgstr "Marked %1$s of %2$s as opened" msgid "Mark as opened" -msgstr "" - -msgid "Expires on %1$s; Bought on %2$s" -msgstr "" +msgstr "Mark as opened" msgid "Not opened" -msgstr "" +msgstr "Not opened" msgid "Opened" -msgstr "" +msgstr "Opened" msgid "%s opened" -msgstr "" +msgstr "%s opened" msgid "Product expires" -msgstr "" +msgstr "Product expires" msgid "Task due" -msgstr "" +msgstr "Task due" msgid "Chore due" -msgstr "" +msgstr "Chore due" msgid "Battery charge cycle due" -msgstr "" +msgstr "Battery charge cycle due" msgid "Show clock in header" -msgstr "" +msgstr "Show clock in header" msgid "Stock settings" -msgstr "" +msgstr "Stock settings" msgid "Shopping list to stock workflow" -msgstr "" +msgstr "Shopping list to stock workflow" msgid "" "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" msgstr "" +"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" msgid "Skip" -msgstr "" +msgstr "Skip" msgid "Servings" -msgstr "" +msgstr "Servings" msgid "Costs" -msgstr "" +msgstr "Costs" msgid "Based on the prices of the last purchase per product" -msgstr "" +msgstr "Based on the prices of the last purchase per product" msgid "The ingredients listed here result in this amount of servings" -msgstr "" +msgstr "The ingredients listed here result in this amount of servings" msgid "Do not check against the shopping list when adding missing items to it" msgstr "" +"Do not check against the shopping list when adding missing items to it" msgid "" "By default the amount to be added to the shopping list is \"needed amount - " @@ -1014,626 +1037,834 @@ msgid "" "checked against the stock amount, not against what is already on the " "shopping list" msgstr "" +"By default the amount to be added to the shopping list is \"needed amount - " +"stock amount - shopping list amount\" - when this is enabled, it is only " +"checked against the stock amount, not against what is already on the " +"shopping list" msgid "Picture" -msgstr "" +msgstr "Picture" msgid "Uncheck ingredients to not put them on the shopping list" -msgstr "" +msgstr "Uncheck ingredients to not put them on the shopping list" msgid "This is for statistical purposes only" -msgstr "" +msgstr "This is for statistical purposes only" msgid "You have to select a recipe" -msgstr "" +msgstr "You have to select a recipe" msgid "Key type" -msgstr "" +msgstr "Key type" msgid "Share/Integrate calendar (iCal)" -msgstr "" +msgstr "Share/Integrate calendar (iCal)" msgid "" "Use the following (public) URL to share or integrate the calendar in iCal " "format" msgstr "" +"Use the following (public) URL to share or integrate the calendar in iCal " +"format" msgid "Allow partial units in stock" -msgstr "" +msgstr "Allow partial units in stock" msgid "Enable tare weight handling" -msgstr "" +msgstr "Enable tare weight handling" msgid "" "This is useful e.g. for flour in jars - on purchase/consume/inventory you " "always weigh the whole jar, the amount to be posted is then automatically " "calculated based on what is in stock and the tare weight defined below" msgstr "" +"This is useful e.g. for flour in jars - on purchase/consume/inventory you " +"always weigh the whole jar, the amount to be posted is then automatically " +"calculated based on what is in stock and the tare weight defined below" msgid "Tare weight" -msgstr "" +msgstr "Tare weight" msgid "" "Tare weight handling enabled - please weigh the whole container, the amount " "to be posted will be automatically calculcated" msgstr "" +"Tare weight handling enabled - please weigh the whole container, the amount " +"to be posted will be automatically calculcated" msgid "You have to select a location" -msgstr "" +msgstr "You have to select a location" msgid "List" -msgstr "" +msgstr "List" msgid "Gallery" -msgstr "" +msgstr "Gallery" msgid "The current picture will be deleted when you save the recipe" -msgstr "" +msgstr "The current picture will be deleted when you save the recipe" msgid "Show product details" -msgstr "" +msgstr "Show product details" msgid "Stock journal for this product" -msgstr "" +msgstr "Stock journal for this product" msgid "Show chore details" -msgstr "" +msgstr "Show chore details" msgid "Journal for this chore" -msgstr "" +msgstr "Journal for this chore" msgid "Show battery details" -msgstr "" +msgstr "Show battery details" msgid "Journal for this battery" -msgstr "" +msgstr "Journal for this battery" msgid "System info" -msgstr "" +msgstr "System info" msgid "Changelog" -msgstr "" +msgstr "Changelog" msgid "will be multiplied a factor of %1$s to get %2$s" -msgstr "" +msgstr "will be multiplied a factor of %1$s to get %2$s" msgid "The given date is earlier than today, are you sure?" -msgstr "" +msgstr "The given date is earlier than today, are you sure?" msgid "Product count" -msgstr "" +msgstr "Product count" msgid "Type a new product name or barcode and hit TAB to start a workflow" -msgstr "" +msgstr "Type a new product name or barcode and hit TAB to start a workflow" msgid "" "This will be used as the default setting when adding this product as a " "recipe ingredient" msgstr "" +"This will be used as the default setting when adding this product as a " +"recipe ingredient" msgid "Add item" -msgstr "" +msgstr "Add item" msgid "Selected shopping list" -msgstr "" +msgstr "Selected shopping list" msgid "New shopping list" -msgstr "" +msgstr "New shopping list" msgid "Delete shopping list" -msgstr "" +msgstr "Delete shopping list" msgid "Chores settings" -msgstr "" +msgstr "Chores settings" msgid "Batteries settings" -msgstr "" +msgstr "Batteries settings" msgid "Tasks settings" -msgstr "" +msgstr "Tasks settings" msgid "Create shopping list" -msgstr "" +msgstr "Create shopping list" msgid "Are you sure to delete shopping list \"%s\"?" -msgstr "" +msgstr "Are you sure to delete shopping list \"%s\"?" msgid "Average shelf life" -msgstr "" +msgstr "Average shelf life" msgid "Spoil rate" -msgstr "" +msgstr "Spoil rate" msgid "Show more" -msgstr "" +msgstr "Show more" msgid "Show less" -msgstr "" +msgstr "Show less" msgid "The amount must be between %1$s and %2$s" -msgstr "" +msgstr "The amount must be between %1$s and %2$s" msgid "Day of month" -msgstr "" +msgstr "Day of month" msgid "Monday" -msgstr "" +msgstr "Monday" msgid "Tuesday" -msgstr "" +msgstr "Tuesday" msgid "Wednesday" -msgstr "" +msgstr "Wednesday" msgid "Thursday" -msgstr "" +msgstr "Thursday" msgid "Friday" -msgstr "" +msgstr "Friday" msgid "Saturday" -msgstr "" +msgstr "Saturday" msgid "Sunday" -msgstr "" +msgstr "Sunday" msgid "Configure userfields" -msgstr "" +msgstr "Configure userfields" msgid "Userfields" -msgstr "" +msgstr "Userfields" msgid "Filter by entity" -msgstr "" +msgstr "Filter by entity" msgid "Entity" -msgstr "" +msgstr "Entity" msgid "Caption" -msgstr "" +msgstr "Caption" msgid "Type" -msgstr "" +msgstr "Type" msgid "Create userfield" -msgstr "" +msgstr "Create userfield" msgid "A entity is required" -msgstr "" +msgstr "A entity is required" msgid "A caption is required" -msgstr "" +msgstr "A caption is required" msgid "A type is required" -msgstr "" +msgstr "A type is required" msgid "Show as column in tables" -msgstr "" +msgstr "Show as column in tables" msgid "This is required and can only contain letters and numbers" -msgstr "" +msgstr "This is required and can only contain letters and numbers" msgid "Edit userfield" -msgstr "" +msgstr "Edit userfield" msgid "Plural forms" -msgstr "" +msgstr "Plural forms" msgid "One plural form per line, the current language requires" -msgstr "" +msgstr "One plural form per line, the current language requires" msgid "Plural count" -msgstr "" +msgstr "Plural count" msgid "Plural rule" -msgstr "" +msgstr "Plural rule" msgid "in plural form" -msgstr "" +msgstr "in plural form" msgid "Not enough in stock, %s ingredient missing" msgid_plural "Not enough in stock, %s ingredients missing" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Not enough in stock, %s ingredient missing" +msgstr[1] "Not enough in stock, %s ingredients missing" msgid "The amount cannot be lower than %1$s or equal %2$s" -msgstr "" +msgstr "The amount cannot be lower than %1$s or equal %2$s" msgid "Not enough in stock, but already on the shopping list" -msgstr "" +msgstr "Not enough in stock, but already on the shopping list" msgid "Not enough in stock" -msgstr "" +msgstr "Not enough in stock" msgid "Expiring soon days" -msgstr "" +msgstr "Expiring soon days" + +msgid "Default location" +msgstr "Default location" msgid "Default amount for purchase" -msgstr "" +msgstr "Default amount for purchase" msgid "Default amount for consume" -msgstr "" +msgstr "Default amount for consume" msgid "Variable amount" -msgstr "" +msgstr "Variable amount" msgid "" "When this is not empty, it will be shown instead of the amount entered above" " while the amount there will still be used for stock fulfillment checking" msgstr "" +"When this is not empty, it will be shown instead of the amount entered above" +" while the amount there will still be used for stock fulfillment checking" msgid "Track date only" -msgstr "" +msgstr "Track date only" msgid "When enabled only the day of an execution is tracked, not the time" -msgstr "" +msgstr "When enabled only the day of an execution is tracked, not the time" msgid "Consume %1$s of %2$s" -msgstr "" +msgstr "Consume %1$s of %2$s" msgid "Meal plan" -msgstr "" +msgstr "Meal plan" msgid "Add recipe to %s" -msgstr "" +msgstr "Add recipe to %s" msgid "%s serving" msgid_plural "%s servings" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s serving" +msgstr[1] "%s servings" msgid "Week costs" -msgstr "" +msgstr "Week costs" msgid "Configuration" -msgstr "" +msgstr "Configuration" msgid "A predefined list of values, one per line" -msgstr "" +msgstr "A predefined list of values, one per line" msgid "Chores due soon days" -msgstr "" +msgstr "Chores due soon days" msgid "Batteries due to be charged soon days" -msgstr "" +msgstr "Batteries due to be charged soon days" msgid "Tasks due soon days" -msgstr "" +msgstr "Tasks due soon days" msgid "Products" -msgstr "" +msgstr "Products" msgid "Marked task %s as completed on %s" -msgstr "" +msgstr "Marked task %s as completed on %s" msgid "Booking has subsequent dependent bookings, undo not possible" -msgstr "" +msgstr "Booking has subsequent dependent bookings, undo not possible" msgid "per serving" -msgstr "" +msgstr "per serving" msgid "Never" -msgstr "" +msgstr "Never" msgid "Today" -msgstr "" +msgstr "Today" msgid "Consume %1$s of %2$s as spoiled" -msgstr "" +msgstr "Consume %1$s of %2$s as spoiled" msgid "Not all ingredients of recipe \"%s\" are in stock, nothing removed" -msgstr "" +msgstr "Not all ingredients of recipe \"%s\" are in stock, nothing removed" msgid "Undo task \"%s\"" -msgstr "" +msgstr "Undo task \"%s\"" msgid "Due date rollover" -msgstr "" +msgstr "Due date rollover" msgid "" "When enabled the chore can never be overdue, the due date will shift forward" " each day when due" msgstr "" +"When enabled the chore can never be overdue, the due date will shift forward" +" each day when due" msgid "Location Content Sheet" -msgstr "" +msgstr "Location Content Sheet" msgid "Print" -msgstr "" +msgstr "Print" msgid "all locations" -msgstr "" +msgstr "all locations" msgid "" "Here you can print a page per location with the current stock, maybe to hang" " it there and note the consumed things on it." msgstr "" +"Here you can print a page per location with the current stock, maybe to hang" +" it there and note the consumed things on it." msgid "this location" -msgstr "" +msgstr "this location" msgid "Consumend amount" -msgstr "" +msgstr "Consumend amount" msgid "Time of printing" -msgstr "" +msgstr "Time of printing" msgid "Are you sure to delete equipment \"%s\"?" -msgstr "" +msgstr "Are you sure to delete equipment \"%s\"?" msgid "Parent product" -msgstr "" +msgstr "Parent product" msgid "" "Not possible because this product is already used as a parent product in " "another product" msgstr "" +"Not possible because this product is already used as a parent product in " +"another product" msgid "Default conversions" -msgstr "" +msgstr "Default conversions" msgid "Factor" -msgstr "" +msgstr "Factor" msgid "1 %s is the same as..." -msgstr "" +msgstr "1 %s is the same as..." msgid "Create QU conversion" -msgstr "" +msgstr "Create QU conversion" msgid "Default for QU" -msgstr "" +msgstr "Default for QU" msgid "Quantity unit from" -msgstr "" +msgstr "Quantity unit from" msgid "Quantity unit to" -msgstr "" +msgstr "Quantity unit to" msgid "" "This cannot be lower than %1$s and must be a valid number with max. %2$s " "decimal places" msgstr "" +"This cannot be lower than %1$s and must be a valid number with max. %2$s " +"decimal places" msgid "This cannot be equal to %s" -msgstr "" +msgstr "This cannot be equal to %s" msgid "This means 1 %1$s is the same as %2$s %3$s" -msgstr "" +msgstr "This means 1 %1$s is the same as %2$s %3$s" msgid "QU conversions" -msgstr "" +msgstr "QU conversions" msgid "Product overrides" -msgstr "" +msgstr "Product overrides" msgid "Override for product" -msgstr "" +msgstr "Override for product" msgid "This equals %1$s %2$s in stock" -msgstr "" +msgstr "This equals %1$s %2$s in stock" msgid "Edit QU conversion" -msgstr "" +msgstr "Edit QU conversion" msgid "An assignment type is required" -msgstr "" +msgstr "An assignment type is required" msgid "Assignment type" -msgstr "" +msgstr "Assignment type" msgid "" "This means the next execution of this chore is scheduled 1 day after the " "last execution" msgstr "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution" msgid "" "This means the next execution of this chore is scheduled 1 day after the " "last execution, but only for the weekdays selected below" msgstr "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution, but only for the weekdays selected below" msgid "This means the next execution of this chore is not scheduled" -msgstr "" +msgstr "This means the next execution of this chore is not scheduled" msgid "" "This means the next execution of this chore is scheduled on the below " "selected day of each month" msgstr "" +"This means the next execution of this chore is scheduled on the below " +"selected day of each month" msgid "" "This means the next execution of this chore will not be assigned to anyone" msgstr "" +"This means the next execution of this chore will not be assigned to anyone" msgid "" "This means the next execution of this chore will be assigned to the one who " "executed it least" msgstr "" +"This means the next execution of this chore will be assigned to the one who " +"executed it least" msgid "This means the next execution of this chore will be assigned randomly" -msgstr "" +msgstr "This means the next execution of this chore will be assigned randomly" msgid "" "This means the next execution of this chore will be assigned to the next one" " in alphabetical order" msgstr "" +"This means the next execution of this chore will be assigned to the next one" +" in alphabetical order" msgid "Assign to" -msgstr "" +msgstr "Assign to" msgid "This assignment type requires that at least one is assigned" -msgstr "" +msgstr "This assignment type requires that at least one is assigned" msgid "%s chore is assigned to me" msgid_plural "%s chores are assigned to me" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s chore is assigned to me" +msgstr[1] "%s chores are assigned to me" msgid "Assigned to me" -msgstr "" +msgstr "Assigned to me" msgid "assigned to %s" -msgstr "" +msgstr "assigned to %s" msgid "Filter by assignment" -msgstr "" +msgstr "Filter by assignment" msgid "Consume product on chore execution" -msgstr "" +msgstr "Consume product on chore execution" msgid "Are you sure to delete user field \"%s\"?" -msgstr "" +msgstr "Are you sure to delete user field \"%s\"?" msgid "Userentities" -msgstr "" +msgstr "Userentities" msgid "Create userentity" -msgstr "" +msgstr "Create userentity" msgid "Show in sidebar menu" -msgstr "" +msgstr "Show in sidebar menu" msgid "Edit userentity" -msgstr "" +msgstr "Edit userentity" msgid "Edit %s" -msgstr "" +msgstr "Edit %s" msgid "Create %s" -msgstr "" +msgstr "Create %s" msgid "Are you sure to delete this userobject?" -msgstr "" +msgstr "Are you sure to delete this userobject?" msgid "Icon CSS class" -msgstr "" +msgstr "Icon CSS class" msgid "For example" -msgstr "" +msgstr "For example" msgid "Configure fields" -msgstr "" +msgstr "Configure fields" msgid "Quantity unit plural form testing" -msgstr "" +msgstr "Quantity unit plural form testing" msgid "Result" -msgstr "" +msgstr "Result" msgid "Test plural forms" -msgstr "" +msgstr "Test plural forms" msgid "Scan a barcode" -msgstr "" +msgstr "Scan a barcode" msgid "Error while initializing the barcode scanning library" -msgstr "" +msgstr "Error while initializing the barcode scanning library" msgid "" "The resulting price of this ingredient will be multiplied by this factor" msgstr "" +"The resulting price of this ingredient will be multiplied by this factor" msgid "Price factor" -msgstr "" +msgstr "Price factor" msgid "Do you find grocy useful?" -msgstr "" +msgstr "Do you find grocy useful?" msgid "Say thanks" -msgstr "" +msgstr "Say thanks" msgid "Search for recipes containing this product" -msgstr "" +msgstr "Search for recipes containing this product" msgid "Add to shopping list" -msgstr "" +msgstr "Add to shopping list" msgid "Added %1$s of %2$s to the shopping list \"%3$s\"" -msgstr "" +msgstr "Added %1$s of %2$s to the shopping list \"%3$s\"" msgid "Output" -msgstr "" +msgstr "Output" msgid "Energy (kcal)" -msgstr "" +msgstr "Energy (kcal)" msgid "Per stock quantity unit" -msgstr "" +msgstr "Per stock quantity unit" msgid "Barcode scanner testing" -msgstr "" +msgstr "Barcode scanner testing" msgid "Expected barcode" -msgstr "" +msgstr "Expected barcode" msgid "Scan field" -msgstr "" +msgstr "Scan field" msgid "Scanned barcodes" -msgstr "" +msgstr "Scanned barcodes" msgid "Hit" -msgstr "" +msgstr "Hit" msgid "Miss" -msgstr "" +msgstr "Miss" msgid "Display recipe" -msgstr "" +msgstr "Display recipe" msgid "Accumulate sub products min. stock amount" -msgstr "" +msgstr "Accumulate sub products min. stock amount" msgid "" "If enabled, the min. stock amount of sub products will be accumulated into " "this product, means the sub product will never be \"missing\", only this " "product" msgstr "" +"If enabled, the min. stock amount of sub products will be accumulated into " +"this product, means the sub product will never be \"missing\", only this " +"product" msgid "Are you sure to remove this conversion?" -msgstr "" +msgstr "Are you sure to remove this conversion?" msgid "Unit price" -msgstr "" +msgstr "Unit price" msgid "Total price" -msgstr "" +msgstr "Total price" msgid "in %s and based on the purchase quantity unit" -msgstr "" +msgstr "in %s and based on the purchase quantity unit" msgid "Unlimited" -msgstr "" +msgstr "Unlimited" msgid "Clear" -msgstr "" +msgstr "Clear" msgid "Are you sure to remove the included recipe \"%s\"?" -msgstr "" +msgstr "Are you sure to remove the included recipe \"%s\"?" msgid "Period interval" -msgstr "" +msgstr "Period interval" msgid "" "This means the next execution of this chore should only be scheduled every " "%s days" msgstr "" +"This means the next execution of this chore should only be scheduled every " +"%s days" msgid "" "This means the next execution of this chore should only be scheduled every " "%s weeks" msgstr "" +"This means the next execution of this chore should only be scheduled every " +"%s weeks" msgid "" "This means the next execution of this chore should only be scheduled every " "%s months" msgstr "" +"This means the next execution of this chore should only be scheduled every " +"%s months" msgid "" "This means the next execution of this chore is scheduled 1 year after the " "last execution" msgstr "" +"This means the next execution of this chore is scheduled 1 year after the " +"last execution" msgid "" "This means the next execution of this chore should only be scheduled every " "%s years" msgstr "" +"This means the next execution of this chore should only be scheduled every " +"%s years" + +msgid "Transfer" +msgstr "Transfer" + +msgid "From location" +msgstr "From location" + +msgid "To location" +msgstr "To location" + +msgid "There are no units available at this location" +msgstr "There are no units available at this location" + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "Amount: %1$s; Expires on %2$s; Bought on %3$s" + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "Transfered %1$s of %2$s from %3$s to %4$s" + +msgid "Show stock entries" +msgstr "Show stock entries" + +msgid "Stock entries" +msgstr "Stock entries" + +msgid "Best before date" +msgstr "Best before date" + +msgid "Purchased date" +msgstr "Purchased date" + +msgid "Consume all %s for this stock entry" +msgstr "Consume all %s for this stock entry" + +msgid "The amount cannot be lower than %1$s" +msgstr "The amount cannot be lower than %1$s" + +msgid "Stock entry successfully updated" +msgstr "Stock entry successfully updated" + +msgid "Edit stock entry" +msgstr "Edit stock entry" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" + +msgid "Keep screen on" +msgstr "Keep screen on" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "Keep screen on while displaying a \"fullscreen-card\"" + +msgid "A purchased date is required" +msgstr "" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" + +msgid "Produces product" +msgstr "" + +msgid "This booking cannot be undone" +msgstr "" + +msgid "Booking does not exist or was already undone" +msgstr "" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "" + +msgid "Add note" +msgstr "" + +msgid "Add note to %s" +msgstr "" + +msgid "per day" +msgstr "" + +msgid "Compact view" +msgstr "" + +msgid "Normal view" +msgstr "" + +msgid "Only undone items" +msgstr "" + +msgid "Add product" +msgstr "" + +msgid "Add product to %s" +msgstr "" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" + +msgid "Meal plan recipe" +msgstr "" + +msgid "Meal plan note" +msgstr "" + +msgid "Meal plan product" +msgstr "" + +msgid "Scan mode" +msgstr "" + +msgid "on" +msgstr "" + +msgid "off" +msgstr "" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" + +msgid "Is freezer" +msgstr "" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after freezing" +msgstr "" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after thawing" +msgstr "" + +msgid "This cannot be the same as the \"From\" location" +msgstr "" + +msgid "Thawed" +msgstr "" + +msgid "Frozen" +msgstr "" diff --git a/localization/en_GB/userfield_types.po b/localization/en_GB/userfield_types.po index 3384e862..d159f9b3 100644 --- a/localization/en_GB/userfield_types.po +++ b/localization/en_GB/userfield_types.po @@ -1,3 +1,5 @@ +# Translators: +# Jonathan Adams , 2020 # msgid "" msgstr "" @@ -5,6 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:43+0000\n" +"Last-Translator: Jonathan Adams , 2020\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/grocy/teams/93189/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,31 +17,31 @@ msgstr "" "X-Domain: grocy/userfield_types\n" msgid "text-single-line" -msgstr "" +msgstr "text-single-line" msgid "text-multi-line" -msgstr "" +msgstr "text-multi-line" msgid "number-integral" -msgstr "" +msgstr "number-integral" msgid "number-decimal" -msgstr "" +msgstr "number-decimal" msgid "date" -msgstr "" +msgstr "date" msgid "datetime" -msgstr "" +msgstr "datetime" msgid "checkbox" -msgstr "" +msgstr "checkbox" msgid "preset-list" -msgstr "" +msgstr "preset-list" msgid "preset-checklist" -msgstr "" +msgstr "preset-checklist" msgid "link" -msgstr "" +msgstr "link" diff --git a/localization/fr/chore_period_types.po b/localization/fr/chore_period_types.po index eb310cef..c0fd3160 100644 --- a/localization/fr/chore_period_types.po +++ b/localization/fr/chore_period_types.po @@ -1,6 +1,7 @@ # Translators: # Bernd Bestel , 2019 # Alex Deneuvillers , 2019 +# Antonin DESFONTAINES , 2019 # msgid "" msgstr "" @@ -8,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Alex Deneuvillers , 2019\n" +"Last-Translator: Antonin DESFONTAINES , 2019\n" "Language-Team: French (https://www.transifex.com/grocy/teams/93189/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,3 +32,6 @@ msgstr "Hebdomadaire" msgid "monthly" msgstr "Mensuelle" + +msgid "yearly" +msgstr "Annuelle" diff --git a/localization/fr/demo_data.po b/localization/fr/demo_data.po index 4de2bbc2..e0e9537c 100644 --- a/localization/fr/demo_data.po +++ b/localization/fr/demo_data.po @@ -2,6 +2,7 @@ # Cedric Octave , 2019 # bigoudo, 2019 # Matthieu K, 2019 +# Antonin DESFONTAINES , 2019 # msgid "" msgstr "" @@ -9,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Matthieu K, 2019\n" +"Last-Translator: Antonin DESFONTAINES , 2019\n" "Language-Team: French (https://www.transifex.com/grocy/teams/93189/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -145,7 +146,7 @@ msgid "Minced meat" msgstr "Viande hachée" msgid "Pizza" -msgstr "PIzza" +msgstr "Pizza" msgid "Spaghetti bolognese" msgstr "Spaghetti bolognaise" @@ -162,9 +163,6 @@ msgstr "Allemand" msgid "Italian" msgstr "Italien" -msgid "Demo in different language" -msgstr "Démo dans une langue différente" - msgid "This is the note content of the recipe ingredient" msgstr "Ceci est le contenu de la note concernant l'ingrédient de la recette" @@ -224,7 +222,7 @@ msgid "Refrigerated products" msgstr "Produits réfrigérés" msgid "Coffee machine" -msgstr "Machie à café" +msgstr "Machine à café" msgid "Dishwasher" msgstr "Lave-vaisselle" @@ -287,27 +285,60 @@ msgid "Polish" msgstr "Polonais" msgid "Milk Chocolate" -msgstr "" +msgstr "Chocolat au lait" msgid "Dark Chocolate" -msgstr "" +msgstr "Chocolat noir" msgid "Slice" msgid_plural "Slices" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Tranche" +msgstr[1] "Tranches" msgid "Example userentity" -msgstr "" +msgstr "Exemple entité utilisateur" msgid "This is an example user entity..." -msgstr "" +msgstr "Ceci est un exemple d'entité utilisateur" msgid "Custom field" -msgstr "" +msgstr "Champ personnalisé" msgid "Example field value..." -msgstr "" +msgstr "Exemple de valeur de champ..." msgid "Waffle rolls" +msgstr "Gaufrettes roulées" + +msgid "Danish" +msgstr "Danois" + +msgid "Dutch" +msgstr "Néerlandais" + +msgid "Norwegian" +msgstr "Norvégien" + +msgid "Demo" +msgstr "Démo" + +msgid "Stable version" +msgstr "Version stable" + +msgid "Preview version" +msgstr "Version d'aperçu" + +msgid "current release" +msgstr "Version actuelle" + +msgid "not yet released" +msgstr "pas encore publiée" + +msgid "Portuguese (Brazil)" +msgstr "Portugais (Brésil)" + +msgid "This is a note" +msgstr "" + +msgid "Freezer" msgstr "" diff --git a/localization/fr/strings.po b/localization/fr/strings.po index 3baffb66..9854e10f 100644 --- a/localization/fr/strings.po +++ b/localization/fr/strings.po @@ -5,7 +5,13 @@ # Cedric Octave , 2019 # Hydreliox Hydreliox , 2019 # Matthieu K, 2019 +# Jérémy Tisserand , 2019 # Mathieu Fortin , 2019 +# Pierre-Emmanuel Colas , 2019 +# Antonin DESFONTAINES , 2019 +# Adrien Guillement , 2019 +# Matthias Baumgartner , 2019 +# Guillaume RICHARD , 2020 # msgid "" msgstr "" @@ -13,7 +19,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Mathieu Fortin , 2019\n" +"Last-Translator: Guillaume RICHARD , 2020\n" "Language-Team: French (https://www.transifex.com/grocy/teams/93189/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,7 +72,7 @@ msgid "Chores overview" msgstr "Aperçu des corvées" msgid "Batteries overview" -msgstr "Piles" +msgstr "Aperçu des piles" msgid "Purchase" msgstr "Achat" @@ -87,7 +93,7 @@ msgid "Battery tracking" msgstr "Suivi des piles" msgid "Locations" -msgstr "Emplacements" +msgstr "Il n'y a pas d'unités disponibles à cet endroit." msgid "Quantity units" msgstr "Formats" @@ -96,7 +102,7 @@ msgid "Chores" msgstr "Corvées" msgid "Batteries" -msgstr "Batteries" +msgstr "Piles" msgid "Chore" msgstr "Corvée" @@ -165,7 +171,7 @@ msgid "Tracked count" msgstr "Nombre de réalisations" msgid "Battery overview" -msgstr "Aperçu des batteries" +msgstr "Aperçu des piles" msgid "Charge cycles count" msgstr "Nombre de charges" @@ -243,10 +249,10 @@ msgid "Used in" msgstr "Utilisé dans" msgid "Create battery" -msgstr "Créer une batterie" +msgstr "Créer une pile" msgid "Edit battery" -msgstr "Modifier une batterie" +msgstr "Modifier une pile" msgid "Edit chore" msgstr "Modifier une corvée" @@ -368,14 +374,14 @@ msgid "This means %s will be removed from stock" msgstr "%s sera supprimé du stock" msgid "" -"This means it is estimated that a new execution of this chore is tracked %s " -"days after the last was tracked" +"This means the next execution of this chore is scheduled %s days after the " +"last execution" msgstr "" -"La prochaine exécution de cette corvée sera programmée %s jours après sa " +"La prochaine exécution de cette corvée sera programmée %s jours après la " "dernière exécution" msgid "Removed %1$s of %2$s from stock" -msgstr "%1$senlevé du stock de%2$s " +msgstr "%1$s enlevée du stock de%2$s " msgid "About grocy" msgstr "À propos de grocy" @@ -426,7 +432,7 @@ msgid "You have to select a chore" msgstr "Vous devez sélectionner une corvée" msgid "You have to select a battery" -msgstr "Vous devez sélectionner une batterie" +msgstr "Vous devez sélectionner une pile" msgid "A name is required" msgstr "Un nom est requis" @@ -790,7 +796,7 @@ msgid "View settings" msgstr "Voir les paramètres" msgid "Auto reload on external changes" -msgstr "Mettre à jour automatiquement lors d'un changement externe" +msgstr "MàJ automatique lors de changements externe" msgid "Enable night mode" msgstr "Activer le mode nuit" @@ -926,7 +932,7 @@ msgid "Batteries journal" msgstr "Journal des batteries" msgid "Filter by battery" -msgstr "Filtrer par batterie" +msgstr "Filtrer par pile" msgid "Undo charge cycle" msgstr "Annuler le cycle de charge" @@ -976,12 +982,9 @@ msgid "Mark %1$s of %2$s as open" msgstr "Indiquer%1$s de %2$s comme ouvert" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" -"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)" msgid "Default best before days after opened" msgstr "Date de péremption en jours par défaut après ouverture" @@ -992,9 +995,6 @@ msgstr "Indiqué%1$s de %2$s comme ouvert" msgid "Mark as opened" msgstr "Indiquer comme ouvert" -msgid "Expires on %1$s; Bought on %2$s" -msgstr "Se périmera le%1$s; Acheté le %2$s" - msgid "Not opened" msgstr "Non ouvert" @@ -1139,10 +1139,10 @@ msgid "Journal for this chore" msgstr "Journal de la corvée" msgid "Show battery details" -msgstr "Voir les détails" +msgstr "Voir les détails de la pile" msgid "Journal for this battery" -msgstr "Journal individuel" +msgstr "Journal de cette pile" msgid "System info" msgstr "Informations système" @@ -1238,7 +1238,7 @@ msgid "Sunday" msgstr "Dimanche" msgid "Configure userfields" -msgstr "Configurer les attributs personalisés" +msgstr "Configurer les attributs personnalisés" msgid "Userfields" msgstr "Attributs personalisés" @@ -1308,6 +1308,9 @@ msgstr "Pas assez en stock" msgid "Expiring soon days" msgstr "Jours avant péremption" +msgid "Default location" +msgstr "Emplacement par défaut" + msgid "Default amount for purchase" msgstr "Quantité ajoutée par défaut lors d'un achat" @@ -1367,25 +1370,529 @@ msgid "Products" msgstr "Produits" msgid "Marked task %s as completed on %s" -msgstr "" +msgstr "%s tâche marquée complétée sur %s" msgid "Booking has subsequent dependent bookings, undo not possible" msgstr "La réservation a des dépendances, impossible de revenir en arrière" msgid "per serving" -msgstr "" +msgstr "par portion" msgid "Never" -msgstr "" +msgstr "Jamais" msgid "Today" -msgstr "" +msgstr "Aujourd'hui" msgid "Consume %1$s of %2$s as spoiled" -msgstr "" +msgstr "Consommer %1$s de %2$s comme périmée" msgid "Not all ingredients of recipe \"%s\" are in stock, nothing removed" msgstr "" +"Des ingrédients de la recette \"%s\" sont manquants,\n" +"rien n'est retiré" msgid "Undo task \"%s\"" +msgstr "Annuler tâche \"%s\"" + +msgid "Due date rollover" +msgstr "Report de la date d'échéance" + +msgid "" +"When enabled the chore can never be overdue, the due date will shift forward" +" each day when due" +msgstr "" +"Si activé la corvée ne sera jamais due, la date d'échéance sera avancée " +"quand atteinte." + +msgid "Location Content Sheet" +msgstr "Emplacement du stock" + +msgid "Print" +msgstr "Imprimer" + +msgid "all locations" +msgstr "Tous les emplacements" + +msgid "" +"Here you can print a page per location with the current stock, maybe to hang" +" it there and note the consumed things on it." +msgstr "" +"Ici vous pouvez imprimer une fiche du stock actuel classé par emplacement, " +"vous pouvez par exemple l'accrocher et noter les produits qui ont été " +"consommés dessus." + +msgid "this location" +msgstr "Cet emplacement" + +msgid "Consumend amount" +msgstr "Quantité consommé" + +msgid "Time of printing" +msgstr "Temps d'impression" + +msgid "Are you sure to delete equipment \"%s\"?" +msgstr "Êtes-vous certain de vouloir effacer l'équipement \"%s\"?" + +msgid "Parent product" +msgstr "Produit parent" + +msgid "" +"Not possible because this product is already used as a parent product in " +"another product" +msgstr "" +"Impossible, ce produit est déjà assigné comme parent sur un autre produit" + +msgid "Default conversions" +msgstr "Conversions par défaut" + +msgid "Factor" +msgstr "Facteur" + +msgid "1 %s is the same as..." +msgstr "1 %s corresponds aussi à..." + +msgid "Create QU conversion" +msgstr "Créer une conversion d'UQ" + +msgid "Default for QU" +msgstr "Défaut pour l'unité de quantité" + +msgid "Quantity unit from" +msgstr "De l'unité de quantité" + +msgid "Quantity unit to" +msgstr "À l'unité de quantité" + +msgid "" +"This cannot be lower than %1$s and must be a valid number with max. %2$s " +"decimal places" +msgstr "" +"Cela ne peut être inférieur à %1$s et doit être un nombre valide avec " +"maximum. %2$s décimales." + +msgid "This cannot be equal to %s" +msgstr "Ne peut être égale à %s" + +msgid "This means 1 %1$s is the same as %2$s %3$s" +msgstr "Signifie que 1 %1$s corresponds aussi à %2$s %3$s" + +msgid "QU conversions" +msgstr "Conversions d'UQ" + +msgid "Product overrides" +msgstr "Règles du produit" + +msgid "Override for product" +msgstr "Règle pour le produit" + +msgid "This equals %1$s %2$s in stock" +msgstr "Égal à %1$s%2$s en stock" + +msgid "Edit QU conversion" +msgstr "Éditer la conversion d'UQ" + +msgid "An assignment type is required" +msgstr "Un type de tâche est requis" + +msgid "Assignment type" +msgstr "Type de tâche" + +msgid "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution" +msgstr "" +"La prochaine exécution de cette corvée sera programmé 1 jour après la " +"dernière exécution" + +msgid "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution, but only for the weekdays selected below" +msgstr "" +"Signifie que la prochaine exécution de cette corvée est programmé 1 jour " +"après la dernière exécution, mais uniquement pour les jours sélectionnés ci-" +"dessous" + +msgid "This means the next execution of this chore is not scheduled" +msgstr "Cette corvée n'a pas d'exécution de programmée. " + +msgid "" +"This means the next execution of this chore is scheduled on the below " +"selected day of each month" +msgstr "" +"Signifie que la prochaine exécution de cette corvée sera programmé à la date" +" sélectionnée ci-dessous chaque mois" + +msgid "" +"This means the next execution of this chore will not be assigned to anyone" +msgstr "" +"Signifie que la prochaine exécution de cette corvée ne sera assigné à " +"personne" + +msgid "" +"This means the next execution of this chore will be assigned to the one who " +"executed it least" +msgstr "" +"Signifie que la prochaine exécution de cette corvée sera assignée à celui " +"qui l'a effectué en dernier" + +msgid "This means the next execution of this chore will be assigned randomly" +msgstr "" +"Signifie que la prochaine exécution de cette corvée sera assignée " +"aléatoirement" + +msgid "" +"This means the next execution of this chore will be assigned to the next one" +" in alphabetical order" +msgstr "" +"Signifie que la prochaine exécution de cette corvée sera assigné au prochain" +" par ordre alphabétique" + +msgid "Assign to" +msgstr "Assigné à" + +msgid "This assignment type requires that at least one is assigned" +msgstr "Ce type de tâche nécessite au moins une personne assignée" + +msgid "%s chore is assigned to me" +msgid_plural "%s chores are assigned to me" +msgstr[0] "%s corvée m'est assignée" +msgstr[1] "%s corvées me sont assignées" + +msgid "Assigned to me" +msgstr "Assigné à moi" + +msgid "assigned to %s" +msgstr "assigné à %s" + +msgid "Filter by assignment" +msgstr "Filtrer par tâche" + +msgid "Consume product on chore execution" +msgstr "Consommer un produit lors de l'exécution de la corvée" + +msgid "Are you sure to delete user field \"%s\"?" +msgstr "Êtes-vous sûr de vouloir supprimer le champ utilisateur \"%s\" ?" + +msgid "Userentities" +msgstr "Entités utilisateur" + +msgid "Create userentity" +msgstr "Créer une entité utilisateur" + +msgid "Show in sidebar menu" +msgstr "Afficher dans le menu latérale" + +msgid "Edit userentity" +msgstr "Éditer l'entité utilisateur" + +msgid "Edit %s" +msgstr "Éditer %s" + +msgid "Create %s" +msgstr "Créer %s" + +msgid "Are you sure to delete this userobject?" +msgstr "Êtes-vous sûr de vouloir supprimer cet objet utilisateur ?" + +msgid "Icon CSS class" +msgstr "Classe CSS de l'icône" + +msgid "For example" +msgstr "Par exemple" + +msgid "Configure fields" +msgstr "Configurer les champs" + +msgid "Quantity unit plural form testing" +msgstr "Test de la forme pluriel de l'unité de quantité" + +msgid "Result" +msgstr "Résultat" + +msgid "Test plural forms" +msgstr "Tester les formes pluriel" + +msgid "Scan a barcode" +msgstr "Scanner un code barre" + +msgid "Error while initializing the barcode scanning library" +msgstr "Erreur lors de l'initialisation de la librairie de scan de code barre" + +msgid "" +"The resulting price of this ingredient will be multiplied by this factor" +msgstr "Le prix final de cet ingrédient sera multiplié par ce facteur" + +msgid "Price factor" +msgstr "Facteur de prix" + +msgid "Do you find grocy useful?" +msgstr "Vous trouvez grocy utile ?" + +msgid "Say thanks" +msgstr "Remercier" + +msgid "Search for recipes containing this product" +msgstr "Chercher des recettes contenant ce produit" + +msgid "Add to shopping list" +msgstr "Ajouter à la liste de courses" + +msgid "Added %1$s of %2$s to the shopping list \"%3$s\"" +msgstr "%1$s de %2$s ajouté à la liste de course \"%3$s\"" + +msgid "Output" +msgstr "Sortie" + +msgid "Energy (kcal)" +msgstr "Énergie (kcal)" + +msgid "Per stock quantity unit" +msgstr "Unité de quantité par stock" + +msgid "Barcode scanner testing" +msgstr "Test du scanner de code barre" + +msgid "Expected barcode" +msgstr "Code barre attendu" + +msgid "Scan field" +msgstr "Champ du scan" + +msgid "Scanned barcodes" +msgstr "Codes barre scanné" + +msgid "Hit" +msgstr "Touché" + +msgid "Miss" +msgstr "Raté" + +msgid "Display recipe" +msgstr "Afficher la recette" + +msgid "Accumulate sub products min. stock amount" +msgstr "Accumuler le stock minimal des sous produits" + +msgid "" +"If enabled, the min. stock amount of sub products will be accumulated into " +"this product, means the sub product will never be \"missing\", only this " +"product" +msgstr "" +"Si activé, la somme du stock minimal des sous produits sera accumulé sur ce " +"produit, signifiant que le sous produit ne sera jamais \"en manque\", " +"seulement ce produit" + +msgid "Are you sure to remove this conversion?" +msgstr "Êtes-vous sûr de vouloir supprimer cette conversion ?" + +msgid "Unit price" +msgstr "Prix unitaire" + +msgid "Total price" +msgstr "Prix total" + +msgid "in %s and based on the purchase quantity unit" +msgstr "dans %s et basé sur la quantité unitaire d'achat" + +msgid "Unlimited" +msgstr "Illimité" + +msgid "Clear" +msgstr "Vider" + +msgid "Are you sure to remove the included recipe \"%s\"?" +msgstr "Êtes-vous sûr de vouloir supprimer la recette incluse \"%s\"?" + +msgid "Period interval" +msgstr "Intervalle de temps" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s days" +msgstr "" +"La prochaine exécution de cette corvée ne doit être uniquement programmée " +"que tous les %s jours" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s weeks" +msgstr "" +"La prochaine exécution de cette corvée ne doit être uniquement programmée " +"que toutes les %s semaines" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s months" +msgstr "" +"La prochaine exécution de cette corvée ne doit être uniquement programmée " +"que tous les %s mois" + +msgid "" +"This means the next execution of this chore is scheduled 1 year after the " +"last execution" +msgstr "" +"La prochaine exécution de cette corvée sera programmé 1 an après la dernière" +" exécution" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s years" +msgstr "" +"Signifie que la prochaine exécution de cette corvée ne doit uniquement être " +"programmé que tous les %s ans" + +msgid "Transfer" +msgstr "Transfert" + +msgid "From location" +msgstr "De" + +msgid "To location" +msgstr "A" + +msgid "There are no units available at this location" +msgstr "Il n'y a pas d'unité disponible à cet endroit." + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "Quantité : %1$s; Expire le %2$s; Acheté le %3$s" + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "A transferé%1$sde %2$svenant de %3$s à %4$s" + +msgid "Show stock entries" +msgstr "" + +msgid "Stock entries" +msgstr "" + +msgid "Best before date" +msgstr "A consommer de préférence avant le" + +msgid "Purchased date" +msgstr "Date d'achat" + +msgid "Consume all %s for this stock entry" +msgstr "" + +msgid "The amount cannot be lower than %1$s" +msgstr "La quantité ne peut être inférieure à %s" + +msgid "Stock entry successfully updated" +msgstr "" + +msgid "Edit stock entry" +msgstr "" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" + +msgid "Keep screen on" +msgstr "Garder l'écran allumé" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "" + +msgid "A purchased date is required" +msgstr "" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" + +msgid "Produces product" +msgstr "" + +msgid "This booking cannot be undone" +msgstr "" + +msgid "Booking does not exist or was already undone" +msgstr "" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "" + +msgid "Add note" +msgstr "" + +msgid "Add note to %s" +msgstr "" + +msgid "per day" +msgstr "" + +msgid "Compact view" +msgstr "" + +msgid "Normal view" +msgstr "" + +msgid "Only undone items" +msgstr "" + +msgid "Add product" +msgstr "" + +msgid "Add product to %s" +msgstr "" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" + +msgid "Meal plan recipe" +msgstr "" + +msgid "Meal plan note" +msgstr "" + +msgid "Meal plan product" +msgstr "" + +msgid "Scan mode" +msgstr "" + +msgid "on" +msgstr "" + +msgid "off" +msgstr "" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" + +msgid "Is freezer" +msgstr "" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after freezing" +msgstr "" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after thawing" +msgstr "" + +msgid "This cannot be the same as the \"From\" location" +msgstr "" + +msgid "Thawed" +msgstr "" + +msgid "Frozen" msgstr "" diff --git a/localization/fr/userfield_types.po b/localization/fr/userfield_types.po index 0fccc4d6..b08558d3 100644 --- a/localization/fr/userfield_types.po +++ b/localization/fr/userfield_types.po @@ -1,5 +1,6 @@ # Translators: # Hydreliox Hydreliox , 2019 +# Antonin DESFONTAINES , 2019 # msgid "" msgstr "" @@ -7,7 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:43+0000\n" -"Last-Translator: Hydreliox Hydreliox , 2019\n" +"Last-Translator: Antonin DESFONTAINES , 2019\n" "Language-Team: French (https://www.transifex.com/grocy/teams/93189/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,3 +40,9 @@ msgstr "case à cocher" msgid "preset-list" msgstr "liste prédéfinie" + +msgid "preset-checklist" +msgstr "liste multiple prédéfinie" + +msgid "link" +msgstr "lien" diff --git a/localization/it/demo_data.po b/localization/it/demo_data.po index 6e04329f..063f77fe 100644 --- a/localization/it/demo_data.po +++ b/localization/it/demo_data.po @@ -1,7 +1,7 @@ # Translators: # Sergio Zampello , 2019 # Bernd Bestel , 2019 -# Antonino Ursino , 2019 +# Antonino Ursino , 2020 # msgid "" msgstr "" @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Antonino Ursino , 2019\n" +"Last-Translator: Antonino Ursino , 2020\n" "Language-Team: Italian (https://www.transifex.com/grocy/teams/93189/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -331,3 +331,12 @@ msgstr "versione attuale" msgid "not yet released" msgstr "non ancora pubblicata" + +msgid "Portuguese (Brazil)" +msgstr "Portoghese (Brasile)" + +msgid "This is a note" +msgstr "Questa è una nota" + +msgid "Freezer" +msgstr "Congelatore" diff --git a/localization/it/stock_transaction_types.po b/localization/it/stock_transaction_types.po index feee29eb..f357d6ce 100644 --- a/localization/it/stock_transaction_types.po +++ b/localization/it/stock_transaction_types.po @@ -1,5 +1,5 @@ # Translators: -# Bernd Bestel , 2019 +# Antonino Ursino , 2020 # msgid "" msgstr "" @@ -7,7 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Antonino Ursino , 2020\n" "Language-Team: Italian (https://www.transifex.com/grocy/teams/93189/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,13 +17,28 @@ msgstr "" "X-Domain: grocy/stock_transaction_types\n" msgid "purchase" -msgstr "Acquista" +msgstr "comprare" + +msgid "transfer_from" +msgstr "trasferito_da" + +msgid "transfer_to" +msgstr "trasferito_a" msgid "consume" -msgstr "Consumare" +msgstr "consumare" msgid "inventory-correction" -msgstr "Correzione dell'inventario" +msgstr "rettifica-inventario" msgid "product-opened" -msgstr "Prodotto aperto" +msgstr "prodotto-aperto" + +msgid "stock-edit-old" +msgstr "modifica-dispensa-vecchio" + +msgid "stock-edit-new" +msgstr "modifica-dispensa-nuovo" + +msgid "self-production" +msgstr "auto-produzione" diff --git a/localization/it/strings.po b/localization/it/strings.po index 83a1a898..63b8f237 100644 --- a/localization/it/strings.po +++ b/localization/it/strings.po @@ -3,7 +3,7 @@ # Bernd Bestel , 2019 # Matteo Piotto , 2019 # Matteo Parolin , 2019 -# Antonino Ursino , 2019 +# Antonino Ursino , 2020 # msgid "" msgstr "" @@ -11,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Antonino Ursino , 2019\n" +"Last-Translator: Antonino Ursino , 2020\n" "Language-Team: Italian (https://www.transifex.com/grocy/teams/93189/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,7 +41,8 @@ msgstr[1] "%s prodotti sono già scaduti" msgid "%s product is below defined min. stock amount" msgid_plural "%s products are below defined min. stock amount" msgstr[0] "%s prodotto sotto la quantità minima di dispensa definita" -msgstr[1] "%s prodotti sono sotto la quantità minima di dispensa definita" +msgstr[1] "" +"%s prodotti sono al di sotto della quantità minima di dispensa definita" msgid "Product" msgstr "Prodotto" @@ -978,12 +979,12 @@ msgid "Mark %1$s of %2$s as open" msgstr "Segna %1$s di %2$s come aperti" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" -"Quando un prodotto è stato contrassegnato come aperto, la data di scadenza " -"verrà sostituita con oggi + questo numero di giorni (un valore di 0 lo " -"disabilita)" +"Quando questo prodotto è stato contrassegnato come aperto, la data di " +"scadenza verrà sostituita con: \"oggi\" + \"questo numero di giorni\" (il " +"valore 0 disabilita)" msgid "Default best before days after opened" msgstr "Giorni di scadenza predefiniti dopo l'apertura" @@ -994,9 +995,6 @@ msgstr "Segnato %1$s di %2$s come aperti" msgid "Mark as opened" msgstr "Segna come aperto" -msgid "Expires on %1$s; Bought on %2$s" -msgstr "Scade il %1$s; Comprato il %2$s" - msgid "Not opened" msgstr "Non aperto" @@ -1312,6 +1310,9 @@ msgstr "Non abbastanza in dispensa" msgid "Expiring soon days" msgstr "In scadenza tra pochi giorni" +msgid "Default location" +msgstr "Posizione predefinita" + msgid "Default amount for purchase" msgstr "Quantità predefinita per l'acquisto" @@ -1751,3 +1752,177 @@ msgid "" msgstr "" "Questo significa che la prossima esecuzione di questa faccenda dovrebbe " "essere programmata solo ogni %s anni" + +msgid "Transfer" +msgstr "Trasferire" + +msgid "From location" +msgstr "Dalla posizione" + +msgid "To location" +msgstr "Alla posizione" + +msgid "There are no units available at this location" +msgstr "Non ci sono unità disponibili in questa posizione" + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "Quantità: %1$s; Scade il: %2$s; Comprato il: %3$s" + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "Trasferiti %1$s di %2$s da %3$s a %4$s" + +msgid "Show stock entries" +msgstr "Mostra voci di dispensa" + +msgid "Stock entries" +msgstr "Voci di dispensa" + +msgid "Best before date" +msgstr "Data di scadenza" + +msgid "Purchased date" +msgstr "Data di acquisto" + +msgid "Consume all %s for this stock entry" +msgstr "Consuma tutte le %s per questa voce di dispensa" + +msgid "The amount cannot be lower than %1$s" +msgstr "La quantità non può essere inferiore a %1$s" + +msgid "Stock entry successfully updated" +msgstr "Voce di dispensa aggiornata correttamente" + +msgid "Edit stock entry" +msgstr "Modifica voce di dispensa" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" +"L'accesso alla videocamera è possibile solo se supportato e consentito dal " +"browser e quando grocy è connesso tramite una connessione sicura (https://)" + +msgid "Keep screen on" +msgstr "Mantieni lo schermo acceso" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "" +"Mantieni lo schermo acceso mentre visualizzi una \"scheda a schermo intero\"" + +msgid "A purchased date is required" +msgstr "È richiesta la data di acquisto" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" +"Quando viene selezionato un prodotto, un'unità (per porzione nell'unità di " +"quantità di acquisto) verrà aggiunta alla dispensa consumando questa ricetta" +" " + +msgid "Produces product" +msgstr "Produce prodotto" + +msgid "This booking cannot be undone" +msgstr "Questa prenotazione non può essere annullata" + +msgid "Booking does not exist or was already undone" +msgstr "La prenotazione non esiste o è stata già annullata" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "Eliminare la chiave API \"%s\"?" + +msgid "Add note" +msgstr "Aggiungi nota" + +msgid "Add note to %s" +msgstr "Aggiungi nota a %s" + +msgid "per day" +msgstr "al giorno" + +msgid "Compact view" +msgstr "Vista compatta" + +msgid "Normal view" +msgstr "Vista normale" + +msgid "Only undone items" +msgstr "Solo oggetti annullati" + +msgid "Add product" +msgstr "Aggiungi prodotto" + +msgid "Add product to %s" +msgstr "Aggiungi prodotto a %s" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" +"Consuma tutti gli ingredienti necessari per ricette o prodotti di questa " +"settimana" + +msgid "Meal plan recipe" +msgstr "Ricetta del Piano dei pasti" + +msgid "Meal plan note" +msgstr "Nota del Piano dei pasti" + +msgid "Meal plan product" +msgstr "Prodotto del Piano dei pasti" + +msgid "Scan mode" +msgstr "Modalità di scansione" + +msgid "on" +msgstr "accesa" + +msgid "off" +msgstr "spenta" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" +"La modalità di scansione è attiva ma non è possibile compilare " +"automaticamente tutti i campi richiesti" + +msgid "Is freezer" +msgstr "È congelato" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" +"Quando si spostano i prodotti da/verso un congelatore, la data di scadenza " +"dei prodotti viene regolata automaticamente in base alle impostazioni del " +"prodotto" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" +"Spostando questo prodotto in una posizione di congelatore (quindi quando lo " +"si congela), la data di scadenza verrà sostituita con: \"oggi\" + \"questa " +"quantità di giorni\"" + +msgid "Default best before days after freezing" +msgstr "Data di scadenza predefinita dopo il congelamento" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" +"Quando si sposta questo prodotto da una posizione del congelatore (quindi " +"quando lo si scongela), la data di scadenza verrà sostituita con: \"oggi\" +" +" \"questa quantità di giorni\"" + +msgid "Default best before days after thawing" +msgstr "Data di scadenza predefinita dopo lo scongelamento" + +msgid "This cannot be the same as the \"From\" location" +msgstr "Non può essere uguale alla posizione \"Da\"" + +msgid "Thawed" +msgstr "Scongelato" + +msgid "Frozen" +msgstr "Congelato" diff --git a/localization/it/userfield_types.po b/localization/it/userfield_types.po index ce28436f..f2775e65 100644 --- a/localization/it/userfield_types.po +++ b/localization/it/userfield_types.po @@ -1,5 +1,5 @@ # Translators: -# Antonino Ursino , 2019 +# Antonino Ursino , 2020 # msgid "" msgstr "" @@ -7,7 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:43+0000\n" -"Last-Translator: Antonino Ursino , 2019\n" +"Last-Translator: Antonino Ursino , 2020\n" "Language-Team: Italian (https://www.transifex.com/grocy/teams/93189/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,4 +44,4 @@ msgid "preset-checklist" msgstr "Lista di controllo predefinita" msgid "link" -msgstr "collegamento" +msgstr "Collegamento" diff --git a/localization/nl/chore_assignment_types.po b/localization/nl/chore_assignment_types.po index ef2ad59d..457cce96 100644 --- a/localization/nl/chore_assignment_types.po +++ b/localization/nl/chore_assignment_types.po @@ -1,3 +1,6 @@ +# Translators: +# Kees van Nieuwenhuijzen , 2019 +# Daniel Polders , 2020 # msgid "" msgstr "" @@ -5,6 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-09-17 10:45+0000\n" +"Last-Translator: Daniel Polders , 2020\n" "Language-Team: Dutch (https://www.transifex.com/grocy/teams/93189/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,13 +18,13 @@ msgstr "" "X-Domain: grocy/chore_assignment_types\n" msgid "no-assignment" -msgstr "" +msgstr "niet-toegewezen" msgid "who-least-did-first" -msgstr "" +msgstr "wie-minst-gedaan-heeft-eerst" msgid "random" -msgstr "" +msgstr "willekeurig" msgid "in-alphabetical-order" -msgstr "" +msgstr "in-alfabetische-volgorde" diff --git a/localization/nl/chore_period_types.po b/localization/nl/chore_period_types.po index ec449892..9f27d761 100644 --- a/localization/nl/chore_period_types.po +++ b/localization/nl/chore_period_types.po @@ -1,6 +1,5 @@ # Translators: -# Bernd Bestel , 2019 -# Engelbert Mercelis , 2019 +# Daniel Polders , 2020 # msgid "" msgstr "" @@ -8,7 +7,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Engelbert Mercelis , 2019\n" +"Last-Translator: Daniel Polders , 2020\n" "Language-Team: Dutch (https://www.transifex.com/grocy/teams/93189/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,16 +17,19 @@ msgstr "" "X-Domain: grocy/chore_types\n" msgid "manually" -msgstr "Handmatig" +msgstr "handmatig" msgid "dynamic-regular" -msgstr "Dynamisch-regelmatig" +msgstr "dynamisch-regelmatig" msgid "daily" -msgstr "Dagelijks" +msgstr "dagelijks" msgid "weekly" -msgstr "Wekelijks" +msgstr "wekelijks" msgid "monthly" -msgstr "Maandelijks" +msgstr "maandelijks" + +msgid "yearly" +msgstr "jaarlijks" diff --git a/localization/nl/demo_data.po b/localization/nl/demo_data.po index a6bfb4aa..159f0a81 100644 --- a/localization/nl/demo_data.po +++ b/localization/nl/demo_data.po @@ -1,11 +1,13 @@ # Translators: -# Llewy , 2019 # Adriaan Peeters , 2019 # Grocy NL, 2019 # Seppe , 2019 # Engelbert Mercelis , 2019 # Niels Tholenaar , 2019 # Frank Klaassen , 2019 +# gggg , 2019 +# Kees van Nieuwenhuijzen , 2019 +# Llewy , 2019 # msgid "" msgstr "" @@ -13,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Frank Klaassen , 2019\n" +"Last-Translator: Llewy , 2019\n" "Language-Team: Dutch (https://www.transifex.com/grocy/teams/93189/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -80,7 +82,7 @@ msgid "Eggs" msgstr "Eieren" msgid "Noodles" -msgstr "Noodles" +msgstr "Noedels" msgid "Pickles" msgstr "Augurken" @@ -166,9 +168,6 @@ msgstr "Duits" msgid "Italian" msgstr "Italiaans" -msgid "Demo in different language" -msgstr "Demo in een andere taal" - msgid "This is the note content of the recipe ingredient" msgstr "Dit is de inhoud van de opmerking van het recept-ingrediënt" @@ -199,7 +198,7 @@ msgid "Projects" msgstr "Projecten" msgid "Repair the garage door" -msgstr "Herstel de garagepoort" +msgstr "De garagedeur repareren" msgid "Fork and improve grocy" msgstr "Fork en verbeter grocy" @@ -217,7 +216,7 @@ msgid "Tinned food" msgstr "Ingeblikt voedsel" msgid "Butchery products" -msgstr "Slagerij producten" +msgstr "Vleeswaren" msgid "Vegetables/Fruits" msgstr "Groenten/Fruit" @@ -289,27 +288,60 @@ msgid "Polish" msgstr "Pools" msgid "Milk Chocolate" -msgstr "" +msgstr "Melk Chocolade" msgid "Dark Chocolate" -msgstr "" +msgstr "Pure Chocolade" msgid "Slice" msgid_plural "Slices" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Punt" +msgstr[1] "Puntjes" msgid "Example userentity" -msgstr "" +msgstr "Voorbeeld gebruikersentiteit" msgid "This is an example user entity..." -msgstr "" +msgstr "Dit is een voorbeeld van een gebruikers entiteit......" msgid "Custom field" -msgstr "" +msgstr "Custom veld" msgid "Example field value..." -msgstr "" +msgstr "Voorbeeld veld waarde...." msgid "Waffle rolls" +msgstr "Wafel rollen" + +msgid "Danish" +msgstr "Deens" + +msgid "Dutch" +msgstr "Nederlands" + +msgid "Norwegian" +msgstr "Norwegen" + +msgid "Demo" +msgstr "Demo" + +msgid "Stable version" +msgstr "Stabiele versie" + +msgid "Preview version" +msgstr "Preview versie" + +msgid "current release" +msgstr "Huidige versie" + +msgid "not yet released" +msgstr "Nog niet uitgegeven" + +msgid "Portuguese (Brazil)" +msgstr "Portugees (Brazilië)" + +msgid "This is a note" +msgstr "" + +msgid "Freezer" msgstr "" diff --git a/localization/nl/stock_transaction_types.po b/localization/nl/stock_transaction_types.po index ad086a82..16f2ca80 100644 --- a/localization/nl/stock_transaction_types.po +++ b/localization/nl/stock_transaction_types.po @@ -1,5 +1,6 @@ # Translators: # Bernd Bestel , 2019 +# Boding Clockchain , 2020 # msgid "" msgstr "" @@ -7,7 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Boding Clockchain , 2020\n" "Language-Team: Dutch (https://www.transifex.com/grocy/teams/93189/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,6 +20,12 @@ msgstr "" msgid "purchase" msgstr "Aankoop" +msgid "transfer_from" +msgstr "Overdragen van" + +msgid "transfer_to" +msgstr "Overdragen naar" + msgid "consume" msgstr "Consumeren" @@ -27,3 +34,12 @@ msgstr "Voorraadcorrectie" msgid "product-opened" msgstr "Product geopend" + +msgid "stock-edit-old" +msgstr "Bewerk oude voorraad" + +msgid "stock-edit-new" +msgstr "Bewerk oude voorraad" + +msgid "self-production" +msgstr "Eigen gemaakt" diff --git a/localization/nl/strings.po b/localization/nl/strings.po index 10c9dcd3..2a43a66f 100644 --- a/localization/nl/strings.po +++ b/localization/nl/strings.po @@ -1,10 +1,18 @@ # Translators: # Llewy , 2019 -# Tarik Faik , 2019 # Adriaan Peeters , 2019 # Grocy NL, 2019 # Seppe , 2019 # Bernd Bestel , 2019 +# Jelte L , 2019 +# Tarik Faik , 2019 +# Glenn Delmotte , 2019 +# Niels Tholenaar , 2019 +# Frank Klaassen , 2019 +# Kees van Nieuwenhuijzen , 2019 +# gggg , 2019 +# Boding Clockchain , 2020 +# Daniel Polders , 2020 # msgid "" msgstr "" @@ -12,7 +20,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Daniel Polders , 2020\n" "Language-Team: Dutch (https://www.transifex.com/grocy/teams/93189/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,46 +34,46 @@ msgstr "Voorraadoverzicht" msgid "%s product expires" msgid_plural "%s products expiring" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%sproduct verloopt" +msgstr[1] "%s producten verlopen" msgid "within the next day" msgid_plural "within the next %s days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tussen nu en morgen" +msgstr[1] "in de komende %s dagen" msgid "%s product is already expired" msgid_plural "%s products are already expired" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s product is al verlopen" +msgstr[1] "%s producten zijn al verlopen" msgid "%s product is below defined min. stock amount" msgid_plural "%s products are below defined min. stock amount" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s product onder min. voorraadhoeveelheid" +msgstr[1] "%s producten onder min. voorraadhoeveelheid" msgid "Product" msgstr "Product" msgid "%s Product" msgid_plural "%s Products" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s Product" +msgstr[1] "%s Producten" msgid "Amount" -msgstr "Aantal" +msgstr "Hoeveelheid" msgid "Next best before date" -msgstr "De eerstvolgende houdbaarheidsdatum" +msgstr "Eerstvolgende houdbaarheidsdatum" msgid "Logout" msgstr "Uitloggen" msgid "Chores overview" -msgstr "Overzicht klusjes" +msgstr "Overzicht klussen" msgid "Batteries overview" -msgstr "Batterijen overzicht" +msgstr "Overzicht batterijen" msgid "Purchase" msgstr "Aankoop" @@ -80,7 +88,7 @@ msgid "Shopping list" msgstr "Boodschappenlijst" msgid "Chore tracking" -msgstr "Klusjes volgen" +msgstr "Klussen volgen" msgid "Battery tracking" msgstr "Batterij volgen" @@ -89,10 +97,10 @@ msgid "Locations" msgstr "Locaties" msgid "Quantity units" -msgstr "Aantal eenheden" +msgstr "Hoeveelheidseenheden" msgid "Chores" -msgstr "Klusjes" +msgstr "Klussen" msgid "Batteries" msgstr "Batterijen" @@ -101,7 +109,7 @@ msgid "Chore" msgstr "Klus" msgid "Next estimated tracking" -msgstr "" +msgstr "Volgende geschatte opvolging" msgid "Last tracked" msgstr "Laatst gevolgd" @@ -116,7 +124,7 @@ msgid "Next planned charge cycle" msgstr "Volgende geplande laadcyclus" msgid "Best before" -msgstr "Houdbaar tot" +msgstr "Tenminste houdbaar tot" msgid "OK" msgstr "OK" @@ -137,10 +145,10 @@ msgid "Last used" msgstr "Laatst gebruikt" msgid "Spoiled" -msgstr "Verspild" +msgstr "Bedorven" msgid "Barcode lookup is disabled" -msgstr "Opzoeken op streepjescode is uitgeschakeld" +msgstr "Zoeken op streepjescode is uitgeschakeld" msgid "" "will be added to the list of barcodes for the selected product on submit" @@ -149,7 +157,7 @@ msgstr "" "product" msgid "New amount" -msgstr "Nieuwe aantal" +msgstr "Nieuwe hoeveelheid" msgid "Note" msgstr "Notitie" @@ -191,13 +199,13 @@ msgid "Min. stock amount" msgstr "Min. voorraadhoeveelheid" msgid "QU purchase" -msgstr "QU aankoop" +msgstr "HE aankoop" msgid "QU stock" -msgstr "QU Stock" +msgstr "HE vooraad" msgid "QU factor" -msgstr "QU factor" +msgstr "HE-factor" msgid "Description" msgstr "Omschrijving" @@ -206,28 +214,28 @@ msgid "Create product" msgstr "Maak een product" msgid "Barcode(s)" -msgstr "Barcode(s)" +msgstr "Streepjescode(s)" msgid "Minimum stock amount" msgstr "Minimale voorraadhoeveelheid" msgid "Default best before days" -msgstr "Standaard houdbaarheidsdatum" +msgstr "Standaard houdbaarheidsdata" msgid "Quantity unit purchase" -msgstr "Aankoop aantal eenheden " +msgstr "Aankoopeenheid" msgid "Quantity unit stock" -msgstr "Voorraad aantal eenheden" +msgstr "Voorraadeenheid" msgid "Factor purchase to stock quantity unit" -msgstr "" +msgstr "Factor van aankoop- naar voorraadeenheid" msgid "Create location" msgstr "Maak een locatie" msgid "Create quantity unit" -msgstr "Maak eenheidseenheid" +msgstr "Maak hoeveelheidseenheid" msgid "Period type" msgstr "Periode type" @@ -263,7 +271,7 @@ msgid "Record data" msgstr "Gegevens opslaan" msgid "Manage master data" -msgstr "Beheer master data" +msgstr "Beheer masterdata" msgid "This will apply to added products" msgstr "Dit zal toegepast worden op toegevoegde producten" @@ -272,18 +280,19 @@ msgid "never" msgstr "nooit" msgid "Add products that are below defined min. stock amount" -msgstr "Voeg producten toe die onder het gedefinieerde min. voorraad zijn" +msgstr "Voeg producten toe die onder min. voorraadhoeveelheid zijn" msgid "" "For purchases this amount of days will be added to today for the best before" " date suggestion" msgstr "" -"Voor aankopen wordt dit aantal dagen toegevoegd aan vandaag voor de " -"houdbaarheidsdatum suggestie" +"Bij aankopen wordt dit aantal dagen toegevoegd aan vandaag voor de THT-" +"suggestie" -msgid "This means 1 %s purchased will be converted into %s %s in stock" +msgid "This means 1 %1$s purchased will be converted into %2$s %3$s in stock" msgstr "" -"Dit betekent dat 1 %s aankoop geconverteerd zal worden in %s en %s voorraad" +"Dit betekent dat 1 %1$s aankoop geconverteerd zal worden in %2$s en %3$s " +"voorraad" msgid "Login" msgstr "Login" @@ -307,7 +316,7 @@ msgid "No" msgstr "Nee" msgid "Are you sure to delete chore \"%s\"?" -msgstr "Ben je zeker dat je taak \"%s\" wilt verwijderen?" +msgstr "Ben je zeker dat je klus \"%s\" wilt verwijderen?" msgid "\"%s\" could not be resolved to a product, how do you want to proceed?" msgstr "\"%s\" kon niet aan een product gelinkt worden, hoe wil je verder gaan?" @@ -367,12 +376,14 @@ msgid "This means %s will be removed from stock" msgstr "%s zal worden verwijderd uit de voorraad" msgid "" -"This means it is estimated that a new execution of this chore is tracked %s " -"days after the last was tracked" +"This means the next execution of this chore is scheduled %s days after the " +"last execution" msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus %s dagen na de " +"laatste uitvoering is gepland." -msgid "Removed %s %s of %s from stock" -msgstr "%s %s van %s verwijderd uit de voorraad" +msgid "Removed %1$s of %2$s from stock" +msgstr "%1$s %2$s verwijderd uit de voorraad" msgid "About grocy" msgstr "Over grocy" @@ -383,38 +394,35 @@ msgstr "Sluit" msgid "Released on" msgstr "Vrijgegeven op" -msgid "Consume %s %s of %s" -msgstr "Consumeer %s %s van %s" +msgid "Added %1$s of %2$s to stock" +msgstr "%1$s van %2$s toegevoegd aan de voorraad" -msgid "Added %s %s of %s to stock" -msgstr "Voeg %s %s van %s toe aan voorraad" +msgid "Stock amount of %1$s is now %2$s" +msgstr "Van %1$s is er nu %2$s in voorraad" -msgid "Stock amount of %s is now %s %s" -msgstr "Vooraad van %s is nu %s %s" +msgid "Tracked execution of chore %1$s on %2$s" +msgstr "Bijgehouden uitvoering van klus %1$s op %2$s" -msgid "Tracked execution of chore %s on %s" -msgstr "" - -msgid "Tracked charge cycle of battery %s on %s" -msgstr "" +msgid "Tracked charge cycle of battery %1$s on %2$s" +msgstr "Bijgehouden laadcyclus van batterij %1$sop %2$s" msgid "Consume all %s which are currently in stock" -msgstr "" +msgstr "Consumeer alle %s op voorraad" msgid "All" msgstr "Alle" msgid "Track charge cycle of battery %s" -msgstr "" +msgstr "Volg laadcyclus van de batterij %s" msgid "Track execution of chore %s" -msgstr "" +msgstr "Volg de uitvoering van de klus %s" msgid "Filter by location" msgstr "Filteren op locatie" msgid "Search" -msgstr "Zoek" +msgstr "Zoeken" msgid "Not logged in" msgstr "Niet ingelogd" @@ -423,16 +431,16 @@ msgid "You have to select a product" msgstr "Je moet een product selecteren" msgid "You have to select a chore" -msgstr "Je moet een klusje selecteren" +msgstr "Je moet een klus selecteren" msgid "You have to select a battery" msgstr "Je moet een batterij selecteren" msgid "A name is required" -msgstr "Een naam is verplicht" +msgstr "Een naam is vereist" msgid "A location is required" -msgstr "Een locatie is verplicht" +msgstr "Een locatie is vereist" msgid "The amount cannot be lower than %s" msgstr "De hoeveelheid kan niet lager zijn dan %s" @@ -441,13 +449,13 @@ msgid "This cannot be negative" msgstr "Dit kan niet negatief zijn" msgid "A quantity unit is required" -msgstr "Een hoeveelheidseenheid is verplicht" +msgstr "Een hoeveelheidseenheid is vereist" msgid "A period type is required" -msgstr "Een periode type is verplicht" +msgstr "Een periodetype is vereist" msgid "A best before date is required" -msgstr "Een THT is verplicht" +msgstr "Een THT-datum is vereist" msgid "Settings" msgstr "Instellingen" @@ -502,7 +510,10 @@ msgid "" msgid_plural "" "Not enough in stock, %s ingredients missing but already on the shopping list" msgstr[0] "" +"Niet genoeg op voorraad, %s ontbreekt en staat al op de boodschappenlijst" msgstr[1] "" +"Niet genoeg in voorraad, %s ingrediënten ontbreken en staan al op de " +"boodschappenlijst" msgid "Expand to fullscreen" msgstr "Fullscreen" @@ -511,12 +522,12 @@ msgid "Ingredients" msgstr "Ingrediënten" msgid "Preparation" -msgstr "Voorbereiding" +msgstr "Bereiding" msgid "Recipe" msgstr "Recept" -msgid "Not enough in stock, %s missing, %s already on shopping list" +msgid "Not enough in stock, %1$s missing, %2$s already on shopping list" msgstr "Niet genoeg op voorraad, %s ontbreekt, %s al op de boodschappenlijst" msgid "Show notes" @@ -584,7 +595,7 @@ msgid "Filter by chore" msgstr "Filteren op klus" msgid "Chores journal" -msgstr "Klusjesdagboek" +msgstr "Klussendagboek" msgid "0 means suggestions for the next charge cycle are disabled" msgstr "" @@ -597,7 +608,7 @@ msgid "Last price" msgstr "Laatste prijs" msgid "Price history" -msgstr "Prijs geschiedenis" +msgstr "Prijsgeschiedenis" msgid "No price history available" msgstr "Geen prijsgeschiedenis beschikbaar" @@ -616,28 +627,28 @@ msgstr "Eenheid" msgid "%s Unit" msgid_plural "%s Units" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%seenheid" +msgstr[1] "%seenheden" msgid "%s chore is due to be done" msgid_plural "%s chores are due to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%sklusje is om uitgevoerd te worden" +msgstr[1] "%sklussen moeten worden gedaan" msgid "%s chore is overdue to be done" msgid_plural "%s chores are overdue to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%sklus moet nog gedaan worden" +msgstr[1] "%sklussen moeten nog steeds gedaan worden" msgid "%s battery is due to be charged" msgid_plural "%s batteries are due to be charged" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Er moet %s batterij opgeladen worden" +msgstr[1] "Er moeten %s batterijen opgeladen worden" msgid "%s battery is overdue to be charged" msgid_plural "%s batteries are overdue to be charged" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s batterij moet nog opgeladen worden" +msgstr[1] "%sbatterijen moeten nog opgeladen worden" msgid "in singular form" msgstr "In enkelvoud" @@ -649,7 +660,7 @@ msgid "This cannot be lower than %s" msgstr "Dit kan niet lager zijn dan %s" msgid "-1 means that this product never expires" -msgstr "-1 wilt zeggen dat het product noot vervalt" +msgstr "-1 wil zeggen dat het product nooit vervalt" msgid "Quantity unit" msgstr "Hoeveelheidseenheid" @@ -658,11 +669,16 @@ msgid "" "Only check if a single unit is in stock (a different quantity can then be " "used above)" msgstr "" +"Controleer alleen of een enkele eenheid op voorraad is (een andere " +"hoeveelheid kan dan hierboven worden gebruikt)" msgid "" "Are you sure to consume all ingredients needed by recipe \"%s\" (ingredients" " marked with \"check only if a single unit is in stock\" will be ignored)?" msgstr "" +"Weet je zeker dat je alle ingrediënten gebruikt die nodig zijn voor het " +"recept \"%s\" (ingrediënten gemarkeerd met \"controleer alleen als een " +"enkele eenheid op voorraad is\" worden genegeerd)?" msgid "Removed all ingredients of recipe \"%s\" from stock" msgstr "Alle ingrediënten van recept \"%s\" uit voorraad verwijderd" @@ -680,7 +696,7 @@ msgid "Error details" msgstr "Error details" msgid "Tasks" -msgstr "Klusjes" +msgstr "Taken" msgid "Show done tasks" msgstr "Toon afgewerkte klusjes" @@ -701,13 +717,13 @@ msgid "Uncategorized" msgstr "Ongecategoriseerd" msgid "Task categories" -msgstr "Klusjescategorieën" +msgstr "Taakcategorieën" msgid "Create task" -msgstr "Maak klus" +msgstr "Maak taak" msgid "A due date is required" -msgstr "" +msgstr "Een vervaldatum is vereist" msgid "Category" msgstr "Categorie" @@ -716,20 +732,20 @@ msgid "Edit task" msgstr "Bewerk taak" msgid "Are you sure to delete task \"%s\"?" -msgstr "" +msgstr "Weet u zeker dat u taak \"%s\" wilt verwijderen?" msgid "%s task is due to be done" msgid_plural "%s tasks are due to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%staak moet uitgevoerd worden" +msgstr[1] "%staken moeten uitgevoerd worden" msgid "%s task is overdue to be done" msgid_plural "%s tasks are overdue to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%staak moet nog uitgevoerd worden" +msgstr[1] "%staken moeten nog uitgevoerd worden" msgid "Edit task category" -msgstr "Bewerk kluscategorie" +msgstr "Bewerk taakcategorie" msgid "Create task category" msgstr "Maak kluscategorie" @@ -762,7 +778,7 @@ msgid "Filter by status" msgstr "Filteren op status" msgid "Below min. stock amount" -msgstr "Onder min. stock hoeveelheid" +msgstr "Onder min. voorraadhoeveelheid" msgid "Expiring soon" msgstr "Vervalt binnenkort" @@ -808,10 +824,10 @@ msgstr "Geen bestand geslecteerd" msgid "If you don't select a file, the current picture will not be altered" msgstr "" -"De huidige afbeelding wordt niet gewijzigd als je geen bestand selecteerd" +"De huidige afbeelding wordt niet gewijzigd als je geen bestand selecteert" msgid "Delete" -msgstr "Verwijder" +msgstr "Verwijderen" msgid "The current picture will be deleted when you save the product" msgstr "De huidige afbeelding wordt gewist wanneer je het product opslaat" @@ -826,29 +842,29 @@ msgid "" "This product cannot be deleted because it is in stock, please remove the " "stock amount first." msgstr "" -"Dit product kan niet worden verwijdert want het is in voorraad, verwijder " +"Dit product kan niet worden verwijderd want het is op voorraad, verwijder " "dit eerst uit je voorraad." msgid "Delete not possible" msgstr "Verwijderen niet mogelijk" msgid "Equipment" -msgstr "Toestellen" +msgstr "Apparaten" msgid "Instruction manual" msgstr "Gebruikshandleiding" msgid "The selected equipment has no instruction manual" -msgstr "Het geselecteerde toestel heeft gaan gebruikshandleiding" +msgstr "Het geselecteerde apparaat heeft geen gebruikshandleiding" msgid "Notes" msgstr "Notities" msgid "Edit equipment" -msgstr "Bewerk toestel" +msgstr "Bewerk apparaat" msgid "Create equipment" -msgstr "Maak toestel" +msgstr "Maak apparaat" msgid "" "If you don't select a file, the current instruction manual will not be " @@ -863,8 +879,8 @@ msgstr "Geen gebruikshandleiding beschikbaar" msgid "" "The current instruction manual will be deleted when you save the equipment" msgstr "" -"De huidige gebruikshandleiding zal verwijderd worden wanneer je het toestel " -"opslaat" +"De huidige gebruikshandleiding zal verwijderd worden wanneer je het apparaat" +" opslaat" msgid "No picture available" msgstr "Geen afbeelding beschikbaar" @@ -903,84 +919,83 @@ msgid "Filter by product" msgstr "Filteren op product" msgid "Booking time" -msgstr "" +msgstr "Boekingstijd" msgid "Booking type" -msgstr "" +msgstr "Boekingstype" msgid "Undo booking" -msgstr "" +msgstr "Boeking ongedaan maken" msgid "Undone on" -msgstr "" +msgstr "Ongedaan gemaakt op" msgid "Batteries journal" -msgstr "" +msgstr "Batterijdagboek" msgid "Filter by battery" msgstr "Filteren op batterij" msgid "Undo charge cycle" -msgstr "" +msgstr "Laadcyclus ongedaan maken" msgid "Undo chore execution" -msgstr "" +msgstr "Klus uitvoer ongedaan maken" msgid "Chore execution successfully undone" -msgstr "" +msgstr "Klus uitvoer ongedaan gemaakt" msgid "Undo" msgstr "Ongedaan maken" msgid "Booking successfully undone" -msgstr "" +msgstr "Boeking is ongedaan gemaakt" msgid "Charge cycle successfully undone" -msgstr "" +msgstr "Laadcyclus is ongedaan gemaakt" msgid "This cannot be negative and must be an integral number" msgstr "Dit kan niet negatief zijn en moet een integraal getal zijn" msgid "Disable stock fulfillment checking for this ingredient" -msgstr "" +msgstr "Schakel voorraadcontrole voor dit ingrediënt uit" msgid "Add all list items to stock" -msgstr "Voeg alle lijst items toe aan voorraad" +msgstr "Voeg alle lijstitems toe aan voorraad" -msgid "Add %s %s of %s to stock" -msgstr "Voeg %s %s van %s toe aan voorraad" +msgid "Add %1$s of %2$s to stock" +msgstr "Voeg %1$svan %2$stoe aan voorraad" -msgid "Adding shopping list item %s of %s" -msgstr "" +msgid "Adding shopping list item %1$s of %2$s" +msgstr "Item %1$s van %2$s van boodschappenlijst toevoegen" msgid "Use a specific stock item" -msgstr "Gebruik een specifiek voorraad item" +msgstr "Gebruik een specifiek voorraaditem" msgid "" "The first item in this list would be picked by the default rule which is " "\"First expiring first, then first in first out\"" msgstr "" +"Het eerste item in deze lijst wordt gekozen met de standaardregel: \"Eerst " +"als eerste vervallen, daarna als eerste in de eerste keer\"" -msgid "Mark %s of %s as open" -msgstr "" +msgid "Mark %1$s of %2$s as open" +msgstr "Markeer %1$svan %2$s als open" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" msgid "Default best before days after opened" msgstr "Standaard houdbaar tot na geopend" -msgid "Marked %s %s of %s as opened" -msgstr "Markeer %s %s van %s als geopend" +msgid "Marked %1$s of %2$s as opened" +msgstr "%1$svan %2$sgemarkeerd als geopend" msgid "Mark as opened" msgstr "Markeer als geopend" -msgid "Expires on %s; Bought on %s" -msgstr "Vervalt op %s; Aangekocht op %s" - msgid "Not opened" msgstr "Niet geopend" @@ -994,10 +1009,10 @@ msgid "Product expires" msgstr "Product vervalt" msgid "Task due" -msgstr "" +msgstr "Klusje open" msgid "Chore due" -msgstr "Klusje tegen" +msgstr "Klus tegen" msgid "Battery charge cycle due" msgstr "Batterij oplaadcyclus nabij" @@ -1009,12 +1024,15 @@ msgid "Stock settings" msgstr "Voorraadinstellingen" msgid "Shopping list to stock workflow" -msgstr "" +msgstr "Boodschappenlijst voor voorraad workflow" msgid "" "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" msgstr "" +"Voer automatisch de boeking uit met behulp van de laatste hoeveelheid en het" +" bedrag van het item in de boodschappenlijst, als het product de instelling " +"\"Standaard THT dagen\" heeft ingesteld" msgid "Skip" msgstr "Overslaan" @@ -1030,9 +1048,12 @@ msgstr "Gebaseerd op de prijs van de laatste aankoop per product" msgid "The ingredients listed here result in this amount of servings" msgstr "" +"De ingrediënten die hier worden vermeld, resulteren in dit aantal porties" msgid "Do not check against the shopping list when adding missing items to it" msgstr "" +"Controleer niet op de boodschappenlijst wanneer u ontbrekende items eraan " +"toevoegt" msgid "" "By default the amount to be added to the shopping list is \"needed amount - " @@ -1040,6 +1061,10 @@ msgid "" "checked against the stock amount, not against what is already on the " "shopping list" msgstr "" +"Standaard is het aantal dat moet worden toegevoegd aan de boodschappenlijst " +"\"benodigde hoeveelheid - voorraadbedrag - aantal bestedingslijsten\" - " +"wanneer dit is ingeschakeld, wordt het alleen vergeleken met het voorraad " +"aantal, niet met wat al op de boodschappenlijst staat" msgid "Picture" msgstr "Afbeelding" @@ -1071,21 +1096,27 @@ msgid "Allow partial units in stock" msgstr "Sta gedeeltelijke eenheden in voorraad toe" msgid "Enable tare weight handling" -msgstr "" +msgstr "Gebruik van tarragewicht afhandelen" msgid "" "This is useful e.g. for flour in jars - on purchase/consume/inventory you " "always weigh the whole jar, the amount to be posted is then automatically " "calculated based on what is in stock and the tare weight defined below" msgstr "" +"Dit is nuttig voor b.v. meel in potten - bij aankoop/consumptie/inventaris " +"weeg je altijd de hele pot, de te boeken hoeveelheid wordt dan automatisch " +"berekend op basis van wat op voorraad is en het tarragewicht hieronder " +"gedefinieerd" msgid "Tare weight" -msgstr "Tarra gewicht" +msgstr "Tarragewicht" msgid "" "Tare weight handling enabled - please weigh the whole container, the amount " "to be posted will be automatically calculcated" msgstr "" +"Tare weight handling ingeschakeld: weeg de hele container af, het te boeken " +"aantal wordt automatisch berekend" msgid "You have to select a location" msgstr "Je moet een locatie selecteren" @@ -1094,26 +1125,26 @@ msgid "List" msgstr "Lijst" msgid "Gallery" -msgstr "Gallerij" +msgstr "Galerij" msgid "The current picture will be deleted when you save the recipe" msgstr "" "De huidige afbeelding zal worden verwijderd wanneer je het recept opslaat." msgid "Show product details" -msgstr "Toon product details" +msgstr "Toon productdetails" msgid "Stock journal for this product" msgstr "Toon dagboek voor dit product" msgid "Show chore details" -msgstr "Toon klus details" +msgstr "Toon klusdetails" msgid "Journal for this chore" msgstr "Dagboek voor deze klus" msgid "Show battery details" -msgstr "Toon batterij details" +msgstr "Toon batterijdetails" msgid "Journal for this battery" msgstr "Dagboek voor deze batterij" @@ -1124,22 +1155,26 @@ msgstr "Systeeminfo" msgid "Changelog" msgstr "Changelog" -msgid "will be multiplied a factor of %s to get %s" -msgstr "wordt vermenigvuldigt met %s om %s te krijgen" +msgid "will be multiplied a factor of %1$s to get %2$s" +msgstr "wordt vermenigvuldigd met een factor %1$s om er %2$s van te krijgen" msgid "The given date is earlier than today, are you sure?" -msgstr "De opgegeven datum is eerder dan vandaag, bent u zeker?" +msgstr "De opgegeven datum is eerder dan vandaag; weet je het zeker?" msgid "Product count" msgstr "Productenteller" msgid "Type a new product name or barcode and hit TAB to start a workflow" msgstr "" +"Typ een nieuwe productnaam of streepjescode en druk op TAB om een workflow " +"te starten" msgid "" "This will be used as the default setting when adding this product as a " "recipe ingredient" msgstr "" +"Dit wordt gebruikt als de standaardinstelling bij het toevoegen van dit " +"product als receptingrediënt" msgid "Add item" msgstr "Voeg item toe" @@ -1154,10 +1189,10 @@ msgid "Delete shopping list" msgstr "Verwijder boodschappenlijst" msgid "Chores settings" -msgstr "" +msgstr "Klusinstellingen" msgid "Batteries settings" -msgstr "" +msgstr "Batterij instellingen" msgid "Tasks settings" msgstr "Taken instellingen" @@ -1169,7 +1204,7 @@ msgid "Are you sure to delete shopping list \"%s\"?" msgstr "Weet je zeker dat je boodschappenlijst %s wilt verwijderen?" msgid "Average shelf life" -msgstr "" +msgstr "Gemiddelde houdbaarheid" msgid "Spoil rate" msgstr "Verspillings gemiddelde" @@ -1180,8 +1215,8 @@ msgstr "Laat meer zien" msgid "Show less" msgstr "Laat minder zien" -msgid "The amount must be between %s and %s" -msgstr "De hoeveelheid moet liggen tussen %s en %s" +msgid "The amount must be between %1$s and %2$s" +msgstr "Het aantal moet tussen %1$sen %2$s zijn" msgid "Day of month" msgstr "Dag van de maand" @@ -1199,13 +1234,13 @@ msgid "Thursday" msgstr "Donderdag" msgid "Friday" -msgstr "rijdag" +msgstr "Vrijdag" msgid "Saturday" msgstr "Zaterdag" msgid "Sunday" -msgstr "ondag" +msgstr "Zondag" msgid "Configure userfields" msgstr "Configureer gebruikersvelden" @@ -1220,7 +1255,7 @@ msgid "Entity" msgstr "Entiteit" msgid "Caption" -msgstr "" +msgstr "Onderschrift" msgid "Type" msgstr "Type" @@ -1229,42 +1264,648 @@ msgid "Create userfield" msgstr "Maak gebruikersveld aan" msgid "A entity is required" -msgstr "Een entiteit is verplicht" +msgstr "Een entiteit is vereist" msgid "A caption is required" -msgstr "" +msgstr "Een beschrijving is vereist" msgid "A type is required" -msgstr "Een type is verplicht" +msgstr "Een type is vereist" msgid "Show as column in tables" msgstr "Laat als kolom zien in tabellen" msgid "This is required and can only contain letters and numbers" -msgstr "Dit is verplicht en kan alleen cijfers en letters bevatten" +msgstr "Dit is vereist en kan alleen cijfers en letters bevatten" msgid "Edit userfield" msgstr "Wijzig gebruikersveld" msgid "Plural forms" -msgstr "" +msgstr "Meervoudsvormen" msgid "One plural form per line, the current language requires" -msgstr "" +msgstr "Een meervoudsvorm per regel, de huidige taal vereist" msgid "Plural count" -msgstr "" +msgstr "Meervoud aantal" msgid "Plural rule" -msgstr "" +msgstr "Meervoudsregel" msgid "in plural form" msgstr "In meervoud" msgid "Not enough in stock, %s ingredient missing" msgid_plural "Not enough in stock, %s ingredients missing" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Niet genoeg op voorraad, %s ingrediënt ontbreekt." +msgstr[1] "Niet genoeg op voorraad, %s ingrediënten ontbreken." -msgid "Consume %s of %s" +msgid "The amount cannot be lower than %1$s or equal %2$s" +msgstr "De hoeveelheid kan niet lager zijn dan %1$s of gelijk zijn aan %2$s" + +msgid "Not enough in stock, but already on the shopping list" +msgstr "Niet genoeg op voorraad, maar al op het boodschappenlijstje" + +msgid "Not enough in stock" +msgstr "Niet genoeg op voorraad" + +msgid "Expiring soon days" +msgstr "Vervalt binnenkort dagen" + +msgid "Default location" +msgstr "Standaardlocatie" + +msgid "Default amount for purchase" +msgstr "Standaardhoeveelheid voor aankoop" + +msgid "Default amount for consume" +msgstr "Standaardhoeveelheid voor consumeren" + +msgid "Variable amount" +msgstr "Variabele hoeveelheid" + +msgid "" +"When this is not empty, it will be shown instead of the amount entered above" +" while the amount there will still be used for stock fulfillment checking" +msgstr "" +"Wanneer dit niet leeg is, wordt dit weergegeven in plaats van de hierboven " +"ingevoerde hoeveelheid, terwijl het aantal daar nog steeds zal worden " +"gebruikt voor controle van de voorraadafhandeling" + +msgid "Track date only" +msgstr "Alleen datum bijhouden" + +msgid "When enabled only the day of an execution is tracked, not the time" +msgstr "" +"Wanneer ingeschakeld, wordt alleen de dag van een uitvoering bijgehouden, " +"niet de tijd" + +msgid "Consume %1$s of %2$s" +msgstr "Consumeer %1$s %2$s" + +msgid "Meal plan" +msgstr "Maaltijdplan" + +msgid "Add recipe to %s" +msgstr "Recept toevoegen aan %s" + +msgid "%s serving" +msgid_plural "%s servings" +msgstr[0] "%s portie" +msgstr[1] "%s porties" + +msgid "Week costs" +msgstr "Weekkosten" + +msgid "Configuration" +msgstr "Configuratie" + +msgid "A predefined list of values, one per line" +msgstr "Een vooraf gedefinieerde lijst met waarden, één per regel" + +msgid "Chores due soon days" +msgstr "Klussen voor de komende dagen" + +msgid "Batteries due to be charged soon days" +msgstr "Batterijen die binnenkort worden opgeladen" + +msgid "Tasks due soon days" +msgstr "Taken die binnenkort worden uitgevoerd" + +msgid "Products" +msgstr "Producten" + +msgid "Marked task %s as completed on %s" +msgstr "Gemarkeerde taak %s voltooid op %s" + +msgid "Booking has subsequent dependent bookings, undo not possible" +msgstr "" +"Boeking heeft latere afhankelijke boekingen, ongedaan maken niet mogelijk" + +msgid "per serving" +msgstr "per portie" + +msgid "Never" +msgstr "Nooit" + +msgid "Today" +msgstr "Vandaag" + +msgid "Consume %1$s of %2$s as spoiled" +msgstr "Consumeer %1$s %2$s als bedorven" + +msgid "Not all ingredients of recipe \"%s\" are in stock, nothing removed" +msgstr "" +"Niet alle ingrediënten van het recept \"%s\" zijn op voorraad, er is niets " +"verwijderd" + +msgid "Undo task \"%s\"" +msgstr "Ongedaan maken taak \"%s\"" + +msgid "Due date rollover" +msgstr "Vervaldatum verlopen" + +msgid "" +"When enabled the chore can never be overdue, the due date will shift forward" +" each day when due" +msgstr "" +"Wanneer de klus ingeschakeld is, kan deze nooit verlopen. De vervaldatum " +"wordt elke dag vooruit geschoven wanneer deze verlopen is." + +msgid "Location Content Sheet" +msgstr "Locatie inhoud pagina" + +msgid "Print" +msgstr "Afdrukken" + +msgid "all locations" +msgstr "alle locaties" + +msgid "" +"Here you can print a page per location with the current stock, maybe to hang" +" it there and note the consumed things on it." +msgstr "" +"Hier kunt u een pagina per locatie afdrukken met de huidige voorraad. " +"Bijvoorbeeld om het daar op te hangen en dan de verbruikte artikelen op te " +"noteren." + +msgid "this location" +msgstr "deze locatie" + +msgid "Consumend amount" +msgstr "Geconsumeerde hoeveelheid" + +msgid "Time of printing" +msgstr "Afdruktijdstip" + +msgid "Are you sure to delete equipment \"%s\"?" +msgstr "Weet je zeker dat je apparaat \"%s\" wilt verwijderen?" + +msgid "Parent product" +msgstr "Parent product" + +msgid "" +"Not possible because this product is already used as a parent product in " +"another product" +msgstr "" +"Niet mogelijk, omdat het product al wordt gebruikt als parent product in een" +" ander product." + +msgid "Default conversions" +msgstr "Standaardconversies" + +msgid "Factor" +msgstr "Factor" + +msgid "1 %s is the same as..." +msgstr "1 %s is hetzelfde als..." + +msgid "Create QU conversion" +msgstr "Maak hoeveelheidseenheidsconversie" + +msgid "Default for QU" +msgstr "Standaard hoeveelheidseenheid" + +msgid "Quantity unit from" +msgstr "Hoeveelheidseenheid vanaf" + +msgid "Quantity unit to" +msgstr "Hoeveelheidseenheid tot" + +msgid "" +"This cannot be lower than %1$s and must be a valid number with max. %2$s " +"decimal places" +msgstr "" +"Dit mag niet lager zijn dan %1$sen moet een geldig getal zijn met max. " +"%2$sdecimalen." + +msgid "This cannot be equal to %s" +msgstr "Dit mag niet gelijk zijn aan %s" + +msgid "This means 1 %1$s is the same as %2$s %3$s" +msgstr "Dit betekent dat 1 %1$s het zelfde is als %2$s%3$s" + +msgid "QU conversions" +msgstr "Hoeveelheidseenheidsconversies" + +msgid "Product overrides" +msgstr "Product overschreden" + +msgid "Override for product" +msgstr "Overschreden van product" + +msgid "This equals %1$s %2$s in stock" +msgstr "Dit komt overeen met %1$s%2$s in voorraad" + +msgid "Edit QU conversion" +msgstr "Wijzig hoeveelheidseenheidsconversies" + +msgid "An assignment type is required" +msgstr "Een opdrachttype is vereist" + +msgid "Assignment type" +msgstr "Opdrachttype" + +msgid "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus 1 dag na de laatste " +"uitvoering is gepland." + +msgid "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution, but only for the weekdays selected below" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus 1 dag na de laatste " +"uitvoering is gepland, maar alleen voor de onderstaand geselecteerde dagen." + +msgid "This means the next execution of this chore is not scheduled" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus niet gepland staat." + +msgid "" +"This means the next execution of this chore is scheduled on the below " +"selected day of each month" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus elke maand gepland " +"staat voor de onderstaand geselecteerde dagen." + +msgid "" +"This means the next execution of this chore will not be assigned to anyone" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus niet meer aan iemand " +"toegewezen staat." + +msgid "" +"This means the next execution of this chore will be assigned to the one who " +"executed it least" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus aan iemand toegewezen " +"wordt die hem het minst heeft uitgevoerd." + +msgid "This means the next execution of this chore will be assigned randomly" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus willekeurig aan iemand" +" toegewezen wordt." + +msgid "" +"This means the next execution of this chore will be assigned to the next one" +" in alphabetical order" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus in alfabetische " +"volgorde aan iemand toegewezen wordt." + +msgid "Assign to" +msgstr "Wijs toe aan" + +msgid "This assignment type requires that at least one is assigned" +msgstr "Voor dit toewijzingstype moet er minstens één worden toegewezen" + +msgid "%s chore is assigned to me" +msgid_plural "%s chores are assigned to me" +msgstr[0] "%s klusje is toegewezen aan mij" +msgstr[1] "%sklussen zijn toegewezen aan mij" + +msgid "Assigned to me" +msgstr "Toegewezen aan mij" + +msgid "assigned to %s" +msgstr "Toegewezen aan %s" + +msgid "Filter by assignment" +msgstr "Filter op toewijzing" + +msgid "Consume product on chore execution" +msgstr "Consumeer product bij uitvoeren klus" + +msgid "Are you sure to delete user field \"%s\"?" +msgstr "Weet u zeker dat u het gebruikersveld %s wilt verwijderen?" + +msgid "Userentities" +msgstr "Gebruikersentiteit" + +msgid "Create userentity" +msgstr "Maak gebruikersentiteit" + +msgid "Show in sidebar menu" +msgstr "Weergeven in zijbalkmenu" + +msgid "Edit userentity" +msgstr "Wijzig gebruikersentiteit" + +msgid "Edit %s" +msgstr "Bewerk %s" + +msgid "Create %s" +msgstr "Maak %s" + +msgid "Are you sure to delete this userobject?" +msgstr "Weet u zeker dat u het gebruikersobject wil verwijderen?" + +msgid "Icon CSS class" +msgstr "Icon CSS class" + +msgid "For example" +msgstr "Bijvoorbeeld" + +msgid "Configure fields" +msgstr "Velden configureren" + +msgid "Quantity unit plural form testing" +msgstr "Hoeveelheidseenheid meervoudsvorm testen" + +msgid "Result" +msgstr "Resultaat" + +msgid "Test plural forms" +msgstr "Test meervoudsvormen" + +msgid "Scan a barcode" +msgstr "Scan een streepjescode" + +msgid "Error while initializing the barcode scanning library" +msgstr "Fout bij het initialiseren van de barcodescanbibliotheek" + +msgid "" +"The resulting price of this ingredient will be multiplied by this factor" +msgstr "" +"De uitkomst van de prijs van dit ingrediënt wordt vermenigvuldigd met deze " +"factor" + +msgid "Price factor" +msgstr "Prijsfactor" + +msgid "Do you find grocy useful?" +msgstr "Vind je grocy handig?" + +msgid "Say thanks" +msgstr "Zeg bedankt" + +msgid "Search for recipes containing this product" +msgstr "Zoek naar recepten met dit product" + +msgid "Add to shopping list" +msgstr "Voeg toe aan boodschappenlijst" + +msgid "Added %1$s of %2$s to the shopping list \"%3$s\"" +msgstr "%1$s %2$s toegevoegd aan boodschappenlijst \"%3$s\"" + +msgid "Output" +msgstr "Uitvoer" + +msgid "Energy (kcal)" +msgstr "Energie (kcal)" + +msgid "Per stock quantity unit" +msgstr "Voorraadhoeveelheidseenheid" + +msgid "Barcode scanner testing" +msgstr "Testen streepjescodescanner" + +msgid "Expected barcode" +msgstr "Verwachte streepjescode" + +msgid "Scan field" +msgstr "Scanveld" + +msgid "Scanned barcodes" +msgstr "Gescande streepjescodes" + +msgid "Hit" +msgstr "Raak" + +msgid "Miss" +msgstr "Mis" + +msgid "Display recipe" +msgstr "Toon recept" + +msgid "Accumulate sub products min. stock amount" +msgstr "Verzamel minimale voorraad sub producten" + +msgid "" +"If enabled, the min. stock amount of sub products will be accumulated into " +"this product, means the sub product will never be \"missing\", only this " +"product" +msgstr "" +"Indien ingeschakeld, de min. voorraad van sub producten zal worden verzameld" +" in dit product, wat betekent dat het sub product nooit zal \"ontbreken\", " +"alleen dit product" + +msgid "Are you sure to remove this conversion?" +msgstr "Weet u zeker dat u deze conversie wilt verwijderen." + +msgid "Unit price" +msgstr "Prijs per eenheid" + +msgid "Total price" +msgstr "Totale prijs" + +msgid "in %s and based on the purchase quantity unit" +msgstr "in %sen gebaseerd op de aankoopshoeveelheidseenheid" + +msgid "Unlimited" +msgstr "Onbegrensd" + +msgid "Clear" +msgstr "Wis" + +msgid "Are you sure to remove the included recipe \"%s\"?" +msgstr "Weet u zeker dat het recept \"%s\" wil toevoegen?" + +msgid "Period interval" +msgstr "Periode interval" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s days" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus, alleen elke %s dagen " +"gepland mag worden. " + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s weeks" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus alleen elke %s weken " +"gepland mag worden. " + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s months" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus alleen elke %s maanden" +" gepland mag worden. " + +msgid "" +"This means the next execution of this chore is scheduled 1 year after the " +"last execution" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus 1 jaar na de laatste " +"uitvoering gepland wordt." + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s years" +msgstr "" +"Dit betekent dat de volgende uitvoering van deze klus alleen elke %s jaar " +"gepland mag worden. " + +msgid "Transfer" +msgstr "Overdragen" + +msgid "From location" +msgstr "Van locatie" + +msgid "To location" +msgstr "Naar locatie" + +msgid "There are no units available at this location" +msgstr "Er zijn geen items beschikbaar op deze locatie" + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "Hoeveelheid: %1$s; Verloopt op %2$s; Gekocht op %3$s" + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "%1$s van %2$s overgedragen van %3$s naar %4$s" + +msgid "Show stock entries" +msgstr "Laat voorraad items zien" + +msgid "Stock entries" +msgstr "Voorraad items" + +msgid "Best before date" +msgstr "Tenminste houdbaar tot" + +msgid "Purchased date" +msgstr "Aangeschafte datum" + +msgid "Consume all %s for this stock entry" +msgstr "Consumeer %s van deze voorraad" + +msgid "The amount cannot be lower than %1$s" +msgstr "De hoeveelheid kan niet lager zijn dan %1$s" + +msgid "Stock entry successfully updated" +msgstr "Voorraad item succesvol geüpdatet" + +msgid "Edit stock entry" +msgstr "Bewerk voorraad item" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" +"Toegang tot de camera is enkel mogelijk indien dit ondersteund en toegestaan" +" wordt en grocy gebruik maakt van een beveiligde (https://) verbinding" + +msgid "Keep screen on" +msgstr "Houd scherm aan" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "Houd scherm aan bij het weergeven van een \"fullscreen-card\"" + +msgid "A purchased date is required" +msgstr "Een aanschafdatum is vereist" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" + +msgid "Produces product" +msgstr "Maakt product" + +msgid "This booking cannot be undone" +msgstr "Deze reservering kan niet ongedaan worden gemaakt" + +msgid "Booking does not exist or was already undone" +msgstr "" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "" + +msgid "Add note" +msgstr "" + +msgid "Add note to %s" +msgstr "" + +msgid "per day" +msgstr "" + +msgid "Compact view" +msgstr "" + +msgid "Normal view" +msgstr "" + +msgid "Only undone items" +msgstr "" + +msgid "Add product" +msgstr "" + +msgid "Add product to %s" +msgstr "" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" + +msgid "Meal plan recipe" +msgstr "" + +msgid "Meal plan note" +msgstr "" + +msgid "Meal plan product" +msgstr "" + +msgid "Scan mode" +msgstr "" + +msgid "on" +msgstr "" + +msgid "off" +msgstr "" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" + +msgid "Is freezer" +msgstr "" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after freezing" +msgstr "" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after thawing" +msgstr "" + +msgid "This cannot be the same as the \"From\" location" +msgstr "" + +msgid "Thawed" +msgstr "" + +msgid "Frozen" msgstr "" diff --git a/localization/nl/userfield_types.po b/localization/nl/userfield_types.po index da5b9a4d..ed43931c 100644 --- a/localization/nl/userfield_types.po +++ b/localization/nl/userfield_types.po @@ -1,6 +1,7 @@ # Translators: -# Bernd Bestel , 2019 # Mitchel Nijkamp , 2019 +# Kees van Nieuwenhuijzen , 2019 +# Daniel Polders , 2020 # msgid "" msgstr "" @@ -8,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:43+0000\n" -"Last-Translator: Mitchel Nijkamp , 2019\n" +"Last-Translator: Daniel Polders , 2020\n" "Language-Team: Dutch (https://www.transifex.com/grocy/teams/93189/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,25 +19,31 @@ msgstr "" "X-Domain: grocy/userfield_types\n" msgid "text-single-line" -msgstr "Tekst (één regel)" +msgstr "tekst (één regel)" msgid "text-multi-line" -msgstr "Tekst (meerdere regels)" +msgstr "tekst (meerdere regels)" msgid "number-integral" -msgstr "Number (héél getal)" +msgstr "nummer (héél getal)" msgid "number-decimal" -msgstr "Nummer (decimaal)" +msgstr "nummer (decimaal)" msgid "date" -msgstr "Getal (zonder tijd)" +msgstr "datum" msgid "datetime" -msgstr "Datum en tijd" +msgstr "datum en tijd" msgid "checkbox" -msgstr "Checkbox" +msgstr "selectievak" msgid "preset-list" msgstr "vooringestelde lijst" + +msgid "preset-checklist" +msgstr "vooringestelde-lijst" + +msgid "link" +msgstr "koppeling" diff --git a/localization/no/demo_data.po b/localization/no/demo_data.po index 09e7a659..246b82f6 100644 --- a/localization/no/demo_data.po +++ b/localization/no/demo_data.po @@ -1,6 +1,6 @@ # Translators: # Bernd Bestel , 2019 -# Marius Borø , 2019 +# Marius Borø , 2020 # msgid "" msgstr "" @@ -8,7 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Marius Borø , 2019\n" +"Last-Translator: Marius Borø , 2020\n" "Language-Team: Norwegian (https://www.transifex.com/grocy/teams/93189/no/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -322,10 +322,19 @@ msgid "Stable version" msgstr "Stabil versjon" msgid "Preview version" -msgstr "Under utvikling versjon" +msgstr "Versjon under utvikling" msgid "current release" msgstr "Nåværende versjon" msgid "not yet released" msgstr "enda ikke gitt ut" + +msgid "Portuguese (Brazil)" +msgstr "Portugisisk (Brasil)" + +msgid "This is a note" +msgstr "" + +msgid "Freezer" +msgstr "" diff --git a/localization/no/strings.po b/localization/no/strings.po index b7e194ef..5177b0bb 100644 --- a/localization/no/strings.po +++ b/localization/no/strings.po @@ -1,7 +1,7 @@ # Translators: # Bernd Bestel , 2019 # Andreas Henden , 2019 -# Marius Borø , 2019 +# Marius Borø , 2020 # msgid "" msgstr "" @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Marius Borø , 2019\n" +"Last-Translator: Marius Borø , 2020\n" "Language-Team: Norwegian (https://www.transifex.com/grocy/teams/93189/no/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -125,7 +125,7 @@ msgid "Stock quantity unit" msgstr "Forpakningstype i beholdningen" msgid "Stock amount" -msgstr "Standardmengde" +msgstr "Beholdningsantall" msgid "Last purchased" msgstr "Sist kjøpt" @@ -830,7 +830,7 @@ msgid "Delete not possible" msgstr "Ikke mulig å slette" msgid "Equipment" -msgstr "Instruksjonmanualer" +msgstr "Instruksjonsmanualer" msgid "Instruction manual" msgstr "Instruksjonsmanual" @@ -842,17 +842,16 @@ msgid "Notes" msgstr "Notater" msgid "Edit equipment" -msgstr "Endre instruksjonmanualer for utstyr" +msgstr "Endre instruksjonsmanual" msgid "Create equipment" -msgstr "Opprett instruksjonmanualer for utstyr" +msgstr "Opprett instruksjonmanualer for et utstyr" msgid "" "If you don't select a file, the current instruction manual will not be " "altered" msgstr "" -"Hvis du ikke velger en instruksjonsmanual, vil nåværende instruksjonsmanual " -"ikke bli endret" +"Om ingen ny instruksjonsmanual blir lastet opp vil nåværende bli værende" msgid "No instruction manual available" msgstr "Ingen instruksjonsmanual tilgjengelig" @@ -955,18 +954,16 @@ msgid "" "The first item in this list would be picked by the default rule which is " "\"First expiring first, then first in first out\"" msgstr "" -"Første produkt på listen vil bli konsumert først i henhold til regel: \"Går " -"ut på dato først. Deretter først inn, først ut\"." +"Første produkt på listen vil bli konsumert først i henhold til denne " +"regelen: \"Går ut på dato først, deretter først inn, først ut\"." msgid "Mark %1$s of %2$s as open" msgstr "Merk %1$s av %2$s som åpen" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" -"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)" msgid "Default best before days after opened" msgstr "Standard best før dager etter åpnet" @@ -977,9 +974,6 @@ msgstr "Merket %1$s av %2$s som åpnet" msgid "Mark as opened" msgstr "Merk som åpnet" -msgid "Expires on %1$s; Bought on %2$s" -msgstr "Går ut på dato %1$s, Kjøpt %2$s" - msgid "Not opened" msgstr "Ikke åpnet" @@ -1005,7 +999,7 @@ msgid "Show clock in header" msgstr "Vis klokken på toppen av siden" msgid "Stock settings" -msgstr "Beholdningsinnstillinger" +msgstr "Beholdning - innstillinger" msgid "Shopping list to stock workflow" msgstr "Arbeidsflyt fra handleliste til beholding" @@ -1148,8 +1142,8 @@ msgstr "Produkttelling" msgid "Type a new product name or barcode and hit TAB to start a workflow" msgstr "" -"Skriv inn et nytt produkt eller strekkode, trykk så TAB for å starte " -"prosessen" +"Skriv inn et nytt produkt eller scan en strekkode, trykk så TAB for å starte" +" innkjøps/ forbruksprosess" msgid "" "This will be used as the default setting when adding this product as a " @@ -1189,7 +1183,7 @@ msgid "Average shelf life" msgstr "Gjennomsnittlig holdbarhetstid" msgid "Spoil rate" -msgstr "\"Utgått på dato\" rate" +msgstr "Prosenttall for hvor mye som har utgått på dato " msgid "Show more" msgstr "Vis mer" @@ -1295,6 +1289,9 @@ msgstr "Ikke nok i beholdningen" msgid "Expiring soon days" msgstr "Går ut på dato snart dager" +msgid "Default location" +msgstr "Standard lokasjon" + msgid "Default amount for purchase" msgstr "Standard mengde for innkjøp" @@ -1651,62 +1648,232 @@ msgid "Miss" msgstr "Bom" msgid "Display recipe" -msgstr "" +msgstr "Vis oppskrift" msgid "Accumulate sub products min. stock amount" -msgstr "" +msgstr "Akkumulert underprodukter minimum beholdningsnivå" msgid "" "If enabled, the min. stock amount of sub products will be accumulated into " "this product, means the sub product will never be \"missing\", only this " "product" msgstr "" +"Hvis aktivert vil minimum beholdningsnivå av under produkter bli akkumulert " +"inn i dette produktet. Dette betyr at under produktet aldri vil \"mangle\", " +"kunne dette produktet." msgid "Are you sure to remove this conversion?" -msgstr "" +msgstr "Er du sikker på at du ønsker å fjerne denne konverteringen?" msgid "Unit price" -msgstr "" +msgstr "Enhetspris" msgid "Total price" -msgstr "" +msgstr "Totalpris" msgid "in %s and based on the purchase quantity unit" -msgstr "" +msgstr "I %s og basert på innkjøpsforpakningen" msgid "Unlimited" -msgstr "" +msgstr "Evig" msgid "Clear" -msgstr "" +msgstr "Tøm" msgid "Are you sure to remove the included recipe \"%s\"?" -msgstr "" +msgstr "Er du sikker du ønsker å slette den inkluderte oppskriften \"%s\"?" msgid "Period interval" -msgstr "" +msgstr "Periodiskinterval" msgid "" "This means the next execution of this chore should only be scheduled every " "%s days" msgstr "" +"Dette betyr at neste gjennomføring av denne husarbeidsoppgaven skal kun " +"planlegges for hver %s dager" msgid "" "This means the next execution of this chore should only be scheduled every " "%s weeks" msgstr "" +"Dette betyr at neste gjennomføring av denne husarbeidsoppgaven skal kun " +"planlegges for hver %s uker" msgid "" "This means the next execution of this chore should only be scheduled every " "%s months" msgstr "" +"Dette betyr at neste gjennomføring av denne husarbeidsoppgaven skal kun " +"planlegges for hver %s måneder" msgid "" "This means the next execution of this chore is scheduled 1 year after the " "last execution" msgstr "" +"Dette betyr at neste gjennomføring av denne husarbeidsoppgaven skal være 1 " +"år etter forrige gjennomføring" msgid "" "This means the next execution of this chore should only be scheduled every " "%s years" msgstr "" +"Dette betyr at neste gjennomføring av denne husarbeidsoppgaven skal kun " +"planlegges for hver %s år" + +msgid "Transfer" +msgstr "Flytte produkt" + +msgid "From location" +msgstr "Fra lokasjon" + +msgid "To location" +msgstr "Til lokasjon" + +msgid "There are no units available at this location" +msgstr "Det er ingen enheter tilgjengelig på denne lokasjonen" + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "Mengde: %1$s; Best før %2$s; Kjøpt %3$s" + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "Flyttet %1$s %2$s fra %3$s til %4$s" + +msgid "Show stock entries" +msgstr "Vis beholdningsoppføringer" + +msgid "Stock entries" +msgstr "Beholdningsoppføringer" + +msgid "Best before date" +msgstr "Best før dato" + +msgid "Purchased date" +msgstr "Innkjøpsdato" + +msgid "Consume all %s for this stock entry" +msgstr "Forbruk alle %s for denne beholdningsoppføringen" + +msgid "The amount cannot be lower than %1$s" +msgstr "Mengden kan ikke være lavere enn %1$s" + +msgid "Stock entry successfully updated" +msgstr "Beholdningsoppføring oppdatert" + +msgid "Edit stock entry" +msgstr "Endre beholdningsoppføring" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" +"Tilgang til kamera må støttes av din nettleser og grocy må serves via en " +"sikker tilkobling (https://)" + +msgid "Keep screen on" +msgstr "Skjerm alltid på" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "Hold skjerm på når du bruker fullskjermsoversikt" + +msgid "A purchased date is required" +msgstr "En innkjøpsdato kreves" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" + +msgid "Produces product" +msgstr "" + +msgid "This booking cannot be undone" +msgstr "" + +msgid "Booking does not exist or was already undone" +msgstr "" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "" + +msgid "Add note" +msgstr "" + +msgid "Add note to %s" +msgstr "" + +msgid "per day" +msgstr "" + +msgid "Compact view" +msgstr "" + +msgid "Normal view" +msgstr "" + +msgid "Only undone items" +msgstr "" + +msgid "Add product" +msgstr "" + +msgid "Add product to %s" +msgstr "" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" + +msgid "Meal plan recipe" +msgstr "" + +msgid "Meal plan note" +msgstr "" + +msgid "Meal plan product" +msgstr "" + +msgid "Scan mode" +msgstr "" + +msgid "on" +msgstr "" + +msgid "off" +msgstr "" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" + +msgid "Is freezer" +msgstr "" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after freezing" +msgstr "" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after thawing" +msgstr "" + +msgid "This cannot be the same as the \"From\" location" +msgstr "" + +msgid "Thawed" +msgstr "" + +msgid "Frozen" +msgstr "" diff --git a/localization/pt_BR/demo_data.po b/localization/pt_BR/demo_data.po index e727c5cd..15f31ac5 100644 --- a/localization/pt_BR/demo_data.po +++ b/localization/pt_BR/demo_data.po @@ -51,8 +51,8 @@ msgstr[1] "Vidros" msgid "Tin" msgid_plural "Tins" -msgstr[0] "Lata" -msgstr[1] "Latas" +msgstr[0] "Enlatado" +msgstr[1] "Enlatados" msgid "Can" msgid_plural "Cans" @@ -284,7 +284,7 @@ msgid "Milk Chocolate" msgstr "Chocolate Branco" msgid "Dark Chocolate" -msgstr "Chocolate" +msgstr "Chocolate Amargo" msgid "Slice" msgid_plural "Slices" @@ -329,3 +329,12 @@ msgstr "versão atual" msgid "not yet released" msgstr "ainda não lançado" + +msgid "Portuguese (Brazil)" +msgstr "Português (Brasil)" + +msgid "This is a note" +msgstr "" + +msgid "Freezer" +msgstr "" diff --git a/localization/pt_BR/strings.po b/localization/pt_BR/strings.po index e8c3e46a..a6b5afcf 100644 --- a/localization/pt_BR/strings.po +++ b/localization/pt_BR/strings.po @@ -3,6 +3,7 @@ # Armando Neto , 2019 # Danilo Vieira , 2019 # Jefferson Brito Passos dos Santos , 2019 +# Arthur Vieira , 2020 # msgid "" msgstr "" @@ -10,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Jefferson Brito Passos dos Santos , 2019\n" +"Last-Translator: Arthur Vieira , 2020\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/grocy/teams/93189/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -972,11 +973,9 @@ msgid "Mark %1$s of %2$s as open" msgstr "Marcar %1$s de %2$s como aberto" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" -"Quando um produto for marcado como aberto, a validade será substituída por " -"hoje + esta quantidade de dias (o valor 0 desabilita)" msgid "Default best before days after opened" msgstr "Validade padão após aberto" @@ -987,9 +986,6 @@ msgstr "%1$s de %2$s marcado como aberto" msgid "Mark as opened" msgstr "Marcar como aberto" -msgid "Expires on %1$s; Bought on %2$s" -msgstr "Vence em %1$s; Comprado em %2$s" - msgid "Not opened" msgstr "Não aberto" @@ -1739,3 +1735,161 @@ msgid "" msgstr "" "Isto significa que a próxima execução desta tarefa doméstica deverá somente " "ser agendada a cada %sanos" + +msgid "Transfer" +msgstr "Transferir" + +msgid "From location" +msgstr "De" + +msgid "To location" +msgstr "Para" + +msgid "There are no units available at this location" +msgstr "Não há nenhuma unidade disponivel neste local" + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "Quantidade: 1%1s; Vence em 2%2s; Comprado em 3%3s" + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "Transferido%1$s de %2$s de %3$s para %4$s" + +msgid "Show stock entries" +msgstr "Mostrar os itens no estoque" + +msgid "Stock entries" +msgstr "Itens no estoque" + +msgid "Best before date" +msgstr "Consumir antes de" + +msgid "Purchased date" +msgstr "Data de compra" + +msgid "Consume all %s for this stock entry" +msgstr "Consumir todos os %s para esse item no estoque" + +msgid "The amount cannot be lower than %1$s" +msgstr "A quantidade não pode ser menor que %1$s" + +msgid "Stock entry successfully updated" +msgstr "Estoque atualizado com sucesso" + +msgid "Edit stock entry" +msgstr "Editar item no estoque" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" +"Acesso a Camera só é possivel caso seja suportado e permitido pelo navegador" +" e quando Grocy for acessado por conexão segura (https://)" + +msgid "Keep screen on" +msgstr "Mantenha a tela ligada" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "" +"Mantenha a tela ligada quando estiver mostrando um \"Cartão de tela-cheia\"" + +msgid "A purchased date is required" +msgstr "" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" + +msgid "Produces product" +msgstr "" + +msgid "This booking cannot be undone" +msgstr "" + +msgid "Booking does not exist or was already undone" +msgstr "" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "" + +msgid "Add note" +msgstr "" + +msgid "Add note to %s" +msgstr "" + +msgid "per day" +msgstr "" + +msgid "Compact view" +msgstr "" + +msgid "Normal view" +msgstr "" + +msgid "Only undone items" +msgstr "" + +msgid "Add product" +msgstr "" + +msgid "Add product to %s" +msgstr "" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" + +msgid "Meal plan recipe" +msgstr "" + +msgid "Meal plan note" +msgstr "" + +msgid "Meal plan product" +msgstr "" + +msgid "Scan mode" +msgstr "" + +msgid "on" +msgstr "" + +msgid "off" +msgstr "" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" + +msgid "Is freezer" +msgstr "" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after freezing" +msgstr "" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after thawing" +msgstr "" + +msgid "This cannot be the same as the \"From\" location" +msgstr "" + +msgid "Thawed" +msgstr "" + +msgid "Frozen" +msgstr "" diff --git a/localization/ru/demo_data.po b/localization/ru/demo_data.po index 8c775560..1d978884 100644 --- a/localization/ru/demo_data.po +++ b/localization/ru/demo_data.po @@ -345,3 +345,12 @@ msgstr "текущий релиз" msgid "not yet released" msgstr "Пока не выпущено" + +msgid "Portuguese (Brazil)" +msgstr "" + +msgid "This is a note" +msgstr "" + +msgid "Freezer" +msgstr "" diff --git a/localization/sv_SE/chore_assignment_types.po b/localization/sv_SE/chore_assignment_types.po index 0751501a..10ad87b6 100644 --- a/localization/sv_SE/chore_assignment_types.po +++ b/localization/sv_SE/chore_assignment_types.po @@ -1,3 +1,6 @@ +# Translators: +# Benjamin Tayehanpour , 2019 +# Peter Wickenberg , 2019 # msgid "" msgstr "" @@ -5,6 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-09-17 10:45+0000\n" +"Last-Translator: Peter Wickenberg , 2019\n" "Language-Team: Swedish (Sweden) (https://www.transifex.com/grocy/teams/93189/sv_SE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,13 +18,13 @@ msgstr "" "X-Domain: grocy/chore_assignment_types\n" msgid "no-assignment" -msgstr "" +msgstr "Ingen uppgift" msgid "who-least-did-first" -msgstr "" +msgstr "Den som gjorde minst går först" msgid "random" -msgstr "" +msgstr "Slumpmässig" msgid "in-alphabetical-order" -msgstr "" +msgstr "I alfabetisk ordning" diff --git a/localization/sv_SE/chore_period_types.po b/localization/sv_SE/chore_period_types.po index 4881e672..424ffa67 100644 --- a/localization/sv_SE/chore_period_types.po +++ b/localization/sv_SE/chore_period_types.po @@ -1,5 +1,6 @@ # Translators: # Bernd Bestel , 2019 +# Peter Wickenberg , 2019 # msgid "" msgstr "" @@ -7,7 +8,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Peter Wickenberg , 2019\n" "Language-Team: Swedish (Sweden) (https://www.transifex.com/grocy/teams/93189/sv_SE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,3 +31,6 @@ msgstr "Veckovis" msgid "monthly" msgstr "Månadsvis" + +msgid "yearly" +msgstr "Årligen" diff --git a/localization/sv_SE/demo_data.po b/localization/sv_SE/demo_data.po index 66e4f9bd..86d06fd6 100644 --- a/localization/sv_SE/demo_data.po +++ b/localization/sv_SE/demo_data.po @@ -2,6 +2,7 @@ # Mathias Fröjd , 2019 # Bernd Bestel , 2019 # Fredrik Hendeberg , 2019 +# Peter Wickenberg , 2019 # msgid "" msgstr "" @@ -9,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Fredrik Hendeberg , 2019\n" +"Last-Translator: Peter Wickenberg , 2019\n" "Language-Team: Swedish (Sweden) (https://www.transifex.com/grocy/teams/93189/sv_SE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -162,9 +163,6 @@ msgstr "Tysk" msgid "Italian" msgstr "Italienska" -msgid "Demo in different language" -msgstr "Demo på olika språk" - msgid "This is the note content of the recipe ingredient" msgstr "Detta är anteckningsinnehållet i receptens ingrediens" @@ -285,27 +283,60 @@ msgid "Polish" msgstr "Polska" msgid "Milk Chocolate" -msgstr "" +msgstr "Mjölkchoklad" msgid "Dark Chocolate" -msgstr "" +msgstr "Mörk chocklad" msgid "Slice" msgid_plural "Slices" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Skiva" +msgstr[1] "Skivor" msgid "Example userentity" -msgstr "" +msgstr "Exempel användarenhet" msgid "This is an example user entity..." -msgstr "" +msgstr "Detta är ett exempel på en användarenhet..." msgid "Custom field" -msgstr "" +msgstr "Anpassat fält" msgid "Example field value..." -msgstr "" +msgstr "Anpassat fält värde..." msgid "Waffle rolls" +msgstr "Våffelrullar" + +msgid "Danish" +msgstr "Danska" + +msgid "Dutch" +msgstr "Hollänska" + +msgid "Norwegian" +msgstr "Norska" + +msgid "Demo" +msgstr "Demo" + +msgid "Stable version" +msgstr "Stabil version" + +msgid "Preview version" +msgstr "Förhandsgrandskningsversion" + +msgid "current release" +msgstr "Aktuell version" + +msgid "not yet released" +msgstr "osläppt version" + +msgid "Portuguese (Brazil)" +msgstr "Portugisiska (Brasilien)" + +msgid "This is a note" +msgstr "" + +msgid "Freezer" msgstr "" diff --git a/localization/sv_SE/strings.po b/localization/sv_SE/strings.po index 59462e64..4fd83c18 100644 --- a/localization/sv_SE/strings.po +++ b/localization/sv_SE/strings.po @@ -1,6 +1,9 @@ # Translators: -# Mathias Fröjd , 2019 # Bernd Bestel , 2019 +# Mathias Fröjd , 2019 +# Jimmy Hawkin , 2019 +# Fredrik Hendeberg , 2019 +# Jesper Sandström , 2019 # msgid "" msgstr "" @@ -8,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:42+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Jesper Sandström , 2019\n" "Language-Team: Swedish (Sweden) (https://www.transifex.com/grocy/teams/93189/sv_SE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,37 +25,37 @@ msgstr "Lageröversikt" msgid "%s product expires" msgid_plural "%s products expiring" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s produkt går ut" +msgstr[1] "%s produkter går ut" msgid "within the next day" msgid_plural "within the next %s days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inom en dag" +msgstr[1] "inom %s dagar" msgid "%s product is already expired" msgid_plural "%s products are already expired" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s produkt har redan gått ut" +msgstr[1] "%s produkter har redan gått ut" msgid "%s product is below defined min. stock amount" msgid_plural "%s products are below defined min. stock amount" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s produkt är under beställningspunkten" +msgstr[1] "%s produkter är under den valda gränsen för minsta lagerantal" msgid "Product" msgstr "Produkt" msgid "%s Product" msgid_plural "%s Products" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s Produkt" +msgstr[1] "%s produkter" msgid "Amount" msgstr "Belopp" msgid "Next best before date" -msgstr "Nästa bäst före datumet" +msgstr "Nästa bäst-före-datum" msgid "Logout" msgstr "Logga ut" @@ -67,7 +70,7 @@ msgid "Purchase" msgstr "Inköp" msgid "Consume" -msgstr "Konsumera" +msgstr "Förbruka" msgid "Inventory" msgstr "Lager" @@ -76,10 +79,10 @@ msgid "Shopping list" msgstr "Inköpslista" msgid "Chore tracking" -msgstr "Sysslor spårning" +msgstr "Spårning av sysslor" msgid "Battery tracking" -msgstr "Batterispårning" +msgstr "Spårning av batterier" msgid "Locations" msgstr "Platser" @@ -97,10 +100,10 @@ msgid "Chore" msgstr "Syssla" msgid "Next estimated tracking" -msgstr "Nästa beräknad spårning" +msgstr "Nästa beräknade spårning" msgid "Last tracked" -msgstr "Senast spåras" +msgstr "Senast spårad" msgid "Battery" msgstr "Batteri" @@ -115,16 +118,16 @@ msgid "Best before" msgstr "Bäst före" msgid "OK" -msgstr "ok" +msgstr "OK" msgid "Product overview" msgstr "Produktöversikt" msgid "Stock quantity unit" -msgstr "Lager kvantitet enhet" +msgstr "Mängdenhet för lager" msgid "Stock amount" -msgstr "Lagerbelopp" +msgstr "Lagerantal" msgid "Last purchased" msgstr "Senast köpt" @@ -133,43 +136,43 @@ msgid "Last used" msgstr "Senast använd" msgid "Spoiled" -msgstr "Skämd" +msgstr "Utgången" msgid "Barcode lookup is disabled" -msgstr "Streckkodsuppslag är inaktiverad" +msgstr "Streckkodsuppslagning är inaktiverad" msgid "" "will be added to the list of barcodes for the selected product on submit" msgstr "" -"kommer att läggas till i listan över streckkoder för den valda produkten vid" -" inlämning" +"kommer att läggas till i listan över streckkoder för den valda produkten när" +" du trycker 'skicka'" msgid "New amount" -msgstr "Nytt belopp" +msgstr "Nytt antal" msgid "Note" -msgstr "Anteckna" +msgstr "Anteckning" msgid "Tracked time" msgstr "Spårad tid" msgid "Chore overview" -msgstr "Syssla översikt" +msgstr "Översikt över syssla" msgid "Tracked count" -msgstr "Spårräkning" +msgstr "Antal spårningar" msgid "Battery overview" msgstr "Batteriöversikt" msgid "Charge cycles count" -msgstr "Laddningscykler räknas" +msgstr "Antal laddcykler" msgid "Create shopping list item" -msgstr "Skapa köpobjekt" +msgstr "Skapa artikel på inköpslista" msgid "Edit shopping list item" -msgstr "Redigera inköpslista" +msgstr "Redigera artikel på inköpslista" msgid "Save" msgstr "Spara" @@ -184,16 +187,16 @@ msgid "Location" msgstr "Plats" msgid "Min. stock amount" -msgstr "Min. lagerbelopp" +msgstr "Minsta lagerantal" msgid "QU purchase" -msgstr "QU köp" +msgstr "Mängdenhet köp" msgid "QU stock" -msgstr "QU lager" +msgstr "Mängdenhet lager" msgid "QU factor" -msgstr "QU-faktor" +msgstr "Faktor för mängdenhet" msgid "Description" msgstr "Beskrivning" @@ -208,28 +211,28 @@ msgid "Minimum stock amount" msgstr "Minsta beståndsbelopp" msgid "Default best before days" -msgstr "Standard bäst före dagar" +msgstr "Standardantal bäst-före-dagar" msgid "Quantity unit purchase" -msgstr "Kvantitetsenhetsköp" +msgstr "Mängdenhet inköp" msgid "Quantity unit stock" msgstr "Kvantitetsenhet lager" msgid "Factor purchase to stock quantity unit" -msgstr "Faktorköp till lager kvantitet enhet" +msgstr "Faktorera mängdenhet för inköp mot mängdenhet för lager" msgid "Create location" msgstr "Skapa plats" msgid "Create quantity unit" -msgstr "Skapa kvantitetsenhet" +msgstr "Skapa mängdenhet" msgid "Period type" msgstr "Periodstyp" msgid "Period days" -msgstr "Period dagar" +msgstr "Antal dagar i perioden" msgid "Create chore" msgstr "Skapa syssla" @@ -247,7 +250,7 @@ msgid "Edit chore" msgstr "Redigera syssla" msgid "Edit quantity unit" -msgstr "Redigera kvantitetsenhet" +msgstr "Redigera mängdenhet" msgid "Edit product" msgstr "Redigera produkt" @@ -259,7 +262,7 @@ msgid "Record data" msgstr "Spara data" msgid "Manage master data" -msgstr "Hantera data" +msgstr "Hantera övergripande data" msgid "This will apply to added products" msgstr "Detta gäller för tillagda produkter" @@ -268,7 +271,7 @@ msgid "never" msgstr "aldrig" msgid "Add products that are below defined min. stock amount" -msgstr "Lägg till produkter som är under definierade min. lagerbelopp" +msgstr "Lägg till produkter som är under det angivna minsta lagerantalet" msgid "" "For purchases this amount of days will be added to today for the best before" @@ -277,8 +280,9 @@ msgstr "" "För inköp kommer denna mängd dagar att läggas till idag för det bästa före " "datumförslaget" -msgid "This means 1 %s purchased will be converted into %s %s in stock" -msgstr "Det betyder att 1 %s köpt kommer att konverteras till %s %s i lager" +msgid "This means 1 %1$s purchased will be converted into %2$s %3$s in stock" +msgstr "" +"Detta betyder at 1 %1$s köpta kommer att konverteras till %2$s %3$s i lager" msgid "Login" msgstr "Logga in" @@ -302,16 +306,16 @@ msgid "No" msgstr "Nej" msgid "Are you sure to delete chore \"%s\"?" -msgstr "Är du säker på att ta bort syssla \"%s\"?" +msgstr "Är du säker på att radera sysslan \"%s\"?" msgid "\"%s\" could not be resolved to a product, how do you want to proceed?" msgstr "\"%s\" kunde inte hittas som produkt, hur vill du fortsätta?" msgid "Create or assign product" -msgstr "Skapa eller tilldel produkt" +msgstr "Skapa eller tilldela produkt" msgid "Cancel" -msgstr "Annullera" +msgstr "Avbryt" msgid "Add as new product" msgstr "Lägg till som ny produkt" @@ -323,19 +327,19 @@ msgid "Add as new product and prefill barcode" msgstr "Lägg till som ny produkt och fyll i streckkoden" msgid "Are you sure to delete quantity unit \"%s\"?" -msgstr "Är du säker på att radera kvantitetsenheten \"%s\"?" +msgstr "Är du säker på att radera mängdenheten \"%s\"?" msgid "Are you sure to delete product \"%s\"?" -msgstr "Är du säker på att ta bort produkten \"%s\"?" +msgstr "Är du säker på att du vill radera produkten \"%s\"?" msgid "Are you sure to delete location \"%s\"?" -msgstr "Är du säker på att radera platsen \"%s\"?" +msgstr "Är du säker på att du vill radera platsen \"%s\"?" msgid "Manage API keys" msgstr "Hantera API-nycklar" msgid "REST API & data model documentation" -msgstr "REST API och datamodell dokumentation" +msgstr "REST API och dokumentation för datamodell" msgid "API keys" msgstr "API-nycklar" @@ -347,7 +351,7 @@ msgid "API key" msgstr "API-nyckel" msgid "Expires" -msgstr "Utgår" +msgstr "Löper ut" msgid "Created" msgstr "Skapad" @@ -362,47 +366,44 @@ msgid "This means %s will be removed from stock" msgstr "Detta betyder att %s kommer att tas bort från lager" msgid "" -"This means it is estimated that a new execution of this chore is tracked %s " -"days after the last was tracked" +"This means the next execution of this chore is scheduled %s days after the " +"last execution" msgstr "" -"Det betyder att det uppskattas att en ny exekvering av denna syssla spåras " -"%s dagar efter det att den sista spåras" +"Det innebär att nästa utförande av denna syssla schemaläggs 1%s dagar efter " +"att den senast utförts" -msgid "Removed %s %s of %s from stock" -msgstr "Ta bort %s %s av %s från lager" +msgid "Removed %1$s of %2$s from stock" +msgstr "Tog bort %1$s %2$s från lagret" msgid "About grocy" msgstr "Om grocy" msgid "Close" -msgstr "Stänga" +msgstr "Stäng" msgid "Released on" -msgstr "Släppt på" +msgstr "Utgiven" -msgid "Consume %s %s of %s" -msgstr "Konsumera %s %s av %s" +msgid "Added %1$s of %2$s to stock" +msgstr "Lade till %1$s %2$s till lagret" -msgid "Added %s %s of %s to stock" -msgstr "Tillagt %s %s av %s till lager" +msgid "Stock amount of %1$s is now %2$s" +msgstr "Mängden %1$s i lager är nu %2$s" -msgid "Stock amount of %s is now %s %s" -msgstr "Lager mängd av %s är nu %s %s" +msgid "Tracked execution of chore %1$s on %2$s" +msgstr "Spårat utförandet av syssla %1$s den %2$s" -msgid "Tracked execution of chore %s on %s" -msgstr "Spårat utförande av syssla %s på %s" - -msgid "Tracked charge cycle of battery %s on %s" -msgstr "Spårad laddningscykel för batteriet %s på %s" +msgid "Tracked charge cycle of battery %1$s on %2$s" +msgstr "Spårade laddningscykeln för batteri %1$s den %2$s" msgid "Consume all %s which are currently in stock" -msgstr "Konsumera alla %s som för närvarande finns i lager" +msgstr "Förbruka alla %s som för närvarande finns i lager" msgid "All" -msgstr "Allt" +msgstr "Alla" msgid "Track charge cycle of battery %s" -msgstr "Spårningscykel för batteriet %s" +msgstr "Spåra laddningscykel för batteriet %s" msgid "Track execution of chore %s" msgstr "Spåra utförandet av syssla %s" @@ -438,19 +439,19 @@ msgid "This cannot be negative" msgstr "Detta kan inte vara negativt" msgid "A quantity unit is required" -msgstr "En kvantitetsenhet krävs" +msgstr "En mängdenhet krävs" msgid "A period type is required" msgstr "En periodstyp krävs" msgid "A best before date is required" -msgstr "Ett bäst före datum krävs" +msgstr "Ett bäst-före-datum krävs" msgid "Settings" msgstr "inställningar" msgid "This can only be before now" -msgstr "Detta kan bara vara för nu" +msgstr "Detta kan bara vara en tidpunkt tidigare än just nu" msgid "Calendar" msgstr "Kalender" @@ -465,31 +466,31 @@ msgid "New recipe" msgstr "Nytt recept" msgid "Ingredients list" -msgstr "Ingredienser lista" +msgstr "Ingredienslista" msgid "Add recipe ingredient" -msgstr "Lägg till recept ingrediens" +msgstr "Lägg till receptingrediens" msgid "Edit recipe ingredient" -msgstr "Redigera recept ingrediens" +msgstr "Redigera receptingrediens" msgid "Are you sure to delete recipe \"%s\"?" -msgstr "Är du säker på att radera receptet \"%s\"?" +msgstr "Är du säker på att du vill radera receptet \"%s\"?" msgid "Are you sure to delete recipe ingredient \"%s\"?" -msgstr "Är du säker på att radera recept ingrediens \"%s\"?" +msgstr "Är du säker på att du vill radera receptingrediensen \"%s\"?" msgid "Are you sure to empty shopping list \"%s\"?" -msgstr "Är du säker på att tömma shoppinglistan \"%s\"?" +msgstr "Är du säker på att du vill tömma inköpslistan \"%s\"?" msgid "Clear list" -msgstr "Tydlig lista" +msgstr "Töm lista" msgid "Requirements fulfilled" msgstr "Krav uppfyllda" msgid "Put missing products on shopping list" -msgstr "Sätt saknade produkter på inköpslista" +msgstr "Sätt saknade produkter i inköpslista" msgid "Enough in stock" msgstr "Tillräckligt i lager" @@ -499,7 +500,11 @@ msgid "" msgid_plural "" "Not enough in stock, %s ingredients missing but already on the shopping list" msgstr[0] "" +"Inte tillräckligt mycket i lager, %s ingrediens saknas men finns redan på " +"inköpslistan" msgstr[1] "" +"Inte tillräckligt mycket i lager, %s ingredienser saknas men finns redan i " +"inköpslistan" msgid "Expand to fullscreen" msgstr "Expandera till fullskärm" @@ -513,14 +518,16 @@ msgstr "Förberedelse" msgid "Recipe" msgstr "Recept" -msgid "Not enough in stock, %s missing, %s already on shopping list" -msgstr "Inte tillräckligt i lager, %s saknas, %s redan på inköpslista" +msgid "Not enough in stock, %1$s missing, %2$s already on shopping list" +msgstr "" +"Inte tillräckligt mycket i lager, %1$s saknas, %2$s finns redan på " +"inköpslistan" msgid "Show notes" msgstr "Visa anteckningar" msgid "Put missing amount on shopping list" -msgstr "Ange saknas belopp på inköpslista" +msgstr "Lägg till saknat antal i inköpslistan" msgid "" "Are you sure to put all missing ingredients for recipe \"%s\" on the " @@ -612,28 +619,28 @@ msgstr "Enhet" msgid "%s Unit" msgid_plural "%s Units" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s Enhet" +msgstr[1] "%s Enheter" msgid "%s chore is due to be done" msgid_plural "%s chores are due to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s syssla att utföra" +msgstr[1] "%s sysslor att utföra" msgid "%s chore is overdue to be done" msgid_plural "%s chores are overdue to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s syssla är försenad" +msgstr[1] "%s sysslor är försenade" msgid "%s battery is due to be charged" msgid_plural "%s batteries are due to be charged" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s batteri behöver laddas" +msgstr[1] "%sbatterier behöver laddas" msgid "%s battery is overdue to be charged" msgid_plural "%s batteries are overdue to be charged" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s batteri borde redan ha laddats" +msgstr[1] "%s batterier borde redan ha laddats" msgid "in singular form" msgstr "i singular form" @@ -721,13 +728,13 @@ msgstr "Är du säker på att ta bort uppgift \"%s\"?" msgid "%s task is due to be done" msgid_plural "%s tasks are due to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s uppgift skall utföras" +msgstr[1] "%s uppgifter skall utföras" msgid "%s task is overdue to be done" msgid_plural "%s tasks are overdue to be done" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s uppgift är försenad" +msgstr[1] "%s uppgifter är försenade" msgid "Edit task category" msgstr "Redigera uppgiftskategori" @@ -946,11 +953,11 @@ msgstr "Inaktivera kontroll av lageruppfyllelse för denna ingrediens" msgid "Add all list items to stock" msgstr "Lägg till alla listobjekt på lager" -msgid "Add %s %s of %s to stock" -msgstr "Lägg till %s %s av %s i lager" +msgid "Add %1$s of %2$s to stock" +msgstr "Lägg till %1$s av %2$s till lagret" -msgid "Adding shopping list item %s of %s" -msgstr "Lägger till inköpslista nr 1 av %s" +msgid "Adding shopping list item %1$s of %2$s" +msgstr "Lägger till %1$s av %2$s på inköpslistan" msgid "Use a specific stock item" msgstr "Använd ett specifikt lagerobjekt" @@ -962,28 +969,23 @@ msgstr "" "Det första objektet i den här listan skulle plockas av standardregeln som är" " \"Första utgången först, sedan först i första utgåvan\"" -msgid "Mark %s of %s as open" -msgstr "" +msgid "Mark %1$s of %2$s as open" +msgstr "Markera %1$s av %2$s som öppna" msgid "" -"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 this product was marked as opened, the best before date will be " +"replaced by today + this amount of days (a value of 0 disables this)" msgstr "" -"När en produkt markerades som öppnad, kommer det bästa före datumet att " -"ersättas med idag + detta antal dagar (ett värde av 0 avaktiverar detta)" msgid "Default best before days after opened" msgstr "Standard bäst före dagar efter öppnandet" -msgid "Marked %s %s of %s as opened" -msgstr "Markerad %s %s av %s som öppnad" +msgid "Marked %1$s of %2$s as opened" +msgstr "Markerat %1$s av %2$s som öppna" msgid "Mark as opened" msgstr "Markera som öppnat" -msgid "Expires on %s; Bought on %s" -msgstr "Förfaller %s; Köpt den %s" - msgid "Not opened" msgstr "Ej öppnad" @@ -1025,7 +1027,7 @@ msgid "Skip" msgstr "Hoppa över" msgid "Servings" -msgstr "Serveringar" +msgstr "Portioner" msgid "Costs" msgstr "Kostar" @@ -1137,8 +1139,8 @@ msgstr "System information" msgid "Changelog" msgstr "Ändringslogg" -msgid "will be multiplied a factor of %s to get %s" -msgstr "kommer att multipliceras med en faktor %s för att få %s" +msgid "will be multiplied a factor of %1$s to get %2$s" +msgstr "kommer att multipliceras med en faktor av %1$s för att få %2$s" msgid "The given date is earlier than today, are you sure?" msgstr "Det angivna datumet är tidigare än idag, är du säker?" @@ -1197,8 +1199,8 @@ msgstr "Visa mer" msgid "Show less" msgstr "Visa mindre" -msgid "The amount must be between %s and %s" -msgstr "Beloppet måste vara mellan %s och %s" +msgid "The amount must be between %1$s and %2$s" +msgstr "Beloppet måste vara mellan %1$s och %2$s" msgid "Day of month" msgstr "Dag i månad" @@ -1264,42 +1266,616 @@ msgid "Edit userfield" msgstr "Edit userfield" msgid "Plural forms" -msgstr "" +msgstr "Pluralformer" msgid "One plural form per line, the current language requires" -msgstr "" +msgstr "En pluralform per rad, språket behöver" msgid "Plural count" -msgstr "" +msgstr "Flertal" msgid "Plural rule" -msgstr "" +msgstr "Plural regel" msgid "in plural form" msgstr "i plural form" msgid "Not enough in stock, %s ingredient missing" msgid_plural "Not enough in stock, %s ingredients missing" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Inte tillräckligt i lager, %s ingrediens saknas" +msgstr[1] "Inte tillräckligt i lager, %s ingredienser saknas" -msgid "Consume %s of %s" -msgstr "" - -msgid "The amount cannot be lower than %s or equal %s" -msgstr "" +msgid "The amount cannot be lower than %1$s or equal %2$s" +msgstr "Mängden kan inte vara längre än %1$s eller lika med %2$s" msgid "Not enough in stock, but already on the shopping list" -msgstr "" +msgstr "Inte tillräckligt i lager, men redan på inköpslistan" msgid "Not enough in stock" -msgstr "" +msgstr "Inte tillräckligt i lager" msgid "Expiring soon days" -msgstr "" +msgstr "Utgår snart dagar" + +msgid "Default location" +msgstr "Standardplats" msgid "Default amount for purchase" -msgstr "" +msgstr "Standardbelopp för köp" msgid "Default amount for consume" +msgstr "Standardbelopp för konsumtion" + +msgid "Variable amount" +msgstr "Variabelt belopp" + +msgid "" +"When this is not empty, it will be shown instead of the amount entered above" +" while the amount there will still be used for stock fulfillment checking" +msgstr "" +"När detta inte är tomt kommer det att visas istället för det angivna " +"beloppet medan beloppet där fortfarande kommer att användas för att " +"kontrollera lager" + +msgid "Track date only" +msgstr "Spåra endast datum" + +msgid "When enabled only the day of an execution is tracked, not the time" +msgstr "När det är aktiverat spåras bara dagen för en körning, inte tiden" + +msgid "Consume %1$s of %2$s" +msgstr "Konsumerat%1$sav%2$s" + +msgid "Meal plan" +msgstr "Måltidsplan" + +msgid "Add recipe to %s" +msgstr "Lägg till recept till" + +msgid "%s serving" +msgid_plural "%s servings" +msgstr[0] "%s portion" +msgstr[1] "%s portioner" + +msgid "Week costs" +msgstr "Veckokostnader" + +msgid "Configuration" +msgstr "Konfiguration" + +msgid "A predefined list of values, one per line" +msgstr "En fördefinierad lista med värden, en per rad" + +msgid "Chores due soon days" +msgstr "Ärenden kommer snart dagar" + +msgid "Batteries due to be charged soon days" +msgstr "Batterier kommer att laddas snart dagar" + +msgid "Tasks due soon days" +msgstr "Uppgifter som kommer snart dagar" + +msgid "Products" +msgstr "Produkter" + +msgid "Marked task %s as completed on %s" +msgstr "Markerad uppgift%som avslutad den%s" + +msgid "Booking has subsequent dependent bookings, undo not possible" +msgstr "Bokning har efterföljande beroende bokningar, går inte att ångra" + +msgid "per serving" +msgstr "per portion" + +msgid "Never" +msgstr "Aldrig" + +msgid "Today" +msgstr "Idag" + +msgid "Consume %1$s of %2$s as spoiled" +msgstr "Konsumera%1$s av %2$s som förstört " + +msgid "Not all ingredients of recipe \"%s\" are in stock, nothing removed" +msgstr "Inte alla ingredienser i recept \"%s\" finns i lager, inget togs bort" + +msgid "Undo task \"%s\"" +msgstr "Ångra uppgiften \"%s\"" + +msgid "Due date rollover" +msgstr "Förfallodatumövergång" + +msgid "" +"When enabled the chore can never be overdue, the due date will shift forward" +" each day when due" +msgstr "" +"När det är aktiverat kan uppdraget aldrig förfalla, förfallodatumet " +"förflyttas framåt varje dag när det förfaller" + +msgid "Location Content Sheet" +msgstr "Platsinnehållsblad" + +msgid "Print" +msgstr "Skriv ut" + +msgid "all locations" +msgstr "Alla positioner" + +msgid "" +"Here you can print a page per location with the current stock, maybe to hang" +" it there and note the consumed things on it." +msgstr "" +"Här kan du skriva ut en sida per plats med det aktuella lagret, kanske för " +"att hänga den där och notera de förbrukade sakerna på den." + +msgid "this location" +msgstr "Denna position" + +msgid "Consumend amount" +msgstr "Förbrukat antal" + +msgid "Time of printing" +msgstr "Tid för utskrift" + +msgid "Are you sure to delete equipment \"%s\"?" +msgstr "Är du säker på att radera utrustningen \"%s\"?" + +msgid "Parent product" +msgstr "Överordnad produkt" + +msgid "" +"Not possible because this product is already used as a parent product in " +"another product" +msgstr "" +"Inte möjligt då denna produkt redan används som överordnad produkt för en " +"annan produkt" + +msgid "Default conversions" +msgstr "Standardkonverteringar" + +msgid "Factor" +msgstr "Faktor" + +msgid "1 %s is the same as..." +msgstr "1 %s är detsamma som..." + +msgid "Create QU conversion" +msgstr "Skapa konvertering för mängdenhet" + +msgid "Default for QU" +msgstr "Standard för mängdenhet" + +msgid "Quantity unit from" +msgstr "Från mängdenhet" + +msgid "Quantity unit to" +msgstr "Till mängdenhet" + +msgid "" +"This cannot be lower than %1$s and must be a valid number with max. %2$s " +"decimal places" +msgstr "" +"Detta kan inte vara mindre än %1$s och måste vara ettgiltigt tal med max " +"%2$s decimaler" + +msgid "This cannot be equal to %s" +msgstr "Detta kan inte vara lika med %s" + +msgid "This means 1 %1$s is the same as %2$s %3$s" +msgstr "Det innebär att 1 %1$s är detsamma som %2$s %3$s" + +msgid "QU conversions" +msgstr "Konverteringar mellan mängdenheter" + +msgid "Product overrides" +msgstr "Produkten har företräde framför" + +msgid "Override for product" +msgstr "Företräde för produkt" + +msgid "This equals %1$s %2$s in stock" +msgstr "Det motsvarar %1$s %2$s i lager" + +msgid "Edit QU conversion" +msgstr "Redigera konvertering för mängdenhet" + +msgid "An assignment type is required" +msgstr "En uppgiftstyp behövs" + +msgid "Assignment type" +msgstr "Uppgiftstyp" + +msgid "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution" +msgstr "" +"Det innebär att nästa utförande av denna syssla schemaläggs 1 dag efter att " +"den senast utförts" + +msgid "" +"This means the next execution of this chore is scheduled 1 day after the " +"last execution, but only for the weekdays selected below" +msgstr "" +"Det innebär att nästa utförande av denna syssla schemaläggs 1 dag efter att " +"den senast utförts, men endast på de nedan valda veckodagarna" + +msgid "This means the next execution of this chore is not scheduled" +msgstr "Det innebär att nästa utförande av denna syssla inte schemaläggs" + +msgid "" +"This means the next execution of this chore is scheduled on the below " +"selected day of each month" +msgstr "" +"Det innebär att nästa utförande av denna syssla schemaläggs på den nedan " +"valda dagen i varje månad" + +msgid "" +"This means the next execution of this chore will not be assigned to anyone" +msgstr "Det innebär att nästa utförande av denna syssla inte tilldelas någon" + +msgid "" +"This means the next execution of this chore will be assigned to the one who " +"executed it least" +msgstr "" +"Det innebär att nästa utförande av denna syssla tilldelas den som senast " +"utförde den" + +msgid "This means the next execution of this chore will be assigned randomly" +msgstr "" +"Det innebär att nästa utförande av denna syssla tilldelas slumpmässigt" + +msgid "" +"This means the next execution of this chore will be assigned to the next one" +" in alphabetical order" +msgstr "" +"Det innebär att nästa utförande av denna syssla tilldelas nästa person i " +"bokstavsordning" + +msgid "Assign to" +msgstr "Tilldela" + +msgid "This assignment type requires that at least one is assigned" +msgstr "Denna uppgiftstyp kräver åtminstone en tilldelning" + +msgid "%s chore is assigned to me" +msgid_plural "%s chores are assigned to me" +msgstr[0] "Jag har %s tilldelad syssla" +msgstr[1] "Jag har %s tilldelade sysslor" + +msgid "Assigned to me" +msgstr "Tilldelad till mig" + +msgid "assigned to %s" +msgstr "Tilldelad till %s" + +msgid "Filter by assignment" +msgstr "Filtrera på uppgift" + +msgid "Consume product on chore execution" +msgstr "Förbruka produkt när syssla utförs" + +msgid "Are you sure to delete user field \"%s\"?" +msgstr "Är du säker på att du vill radera användarfältet \"%s\"?" + +msgid "Userentities" +msgstr "Användarposter" + +msgid "Create userentity" +msgstr "Skapa användarpost" + +msgid "Show in sidebar menu" +msgstr "Visa i sidofältet" + +msgid "Edit userentity" +msgstr "Redigera användarpost" + +msgid "Edit %s" +msgstr "Redigera %s" + +msgid "Create %s" +msgstr "Skapa %s" + +msgid "Are you sure to delete this userobject?" +msgstr "Är du säker på att du vill radera detta användarobjekt?" + +msgid "Icon CSS class" +msgstr "CSS-klass för ikon" + +msgid "For example" +msgstr "Till exempel" + +msgid "Configure fields" +msgstr "Konfigurera fält" + +msgid "Quantity unit plural form testing" +msgstr "Test för pluralform av mängdenhet" + +msgid "Result" +msgstr "Resultat" + +msgid "Test plural forms" +msgstr "Testa pluralformer" + +msgid "Scan a barcode" +msgstr "Skanna streckkod" + +msgid "Error while initializing the barcode scanning library" +msgstr "Fel när programbiblioteket för streckkodsskanning skulle läsas in" + +msgid "" +"The resulting price of this ingredient will be multiplied by this factor" +msgstr "Priset för denna ingrediens kommer att multipliceras med denna faktor" + +msgid "Price factor" +msgstr "Prisfaktor" + +msgid "Do you find grocy useful?" +msgstr "Tycker du att grocy är användbart?" + +msgid "Say thanks" +msgstr "Tacka" + +msgid "Search for recipes containing this product" +msgstr "Sök efter recept innehållande denna produkt" + +msgid "Add to shopping list" +msgstr "Lägg till inköpslista" + +msgid "Added %1$s of %2$s to the shopping list \"%3$s\"" +msgstr "La till %1$s %2$s till inköpslistan \"%3$s\"" + +msgid "Output" +msgstr "Utdata" + +msgid "Energy (kcal)" +msgstr "Energi (kcal)" + +msgid "Per stock quantity unit" +msgstr "Per mängdenhet i lager" + +msgid "Barcode scanner testing" +msgstr "Test av streckkodsskanning" + +msgid "Expected barcode" +msgstr "Förväntad streckkod" + +msgid "Scan field" +msgstr "Skanningsfält" + +msgid "Scanned barcodes" +msgstr "Skannade streckkoder" + +msgid "Hit" +msgstr "Träff" + +msgid "Miss" +msgstr "Ej träff" + +msgid "Display recipe" +msgstr "Visa recept" + +msgid "Accumulate sub products min. stock amount" +msgstr "Ackumulera minsta lagersumma för underprodukt" + +msgid "" +"If enabled, the min. stock amount of sub products will be accumulated into " +"this product, means the sub product will never be \"missing\", only this " +"product" +msgstr "" +"Om detta är aktiverat kommer minsta lagerantal för underprodukter att " +"ackumuleras till denna produkt, vilket innebär att underprodukten aldrig " +"kommer saknas, endast denna överordnade produkt" + +msgid "Are you sure to remove this conversion?" +msgstr "Är du säker på att du vill radera denna konvertering?" + +msgid "Unit price" +msgstr "Enhetspris" + +msgid "Total price" +msgstr "Totalpris" + +msgid "in %s and based on the purchase quantity unit" +msgstr "i %s och baserat på mängdenhet för inköp" + +msgid "Unlimited" +msgstr "Obegränsat" + +msgid "Clear" +msgstr "Töm" + +msgid "Are you sure to remove the included recipe \"%s\"?" +msgstr "Är du säker på att du vill radera receptet \"%s\" som ingår?" + +msgid "Period interval" +msgstr "Periodintervall" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s days" +msgstr "" +"Det innebär att nästa utförande av denna syssla endast ska schemaläggas var " +"%s dag" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s weeks" +msgstr "" +"Det innebär att nästa utförande av denna syssla endast ska schemaläggas var " +"%s vecka" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s months" +msgstr "" +"Det innebär att nästa utförande av denna syssla endast ska schemaläggas var " +"%s månad" + +msgid "" +"This means the next execution of this chore is scheduled 1 year after the " +"last execution" +msgstr "" +"Det innebär att nästa utförande av denna syssla schemaläggs 1 år efter att " +"den senast utförts" + +msgid "" +"This means the next execution of this chore should only be scheduled every " +"%s years" +msgstr "" +"Det innebär att nästa utförande av denna syssla endast ska schemaläggas var " +"%s år" + +msgid "Transfer" +msgstr "" + +msgid "From location" +msgstr "" + +msgid "To location" +msgstr "" + +msgid "There are no units available at this location" +msgstr "" + +msgid "Amount: %1$s; Expires on %2$s; Bought on %3$s" +msgstr "" + +msgid "Transfered %1$s of %2$s from %3$s to %4$s" +msgstr "" + +msgid "Show stock entries" +msgstr "" + +msgid "Stock entries" +msgstr "" + +msgid "Best before date" +msgstr "" + +msgid "Purchased date" +msgstr "" + +msgid "Consume all %s for this stock entry" +msgstr "" + +msgid "The amount cannot be lower than %1$s" +msgstr "" + +msgid "Stock entry successfully updated" +msgstr "" + +msgid "Edit stock entry" +msgstr "" + +msgid "" +"Camera access is on only possible when supported and allowed by your browser" +" and when grocy is served via a secure (https://) connection" +msgstr "" + +msgid "Keep screen on" +msgstr "" + +msgid "Keep screen on while displaying a \"fullscreen-card\"" +msgstr "" + +msgid "A purchased date is required" +msgstr "" + +msgid "" +"When a product is selected, one unit (per serving in purchase quantity unit)" +" will be added to stock on consuming this recipe" +msgstr "" + +msgid "Produces product" +msgstr "" + +msgid "This booking cannot be undone" +msgstr "" + +msgid "Booking does not exist or was already undone" +msgstr "" + +msgid "Are you sure to delete API key \"%s\"?" +msgstr "" + +msgid "Add note" +msgstr "" + +msgid "Add note to %s" +msgstr "" + +msgid "per day" +msgstr "" + +msgid "Compact view" +msgstr "" + +msgid "Normal view" +msgstr "" + +msgid "Only undone items" +msgstr "" + +msgid "Add product" +msgstr "" + +msgid "Add product to %s" +msgstr "" + +msgid "Consume all ingredients needed by this weeks recipes or products" +msgstr "" + +msgid "Meal plan recipe" +msgstr "" + +msgid "Meal plan note" +msgstr "" + +msgid "Meal plan product" +msgstr "" + +msgid "Scan mode" +msgstr "" + +msgid "on" +msgstr "" + +msgid "off" +msgstr "" + +msgid "" +"Scan mode is on but not all required fields could be populated automatically" +msgstr "" + +msgid "Is freezer" +msgstr "" + +msgid "" +"When moving products from/to a freezer location, the products best before " +"date is automatically adjusted according to the product settings" +msgstr "" + +msgid "" +"On moving this product to a freezer location (so when freezing it), the best" +" before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after freezing" +msgstr "" + +msgid "" +"On moving this product from a freezer location (so when thawing it), the " +"best before date will be replaced by today + this amount of days" +msgstr "" + +msgid "Default best before days after thawing" +msgstr "" + +msgid "This cannot be the same as the \"From\" location" +msgstr "" + +msgid "Thawed" +msgstr "" + +msgid "Frozen" msgstr "" diff --git a/localization/sv_SE/userfield_types.po b/localization/sv_SE/userfield_types.po index 1bf60391..c556b4ef 100644 --- a/localization/sv_SE/userfield_types.po +++ b/localization/sv_SE/userfield_types.po @@ -1,5 +1,8 @@ # Translators: # Bernd Bestel , 2019 +# Fredrik Hendeberg , 2019 +# Jesper Sandström , 2019 +# Peter Wickenberg , 2019 # msgid "" msgstr "" @@ -7,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-01T17:59:17+00:00\n" "PO-Revision-Date: 2019-05-01 17:43+0000\n" -"Last-Translator: Bernd Bestel , 2019\n" +"Last-Translator: Peter Wickenberg , 2019\n" "Language-Team: Swedish (Sweden) (https://www.transifex.com/grocy/teams/93189/sv_SE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,13 +23,13 @@ msgid "text-single-line" msgstr "Text (en rad)" msgid "text-multi-line" -msgstr "Text (multipla rader)" +msgstr "Text (flera rader)" msgid "number-integral" -msgstr "Nummer (integral)" +msgstr "Antal (heltal)" msgid "number-decimal" -msgstr "Nummer (decimal)" +msgstr "Antal (decimal)" msgid "date" msgstr "Datum (utan tid)" @@ -36,3 +39,12 @@ msgstr "Datum & tid" msgid "checkbox" msgstr "Kryssruta" + +msgid "preset-list" +msgstr "mall-lista" + +msgid "preset-checklist" +msgstr "förchecklista" + +msgid "link" +msgstr "länk" diff --git a/migrations/0095.sql b/migrations/0095.sql index 440638e6..45c614fd 100644 --- a/migrations/0095.sql +++ b/migrations/0095.sql @@ -6,6 +6,10 @@ BEGIN AND location_id IS NULL; END; +UPDATE stock +SET location_id = (SELECT location_id FROM products where id = product_id) +WHERE location_id IS NULL; + CREATE TRIGGER set_products_default_location_if_empty_stock_log AFTER INSERT ON stock_log BEGIN UPDATE stock_log @@ -14,6 +18,10 @@ BEGIN AND location_id IS NULL; END; +UPDATE stock_log +SET location_id = (SELECT location_id FROM products where id = product_id) +WHERE location_id IS NULL; + ALTER TABLE stock_log ADD correlation_id TEXT; diff --git a/package.json b/package.json index 7709a79b..141741b5 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "datatables.net-select": "^1.3.0", "datatables.net-select-bs4": "^1.3.0", "fullcalendar": "^3.10.1", - "gettext-translator": "^2.1.0", + "gettext-translator": "2.1.0", "jquery": "^3.4.1", "jquery-lazy": "^1.7.10", "jquery-serializejson": "^2.9.0", @@ -30,7 +30,7 @@ "nosleep.js": "^0.9.0", "quagga": "^0.12.1", "sprintf-js": "^1.1.2", - "startbootstrap-sb-admin": "^4.0.0", + "startbootstrap-sb-admin": "4.0.0", "summernote": "^0.8.12", "swagger-ui-dist": "^3.23.10", "tempusdominus-bootstrap-4": "https://github.com/berrnd/tempusdominus-bootstrap-4.git#master", diff --git a/public/css/grocy.css b/public/css/grocy.css index ade4f655..1a6464e9 100644 --- a/public/css/grocy.css +++ b/public/css/grocy.css @@ -144,7 +144,8 @@ input::-webkit-inner-spin-button { border-radius: 0; } -.navbar-nav .dropdown-divider { +.navbar-nav .dropdown-divider, +.nav-item-divider { border-top: 2px solid !important; border-color: #d6d6d6 !important; } diff --git a/public/js/extensions.js b/public/js/extensions.js index bfe91e6e..6e360fe4 100644 --- a/public/js/extensions.js +++ b/public/js/extensions.js @@ -145,3 +145,11 @@ function Delay(callable, delayMilliseconds) }, delayMilliseconds || 0); }; } + +$.fn.isVisibleInViewport = function(extraHeightPadding = 0) +{ + var elementTop = $(this).offset().top; + var viewportTop = $(window).scrollTop() - extraHeightPadding; + + return elementTop + $(this).outerHeight() > viewportTop && elementTop < viewportTop + $(window).height(); +}; diff --git a/public/js/grocy.js b/public/js/grocy.js index 08fbeab9..275cd6fe 100644 --- a/public/js/grocy.js +++ b/public/js/grocy.js @@ -258,11 +258,29 @@ if (!Grocy.ActiveNav.isEmpty()) var menuItem = $('#sidebarResponsive').find("[data-nav-for-page='" + Grocy.ActiveNav + "']"); menuItem.addClass('active-page'); - var parentMenuSelector = menuItem.data("sub-menu-of"); - if (typeof parentMenuSelector !== "undefined") + if (menuItem.length) { - $(parentMenuSelector).collapse("show"); - $(parentMenuSelector).prev(".nav-link-collapse").addClass("active-page"); + var parentMenuSelector = menuItem.data("sub-menu-of"); + if (typeof parentMenuSelector !== "undefined") + { + $(parentMenuSelector).collapse("show"); + $(parentMenuSelector).prev(".nav-link-collapse").addClass("active-page"); + + $(parentMenuSelector).on("shown.bs.collapse", function (e) + { + if (!menuItem.isVisibleInViewport(75)) + { + menuItem[0].scrollIntoView(); + } + }) + } + else + { + if (!menuItem.isVisibleInViewport(75)) + { + menuItem[0].scrollIntoView(); + } + } } } @@ -293,9 +311,9 @@ if (window.localStorage.getItem("sidebar_state") === "collapsed") } $.timeago.settings.allowFuture = true; -RefreshContextualTimeago = function() +RefreshContextualTimeago = function(rootSelector = "#page-content") { - $("time.timeago").each(function() + $(rootSelector + " time.timeago").each(function() { var element = $(this); @@ -526,9 +544,9 @@ $("#about-dialog-link").on("click", function() }); }); -function RefreshLocaleNumberDisplay() +function RefreshLocaleNumberDisplay(rootSelector = "#page-content") { - $(".locale-number.locale-number-currency").each(function() + $(rootSelector + " .locale-number.locale-number-currency").each(function() { if (isNaN(parseFloat($(this).text()))) { @@ -538,7 +556,7 @@ function RefreshLocaleNumberDisplay() $(this).text(parseFloat($(this).text()).toLocaleString(undefined, { style: "currency", currency: Grocy.Currency })); }); - $(".locale-number.locale-number-quantity-amount").each(function() + $(rootSelector + " .locale-number.locale-number-quantity-amount").each(function() { if (isNaN(parseFloat($(this).text()))) { @@ -548,7 +566,7 @@ function RefreshLocaleNumberDisplay() $(this).text(parseFloat($(this).text()).toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 3 })); }); - $(".locale-number.locale-number-generic").each(function () + $(rootSelector + " .locale-number.locale-number-generic").each(function () { if (isNaN(parseFloat($(this).text()))) { diff --git a/public/viewjs/batteriesjournal.js b/public/viewjs/batteriesjournal.js index 6b20ff02..b998fce0 100644 --- a/public/viewjs/batteriesjournal.js +++ b/public/viewjs/batteriesjournal.js @@ -50,8 +50,8 @@ $(document).on('click', '.undo-battery-execution-button', function(e) { element.closest("tr").addClass("text-muted"); element.parent().siblings().find("span.name-anchor").addClass("text-strike-through").after("
" + __t("Undone on") + " " + moment().format("YYYY-MM-DD HH:mm:ss") + " "); - element.closest(".undo-stock-booking-button").addClass("disabled"); - RefreshContextualTimeago(); + element.closest(".undo-battery-execution-button").addClass("disabled"); + RefreshContextualTimeago("#charge-cycle-" + chargeCycleId + "-row"); toastr.success(__t("Charge cycle successfully undone")); }, function(xhr) diff --git a/public/viewjs/batteriesoverview.js b/public/viewjs/batteriesoverview.js index f08e8a92..8ee1789e 100644 --- a/public/viewjs/batteriesoverview.js +++ b/public/viewjs/batteriesoverview.js @@ -95,7 +95,7 @@ $(document).on('click', '.track-charge-cycle-button', function(e) Grocy.FrontendHelpers.EndUiBusy(); toastr.success(__t('Tracked charge cycle of battery %1$s on %2$s', batteryName, trackedTime)); - RefreshContextualTimeago(); + RefreshContextualTimeago("#battery-" + batteryId + "-row"); RefreshStatistics(); }, function(xhr) diff --git a/public/viewjs/choresjournal.js b/public/viewjs/choresjournal.js index 7ca81ea8..2e548998 100644 --- a/public/viewjs/choresjournal.js +++ b/public/viewjs/choresjournal.js @@ -51,7 +51,7 @@ $(document).on('click', '.undo-chore-execution-button', function(e) element.closest("tr").addClass("text-muted"); element.parent().siblings().find("span.name-anchor").addClass("text-strike-through").after("
" + __t("Undone on") + " " + moment().format("YYYY-MM-DD HH:mm:ss") + " "); element.closest(".undo-stock-booking-button").addClass("disabled"); - RefreshContextualTimeago(); + RefreshContextualTimeago("#chore-execution-" + executionId + "-row"); toastr.success(__t("Chore execution successfully undone")); }, function(xhr) diff --git a/public/viewjs/choresoverview.js b/public/viewjs/choresoverview.js index 65019c93..1d738f91 100644 --- a/public/viewjs/choresoverview.js +++ b/public/viewjs/choresoverview.js @@ -146,7 +146,7 @@ $(document).on('click', '.track-chore-button', function(e) // Delay due to delayed/animated set of new timestamps above setTimeout(function() { - RefreshContextualTimeago(); + RefreshContextualTimeago("#chore-" + choreId + "-row"); // Refresh the DataTable to re-apply filters choresOverviewTable.rows().invalidate().draw(false); diff --git a/public/viewjs/components/batterycard.js b/public/viewjs/components/batterycard.js index ab180ff0..d23d8736 100644 --- a/public/viewjs/components/batterycard.js +++ b/public/viewjs/components/batterycard.js @@ -17,7 +17,7 @@ Grocy.Components.BatteryCard.Refresh = function(batteryId) $('#batterycard-battery-journal-button').removeClass("disabled"); EmptyElementWhenMatches('#batterycard-battery-last-charged-timeago', __t('timeago_nan')); - RefreshContextualTimeago(); + RefreshContextualTimeago(".batterycard"); }, function(xhr) { diff --git a/public/viewjs/components/chorecard.js b/public/viewjs/components/chorecard.js index f0bb4b5b..83ca9d22 100644 --- a/public/viewjs/components/chorecard.js +++ b/public/viewjs/components/chorecard.js @@ -26,7 +26,7 @@ Grocy.Components.ChoreCard.Refresh = function(choreId) } EmptyElementWhenMatches('#chorecard-chore-last-tracked-timeago', __t('timeago_nan')); - RefreshContextualTimeago(); + RefreshContextualTimeago(".chorecard"); }, function(xhr) { diff --git a/public/viewjs/components/datetimepicker.js b/public/viewjs/components/datetimepicker.js index a785b072..62e27fd0 100644 --- a/public/viewjs/components/datetimepicker.js +++ b/public/viewjs/components/datetimepicker.js @@ -268,7 +268,7 @@ Grocy.Components.DateTimePicker.GetInputElement().on('input', function(e) { $('#datetimepicker-timeago').attr("datetime", Grocy.Components.DateTimePicker.GetValue()); EmptyElementWhenMatches('#datetimepicker-timeago', __t('timeago_nan')); - RefreshContextualTimeago(); + RefreshContextualTimeago(".datetimepicker"); }); $('.datetimepicker').on('update.datetimepicker', function(e) diff --git a/public/viewjs/components/datetimepicker2.js b/public/viewjs/components/datetimepicker2.js index ce352fa0..03a89d07 100644 --- a/public/viewjs/components/datetimepicker2.js +++ b/public/viewjs/components/datetimepicker2.js @@ -79,7 +79,7 @@ if (Grocy.Components.DateTimePicker2.GetInputElement().data('limit-end-to-now') Grocy.Components.DateTimePicker2.Init = function() { - $('.datetimepicker').datetimepicker( + $('.datetimepicker2').datetimepicker( { format: Grocy.Components.DateTimePicker2.GetInputElement().data('format'), buttons: { @@ -124,7 +124,7 @@ Grocy.Components.DateTimePicker2.Init(); Grocy.Components.DateTimePicker2.GetInputElement().on('keyup', function(e) { - $('.datetimepicker').datetimepicker('hide'); + $('.datetimepicker2').datetimepicker('hide'); var value = Grocy.Components.DateTimePicker2.GetValue(); var now = new Date(); @@ -268,17 +268,17 @@ Grocy.Components.DateTimePicker2.GetInputElement().on('input', function(e) { $('#datetimepicker-timeago').attr("datetime", Grocy.Components.DateTimePicker2.GetValue()); EmptyElementWhenMatches('#datetimepicker-timeago', __t('timeago_nan')); - RefreshContextualTimeago(); + RefreshContextualTimeago(".datetimepicker2"); }); -$('.datetimepicker').on('update.datetimepicker', function(e) +$('.datetimepicker2').on('update.datetimepicker', function(e) { Grocy.Components.DateTimePicker2.GetInputElement().trigger('input'); Grocy.Components.DateTimePicker2.GetInputElement().trigger('change'); Grocy.Components.DateTimePicker2.GetInputElement().trigger('keypress'); }); -$('.datetimepicker').on('hide.datetimepicker', function(e) +$('.datetimepicker2').on('hide.datetimepicker', function(e) { Grocy.Components.DateTimePicker2.GetInputElement().trigger('input'); Grocy.Components.DateTimePicker2.GetInputElement().trigger('change'); diff --git a/public/viewjs/components/productcard.js b/public/viewjs/components/productcard.js index defd3a80..76117d83 100644 --- a/public/viewjs/components/productcard.js +++ b/public/viewjs/components/productcard.js @@ -99,7 +99,7 @@ Grocy.Components.ProductCard.Refresh = function(productId) EmptyElementWhenMatches('#productcard-product-last-purchased-timeago', __t('timeago_nan')); EmptyElementWhenMatches('#productcard-product-last-used-timeago', __t('timeago_nan')); - RefreshContextualTimeago(); + RefreshContextualTimeago(".productcard"); }, function(xhr) { diff --git a/public/viewjs/inventory.js b/public/viewjs/inventory.js index 69195c0f..47ad6365 100644 --- a/public/viewjs/inventory.js +++ b/public/viewjs/inventory.js @@ -157,7 +157,10 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e) { Grocy.Components.LocationPicker.SetId(productDetails.location.id); } + + $('#new_amount').val(productDetails.stock_amount); $('#new_amount').focus(); + $('#new_amount').trigger('keyup'); }, function(xhr) { diff --git a/public/viewjs/stockdetail.js b/public/viewjs/stockdetail.js index 49b9b030..8494758f 100644 --- a/public/viewjs/stockdetail.js +++ b/public/viewjs/stockdetail.js @@ -217,8 +217,8 @@ function RefreshStockDetailRow(stockRowId) // Needs to be delayed because of the animation above the date-text would be wrong if fired immediately... setTimeout(function() { - RefreshContextualTimeago(); - RefreshLocaleNumberDisplay(); + RefreshContextualTimeago("#stock-" + stockRowId + "-row"); + RefreshLocaleNumberDisplay("#stock-" + stockRowId + "-row"); }, 600); }, function(xhr) diff --git a/public/viewjs/stockedit.js b/public/viewjs/stockedit.js index 02d18eef..e33e5bc8 100644 --- a/public/viewjs/stockedit.js +++ b/public/viewjs/stockedit.js @@ -26,14 +26,12 @@ jsonData.open = $("#open").is(":checked"); - var stockRowId = GetUriParam('stockRowId'); - - Grocy.Api.Put("stock/entry/" + stockRowId, jsonData, + Grocy.Api.Put("stock/entry/" + Grocy.EditObjectId, jsonData, function(result) { - var successMessage = __t('Stock entry successfully updated') + '
' + __t("Undo") + ''; + var successMessage = __t('Stock entry successfully updated') + '
' + __t("Undo") + ''; - window.parent.postMessage(WindowMessageBag("StockDetailChanged", stockRowId), Grocy.BaseUrl); + window.parent.postMessage(WindowMessageBag("StockDetailChanged", Grocy.EditObjectId), Grocy.BaseUrl); window.parent.postMessage(WindowMessageBag("ShowSuccessMessage", successMessage), Grocy.BaseUrl); window.parent.postMessage(WindowMessageBag("Ready"), Grocy.BaseUrl); window.parent.postMessage(WindowMessageBag("CloseAllModals"), Grocy.BaseUrl); @@ -90,55 +88,45 @@ Grocy.Components.DateTimePicker2.GetInputElement().on('keypress', function(e) Grocy.FrontendHelpers.ValidateForm('stockedit-form'); }); -var stockRowId = GetUriParam('stockRowId'); -Grocy.Api.Get("stock/entry/" + stockRowId, - function (stockEntry) +Grocy.Api.Get('stock/products/' + Grocy.EditObjectProductId, + function(productDetails) { - Grocy.Components.LocationPicker.SetId(stockEntry.location_id); - $('#amount').val(stockEntry.amount); - $('#price').val(stockEntry.price); - $("#open").prop('checked', BoolVal(stockEntry.open)); - Grocy.Components.DateTimePicker.SetValue(stockEntry.best_before_date); - Grocy.Components.DateTimePicker2.SetValue(stockEntry.purchased_date); + $('#amount_qu_unit').text(productDetails.quantity_unit_stock.name); - Grocy.Api.Get('stock/products/' + stockEntry.product_id, - function (productDetails) - { - $('#amount_qu_unit').text(productDetails.quantity_unit_stock.name); + if (productDetails.product.allow_partial_units_in_stock == 1) + { + $("#amount").attr("min", "0.01"); + $("#amount").attr("step", "0.01"); + $("#amount").parent().find(".invalid-feedback").text(__t('The amount cannot be lower than %1$s', 0.01.toLocaleString())); + } + else + { + $("#amount").attr("min", "1"); + $("#amount").attr("step", "1"); + $("#amount").parent().find(".invalid-feedback").text(__t('The amount cannot be lower than %1$s', '1')); + } - if (productDetails.product.allow_partial_units_in_stock == 1) - { - $("#amount").attr("min", "0.01"); - $("#amount").attr("step", "0.01"); - $("#amount").parent().find(".invalid-feedback").text(__t('The amount cannot be lower than %1$s', 0.01.toLocaleString())); - } - else - { - $("#amount").attr("min", "1"); - $("#amount").attr("step", "1"); - $("#amount").parent().find(".invalid-feedback").text(__t('The amount cannot be lower than %1$s', '1')); - } + if (productDetails.product.enable_tare_weight_handling == 1) + { + $("#amount").attr("min", productDetails.product.tare_weight); + $("#amount").parent().find(".invalid-feedback").text(__t('The amount cannot be lower than %1$s', parseFloat(productDetails.product.tare_weight).toLocaleString({ minimumFractionDigits: 0, maximumFractionDigits: 2 }))); + $("#tare-weight-handling-info").removeClass("d-none"); + } + else + { + $("#tare-weight-handling-info").addClass("d-none"); + } - if (productDetails.product.enable_tare_weight_handling == 1) - { - $("#amount").attr("min", productDetails.product.tare_weight); - $("#amount").parent().find(".invalid-feedback").text(__t('The amount cannot be lower than %1$s', parseFloat(productDetails.product.tare_weight).toLocaleString({ minimumFractionDigits: 0, maximumFractionDigits: 2 }))); - $("#tare-weight-handling-info").removeClass("d-none"); - } - else - { - $("#tare-weight-handling-info").addClass("d-none"); - } - - }, - function (xhr) - { - console.error(xhr); - } - ); }, function (xhr) { console.error(xhr); } ); + +$("#amount").on("focus", function(e) +{ + $(this).select(); +}); +$("#amount").focus(); +Grocy.FrontendHelpers.ValidateForm("stockedit-form"); diff --git a/public/viewjs/stockjournal.js b/public/viewjs/stockjournal.js index af3ad490..eece6d5d 100644 --- a/public/viewjs/stockjournal.js +++ b/public/viewjs/stockjournal.js @@ -44,14 +44,21 @@ $(document).on('click', '.undo-stock-booking-button', function(e) var element = $(e.currentTarget); var bookingId = $(e.currentTarget).attr('data-booking-id'); + var correlationId = $("#stock-booking-" + bookingId + "-row").attr("data-correlation-id"); + + var correspondingBookingsRoot = $("#stock-booking-" + bookingId + "-row"); + if (!correlationId.isEmpty()) + { + correspondingBookingsRoot = $(".stock-booking-correlation-" + correlationId); + } Grocy.Api.Post('stock/bookings/' + bookingId.toString() + '/undo', { }, function(result) { - element.closest("tr").addClass("text-muted"); - element.parent().siblings().find("span.name-anchor").addClass("text-strike-through").after("
" + __t("Undone on") + " " + moment().format("YYYY-MM-DD HH:mm:ss") + " "); - element.closest(".undo-stock-booking-button").addClass("disabled"); - RefreshContextualTimeago(); + correspondingBookingsRoot.addClass("text-muted"); + correspondingBookingsRoot.find("span.name-anchor").addClass("text-strike-through").after("
" + __t("Undone on") + " " + moment().format("YYYY-MM-DD HH:mm:ss") + " "); + correspondingBookingsRoot.find(".undo-stock-booking-button").addClass("disabled"); + RefreshContextualTimeago("#stock-booking-" + bookingId + "-row"); toastr.success(__t("Booking successfully undone")); }, function(xhr) diff --git a/public/viewjs/stockoverview.js b/public/viewjs/stockoverview.js index 1ad31353..ef1334d6 100644 --- a/public/viewjs/stockoverview.js +++ b/public/viewjs/stockoverview.js @@ -317,8 +317,8 @@ function RefreshProductRow(productId) // Needs to be delayed because of the animation above the date-text would be wrong if fired immediately... setTimeout(function() { - RefreshContextualTimeago(); - RefreshLocaleNumberDisplay(); + RefreshContextualTimeago("#product-" + productId + "-row"); + RefreshLocaleNumberDisplay("#product-" + productId + "-row"); }, 600); }, function(xhr) diff --git a/public/viewjs/tasks.js b/public/viewjs/tasks.js index f270445f..d48dd74a 100644 --- a/public/viewjs/tasks.js +++ b/public/viewjs/tasks.js @@ -78,7 +78,7 @@ $(document).on('click', '.do-task-button', function(e) Grocy.FrontendHelpers.EndUiBusy(); toastr.success(__t('Marked task %s as completed on %s', taskName, doneTime)); - RefreshContextualTimeago(); + RefreshContextualTimeago("#task-" + taskId + "-row"); RefreshStatistics(); }, function(xhr) diff --git a/routes.php b/routes.php index 967814ab..490df37c 100644 --- a/routes.php +++ b/routes.php @@ -38,7 +38,7 @@ $app->group('', function() $this->get('/consume', '\Grocy\Controllers\StockController:Consume'); $this->get('/transfer', '\Grocy\Controllers\StockController:Transfer'); $this->get('/inventory', '\Grocy\Controllers\StockController:Inventory'); - $this->get('/stockedit', '\Grocy\Controllers\StockController:StockEdit'); + $this->get('/stockedit/{entryId}', '\Grocy\Controllers\StockController:StockEdit'); $this->get('/products', '\Grocy\Controllers\StockController:ProductsList'); $this->get('/product/{productId}', '\Grocy\Controllers\StockController:ProductEditForm'); $this->get('/stocksettings', '\Grocy\Controllers\StockController:StockSettings'); diff --git a/views/batteriesjournal.blade.php b/views/batteriesjournal.blade.php index 2f4e0fad..f3bb0e28 100644 --- a/views/batteriesjournal.blade.php +++ b/views/batteriesjournal.blade.php @@ -39,7 +39,7 @@ @foreach($chargeCycles as $chargeCycleEntry) - + diff --git a/views/choresjournal.blade.php b/views/choresjournal.blade.php index e686a797..b1bd30ee 100644 --- a/views/choresjournal.blade.php +++ b/views/choresjournal.blade.php @@ -42,7 +42,7 @@ @foreach($choresLog as $choreLogEntry) - + diff --git a/views/components/batterycard.blade.php b/views/components/batterycard.blade.php index 5ebb5aa6..67f0be3d 100644 --- a/views/components/batterycard.blade.php +++ b/views/components/batterycard.blade.php @@ -2,7 +2,7 @@ @endpush -
+
{{ $__t('Battery overview') }} diff --git a/views/components/chorecard.blade.php b/views/components/chorecard.blade.php index 482f25b4..ee60e524 100644 --- a/views/components/chorecard.blade.php +++ b/views/components/chorecard.blade.php @@ -2,7 +2,7 @@ @endpush -
+
{{ $__t('Chore overview') }} diff --git a/views/components/productcard.blade.php b/views/components/productcard.blade.php index 9c00e940..b61a71d7 100644 --- a/views/components/productcard.blade.php +++ b/views/components/productcard.blade.php @@ -3,7 +3,7 @@ @endpush -