mirror of
https://github.com/grocy/grocy.git
synced 2026-03-27 23:29:25 +01:00
Merge branch 'master' into ehanceapi
This commit is contained in:
commit
2909b2b3ae
|
|
@ -107,7 +107,7 @@ The following shorthands are available:
|
|||
- Example: `20230417` will be converted to `2023-04-17`
|
||||
- `YYYYMMe` or `YYYYMM+` gets expanded to the end of the given month in the given year in proper notation
|
||||
- Example: `202307e` will be converted to `2023-07-31`
|
||||
- `[+/-]n[d/m/y]` gets expanded to a date relative to today, while adding (**+**) or subtracting (**-**) the **n**umber of**d**ays/**m**onths/**y**ears, in proper notation
|
||||
- `[+/-]n[d/m/y]` gets expanded to a date relative to today, while adding (**+**) or subtracting (**-**) the **n**umber of **d**ays/**m**onths/**y**ears, in proper notation
|
||||
- Example: `+1m` will be converted to the same day next month
|
||||
- `x` gets expanded to `2999-12-31` (which is an alias for "never overdue")
|
||||
- Down/up arrow keys will increase/decrease the date by 1 day
|
||||
|
|
@ -123,7 +123,9 @@ Example: Button "**P** Add as new product" can be "pressed" by using the `P` key
|
|||
### Barcode lookup via external services
|
||||
|
||||
Products can be directly added to the database via looking them up against external services by a barcode.
|
||||
This is currently only possible through the REST API.
|
||||
|
||||
This can be done in-place using the product picker workflow "External barcode lookup (via plugin)" (the workflow dialog is displayed when entering something unknown in any product input field).
|
||||
|
||||
There is no plugin included for any service, see the reference implementation in `data/plugins/DemoBarcodeLookupPlugin.php`.
|
||||
|
||||
### Database migrations
|
||||
|
|
|
|||
|
|
@ -29,6 +29,6 @@
|
|||
- Also applies to quantity units, n-plural forms can be entered on the quantity unit edit page
|
||||
- It's not required to install the PHP gettext extension, on both, server and client, managed implementations of gettext are used ([oscarotero/Gettext](https://github.com/oscarotero/Gettext) & [oscarotero/gettext-translator](https://github.com/oscarotero/gettext-translator))
|
||||
- Some other small fixes and improvements
|
||||
- The "Add as barcode to existing product" productpicker workflow failed to add the barcode to the given product
|
||||
- The "Add as barcode to existing product" product picker workflow failed to add the barcode to the given product
|
||||
- Recipes can now be filter by stock availability
|
||||
- Added a feature flag (`config.php` setting) to also be able to hide all stock related UI elements and routes
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
- Fixed the form validation on the shopping list item page (thanks @Forceu)
|
||||
- Fixed that when adding products to the shopping list from the stock overview page, the used quantity unit was always the products default purchase QU (and not the selected one)
|
||||
- Fixed that the displayed last unit/total price was wrong when the used quantity unit was not the products stock QU
|
||||
- Fixed that the "Add as barcode to existing product" productpicker workflow did not work
|
||||
- Fixed that the "Add as barcode to existing product" product picker workflow did not work
|
||||
|
||||
### Recipe improvements/fixes
|
||||
- Recipe printing improvements (thanks @Ape)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
- When adding (purchase) a product with "Default due days after freezing" set directly to a freezer location, the due date is now prefilled by that (instead of the normal "Default due days") (thanks @grahamc for the initial work on this)
|
||||
- Chores can now be merged (new item in the context-/more-menu on the chores list page)
|
||||
- Fixed that "Label per unit" stock entry labels (on purchase) weren't unique per unit
|
||||
- Fixed that the "Add as new product" productpicker workflow, started from the shopping list item form, always selected the default shopping list after finishing the flow
|
||||
- Fixed that the "Add as new product" product picker workflow, started from the shopping list item form, always selected the default shopping list after finishing the flow
|
||||
- Fixed that when undoing a product opened transaction and when the product has "Default due days after opened" set, the original due date wasn't restored
|
||||
- Fixed that "Track date only"-chores were shown as overdue on the due day on the chores overview page
|
||||
- Fixed that dropdown filters for tables maybe did not work after reordering columns
|
||||
|
|
|
|||
63
changelog/74_UNRELEASED_xxxx-xx-xx.md
Normal file
63
changelog/74_UNRELEASED_xxxx-xx-xx.md
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
> ⚠️ xxxBREAKING CHANGESxxx
|
||||
|
||||
> ❗ xxxImportant upgrade informationXXX
|
||||
|
||||
> 💡 xxxMinor upgrade informationXXX
|
||||
|
||||
### New feature: xxxx
|
||||
|
||||
- xxx
|
||||
|
||||
### Stock
|
||||
|
||||
- Added a new product picker workflow "External barcode lookup (via plugin)"
|
||||
- This executes the configured barcode lookup plugin with the given barcode
|
||||
- If the lookup was successful, the product edit page of the created product is displayed, where the product setup can be completed (if required)
|
||||
- After that, the transaction is continued with that product
|
||||
- Fixed that the location dropdown on the consume page contained the same location multiple times if there are currently stock entries at multiple locations of the corresponding product
|
||||
- Fixed that the status filter "n products are overdue" on the stock overview page also counted/included stock entries due today or tomorrow
|
||||
|
||||
### Shopping list
|
||||
|
||||
- xxx
|
||||
|
||||
### Recipes
|
||||
|
||||
- Fixed that copying recipes with special characters in the name was not possible
|
||||
|
||||
### Meal plan
|
||||
|
||||
- Fixed that the meal plan page was broken after deleting _all_ (of all weeks) meal plan items
|
||||
|
||||
### Chores
|
||||
|
||||
- xxx
|
||||
|
||||
### Calendar
|
||||
|
||||
- The different event types (due products, chores, tasks and so on) can now have different colors
|
||||
- => New button "Configure colors" on the calendar page to configure these colors (top right corner)
|
||||
|
||||
### Tasks
|
||||
|
||||
- xxx
|
||||
|
||||
### Batteries
|
||||
|
||||
- xxx
|
||||
|
||||
### Equipment
|
||||
|
||||
- xxx
|
||||
|
||||
### Userfields
|
||||
|
||||
- Fixed that when having a userfield of type "Select list (multiple items can be selected)" and selecting no item, editing of the corresponding form was broken
|
||||
|
||||
### General
|
||||
|
||||
- Optimized sidebar icon spacing (thanks @chris-thorn)
|
||||
|
||||
### API
|
||||
|
||||
- xxx
|
||||
164
composer.lock
generated
164
composer.lock
generated
|
|
@ -597,16 +597,16 @@
|
|||
},
|
||||
{
|
||||
"name": "gumlet/php-image-resize",
|
||||
"version": "2.0.3",
|
||||
"version": "2.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/gumlet/php-image-resize.git",
|
||||
"reference": "aee4e2573e83476ffd0ac64b7269f838c8cd9d68"
|
||||
"reference": "54165d97ebc3d4fc188761166b78e6702f605f59"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/gumlet/php-image-resize/zipball/aee4e2573e83476ffd0ac64b7269f838c8cd9d68",
|
||||
"reference": "aee4e2573e83476ffd0ac64b7269f838c8cd9d68",
|
||||
"url": "https://api.github.com/repos/gumlet/php-image-resize/zipball/54165d97ebc3d4fc188761166b78e6702f605f59",
|
||||
"reference": "54165d97ebc3d4fc188761166b78e6702f605f59",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -650,9 +650,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/gumlet/php-image-resize/issues",
|
||||
"source": "https://github.com/gumlet/php-image-resize/tree/2.0.3"
|
||||
"source": "https://github.com/gumlet/php-image-resize/tree/2.0.4"
|
||||
},
|
||||
"time": "2022-06-21T16:20:34+00:00"
|
||||
"time": "2023-10-11T14:16:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
|
|
@ -981,7 +981,7 @@
|
|||
},
|
||||
{
|
||||
"name": "illuminate/bus",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/bus.git",
|
||||
|
|
@ -1034,16 +1034,16 @@
|
|||
},
|
||||
{
|
||||
"name": "illuminate/collections",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/collections.git",
|
||||
"reference": "f494398dbaaead9e5ff16a18002d11634e8358e6"
|
||||
"reference": "bb8784ce913bd46f944b4bd67cd857f40d9cfe68"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/collections/zipball/f494398dbaaead9e5ff16a18002d11634e8358e6",
|
||||
"reference": "f494398dbaaead9e5ff16a18002d11634e8358e6",
|
||||
"url": "https://api.github.com/repos/illuminate/collections/zipball/bb8784ce913bd46f944b4bd67cd857f40d9cfe68",
|
||||
"reference": "bb8784ce913bd46f944b4bd67cd857f40d9cfe68",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1085,11 +1085,11 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2023-08-11T14:48:51+00:00"
|
||||
"time": "2023-10-10T12:55:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/conditionable",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/conditionable.git",
|
||||
|
|
@ -1135,7 +1135,7 @@
|
|||
},
|
||||
{
|
||||
"name": "illuminate/container",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/container.git",
|
||||
|
|
@ -1186,16 +1186,16 @@
|
|||
},
|
||||
{
|
||||
"name": "illuminate/contracts",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/contracts.git",
|
||||
"reference": "eb1a7e72e159136a832f2c0467de5570bdc208ae"
|
||||
"reference": "f6bf37a272fda164f6c451407c99f820eb1eb95b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/eb1a7e72e159136a832f2c0467de5570bdc208ae",
|
||||
"reference": "eb1a7e72e159136a832f2c0467de5570bdc208ae",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/f6bf37a272fda164f6c451407c99f820eb1eb95b",
|
||||
"reference": "f6bf37a272fda164f6c451407c99f820eb1eb95b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1230,20 +1230,20 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2023-07-26T21:27:34+00:00"
|
||||
"time": "2023-10-30T00:59:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/events",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/events.git",
|
||||
"reference": "e8cbfa31e1ada8d178ffcd7a5e26e101ec280c59"
|
||||
"reference": "8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/events/zipball/e8cbfa31e1ada8d178ffcd7a5e26e101ec280c59",
|
||||
"reference": "e8cbfa31e1ada8d178ffcd7a5e26e101ec280c59",
|
||||
"url": "https://api.github.com/repos/illuminate/events/zipball/8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1",
|
||||
"reference": "8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1285,20 +1285,20 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2023-08-11T15:02:04+00:00"
|
||||
"time": "2023-10-30T00:59:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/filesystem",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/filesystem.git",
|
||||
"reference": "da2619dd556b61e4c76c062c8acff98bc5bac3e8"
|
||||
"reference": "8f355f9e281a4219671be0a82195f49153b1bced"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/filesystem/zipball/da2619dd556b61e4c76c062c8acff98bc5bac3e8",
|
||||
"reference": "da2619dd556b61e4c76c062c8acff98bc5bac3e8",
|
||||
"url": "https://api.github.com/repos/illuminate/filesystem/zipball/8f355f9e281a4219671be0a82195f49153b1bced",
|
||||
"reference": "8f355f9e281a4219671be0a82195f49153b1bced",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1349,11 +1349,11 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2023-08-25T18:39:53+00:00"
|
||||
"time": "2023-09-15T22:35:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/macroable",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/macroable.git",
|
||||
|
|
@ -1399,7 +1399,7 @@
|
|||
},
|
||||
{
|
||||
"name": "illuminate/pipeline",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/pipeline.git",
|
||||
|
|
@ -1447,16 +1447,16 @@
|
|||
},
|
||||
{
|
||||
"name": "illuminate/support",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/support.git",
|
||||
"reference": "73bf6767ecac70d02ab70e655fc7bfad3b812d69"
|
||||
"reference": "5244b825e8988db7c91254c31ce224dc3892eeae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/73bf6767ecac70d02ab70e655fc7bfad3b812d69",
|
||||
"reference": "73bf6767ecac70d02ab70e655fc7bfad3b812d69",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/5244b825e8988db7c91254c31ce224dc3892eeae",
|
||||
"reference": "5244b825e8988db7c91254c31ce224dc3892eeae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1514,20 +1514,20 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2023-08-25T14:28:45+00:00"
|
||||
"time": "2023-10-30T01:00:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/view",
|
||||
"version": "v10.21.0",
|
||||
"version": "v10.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/view.git",
|
||||
"reference": "953183a224c659240ff8956bae58df4b456462a3"
|
||||
"reference": "482ea8ac83bb4290b7f65ac086bd52b27b9bec48"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/view/zipball/953183a224c659240ff8956bae58df4b456462a3",
|
||||
"reference": "953183a224c659240ff8956bae58df4b456462a3",
|
||||
"url": "https://api.github.com/repos/illuminate/view/zipball/482ea8ac83bb4290b7f65ac086bd52b27b9bec48",
|
||||
"reference": "482ea8ac83bb4290b7f65ac086bd52b27b9bec48",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1568,7 +1568,7 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2023-08-28T13:34:15+00:00"
|
||||
"time": "2023-10-13T14:15:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "interficieis/php-barcode",
|
||||
|
|
@ -1623,16 +1623,16 @@
|
|||
},
|
||||
{
|
||||
"name": "laravel/serializable-closure",
|
||||
"version": "v1.3.1",
|
||||
"version": "v1.3.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/serializable-closure.git",
|
||||
"reference": "e5a3057a5591e1cfe8183034b0203921abe2c902"
|
||||
"reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902",
|
||||
"reference": "e5a3057a5591e1cfe8183034b0203921abe2c902",
|
||||
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/076fe2cf128bd54b4341cdc6d49b95b34e101e4c",
|
||||
"reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1679,7 +1679,7 @@
|
|||
"issues": "https://github.com/laravel/serializable-closure/issues",
|
||||
"source": "https://github.com/laravel/serializable-closure"
|
||||
},
|
||||
"time": "2023-07-14T13:56:28+00:00"
|
||||
"time": "2023-10-17T13:38:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mike42/escpos-php",
|
||||
|
|
@ -1847,16 +1847,16 @@
|
|||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
"version": "2.69.0",
|
||||
"version": "2.71.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/briannesbitt/Carbon.git",
|
||||
"reference": "4308217830e4ca445583a37d1bf4aff4153fa81c"
|
||||
"reference": "98276233188583f2ff845a0f992a235472d9466a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4308217830e4ca445583a37d1bf4aff4153fa81c",
|
||||
"reference": "4308217830e4ca445583a37d1bf4aff4153fa81c",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/98276233188583f2ff845a0f992a235472d9466a",
|
||||
"reference": "98276233188583f2ff845a0f992a235472d9466a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1949,7 +1949,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-08-03T09:00:52+00:00"
|
||||
"time": "2023-09-25T11:31:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/fast-route",
|
||||
|
|
@ -2003,16 +2003,16 @@
|
|||
},
|
||||
{
|
||||
"name": "php-di/invoker",
|
||||
"version": "2.3.3",
|
||||
"version": "2.3.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-DI/Invoker.git",
|
||||
"reference": "cd6d9f267d1a3474bdddf1be1da079f01b942786"
|
||||
"reference": "33234b32dafa8eb69202f950a1fc92055ed76a86"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/cd6d9f267d1a3474bdddf1be1da079f01b942786",
|
||||
"reference": "cd6d9f267d1a3474bdddf1be1da079f01b942786",
|
||||
"url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86",
|
||||
"reference": "33234b32dafa8eb69202f950a1fc92055ed76a86",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2046,7 +2046,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/PHP-DI/Invoker/issues",
|
||||
"source": "https://github.com/PHP-DI/Invoker/tree/2.3.3"
|
||||
"source": "https://github.com/PHP-DI/Invoker/tree/2.3.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -2054,20 +2054,20 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-12-13T09:22:56+00:00"
|
||||
"time": "2023-09-08T09:24:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-di/php-di",
|
||||
"version": "7.0.5",
|
||||
"version": "7.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-DI/PHP-DI.git",
|
||||
"reference": "9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c"
|
||||
"reference": "8097948a89f6ec782839b3e958432f427cac37fd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c",
|
||||
"reference": "9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c",
|
||||
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/8097948a89f6ec782839b3e958432f427cac37fd",
|
||||
"reference": "8097948a89f6ec782839b3e958432f427cac37fd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2115,7 +2115,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/PHP-DI/PHP-DI/issues",
|
||||
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.5"
|
||||
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -2127,7 +2127,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-08-10T14:57:56+00:00"
|
||||
"time": "2023-11-02T10:04:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/clock",
|
||||
|
|
@ -2232,16 +2232,16 @@
|
|||
},
|
||||
{
|
||||
"name": "psr/http-client",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/http-client.git",
|
||||
"reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31"
|
||||
"reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31",
|
||||
"reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31",
|
||||
"url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
|
||||
"reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2278,9 +2278,9 @@
|
|||
"psr-18"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/http-client/tree/1.0.2"
|
||||
"source": "https://github.com/php-fig/http-client"
|
||||
},
|
||||
"time": "2023-04-10T20:12:12+00:00"
|
||||
"time": "2023-09-23T14:17:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-factory",
|
||||
|
|
@ -3172,16 +3172,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v6.3.3",
|
||||
"version": "v6.3.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e"
|
||||
"reference": "a1b31d88c0e998168ca7792f222cbecee47428c4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e",
|
||||
"reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4",
|
||||
"reference": "a1b31d88c0e998168ca7792f222cbecee47428c4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3216,7 +3216,7 @@
|
|||
"description": "Finds files and directories via an intuitive fluent interface",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/finder/tree/v6.3.3"
|
||||
"source": "https://github.com/symfony/finder/tree/v6.3.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -3232,7 +3232,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-07-31T08:31:44+00:00"
|
||||
"time": "2023-09-26T12:56:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
|
|
@ -3402,16 +3402,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v6.3.3",
|
||||
"version": "v6.3.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd"
|
||||
"reference": "30212e7c87dcb79c83f6362b00bde0e0b1213499"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd",
|
||||
"reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/30212e7c87dcb79c83f6362b00bde0e0b1213499",
|
||||
"reference": "30212e7c87dcb79c83f6362b00bde0e0b1213499",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -3477,7 +3477,7 @@
|
|||
"description": "Provides tools to internationalize your application",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/translation/tree/v6.3.3"
|
||||
"source": "https://github.com/symfony/translation/tree/v6.3.7"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -3493,7 +3493,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-07-31T07:08:24+00:00"
|
||||
"time": "2023-10-28T23:11:45+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
|
|
@ -3721,5 +3721,5 @@
|
|||
"php": ">=8.1"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.3.0"
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -213,6 +213,13 @@ DefaultUserSetting('batteries_due_soon_days', 5); // The "due soon" days
|
|||
// Tasks settings
|
||||
DefaultUserSetting('tasks_due_soon_days', 5); // The "due soon" days
|
||||
|
||||
// Calendar settings
|
||||
DefaultUserSetting('calendar_color_products', '#007bff'); // The event color (hex code) for due products
|
||||
DefaultUserSetting('calendar_color_tasks', '#28a745'); // The event color (hex code) for due tasks
|
||||
DefaultUserSetting('calendar_color_chores', '#ffc107'); // The event color (hex code) for due chores
|
||||
DefaultUserSetting('calendar_color_batteries', '#17a2b8'); // The event color (hex code) for due battery charge cycles
|
||||
DefaultUserSetting('calendar_color_meal_plan', '#6c757d'); // The event color (hex code) for meal plan items
|
||||
|
||||
// Component configuration for Quagga2 - read https://github.com/ericblade/quagga2#configobject for details
|
||||
// Below is a generic good configuration,
|
||||
// for an iPhone 7 Plus, halfsample = true, patchsize = small, frequency = 5 yields very good results
|
||||
|
|
|
|||
|
|
@ -57,17 +57,24 @@ class RecipesController extends BaseController
|
|||
];
|
||||
}
|
||||
|
||||
$weekRecipe = $this->getDatabase()->recipes()->where("type = 'mealplan-week' AND name = LTRIM(STRFTIME('%Y-%W', DATE('$start')), '0')")->fetch();
|
||||
$weekRecipeId = 0;
|
||||
if ($weekRecipe != null)
|
||||
{
|
||||
$weekRecipeId = $weekRecipe->id;
|
||||
}
|
||||
|
||||
return $this->renderPage($response, 'mealplan', [
|
||||
'fullcalendarEventSources' => $events,
|
||||
'recipes' => $recipes,
|
||||
'internalRecipes' => $this->getDatabase()->recipes()->where("id IN (SELECT recipe_id FROM meal_plan_internal_recipe_relation WHERE $mealPlanWhereTimespan)")->fetchAll(),
|
||||
'recipesResolved' => $this->getRecipesService()->GetRecipesResolved("recipe_id IN (SELECT recipe_id FROM meal_plan_internal_recipe_relation WHERE $mealPlanWhereTimespan)"),
|
||||
'internalRecipes' => $this->getDatabase()->recipes()->where("id IN (SELECT recipe_id FROM meal_plan_internal_recipe_relation WHERE $mealPlanWhereTimespan) OR id = $weekRecipeId")->fetchAll(),
|
||||
'recipesResolved' => $this->getRecipesService()->GetRecipesResolved("recipe_id IN (SELECT recipe_id FROM meal_plan_internal_recipe_relation WHERE $mealPlanWhereTimespan) OR recipe_id = $weekRecipeId"),
|
||||
'products' => $this->getDatabase()->products()->orderBy('name', 'COLLATE NOCASE'),
|
||||
'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'),
|
||||
'quantityUnitConversionsResolved' => $this->getDatabase()->cache__quantity_unit_conversions_resolved(),
|
||||
'mealplanSections' => $this->getDatabase()->meal_plan_sections()->orderBy('sort_number'),
|
||||
'usedMealplanSections' => $this->getDatabase()->meal_plan_sections()->where("id IN (SELECT section_id FROM meal_plan WHERE $mealPlanWhereTimespan)")->orderBy('sort_number'),
|
||||
'weekRecipe' => $this->getDatabase()->recipes()->where("type = 'mealplan-week' AND name = LTRIM(STRFTIME('%Y-%W', DATE('$start')), '0')")->fetch()
|
||||
'weekRecipe' => $weekRecipe
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -442,7 +442,6 @@ class StockApiController extends BaseApiController
|
|||
try
|
||||
{
|
||||
$addFoundProduct = false;
|
||||
|
||||
if (isset($request->getQueryParams()['add']) && ($request->getQueryParams()['add'] === 'true' || $request->getQueryParams()['add'] === 1))
|
||||
{
|
||||
$addFoundProduct = true;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
use Grocy\Helpers\BaseBarcodeLookupPlugin;
|
||||
|
||||
/*
|
||||
This class must extend BaseBarcodeLookupPlugin (in namespace \Grocy\Helpers)
|
||||
This class must extend BaseBarcodeLookupPlugin (in namespace Grocy\Helpers)
|
||||
*/
|
||||
class DemoBarcodeLookupPlugin extends BaseBarcodeLookupPlugin
|
||||
{
|
||||
|
|
@ -14,8 +14,11 @@ class DemoBarcodeLookupPlugin extends BaseBarcodeLookupPlugin
|
|||
|
||||
/*
|
||||
To try it:
|
||||
|
||||
Call the API function at /api/stock/barcodes/external-lookup/{barcode}
|
||||
|
||||
Or use the product picker workflow "External barcode lookup (via plugin)"
|
||||
|
||||
When you also add ?add=true as a query parameter to the API call,
|
||||
on a successful lookup the product is added to the database and in the output
|
||||
the new product id is included (automatically, nothing to do here in the plugin)
|
||||
|
|
@ -55,12 +58,14 @@ class DemoBarcodeLookupPlugin extends BaseBarcodeLookupPlugin
|
|||
*/
|
||||
protected function ExecuteLookup($barcode)
|
||||
{
|
||||
if ($barcode === 'x')
|
||||
{ // Demonstration when nothing is found
|
||||
if ($barcode === 'nothing')
|
||||
{
|
||||
// Demonstration when nothing is found
|
||||
return null;
|
||||
}
|
||||
elseif ($barcode === 'e')
|
||||
{ // Demonstration when an error occurred
|
||||
elseif ($barcode === 'error')
|
||||
{
|
||||
// Demonstration when an error occurred
|
||||
throw new \Exception('This is the error message from the plugin...');
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ abstract class BaseBarcodeLookupPlugin
|
|||
}
|
||||
|
||||
if (!IsAssociativeArray($pluginOutput))
|
||||
{ // $pluginOutput is at least an indexed array here
|
||||
{
|
||||
// $pluginOutput is at least an indexed array here
|
||||
throw new \Exception('Plugin output must be an associative array');
|
||||
}
|
||||
|
||||
|
|
@ -53,7 +54,7 @@ abstract class BaseBarcodeLookupPlugin
|
|||
|
||||
// $pluginOutput contains all needed properties here
|
||||
|
||||
// Check referenced entity ids are valid
|
||||
// Check if referenced entity ids are valid
|
||||
$locationId = $pluginOutput['location_id'];
|
||||
if (FindObjectInArrayByPropertyValue($this->Locations, 'id', $locationId) === null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2651,3 +2651,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -803,7 +803,7 @@ msgid "Create equipment"
|
|||
msgstr "Vytvořit vybavení"
|
||||
|
||||
msgid "The current file will be deleted on save"
|
||||
msgstr "Aktuální soubor bude smazán při uložení této položky vybavení"
|
||||
msgstr "Soubor se smaže až po kliknutí na tlačítku Uložit"
|
||||
|
||||
msgid "No picture available"
|
||||
msgstr "Obrázek není k dispozici"
|
||||
|
|
@ -1005,7 +1005,7 @@ msgid "Gallery"
|
|||
msgstr "Galerie"
|
||||
|
||||
msgid "The current picture will be deleted on save"
|
||||
msgstr "Aktuální obrázek bude smazán při uložení nového"
|
||||
msgstr "Obrázek se smaže až po kliknutí na jedno z tlačítek Uložit"
|
||||
|
||||
msgid "Journal for this battery"
|
||||
msgstr "Deník k této baterii"
|
||||
|
|
@ -2830,3 +2830,12 @@ msgstr[0] "Vytiskne se 1nálepka"
|
|||
msgstr[1] "Vytisknou se %1$s nálepky"
|
||||
msgstr[2] "Vytiskne se %1$s nálepek"
|
||||
msgstr[3] "Vytiskne se %1$s nálepek"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2684,3 +2684,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2790,3 +2790,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] "Dies bedeutet 1 Bestandseintragsetikett wird gedruckt"
|
||||
msgstr[1] "Dies bedeutet %1$s Bestandseintragsetiketten werden gedruckt"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr "Externe Barcode-Suche (via Plugin)"
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr "Fehler beim Ausführen des Barcode-Suche-Plugins"
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr "Für den angegebenen Barcode wurde nichts gefunden"
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
# Translators:
|
||||
# datablitz7 <plant7@gmail.com>, 2019
|
||||
# emmker kats, 2022
|
||||
# Vasilis Mourtzis, 2023
|
||||
#
|
||||
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: emmker kats, 2022\n"
|
||||
"Last-Translator: Vasilis Mourtzis, 2023\n"
|
||||
"Language-Team: Greek (Greece) (https://app.transifex.com/grocy/teams/93189/el_GR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -37,4 +38,4 @@ msgid "hourly"
|
|||
msgstr "ωριαίο"
|
||||
|
||||
msgid "adaptive"
|
||||
msgstr ""
|
||||
msgstr "προσαρμοστικό"
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
# emmker kats, 2022
|
||||
# Dimitris, 2022
|
||||
# Lefteris Garyfalakis, 2022
|
||||
# Vasilis Mourtzis, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -15,7 +16,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: Lefteris Garyfalakis, 2022\n"
|
||||
"Last-Translator: Vasilis Mourtzis, 2023\n"
|
||||
"Language-Team: Greek (Greece) (https://app.transifex.com/grocy/teams/93189/el_GR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -335,7 +336,7 @@ msgid "Manage API keys"
|
|||
msgstr "Διαχείριση κλειδιών API"
|
||||
|
||||
msgid "REST API browser"
|
||||
msgstr ""
|
||||
msgstr "Περιηγητής REST API"
|
||||
|
||||
msgid "API keys"
|
||||
msgstr "Κλειδιά API"
|
||||
|
|
@ -2655,3 +2656,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
# Chris H <cjh861@outlook.com>, 2021
|
||||
# David Knapman <dai.knapz@gmail.com>, 2021
|
||||
# Johnnie Blows, 2022
|
||||
# Andi Chandler <andi@gowling.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -13,7 +14,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: Johnnie Blows, 2022\n"
|
||||
"Last-Translator: Andi Chandler <andi@gowling.com>, 2023\n"
|
||||
"Language-Team: English (United Kingdom) (https://app.transifex.com/grocy/teams/93189/en_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -386,33 +387,33 @@ msgid "Slovenian"
|
|||
msgstr "Slovenian"
|
||||
|
||||
msgid "Lithuanian"
|
||||
msgstr ""
|
||||
msgstr "Lithuanian"
|
||||
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
msgstr "Ukrainian"
|
||||
|
||||
msgid "Kilogram"
|
||||
msgid_plural "Kilograms"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Kilogram"
|
||||
msgstr[1] "Kilograms"
|
||||
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
msgstr "Romanian"
|
||||
|
||||
msgid "Pint"
|
||||
msgstr ""
|
||||
msgstr "Pint"
|
||||
|
||||
msgid "Beverages"
|
||||
msgstr ""
|
||||
msgstr "Beverages"
|
||||
|
||||
msgid "Ice Cream"
|
||||
msgstr ""
|
||||
msgstr "Ice Cream"
|
||||
|
||||
msgid "Soda"
|
||||
msgstr ""
|
||||
msgstr "Soda"
|
||||
|
||||
msgid "Beer"
|
||||
msgstr ""
|
||||
msgstr "Beer"
|
||||
|
||||
msgid "Estonian"
|
||||
msgstr ""
|
||||
msgstr "Estonian"
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
# John Coles <john@johncoles.com>, 2020
|
||||
# w ralb <g.frcy.trnsfx@barlowhome.org>, 2021
|
||||
# David Knapman <dai.knapz@gmail.com>, 2021
|
||||
# Andi Chandler <andi@gowling.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -13,7 +14,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: David Knapman <dai.knapz@gmail.com>, 2021\n"
|
||||
"Last-Translator: Andi Chandler <andi@gowling.com>, 2023\n"
|
||||
"Language-Team: English (United Kingdom) (https://app.transifex.com/grocy/teams/93189/en_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -358,7 +359,7 @@ msgid "Removed %1$s of %2$s from stock"
|
|||
msgstr "Removed %1$s of %2$s from stock"
|
||||
|
||||
msgid "About Grocy"
|
||||
msgstr ""
|
||||
msgstr "About Grocy"
|
||||
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
|
@ -848,6 +849,8 @@ msgid ""
|
|||
"The first item in this list would be picked by the default rule consume rule"
|
||||
" (Opened first, then first due first, then first in first out)"
|
||||
msgstr ""
|
||||
"The first item in this list would be picked by the default rule consume rule"
|
||||
" (Opened first, then first due first, then first in first out)"
|
||||
|
||||
msgid "Mark %1$s of %2$s as open"
|
||||
msgstr "Mark %1$s of %2$s as open"
|
||||
|
|
@ -1301,7 +1304,11 @@ msgid_plural ""
|
|||
"This means the next execution of this chore is scheduled at the same time "
|
||||
"(based on the start date) every %s days"
|
||||
msgstr[0] ""
|
||||
"This means the next execution of this chore is scheduled at the same time "
|
||||
"(based on the start date) every day"
|
||||
msgstr[1] ""
|
||||
"This means the next execution of this chore is scheduled at the same time "
|
||||
"(based on the start date) every %s days"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore is scheduled %s hour after the "
|
||||
|
|
@ -1310,7 +1317,11 @@ msgid_plural ""
|
|||
"This means the next execution of this chore is scheduled %s hours after the "
|
||||
"last execution"
|
||||
msgstr[0] ""
|
||||
"This means the next execution of this chore is scheduled %s hour after the "
|
||||
"last execution"
|
||||
msgstr[1] ""
|
||||
"This means the next execution of this chore is scheduled %s hours after the "
|
||||
"last execution"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore is scheduled every week on the "
|
||||
|
|
@ -1319,7 +1330,11 @@ msgid_plural ""
|
|||
"This means the next execution of this chore is scheduled every %s weeks on "
|
||||
"the selected weekdays"
|
||||
msgstr[0] ""
|
||||
"This means the next execution of this chore is scheduled every week on the "
|
||||
"selected weekdays"
|
||||
msgstr[1] ""
|
||||
"This means the next execution of this chore is scheduled every %s weeks on "
|
||||
"the selected weekdays"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore is scheduled on the selected day"
|
||||
|
|
@ -1328,7 +1343,11 @@ msgid_plural ""
|
|||
"This means the next execution of this chore is scheduled on the selected day"
|
||||
" every %s months"
|
||||
msgstr[0] ""
|
||||
"This means the next execution of this chore is scheduled on the selected day"
|
||||
" every month"
|
||||
msgstr[1] ""
|
||||
"This means the next execution of this chore is scheduled on the selected day"
|
||||
" every %s months"
|
||||
|
||||
msgid "This means the next execution of this chore is not scheduled"
|
||||
msgstr "This means the next execution of this chore is not scheduled"
|
||||
|
|
@ -1435,7 +1454,7 @@ msgid "Price factor"
|
|||
msgstr "Price factor"
|
||||
|
||||
msgid "Do you find Grocy useful?"
|
||||
msgstr ""
|
||||
msgstr "Do you find Grocy useful?"
|
||||
|
||||
msgid "Say thanks"
|
||||
msgstr "Say thanks"
|
||||
|
|
@ -1453,7 +1472,7 @@ msgid "Output"
|
|||
msgstr "Output"
|
||||
|
||||
msgid "Energy"
|
||||
msgstr ""
|
||||
msgstr "Energy"
|
||||
|
||||
msgid "Per stock quantity unit"
|
||||
msgstr "Per stock quantity unit"
|
||||
|
|
@ -1486,6 +1505,8 @@ 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 "Are you sure to remove this conversion?"
|
||||
|
|
@ -1518,7 +1539,11 @@ msgid_plural ""
|
|||
"This means the next execution of this chore is scheduled every %s years on "
|
||||
"the same day (based on the start date)"
|
||||
msgstr[0] ""
|
||||
"This means the next execution of this chore is scheduled every year on the "
|
||||
"same day (based on the start date)"
|
||||
msgstr[1] ""
|
||||
"This means the next execution of this chore is scheduled every %s years on "
|
||||
"the same day (based on the start date)"
|
||||
|
||||
msgid "Transfer"
|
||||
msgstr "Transfer"
|
||||
|
|
@ -1563,6 +1588,8 @@ msgid ""
|
|||
"Camera access is only possible when supported and allowed by your browser "
|
||||
"and when Grocy is served via a secure (https://) connection"
|
||||
msgstr ""
|
||||
"Camera access is 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"
|
||||
|
|
@ -1743,6 +1770,9 @@ msgid ""
|
|||
"due first, then first in first out) for in-stock ingredients and on the last"
|
||||
" price for missing ones"
|
||||
msgstr ""
|
||||
"Based on the prices of the default consume rule (Opened first, then first "
|
||||
"due first, then first in first out) for in-stock ingredients and on the last"
|
||||
" price for missing ones"
|
||||
|
||||
msgid "Clear filter"
|
||||
msgstr "Clear filter"
|
||||
|
|
@ -1872,7 +1902,7 @@ msgid "Chore journal"
|
|||
msgstr "Chore journal"
|
||||
|
||||
msgid "Track next chore schedule"
|
||||
msgstr ""
|
||||
msgstr "Track next chore schedule"
|
||||
|
||||
msgid "Mark task as completed"
|
||||
msgstr "Mark task as completed"
|
||||
|
|
@ -1899,6 +1929,8 @@ msgid ""
|
|||
"This is the default quantity unit used on purchase and when adding this "
|
||||
"product to the shopping list"
|
||||
msgstr ""
|
||||
"This is the default quantity unit used on purchase and when adding this "
|
||||
"product to the shopping list"
|
||||
|
||||
msgid ""
|
||||
"Show a warning when the due date of the purchased product is earlier than "
|
||||
|
|
@ -1926,11 +1958,15 @@ msgid ""
|
|||
"This amount is used for the \"quick consume button\" on the stock overview "
|
||||
"page (related to quantity unit stock)"
|
||||
msgstr ""
|
||||
"This amount is used for the \"quick consume button\" on the stock overview "
|
||||
"page (related to quantity unit stock)"
|
||||
|
||||
msgid ""
|
||||
"This amount is used for the \"quick open button\" on the stock overview page"
|
||||
" (related to quantity unit stock)"
|
||||
msgstr ""
|
||||
"This amount is used for the \"quick open button\" on the stock overview page"
|
||||
" (related to quantity unit stock)"
|
||||
|
||||
msgid "Copy"
|
||||
msgstr "Copy"
|
||||
|
|
@ -2177,7 +2213,7 @@ msgid "Product to remove"
|
|||
msgstr "Product to remove"
|
||||
|
||||
msgid "Error while merging"
|
||||
msgstr ""
|
||||
msgstr "Error while merging"
|
||||
|
||||
msgid "After merging, this product will be kept"
|
||||
msgstr "After merging, this product will be kept"
|
||||
|
|
@ -2186,6 +2222,8 @@ msgid ""
|
|||
"After merging, all occurences of this product will be replaced by the kept "
|
||||
"product (means this product will not exist anymore)"
|
||||
msgstr ""
|
||||
"After merging, all occurences of this product will be replaced by the kept "
|
||||
"product (means this product will not exist anymore)"
|
||||
|
||||
msgid "Merge"
|
||||
msgstr "Merge"
|
||||
|
|
@ -2212,19 +2250,21 @@ msgid "A product or a note is required"
|
|||
msgstr "A product or a note is required"
|
||||
|
||||
msgid "Grocycode"
|
||||
msgstr ""
|
||||
msgstr "Grocycode"
|
||||
|
||||
msgid "Download"
|
||||
msgstr "Download"
|
||||
|
||||
# Example: Download *Product* Grocycode
|
||||
msgid "Download %s Grocycode"
|
||||
msgstr ""
|
||||
msgstr "Download %s Grocycode"
|
||||
|
||||
msgid ""
|
||||
"Grocycode is a unique referer to this %s in your Grocy instance - print it "
|
||||
"onto a label and scan it like any other barcode"
|
||||
msgstr ""
|
||||
"Grocycode is a unique referer to this %s in your Grocy instance - print it "
|
||||
"onto a label and scan it like any other barcode"
|
||||
|
||||
# Abbreviation for "due date"
|
||||
msgid "DD"
|
||||
|
|
@ -2234,7 +2274,7 @@ msgid "Print on label printer"
|
|||
msgstr "Print on label printer"
|
||||
|
||||
msgid "Default stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Default stock entry label"
|
||||
|
||||
msgid "Stock entry label"
|
||||
msgstr "Stock entry label"
|
||||
|
|
@ -2253,7 +2293,7 @@ msgstr "Error while executing WebHook"
|
|||
|
||||
# Example: Print *Product* Grocycode on label printer
|
||||
msgid "Print %s Grocycode on label printer"
|
||||
msgstr ""
|
||||
msgstr "Print %s Grocycode on label printer"
|
||||
|
||||
msgid "Open stock entry label in new window"
|
||||
msgstr "Open stock entry label in new window"
|
||||
|
|
@ -2391,284 +2431,320 @@ msgid "Are you sure to empty the shopping list?"
|
|||
msgstr "Are you sure to empty the shopping list?"
|
||||
|
||||
msgid "This is the default which will be prefilled on purchase"
|
||||
msgstr ""
|
||||
msgstr "This is the default which will be prefilled on purchase"
|
||||
|
||||
msgid "Merge chores"
|
||||
msgstr ""
|
||||
msgstr "Merge chores"
|
||||
|
||||
msgid "Chore to keep"
|
||||
msgstr ""
|
||||
msgstr "Chore to keep"
|
||||
|
||||
msgid "After merging, this chore will be kept"
|
||||
msgstr ""
|
||||
msgstr "After merging, this chore will be kept"
|
||||
|
||||
msgid "Chore to remove"
|
||||
msgstr ""
|
||||
msgstr "Chore to remove"
|
||||
|
||||
msgid ""
|
||||
"After merging, all occurences of this chore will be replaced by the kept "
|
||||
"chore (means this chore will not exist anymore)"
|
||||
msgstr ""
|
||||
"After merging, all occurences of this chore will be replaced by the kept "
|
||||
"chore (means this chore will not exist anymore)"
|
||||
|
||||
msgid "Due today"
|
||||
msgstr ""
|
||||
msgstr "Due today"
|
||||
|
||||
msgid "%s task is due to be done today"
|
||||
msgid_plural "%s tasks are due to be done today"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%s task is due to be done today"
|
||||
msgstr[1] "%s tasks are due to be done today"
|
||||
|
||||
msgid "%s chore is due to be done today"
|
||||
msgid_plural "%s chores are due to be done today"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%s chore is due to be done today"
|
||||
msgstr[1] "%s chores are due to be done today"
|
||||
|
||||
msgid "%s battery is due to be charged today"
|
||||
msgid_plural "%s batteries are due to be charged today"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%s battery is due to be charged today"
|
||||
msgstr[1] "%s batteries are due to be charged today"
|
||||
|
||||
msgid "Set to 0 to hide due soon filters/highlighting"
|
||||
msgstr ""
|
||||
msgstr "Set to 0 to hide due soon filters/highlighting"
|
||||
|
||||
msgid "Save & close"
|
||||
msgstr ""
|
||||
msgstr "Save & close"
|
||||
|
||||
msgid "Save & add another task"
|
||||
msgstr ""
|
||||
msgstr "Save & add another task"
|
||||
|
||||
msgid "Treat opened as out of stock"
|
||||
msgstr ""
|
||||
msgstr "Treat opened as out of stock"
|
||||
|
||||
msgid ""
|
||||
"When enabled, opened items will be counted as missing for calculating if "
|
||||
"this product is below its minimum stock amount"
|
||||
msgstr ""
|
||||
"When enabled, opened items will be counted as missing for calculating if "
|
||||
"this product is below its minimum stock amount"
|
||||
|
||||
msgid "Skipped"
|
||||
msgstr ""
|
||||
msgstr "Skipped"
|
||||
|
||||
msgid "Skip next chore schedule"
|
||||
msgstr ""
|
||||
msgstr "Skip next chore schedule"
|
||||
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
msgstr "Time"
|
||||
|
||||
msgid "A start date is required"
|
||||
msgstr ""
|
||||
msgstr "A start date is required"
|
||||
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
msgstr "Start date"
|
||||
|
||||
msgid "The start date cannot be changed when the chore was once tracked"
|
||||
msgstr ""
|
||||
msgstr "The start date cannot be changed when the chore was once tracked"
|
||||
|
||||
msgid "Show the recipe list and the recipe side by side"
|
||||
msgstr ""
|
||||
msgstr "Show the recipe list and the recipe side by side"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore is scheduled dynamically based "
|
||||
"on the past average execution frequency"
|
||||
msgstr ""
|
||||
"This means the next execution of this chore is scheduled dynamically based "
|
||||
"on the past average execution frequency"
|
||||
|
||||
msgid "Average execution frequency"
|
||||
msgstr ""
|
||||
msgstr "Average execution frequency"
|
||||
|
||||
msgid "Reschedule next execution"
|
||||
msgstr ""
|
||||
msgstr "Reschedule next execution"
|
||||
|
||||
msgid "This can only be in the future"
|
||||
msgstr ""
|
||||
msgstr "This can only be in the future"
|
||||
|
||||
msgid "Rescheduled"
|
||||
msgstr ""
|
||||
msgstr "Rescheduled"
|
||||
|
||||
msgid "Due score"
|
||||
msgstr ""
|
||||
msgstr "Due score"
|
||||
|
||||
msgid ""
|
||||
"The higher this number is, the more ingredients currently in stock are due "
|
||||
"soon, overdue or already expired"
|
||||
msgstr ""
|
||||
"The higher this number is, the more ingredients currently in stock are due "
|
||||
"soon, overdue or already expired"
|
||||
|
||||
msgid "Disable own stock"
|
||||
msgstr ""
|
||||
msgstr "Disable own stock"
|
||||
|
||||
msgid ""
|
||||
"When enabled, this product can't have own stock, means it will not be "
|
||||
"selectable on purchase (useful for parent products which are just used as a "
|
||||
"summary/total view of the child products)"
|
||||
msgstr ""
|
||||
"When enabled, this product can't have own stock, means it will not be "
|
||||
"selectable on purchase (useful for parent products which are just used as a "
|
||||
"summary/total view of the child products)"
|
||||
|
||||
msgid "Out of stock items will be shown at the products default location"
|
||||
msgstr ""
|
||||
msgstr "Out of stock items will be shown at the products default location"
|
||||
|
||||
msgid "Show a little checkbox next to each ingredient to mark it as done"
|
||||
msgstr ""
|
||||
msgstr "Show a little checkbox next to each ingredient to mark it as done"
|
||||
|
||||
msgid ""
|
||||
"The ingredient is crossed out when clicked, the status is not saved, means "
|
||||
"reset when the page is reloaded"
|
||||
msgstr ""
|
||||
"The ingredient is crossed out when clicked, the status is not saved, means "
|
||||
"reset when the page is reloaded"
|
||||
|
||||
msgid ""
|
||||
"The parent product %1$s is currently not in stock, %2$s is the current next "
|
||||
"sub product based on the default consume rule (Opened first, then first due "
|
||||
"first, then first in first out)"
|
||||
msgstr ""
|
||||
"The parent product %1$s is currently not in stock, %2$s is the current next "
|
||||
"sub product based on the default consume rule (Opened first, then first due "
|
||||
"first, then first in first out)"
|
||||
|
||||
msgid "Night mode"
|
||||
msgstr ""
|
||||
msgstr "Night mode"
|
||||
|
||||
msgid "On"
|
||||
msgstr ""
|
||||
msgstr "On"
|
||||
|
||||
msgid "Use system setting"
|
||||
msgstr ""
|
||||
msgstr "Use system setting"
|
||||
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
msgstr "Off"
|
||||
|
||||
msgid ""
|
||||
"Automatically add products that are below their defined min. stock amount to"
|
||||
" the shopping list"
|
||||
msgstr ""
|
||||
"Automatically add products that are below their defined min. stock amount to"
|
||||
" the shopping list"
|
||||
|
||||
msgid "Reassigned"
|
||||
msgstr ""
|
||||
msgstr "Reassigned"
|
||||
|
||||
msgid "Default value"
|
||||
msgstr ""
|
||||
msgstr "Default value"
|
||||
|
||||
msgid "Now / today"
|
||||
msgstr ""
|
||||
msgstr "Now / today"
|
||||
|
||||
msgid "Add meal plan entry"
|
||||
msgstr ""
|
||||
msgstr "Add meal plan entry"
|
||||
|
||||
msgid "Edit meal plan entry"
|
||||
msgstr ""
|
||||
msgstr "Edit meal plan entry"
|
||||
|
||||
msgid "Default consume location"
|
||||
msgstr ""
|
||||
msgstr "Default consume location"
|
||||
|
||||
msgid "Stock entries at this location will be consumed first"
|
||||
msgstr ""
|
||||
msgstr "Stock entries at this location will be consumed first"
|
||||
|
||||
msgid "Move on open"
|
||||
msgstr ""
|
||||
msgstr "Move on open"
|
||||
|
||||
msgid ""
|
||||
"When enabled, on marking this product as opened, the corresponding amount "
|
||||
"will be moved to the default consume location"
|
||||
msgstr ""
|
||||
"When enabled, on marking this product as opened, the corresponding amount "
|
||||
"will be moved to the default consume location"
|
||||
|
||||
msgid "Moved to %1$s"
|
||||
msgstr ""
|
||||
msgstr "Moved to %1$s"
|
||||
|
||||
msgid "Decimal places allowed for prices (input)"
|
||||
msgstr ""
|
||||
msgstr "Decimal places allowed for prices (input)"
|
||||
|
||||
msgid "Decimal places allowed for prices (display)"
|
||||
msgstr ""
|
||||
msgstr "Decimal places allowed for prices (display)"
|
||||
|
||||
msgid "Clear done items"
|
||||
msgstr ""
|
||||
msgstr "Clear done items"
|
||||
|
||||
msgid ""
|
||||
"This shows all to this product directly or indirectly related quantity units"
|
||||
" and their derived conversion factors"
|
||||
msgstr ""
|
||||
"This shows all to this product directly or indirectly related quantity units"
|
||||
" and their derived conversion factors"
|
||||
|
||||
msgid "Show resolved conversions"
|
||||
msgstr ""
|
||||
msgstr "Show resolved conversions"
|
||||
|
||||
msgid "QU conversions resolved"
|
||||
msgstr ""
|
||||
msgstr "QU conversions resolved"
|
||||
|
||||
msgid "Product specifc QU conversions"
|
||||
msgstr ""
|
||||
msgstr "Product specifc QU conversions"
|
||||
|
||||
msgid "Default quantity unit consume"
|
||||
msgstr ""
|
||||
msgstr "Default quantity unit consume"
|
||||
|
||||
msgid "This is the default quantity unit used when consuming this product"
|
||||
msgstr ""
|
||||
msgstr "This is the default quantity unit used when consuming this product"
|
||||
|
||||
msgid "Add to meal plan"
|
||||
msgstr ""
|
||||
msgstr "Add to meal plan"
|
||||
|
||||
msgid "Successfully added the recipe to the meal plan"
|
||||
msgstr ""
|
||||
msgstr "Successfully added the recipe to the meal plan"
|
||||
|
||||
msgid "Reprint stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Reprint stock entry label"
|
||||
|
||||
msgid "Auto reprint stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Auto reprint stock entry label"
|
||||
|
||||
msgid ""
|
||||
"When enabled, auto-changing the due date of a stock entry (by "
|
||||
"opening/freezing/thawing and having corresponding default due days set) will"
|
||||
" reprint its label"
|
||||
msgstr ""
|
||||
"When enabled, auto-changing the due date of a stock entry (by "
|
||||
"opening/freezing/thawing and having corresponding default due days set) will"
|
||||
" reprint its label"
|
||||
|
||||
msgid "Quick open amount"
|
||||
msgstr ""
|
||||
msgstr "Quick open amount"
|
||||
|
||||
msgid "Track chore execution now"
|
||||
msgstr ""
|
||||
msgstr "Track chore execution now"
|
||||
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Total"
|
||||
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
msgstr "Apply"
|
||||
|
||||
msgid "Custom range"
|
||||
msgstr ""
|
||||
msgstr "Custom range"
|
||||
|
||||
msgid "Yesterday"
|
||||
msgstr ""
|
||||
msgstr "Yesterday"
|
||||
|
||||
msgid "Last %1$s day"
|
||||
msgid_plural "Last %1$s days"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Last %1$s day"
|
||||
msgstr[1] "Last %1$s days"
|
||||
|
||||
msgid "This month"
|
||||
msgstr ""
|
||||
msgstr "This month"
|
||||
|
||||
msgid "Last month"
|
||||
msgstr ""
|
||||
msgstr "Last month"
|
||||
|
||||
msgid "This year"
|
||||
msgstr ""
|
||||
msgstr "This year"
|
||||
|
||||
msgid "Last year"
|
||||
msgstr ""
|
||||
msgstr "Last year"
|
||||
|
||||
msgid "Reports"
|
||||
msgstr ""
|
||||
msgstr "Reports"
|
||||
|
||||
msgid "Spendings"
|
||||
msgstr ""
|
||||
msgstr "Spendings"
|
||||
|
||||
msgid "Stock report"
|
||||
msgstr ""
|
||||
msgstr "Stock report"
|
||||
|
||||
msgid "Out-of-stock products"
|
||||
msgstr ""
|
||||
msgstr "Out-of-stock products"
|
||||
|
||||
msgid "Quantity unit for prices"
|
||||
msgstr ""
|
||||
msgstr "Quantity unit for prices"
|
||||
|
||||
msgid ""
|
||||
"When displaying prices for this product, they will be related to this "
|
||||
"quantity unit"
|
||||
msgstr ""
|
||||
"When displaying prices for this product, they will be related to this "
|
||||
"quantity unit"
|
||||
|
||||
msgid "This means 1 label will be printed"
|
||||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "This means 1 label will be printed"
|
||||
msgstr[1] "This means %1$s labels will be printed"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2849,3 +2849,12 @@ msgid_plural "This means %1$s labels will be printed"
|
|||
msgstr[0] "Esto significa que 1 etiqueta será impresa"
|
||||
msgstr[1] "Esto significa que %1$s etiqueta será impresa"
|
||||
msgstr[2] "Esto significa que %1$s etiquetas serán impresas"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2741,3 +2741,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] "See tähendab, et prinditakse üks etikett"
|
||||
msgstr[1] "See tähendab, et prinditakse %1$s etiketti"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2685,3 +2685,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2854,3 +2854,12 @@ msgid_plural "This means %1$s labels will be printed"
|
|||
msgstr[0] "Cela signifie que 1 étiquette sera imprimée"
|
||||
msgstr[1] "Cela signifie que %1$s étiquettes seront imprimées"
|
||||
msgstr[2] "Cela signifie que %1$s étiquettes seront imprimées"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2769,3 +2769,12 @@ msgstr[0] "משמעות הדבר היא שתודפס תווית אחת"
|
|||
msgstr[1] "משמעות הדבר היא שתודפסנה %1$s תוויות"
|
||||
msgstr[2] "משמעות הדבר היא שתודפסנה %1$s תוויות"
|
||||
msgstr[3] "משמעות הדבר היא שתודפסנה %1$s תוויות"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Translators:
|
||||
# רון יצחקי <ronveofir@gmail.com>, 2020
|
||||
# Yaron Shahrabani <sh.yaron@gmail.com>, 2020
|
||||
# Yaron Shahrabani <sh.yaron@gmail.com>, 2023
|
||||
#
|
||||
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:43+0000\n"
|
||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>, 2020\n"
|
||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>, 2023\n"
|
||||
"Language-Team: Hebrew (Israel) (https://app.transifex.com/grocy/teams/93189/he_IL/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -36,7 +36,7 @@ msgstr "מספר עשרוני"
|
|||
|
||||
# Number (currency)
|
||||
msgid "number-currency"
|
||||
msgstr ""
|
||||
msgstr "מספר (מטבע)"
|
||||
|
||||
# Date (without time)
|
||||
msgid "date"
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
# Vad Laszlo, 2021
|
||||
# Andras B, 2022
|
||||
# rozgonik <rozgonik1@gmail.com>, 2023
|
||||
# Tamas Voros <voros.e.tamas@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -15,7 +16,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: rozgonik <rozgonik1@gmail.com>, 2023\n"
|
||||
"Last-Translator: Tamas Voros <voros.e.tamas@gmail.com>, 2023\n"
|
||||
"Language-Team: Hungarian (https://app.transifex.com/grocy/teams/93189/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -399,22 +400,22 @@ msgstr[0] "kilogramm"
|
|||
msgstr[1] "kilogramm"
|
||||
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
msgstr "Román"
|
||||
|
||||
msgid "Pint"
|
||||
msgstr ""
|
||||
msgstr "Pint"
|
||||
|
||||
msgid "Beverages"
|
||||
msgstr ""
|
||||
msgstr "Italok"
|
||||
|
||||
msgid "Ice Cream"
|
||||
msgstr ""
|
||||
msgstr "Fagylalt"
|
||||
|
||||
msgid "Soda"
|
||||
msgstr ""
|
||||
msgstr "Szóda"
|
||||
|
||||
msgid "Beer"
|
||||
msgstr ""
|
||||
msgstr "Sör"
|
||||
|
||||
msgid "Estonian"
|
||||
msgstr ""
|
||||
msgstr "Észt"
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
# Translators:
|
||||
# Gábor Szellő <gabor.szello@gmail.com>, 2020
|
||||
# rozgonik <rozgonik1@gmail.com>, 2023
|
||||
# Tamas Voros <voros.e.tamas@gmail.com>, 2023
|
||||
#
|
||||
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: 2020-08-31 19:11+0000\n"
|
||||
"Last-Translator: rozgonik <rozgonik1@gmail.com>, 2023\n"
|
||||
"Last-Translator: Tamas Voros <voros.e.tamas@gmail.com>, 2023\n"
|
||||
"Language-Team: Hungarian (https://app.transifex.com/grocy/teams/93189/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -140,8 +141,8 @@ msgstr "Ukrán"
|
|||
|
||||
# Romanian
|
||||
msgid "ro_RO"
|
||||
msgstr ""
|
||||
msgstr "ro_RO"
|
||||
|
||||
# Estonian
|
||||
msgid "et_EE"
|
||||
msgstr ""
|
||||
msgstr "et_EE"
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
# Vad Laszlo, 2021
|
||||
# Tallyrald, 2021
|
||||
# rozgonik <rozgonik1@gmail.com>, 2023
|
||||
# Tamas Voros <voros.e.tamas@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -17,7 +18,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: rozgonik <rozgonik1@gmail.com>, 2023\n"
|
||||
"Last-Translator: Tamas Voros <voros.e.tamas@gmail.com>, 2023\n"
|
||||
"Language-Team: Hungarian (https://app.transifex.com/grocy/teams/93189/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -363,7 +364,7 @@ msgid "Removed %1$s of %2$s from stock"
|
|||
msgstr "%1$s %2$s készletről levéve"
|
||||
|
||||
msgid "About Grocy"
|
||||
msgstr ""
|
||||
msgstr "A Grocyról"
|
||||
|
||||
msgid "Close"
|
||||
msgstr "Bezár"
|
||||
|
|
@ -1471,7 +1472,7 @@ msgid "Price factor"
|
|||
msgstr "Ár szorzó"
|
||||
|
||||
msgid "Do you find Grocy useful?"
|
||||
msgstr ""
|
||||
msgstr "Hasznosnak találod a Grocyt?"
|
||||
|
||||
msgid "Say thanks"
|
||||
msgstr "Köszönd meg"
|
||||
|
|
@ -1489,7 +1490,7 @@ msgid "Output"
|
|||
msgstr "Kimenet"
|
||||
|
||||
msgid "Energy"
|
||||
msgstr ""
|
||||
msgstr "Energia"
|
||||
|
||||
msgid "Per stock quantity unit"
|
||||
msgstr "Készletegységenként"
|
||||
|
|
@ -1587,7 +1588,7 @@ msgid "Best before date"
|
|||
msgstr "Minőségmegőrzési dátum"
|
||||
|
||||
msgid "Purchased date"
|
||||
msgstr "Vásárlási napja"
|
||||
msgstr "Vásárlás dátuma"
|
||||
|
||||
msgid "Consume all %s for this stock entry"
|
||||
msgstr "Az összes %s elfogyasztása ennél a készletbejegyzésnél"
|
||||
|
|
@ -1605,6 +1606,9 @@ msgid ""
|
|||
"Camera access is only possible when supported and allowed by your browser "
|
||||
"and when Grocy is served via a secure (https://) connection"
|
||||
msgstr ""
|
||||
"A kamera hozzáférés csak akkor lehetséges, ha a böngésződ által támogatott "
|
||||
"és engedélyezett, valamint ha a Grocy egy biztonságos (https://) kapcsolaton"
|
||||
" keresztül van kiszolgálva"
|
||||
|
||||
msgid "Keep screen on"
|
||||
msgstr "Kijelző ébren tartása"
|
||||
|
|
@ -1921,7 +1925,7 @@ msgid "Chore journal"
|
|||
msgstr "Házimunka napló"
|
||||
|
||||
msgid "Track next chore schedule"
|
||||
msgstr ""
|
||||
msgstr "A következő ütemezett házimunka végrehajtásának követése"
|
||||
|
||||
msgid "Mark task as completed"
|
||||
msgstr "Feladat jelölése elvégzettként"
|
||||
|
|
@ -1948,6 +1952,8 @@ msgid ""
|
|||
"This is the default quantity unit used on purchase and when adding this "
|
||||
"product to the shopping list"
|
||||
msgstr ""
|
||||
"Ez a vásárláskor és a termék bevásárlólistára való felvételekor használt "
|
||||
"alapértelmezett mennyiségi egység"
|
||||
|
||||
msgid ""
|
||||
"Show a warning when the due date of the purchased product is earlier than "
|
||||
|
|
@ -1974,11 +1980,15 @@ msgid ""
|
|||
"This amount is used for the \"quick consume button\" on the stock overview "
|
||||
"page (related to quantity unit stock)"
|
||||
msgstr ""
|
||||
"A készlet áttekintésnél lévő \"gyors felhasználás\" gomb ennyi mennyiséget "
|
||||
"használ el (készletegységben)"
|
||||
|
||||
msgid ""
|
||||
"This amount is used for the \"quick open button\" on the stock overview page"
|
||||
" (related to quantity unit stock)"
|
||||
msgstr ""
|
||||
"A készlet áttekintésnél lévő \"gyors nyitás\" gomb ennyi mennyiséget használ"
|
||||
" el (készletegységben)"
|
||||
|
||||
msgid "Copy"
|
||||
msgstr "Másolás"
|
||||
|
|
@ -2261,19 +2271,22 @@ msgid "A product or a note is required"
|
|||
msgstr "Termék vagy jegyzet szükséges"
|
||||
|
||||
msgid "Grocycode"
|
||||
msgstr ""
|
||||
msgstr "Grocy kód"
|
||||
|
||||
msgid "Download"
|
||||
msgstr "Letöltés"
|
||||
|
||||
# Example: Download *Product* Grocycode
|
||||
msgid "Download %s Grocycode"
|
||||
msgstr ""
|
||||
msgstr "%s Grocy kód nyomtatása"
|
||||
|
||||
msgid ""
|
||||
"Grocycode is a unique referer to this %s in your Grocy instance - print it "
|
||||
"onto a label and scan it like any other barcode"
|
||||
msgstr ""
|
||||
"A Grocy kód egy egyedi vonalkód, amely a(z) %s Grocy-n belüli egyértelmű "
|
||||
"azonosítására szolgál - nyomtasd ki egy címkére és használd úgy, mint "
|
||||
"bármely más vonalkódot"
|
||||
|
||||
# Abbreviation for "due date"
|
||||
msgid "DD"
|
||||
|
|
@ -2302,7 +2315,7 @@ msgstr "Webhook hívási hiba"
|
|||
|
||||
# Example: Print *Product* Grocycode on label printer
|
||||
msgid "Print %s Grocycode on label printer"
|
||||
msgstr ""
|
||||
msgstr "%s Grocy kód címkenyomtatóra küldés"
|
||||
|
||||
msgid "Open stock entry label in new window"
|
||||
msgstr "Készletbejegyzés címkéjének megnyitása új lapon"
|
||||
|
|
@ -2490,7 +2503,7 @@ msgid "Save & add another task"
|
|||
msgstr "Mentés és újabb feladat hozzáadása"
|
||||
|
||||
msgid "Treat opened as out of stock"
|
||||
msgstr "Felbontott termékeket hiányzóként kezeli"
|
||||
msgstr "Kezelje a felbontott termékeket hiányzóként"
|
||||
|
||||
msgid ""
|
||||
"When enabled, opened items will be counted as missing for calculating if "
|
||||
|
|
@ -2557,9 +2570,9 @@ msgid ""
|
|||
"selectable on purchase (useful for parent products which are just used as a "
|
||||
"summary/total view of the child products)"
|
||||
msgstr ""
|
||||
"Bekapcsolva a terméknek nem lehet saját készlete, így vásárolni se lehet "
|
||||
"(akkor hasznos, ha az adott terméket csak az al-termékek összesítésére "
|
||||
"használjuk)"
|
||||
"Bekapcsolva a terméknek nem lehet saját készlete, így vásárláskor sem lehet "
|
||||
"kiválasztani (akkor hasznos, ha az adott terméket csak az al-termékek "
|
||||
"összesítésére használjuk)"
|
||||
|
||||
msgid "Out of stock items will be shown at the products default location"
|
||||
msgstr "Készlethiányos termékek az alapértelmezett helyükön fognak szerepelni"
|
||||
|
|
@ -2690,61 +2703,71 @@ msgstr ""
|
|||
" esetén) automatán újranyomtatja a címkét"
|
||||
|
||||
msgid "Quick open amount"
|
||||
msgstr ""
|
||||
msgstr "Gyors felbontási mennyiség"
|
||||
|
||||
msgid "Track chore execution now"
|
||||
msgstr ""
|
||||
msgstr "Házimunka végrehajtásának követése most"
|
||||
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Összesen"
|
||||
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
msgstr "Alkalmaz"
|
||||
|
||||
msgid "Custom range"
|
||||
msgstr ""
|
||||
msgstr "Egyedi tartomány"
|
||||
|
||||
msgid "Yesterday"
|
||||
msgstr ""
|
||||
msgstr "Tegnap"
|
||||
|
||||
msgid "Last %1$s day"
|
||||
msgid_plural "Last %1$s days"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Elmúlt %1$s nap"
|
||||
msgstr[1] "Elmúlt %1$s nap"
|
||||
|
||||
msgid "This month"
|
||||
msgstr ""
|
||||
msgstr "Ebben a hónapban"
|
||||
|
||||
msgid "Last month"
|
||||
msgstr ""
|
||||
msgstr "Előző hónap"
|
||||
|
||||
msgid "This year"
|
||||
msgstr ""
|
||||
msgstr "Idén"
|
||||
|
||||
msgid "Last year"
|
||||
msgstr ""
|
||||
msgstr "Ebben a hónapban"
|
||||
|
||||
msgid "Reports"
|
||||
msgstr ""
|
||||
msgstr "Jelentések"
|
||||
|
||||
msgid "Spendings"
|
||||
msgstr ""
|
||||
msgstr "Kiadások"
|
||||
|
||||
msgid "Stock report"
|
||||
msgstr ""
|
||||
msgstr "Készletjelentés"
|
||||
|
||||
msgid "Out-of-stock products"
|
||||
msgstr ""
|
||||
msgstr "Elfogyott termékek"
|
||||
|
||||
msgid "Quantity unit for prices"
|
||||
msgstr ""
|
||||
msgstr "Mennyiségi egység az árakhoz"
|
||||
|
||||
msgid ""
|
||||
"When displaying prices for this product, they will be related to this "
|
||||
"quantity unit"
|
||||
msgstr ""
|
||||
"A termék árainak megjelenítésekor ehhez a mennyiségi egységhez kapcsolódnak"
|
||||
|
||||
msgid "This means 1 label will be printed"
|
||||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Ez azt jelenti, hogy 1 címke kerül nyomtatásra"
|
||||
msgstr[1] "Ez azt jelenti, hogy %1$s címke kerül nyomtatásra"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
# Márk Kökény <oregapamgroup@gmail.com>, 2019
|
||||
# Ádám Kovács <kovacsadam07@outlook.hu>, 2019
|
||||
# Gábor Szellő <gabor.szello@gmail.com>, 2020
|
||||
# Tamas Voros <voros.e.tamas@gmail.com>, 2023
|
||||
#
|
||||
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:43+0000\n"
|
||||
"Last-Translator: Gábor Szellő <gabor.szello@gmail.com>, 2020\n"
|
||||
"Last-Translator: Tamas Voros <voros.e.tamas@gmail.com>, 2023\n"
|
||||
"Language-Team: Hungarian (https://app.transifex.com/grocy/teams/93189/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -37,7 +38,7 @@ msgstr "decimális szám"
|
|||
|
||||
# Number (currency)
|
||||
msgid "number-currency"
|
||||
msgstr ""
|
||||
msgstr "szám-pénznem"
|
||||
|
||||
# Date (without time)
|
||||
msgid "date"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
# 42d76af3cd20bc399c7e8a413695959f, 2019
|
||||
# Matteo Piccina <altermatte@gmail.com>, 2021
|
||||
# Sergio Zampello <seriotv88@gmail.com>, 2021
|
||||
# Antonino Ursino <ninus_@libero.it>, 2022
|
||||
# Walter Palagi, 2022
|
||||
# Moltivie Denied <major2015usa@gmail.com>, 2022
|
||||
# Martino Falorni, 2023
|
||||
|
|
@ -13,6 +12,8 @@
|
|||
# Davide G., 2023
|
||||
# Davide Casella, 2023
|
||||
# Claudio Arseni <claudio.arseni@gmail.com>, 2023
|
||||
# Antonino Ursino <ninus_@libero.it>, 2023
|
||||
# Antonio Nardella, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -20,7 +21,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: Claudio Arseni <claudio.arseni@gmail.com>, 2023\n"
|
||||
"Last-Translator: Antonio Nardella, 2023\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/grocy/teams/93189/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -1637,7 +1638,7 @@ msgid "Stock entries"
|
|||
msgstr "Voci di dispensa"
|
||||
|
||||
msgid "Best before date"
|
||||
msgstr "Data di scadenza"
|
||||
msgstr "Consumarsi preferibilmente entro"
|
||||
|
||||
msgid "Purchased date"
|
||||
msgstr "Data di acquisto"
|
||||
|
|
@ -2075,7 +2076,7 @@ msgstr ""
|
|||
" dopo che è stata raggiunta la sua data di scadenza"
|
||||
|
||||
msgid "Expiration date"
|
||||
msgstr "Data di scadenza"
|
||||
msgstr "Consumarsi entro"
|
||||
|
||||
msgid ""
|
||||
"Means that the product is not safe to be consumed after its due date is "
|
||||
|
|
@ -2778,16 +2779,19 @@ msgid "Successfully added the recipe to the meal plan"
|
|||
msgstr "La ricetta è stata aggiunta con successo al piano pasti"
|
||||
|
||||
msgid "Reprint stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Ristampa l'etichetta di immissione in dispensa"
|
||||
|
||||
msgid "Auto reprint stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Ristampa automaticamente l'etichetta di immissione in dispensa"
|
||||
|
||||
msgid ""
|
||||
"When enabled, auto-changing the due date of a stock entry (by "
|
||||
"opening/freezing/thawing and having corresponding default due days set) will"
|
||||
" reprint its label"
|
||||
msgstr ""
|
||||
"Se abilitata, la modifica automatica della data di scadenza di una voce di "
|
||||
"dispensa (aprendo/congelando/scongelando e impostando i giorni di scadenza "
|
||||
"predefiniti corrispondenti) ristamperà la sua etichetta"
|
||||
|
||||
msgid "Quick open amount"
|
||||
msgstr "Quantità per consumo rapido"
|
||||
|
|
@ -2844,9 +2848,20 @@ msgid ""
|
|||
"When displaying prices for this product, they will be related to this "
|
||||
"quantity unit"
|
||||
msgstr ""
|
||||
"Quando verranno visualizzati i prezzi per questo prodotto, saranno correlati"
|
||||
" a questa unità di quantità"
|
||||
|
||||
msgid "This means 1 label will be printed"
|
||||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] "Questo significa che verrà stampata 1 etichetta"
|
||||
msgstr[1] "Questo significa che verranno stampate %1$s etichette"
|
||||
msgstr[2] "Questo significa che verranno stampate %1$s etichette"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# Translators:
|
||||
# Antonino Ursino <ninus_@libero.it>, 2020
|
||||
# Antonino Ursino <ninus_@libero.it>, 2023
|
||||
#
|
||||
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:43+0000\n"
|
||||
"Last-Translator: Antonino Ursino <ninus_@libero.it>, 2020\n"
|
||||
"Last-Translator: Antonino Ursino <ninus_@libero.it>, 2023\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/grocy/teams/93189/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -35,7 +35,7 @@ msgstr "numero decimale"
|
|||
|
||||
# Number (currency)
|
||||
msgid "number-currency"
|
||||
msgstr ""
|
||||
msgstr "numero valuta"
|
||||
|
||||
# Date (without time)
|
||||
msgid "date"
|
||||
|
|
|
|||
|
|
@ -2553,3 +2553,12 @@ msgstr ""
|
|||
msgid "This means 1 label will be printed"
|
||||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2570,3 +2570,12 @@ msgstr ""
|
|||
msgid "This means 1 label will be printed"
|
||||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2826,3 +2826,12 @@ msgstr[0] "Tai reiškia, kad bus atspausdinta 1 etiketė"
|
|||
msgstr[1] "Tai reiškia, kad bus atspausdintos %1$s etiketės"
|
||||
msgstr[2] "Tai reiškia, kad bus atspausdintos %1$s etikečių"
|
||||
msgstr[3] "Tai reiškia, kad bus atspausdintos %1$s etikečių"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# Translators:
|
||||
# Vytautas Barkauskas, 2022
|
||||
# Vytautas Barkauskas, 2023
|
||||
#
|
||||
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:43+0000\n"
|
||||
"Last-Translator: Vytautas Barkauskas, 2022\n"
|
||||
"Last-Translator: Vytautas Barkauskas, 2023\n"
|
||||
"Language-Team: Lithuanian (https://app.transifex.com/grocy/teams/93189/lt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -35,7 +35,7 @@ msgstr "skaičius po kablelio"
|
|||
|
||||
# Number (currency)
|
||||
msgid "number-currency"
|
||||
msgstr ""
|
||||
msgstr "skaičius-valiuta"
|
||||
|
||||
# Date (without time)
|
||||
msgid "date"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# Translators:
|
||||
# Stan Overgauw <stan.overgauw@gmail.com>, 2020
|
||||
# Luc Donderwinkel, 2022
|
||||
# Matthijs <transifex.com@brievenbus.6689.nl>, 2023
|
||||
# Matthijs <matthijs@spamkip.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -10,7 +10,7 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-01T17:59:17+00:00\n"
|
||||
"PO-Revision-Date: 2020-08-31 19:11+0000\n"
|
||||
"Last-Translator: Matthijs <transifex.com@brievenbus.6689.nl>, 2023\n"
|
||||
"Last-Translator: Matthijs <matthijs@spamkip.com>, 2023\n"
|
||||
"Language-Team: Dutch (https://app.transifex.com/grocy/teams/93189/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
|
|||
|
|
@ -2817,3 +2817,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] "Dit betekend dat 1 label wordt geprint"
|
||||
msgstr[1] "Dit betekend dat %1$s labels worden geprint"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#
|
||||
# Translators:
|
||||
# Rutger Meekers, 2023
|
||||
# Matthijs <matthijs@spamkip.com>, 2023
|
||||
#
|
||||
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: Rutger Meekers, 2023\n"
|
||||
"Last-Translator: Matthijs <matthijs@spamkip.com>, 2023\n"
|
||||
"Language-Team: Dutch (https://app.transifex.com/grocy/teams/93189/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -35,7 +36,7 @@ msgstr "Nummer (decimaal)"
|
|||
|
||||
# Number (currency)
|
||||
msgid "number-currency"
|
||||
msgstr ""
|
||||
msgstr "Getal (munteenheid)"
|
||||
|
||||
# Date (without time)
|
||||
msgid "date"
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
# Tor Eirik Trandal <teitrand@hotmail.com>, 2021
|
||||
# Kurt Inge Smådal, 2022
|
||||
# Vegard Fladby <vegard.fladby@gmail.com>, 2023
|
||||
# Ronny Rusten, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -14,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: Vegard Fladby <vegard.fladby@gmail.com>, 2023\n"
|
||||
"Last-Translator: Ronny Rusten, 2023\n"
|
||||
"Language-Team: Norwegian (https://app.transifex.com/grocy/teams/93189/no/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -1915,7 +1916,7 @@ msgid "Mark task as completed"
|
|||
msgstr "Merk oppgave som ferdig"
|
||||
|
||||
msgid "Track charge cycle"
|
||||
msgstr "Registrer lasesyklus"
|
||||
msgstr "Registrer ladesyklus"
|
||||
|
||||
msgid "Battery journal"
|
||||
msgstr "Batterilogg"
|
||||
|
|
@ -2672,7 +2673,7 @@ msgid "Quick open amount"
|
|||
msgstr ""
|
||||
|
||||
msgid "Track chore execution now"
|
||||
msgstr ""
|
||||
msgstr "Registrer husarbeid nå"
|
||||
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
|
@ -2727,3 +2728,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#
|
||||
# Translators:
|
||||
# Pro Peller <smiglo@tuta.io>, 2020
|
||||
# Rafał Hanzel, 2023
|
||||
#
|
||||
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-09-17 10:45+0000\n"
|
||||
"Last-Translator: Pro Peller <smiglo@tuta.io>, 2020\n"
|
||||
"Last-Translator: Rafał Hanzel, 2023\n"
|
||||
"Language-Team: Polish (https://app.transifex.com/grocy/teams/93189/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -18,7 +19,7 @@ msgstr ""
|
|||
"X-Domain: grocy/chore_assignment_types\n"
|
||||
|
||||
msgid "no-assignment"
|
||||
msgstr "brak przypisania"
|
||||
msgstr "Nie przypisane"
|
||||
|
||||
msgid "who-least-did-first"
|
||||
msgstr "kto-ostatnio-ten-pierwszy"
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
# Michał G, 2022
|
||||
# Oskar Sawaryn, 2023
|
||||
# orl0pl, 2023
|
||||
# Marcin Lewandowski <email.marcina.lewandowskiego@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -18,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: orl0pl, 2023\n"
|
||||
"Last-Translator: Marcin Lewandowski <email.marcina.lewandowskiego@gmail.com>, 2023\n"
|
||||
"Language-Team: Polish (https://app.transifex.com/grocy/teams/93189/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -423,7 +424,7 @@ msgid "Romanian"
|
|||
msgstr "Rumuński"
|
||||
|
||||
msgid "Pint"
|
||||
msgstr "Pół kwarty"
|
||||
msgstr "Pinta"
|
||||
|
||||
msgid "Beverages"
|
||||
msgstr "Napoje"
|
||||
|
|
|
|||
|
|
@ -15,11 +15,12 @@
|
|||
# Łukasz Wawrzyk, 2021
|
||||
# Tomasz Wieczorek <tomek12-96@o2.pl>, 2022
|
||||
# Hans Müller, 2022
|
||||
# Marcin Lewandowski <email.marcina.lewandowskiego@gmail.com>, 2022
|
||||
# Kamila Frej, 2022
|
||||
# Michał G, 2022
|
||||
# Oskar Sawaryn, 2023
|
||||
# orl0pl, 2023
|
||||
# Stanisław Czajka <stanislaw@czajka.pl>, 2023
|
||||
# Marcin Lewandowski <email.marcina.lewandowskiego@gmail.com>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -27,7 +28,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: orl0pl, 2023\n"
|
||||
"Last-Translator: Marcin Lewandowski <email.marcina.lewandowskiego@gmail.com>, 2023\n"
|
||||
"Language-Team: Polish (https://app.transifex.com/grocy/teams/93189/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -709,18 +710,18 @@ msgstr "Czy jesteś pewien, że chcesz usunąć zadanie \"%s\"?"
|
|||
|
||||
msgid "%s task is due to be done"
|
||||
msgid_plural "%s tasks are due to be done"
|
||||
msgstr[0] "Zadania po terminie realizacji: %s"
|
||||
msgstr[1] "Zadania po terminie realizacji: %s"
|
||||
msgstr[2] "Zadania po terminie realizacji: %s"
|
||||
msgstr[3] "Zadania po terminie realizacji: %s"
|
||||
|
||||
msgid "%s task is overdue to be done"
|
||||
msgid_plural "%s tasks are overdue to be done"
|
||||
msgstr[0] "Zadania bliskie terminu realizacji: %s"
|
||||
msgstr[1] "Zadania bliskie terminu realizacji: %s"
|
||||
msgstr[2] "Zadania bliskie terminu realizacji: %s"
|
||||
msgstr[3] "Zadania bliskie terminu realizacji: %s"
|
||||
|
||||
msgid "%s task is overdue to be done"
|
||||
msgid_plural "%s tasks are overdue to be done"
|
||||
msgstr[0] "Zadania po terminie realizacji: %s"
|
||||
msgstr[1] "Zadania po terminie realizacji: %s"
|
||||
msgstr[2] "Zadania po terminie realizacji: %s"
|
||||
msgstr[3] "Zadania po terminie realizacji: %s"
|
||||
|
||||
msgid "Edit task category"
|
||||
msgstr "Edytuj kategorię zadania"
|
||||
|
||||
|
|
@ -1534,7 +1535,7 @@ msgid "Price factor"
|
|||
msgstr "Współczynnik ceny"
|
||||
|
||||
msgid "Do you find Grocy useful?"
|
||||
msgstr ""
|
||||
msgstr "Uważasz, że Grocy jest dla Ciebie przydatny?"
|
||||
|
||||
msgid "Say thanks"
|
||||
msgstr "Podziękuj"
|
||||
|
|
@ -1675,6 +1676,9 @@ msgid ""
|
|||
"Camera access is only possible when supported and allowed by your browser "
|
||||
"and when Grocy is served via a secure (https://) connection"
|
||||
msgstr ""
|
||||
"Dostęp do kamery jest możliwy tylko w momencie kiedy Twoja przeglądarka na "
|
||||
"to pozwala oraz Grocy jest serwowane przez zabezpieczone (https://) "
|
||||
"połączenie"
|
||||
|
||||
msgid "Keep screen on"
|
||||
msgstr "Nie wygaszaj ekranu"
|
||||
|
|
@ -1744,7 +1748,7 @@ msgstr ""
|
|||
"zostać automatycznie uzupełnione"
|
||||
|
||||
msgid "Is freezer"
|
||||
msgstr "Jest mrożonką"
|
||||
msgstr "Jest zamrażalnikiem"
|
||||
|
||||
msgid "This cannot be the same as the \"From\" location"
|
||||
msgstr "Nie może być tożsame z lokalizacją \"od\""
|
||||
|
|
@ -1989,7 +1993,7 @@ msgid "Chore journal"
|
|||
msgstr "Dziennik obowiązków"
|
||||
|
||||
msgid "Track next chore schedule"
|
||||
msgstr ""
|
||||
msgstr "Śledź harmonogram kolejnego obowiązku"
|
||||
|
||||
msgid "Mark task as completed"
|
||||
msgstr "Oznacz zadanie jako wykonane"
|
||||
|
|
@ -2016,6 +2020,8 @@ msgid ""
|
|||
"This is the default quantity unit used on purchase and when adding this "
|
||||
"product to the shopping list"
|
||||
msgstr ""
|
||||
"Jest to domyślna jednostka ilości używana przy zakupie i dodawaniu tego "
|
||||
"produktu do listy zakupów"
|
||||
|
||||
msgid ""
|
||||
"Show a warning when the due date of the purchased product is earlier than "
|
||||
|
|
@ -2043,6 +2049,8 @@ msgid ""
|
|||
"This amount is used for the \"quick consume button\" on the stock overview "
|
||||
"page (related to quantity unit stock)"
|
||||
msgstr ""
|
||||
"Kwota ta jest wykorzystana w przypadku użycia przycisku „szybkiego zużycia” "
|
||||
"na stronie przeglądu zapasów"
|
||||
|
||||
msgid ""
|
||||
"This amount is used for the \"quick open button\" on the stock overview page"
|
||||
|
|
@ -2338,19 +2346,21 @@ msgid "A product or a note is required"
|
|||
msgstr "Produkty lub notatka jest wymagana"
|
||||
|
||||
msgid "Grocycode"
|
||||
msgstr ""
|
||||
msgstr "Grocycode"
|
||||
|
||||
msgid "Download"
|
||||
msgstr "Pobierz"
|
||||
|
||||
# Example: Download *Product* Grocycode
|
||||
msgid "Download %s Grocycode"
|
||||
msgstr ""
|
||||
msgstr "Pobierz Grocycode dla %s"
|
||||
|
||||
msgid ""
|
||||
"Grocycode is a unique referer to this %s in your Grocy instance - print it "
|
||||
"onto a label and scan it like any other barcode"
|
||||
msgstr ""
|
||||
"Grocycode to unikalny odnośnik do %s w twojej instancji Grocy - umieść go na"
|
||||
" etykiecie i skanuj tak jak dowolny inny kod kreskowy"
|
||||
|
||||
# Abbreviation for "due date"
|
||||
msgid "DD"
|
||||
|
|
@ -2379,7 +2389,7 @@ msgstr "Błąd podczas wykonywania webhooka"
|
|||
|
||||
# Example: Print *Product* Grocycode on label printer
|
||||
msgid "Print %s Grocycode on label printer"
|
||||
msgstr ""
|
||||
msgstr "Wydrukuj Grocycode dla %s na drukarce etykiet"
|
||||
|
||||
msgid "Open stock entry label in new window"
|
||||
msgstr "Utwórz etykietę wpisu zapasu w nowym oknie"
|
||||
|
|
@ -2639,7 +2649,7 @@ msgstr ""
|
|||
"magazynie zbliża się do terminu ważności lub jest przeterminowane."
|
||||
|
||||
msgid "Disable own stock"
|
||||
msgstr ""
|
||||
msgstr "Wyłącz własne zapasy"
|
||||
|
||||
msgid ""
|
||||
"When enabled, this product can't have own stock, means it will not be "
|
||||
|
|
@ -2710,7 +2720,7 @@ msgid "Default consume location"
|
|||
msgstr "Domyślna lokalizacja pobierania zasobu"
|
||||
|
||||
msgid "Stock entries at this location will be consumed first"
|
||||
msgstr ""
|
||||
msgstr "Pozycje zapasu z tej lokalizacji będą zużyte jako pierwsze."
|
||||
|
||||
msgid "Move on open"
|
||||
msgstr "Przenieś po otwarciu"
|
||||
|
|
@ -2762,10 +2772,10 @@ msgid "Successfully added the recipe to the meal plan"
|
|||
msgstr "Udało się dodać przepis do planu posiłków"
|
||||
|
||||
msgid "Reprint stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Przedrukuj etykietę pozycji zapasu"
|
||||
|
||||
msgid "Auto reprint stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Automatycznie przedrukuj etykietę pozycji zapasu"
|
||||
|
||||
msgid ""
|
||||
"When enabled, auto-changing the due date of a stock entry (by "
|
||||
|
|
@ -2774,29 +2784,29 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
msgid "Quick open amount"
|
||||
msgstr ""
|
||||
msgstr "Ilość szybkiego otwarcia"
|
||||
|
||||
msgid "Track chore execution now"
|
||||
msgstr ""
|
||||
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Łącznie"
|
||||
|
||||
msgid "Apply"
|
||||
msgstr "Zastosuj"
|
||||
|
||||
msgid "Custom range"
|
||||
msgstr ""
|
||||
msgstr "Zakres niestandardowy"
|
||||
|
||||
msgid "Yesterday"
|
||||
msgstr "Wczoraj"
|
||||
|
||||
msgid "Last %1$s day"
|
||||
msgid_plural "Last %1$s days"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[0] "Ostatni 1 dzień"
|
||||
msgstr[1] "Ostatnie %1$s dni"
|
||||
msgstr[2] "Ostatnie %1$s dni "
|
||||
msgstr[3] "Ostatnie %1$s dni"
|
||||
|
||||
msgid "This month"
|
||||
msgstr "W tym miesiącu"
|
||||
|
|
@ -2805,34 +2815,44 @@ msgid "Last month"
|
|||
msgstr "W zeszłym miesiącu"
|
||||
|
||||
msgid "This year"
|
||||
msgstr ""
|
||||
msgstr "Ten rok"
|
||||
|
||||
msgid "Last year"
|
||||
msgstr ""
|
||||
msgstr "Poprzedni rok"
|
||||
|
||||
msgid "Reports"
|
||||
msgstr ""
|
||||
msgstr "Raporty"
|
||||
|
||||
msgid "Spendings"
|
||||
msgstr ""
|
||||
msgstr "Wydatki"
|
||||
|
||||
msgid "Stock report"
|
||||
msgstr ""
|
||||
msgstr "Raport zapasów"
|
||||
|
||||
msgid "Out-of-stock products"
|
||||
msgstr ""
|
||||
msgstr "Produkty niedostępne"
|
||||
|
||||
msgid "Quantity unit for prices"
|
||||
msgstr ""
|
||||
msgstr "Jednostka ilości dla cen"
|
||||
|
||||
msgid ""
|
||||
"When displaying prices for this product, they will be related to this "
|
||||
"quantity unit"
|
||||
msgstr ""
|
||||
"Wyświetlając ceny tego produktu, będą one odniesione do jednostki ilości"
|
||||
|
||||
msgid "This means 1 label will be printed"
|
||||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[0] "Oznacza to, że zostanie wydrukowana 1 etykieta"
|
||||
msgstr[1] "Oznacza to, że zostaną wydrukowane %1$s etykiety"
|
||||
msgstr[2] "Oznacza to, że zostanie wydrukowanych %1$s etykiet"
|
||||
msgstr[3] "Oznacza to, że zostanie wydrukowanych %1$s etykiet"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -423,4 +423,4 @@ msgid "Beer"
|
|||
msgstr "Cerveja"
|
||||
|
||||
msgid "Estonian"
|
||||
msgstr ""
|
||||
msgstr "Estoniano"
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
# Translators:
|
||||
# Fernando Luiz Bonifácio de Oliveira, 2022
|
||||
# Anti Gona, 2023
|
||||
# Aurelio Barreto <aurelio@aureliobarreto.com>, 2023
|
||||
#
|
||||
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: 2020-08-31 19:11+0000\n"
|
||||
"Last-Translator: Anti Gona, 2023\n"
|
||||
"Last-Translator: Aurelio Barreto <aurelio@aureliobarreto.com>, 2023\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/grocy/teams/93189/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -144,4 +145,4 @@ msgstr "ro_RO"
|
|||
|
||||
# Estonian
|
||||
msgid "et_EE"
|
||||
msgstr ""
|
||||
msgstr "et_EE"
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ msgid "Logout"
|
|||
msgstr "Sair"
|
||||
|
||||
msgid "Chores overview"
|
||||
msgstr "Atividades Domésticas"
|
||||
msgstr "Tarefas Domésticas"
|
||||
|
||||
msgid "Batteries overview"
|
||||
msgstr "Baterias"
|
||||
|
|
@ -100,7 +100,7 @@ msgid "Shopping list"
|
|||
msgstr "Lista de Compras"
|
||||
|
||||
msgid "Chore tracking"
|
||||
msgstr "Monitorar ativ. doméstica"
|
||||
msgstr "Monitorar tarefa doméstica"
|
||||
|
||||
msgid "Battery tracking"
|
||||
msgstr "Monitorar baterias"
|
||||
|
|
@ -115,13 +115,13 @@ msgid "Quantity units"
|
|||
msgstr "Unidades de medida"
|
||||
|
||||
msgid "Chores"
|
||||
msgstr "Atividades Domésticas"
|
||||
msgstr "Tarefas Domésticas"
|
||||
|
||||
msgid "Batteries"
|
||||
msgstr "Baterias"
|
||||
|
||||
msgid "Chore"
|
||||
msgstr "Atividade"
|
||||
msgstr "Tarefa"
|
||||
|
||||
msgid "Next estimated tracking"
|
||||
msgstr "Próximo previsto"
|
||||
|
|
@ -148,7 +148,7 @@ msgid "Product overview"
|
|||
msgstr "DETALHES"
|
||||
|
||||
msgid "Stock quantity unit"
|
||||
msgstr "Unidades de medida do estoque"
|
||||
msgstr "Unidade"
|
||||
|
||||
msgid "Stock amount"
|
||||
msgstr "Total em estoque"
|
||||
|
|
@ -210,7 +210,7 @@ msgid "Location"
|
|||
msgstr "Localização"
|
||||
|
||||
msgid "Min. stock amount"
|
||||
msgstr "Quant mínima de estoque"
|
||||
msgstr "Quant mínima"
|
||||
|
||||
msgid "Description"
|
||||
msgstr "Descrição"
|
||||
|
|
@ -222,13 +222,13 @@ msgid "Barcode(s)"
|
|||
msgstr "Código(s) de Barras"
|
||||
|
||||
msgid "Minimum stock amount"
|
||||
msgstr "Total mínimo de estoque"
|
||||
msgstr "Total mínimo"
|
||||
|
||||
msgid "Default best before days"
|
||||
msgstr "Próximo prazo de validade padrão"
|
||||
|
||||
msgid "Default quantity unit purchase"
|
||||
msgstr "Unidade de medida usada na compra"
|
||||
msgstr "Unidade de medida (compra)"
|
||||
|
||||
msgid "Quantity unit stock"
|
||||
msgstr "Unidade de medida"
|
||||
|
|
@ -249,7 +249,7 @@ msgid "Period days"
|
|||
msgstr "Período em dias"
|
||||
|
||||
msgid "Create chore"
|
||||
msgstr "Criar atividade doméstica"
|
||||
msgstr "Criar tarefa doméstica"
|
||||
|
||||
msgid "Used in"
|
||||
msgstr "Usado em"
|
||||
|
|
@ -261,7 +261,7 @@ msgid "Edit battery"
|
|||
msgstr "Editar bateria"
|
||||
|
||||
msgid "Edit chore"
|
||||
msgstr "Editar atividade doméstica"
|
||||
msgstr "Editar tarefa"
|
||||
|
||||
msgid "Edit quantity unit"
|
||||
msgstr "Editar unidade de medida"
|
||||
|
|
@ -285,8 +285,7 @@ msgid "never"
|
|||
msgstr "nunca"
|
||||
|
||||
msgid "Add products that are below defined min. stock amount"
|
||||
msgstr ""
|
||||
"Adicionar produtos que estão abaixo da quantidade mínima de estoque definido"
|
||||
msgstr "Adicionar produtos que estão abaixo da quantidade mínima no estoque"
|
||||
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
|
@ -310,7 +309,7 @@ msgid "No"
|
|||
msgstr "Não"
|
||||
|
||||
msgid "Are you sure to delete chore \"%s\"?"
|
||||
msgstr "Você tem certeza que deseja remover a atividade doméstica \"%s\"?"
|
||||
msgstr "Você tem certeza que deseja remover a tarefa doméstica \"%s\"?"
|
||||
|
||||
msgid "\"%s\" could not be resolved to a product, how do you want to proceed?"
|
||||
msgstr "\"%s\" não pode ser resolvido como um produto, como deseja proceder?"
|
||||
|
|
@ -388,10 +387,10 @@ msgid "Added %1$s of %2$s to stock"
|
|||
msgstr "Adicionado %1$s de %2$s no estoque"
|
||||
|
||||
msgid "Stock amount of %1$s is now %2$s"
|
||||
msgstr "A quantidade de estoque de %1$s agora é %2$s"
|
||||
msgstr "A quantidade em estoque de %1$s agora é %2$s"
|
||||
|
||||
msgid "Tracked execution of chore %1$s on %2$s"
|
||||
msgstr "Acompanhamento da atividade doméstica %1$s de %2$s"
|
||||
msgstr "Acompanhamento da tarefa doméstica %1$s de %2$s"
|
||||
|
||||
msgid "Tracked charge cycle of battery %1$s on %2$s"
|
||||
msgstr "Acompanhamento do ciclo de carga de bateria %1$s de %2$s"
|
||||
|
|
@ -412,7 +411,7 @@ msgid "You have to select a product"
|
|||
msgstr "Você precisa selecionar um produto"
|
||||
|
||||
msgid "You have to select a chore"
|
||||
msgstr "Você precisa selecionar uma atividade"
|
||||
msgstr "Você precisa selecionar uma tarefa"
|
||||
|
||||
msgid "You have to select a battery"
|
||||
msgstr "Você precisa selecionar uma bateria"
|
||||
|
|
@ -488,7 +487,7 @@ msgstr[1] ""
|
|||
"Estoque insuficiente, %s ingredientes faltando mas já estão na lista de "
|
||||
"compras"
|
||||
msgstr[2] ""
|
||||
"Estoque insuficiente, %s ingredientes faltando mas já estão na lista de "
|
||||
"Estoque insuficiente. %s ingredientes faltando mas já estão na lista de "
|
||||
"compras"
|
||||
|
||||
msgid "Expand to fullscreen"
|
||||
|
|
@ -504,7 +503,7 @@ msgid "Recipe"
|
|||
msgstr "Receita"
|
||||
|
||||
msgid "Not enough in stock, %1$s missing, %2$s already on shopping list"
|
||||
msgstr "Estoque insuficiente, %1$s faltando, %2$s já na lista de compras"
|
||||
msgstr "Estoque insuficiente. %1$s faltando, %2$s já na lista de compras"
|
||||
|
||||
msgid "Show notes"
|
||||
msgstr "Exibir notas"
|
||||
|
|
@ -656,13 +655,13 @@ msgid "Error details"
|
|||
msgstr "Detalhes do erro"
|
||||
|
||||
msgid "Tasks"
|
||||
msgstr "Tarefas"
|
||||
msgstr "Atividades"
|
||||
|
||||
msgid "Show done tasks"
|
||||
msgstr "Exibir tarefas concluídas"
|
||||
msgstr "Exibir atividades concluídas"
|
||||
|
||||
msgid "Task"
|
||||
msgstr "Tarefa"
|
||||
msgstr "Atividade"
|
||||
|
||||
msgid "Due"
|
||||
msgstr "Prazo"
|
||||
|
|
@ -671,16 +670,16 @@ msgid "Assigned to"
|
|||
msgstr "Atribuído a"
|
||||
|
||||
msgid "Mark task \"%s\" as completed"
|
||||
msgstr "Marcar tarefa \"%s\" como completada"
|
||||
msgstr "Marcar atividade \"%s\" como completada"
|
||||
|
||||
msgid "Uncategorized"
|
||||
msgstr "Não categorizado"
|
||||
|
||||
msgid "Task categories"
|
||||
msgstr "Categorias de tarefas"
|
||||
msgstr "Categorias de atividade"
|
||||
|
||||
msgid "Create task"
|
||||
msgstr "Criar tarefa"
|
||||
msgstr "Criar atividade"
|
||||
|
||||
msgid "A due date is required"
|
||||
msgstr "É necessário uma data de validade"
|
||||
|
|
@ -689,10 +688,10 @@ msgid "Category"
|
|||
msgstr "Categoria"
|
||||
|
||||
msgid "Edit task"
|
||||
msgstr "Editar tarefa"
|
||||
msgstr "Editar atividade"
|
||||
|
||||
msgid "Are you sure to delete task \"%s\"?"
|
||||
msgstr "Tem certeza que deseja remover a tarefa \"%s\"?"
|
||||
msgstr "Tem certeza que deseja remover a atividade \"%s\"?"
|
||||
|
||||
msgid "%s task is due to be done"
|
||||
msgid_plural "%s tasks are due to be done"
|
||||
|
|
@ -707,10 +706,10 @@ msgstr[1] "%s atrasadas"
|
|||
msgstr[2] "%s atrasadas"
|
||||
|
||||
msgid "Edit task category"
|
||||
msgstr "Editar categoria de tarefas"
|
||||
msgstr "Editar categoria de atividade"
|
||||
|
||||
msgid "Create task category"
|
||||
msgstr "Criar categoria de tarefas"
|
||||
msgstr "Criar categoria de atividade"
|
||||
|
||||
msgid "Product groups"
|
||||
msgstr "Grupos"
|
||||
|
|
@ -848,10 +847,10 @@ msgid "Undo charge cycle"
|
|||
msgstr "Desfazer ciclo de carga"
|
||||
|
||||
msgid "Undo chore execution"
|
||||
msgstr "Desfazer execução de atividade doméstica"
|
||||
msgstr "Desfazer execução de tarefa doméstica"
|
||||
|
||||
msgid "Chore execution successfully undone"
|
||||
msgstr "Execução de atividade doméstica desfeita com sucesso"
|
||||
msgstr "Execução de tarefa doméstica desfeita com sucesso"
|
||||
|
||||
msgid "Undo"
|
||||
msgstr "Desfazer"
|
||||
|
|
@ -907,10 +906,10 @@ msgid "Product due"
|
|||
msgstr "Vence"
|
||||
|
||||
msgid "Task due"
|
||||
msgstr "Tarefa"
|
||||
msgstr "Atividade"
|
||||
|
||||
msgid "Chore due"
|
||||
msgstr "Ativ."
|
||||
msgstr "Tarefa"
|
||||
|
||||
msgid "Battery charge cycle due"
|
||||
msgstr "Carregar"
|
||||
|
|
@ -1057,13 +1056,13 @@ msgid "Delete shopping list"
|
|||
msgstr "Excluir lista de compras"
|
||||
|
||||
msgid "Chores settings"
|
||||
msgstr "Configurações de atividade domésticas"
|
||||
msgstr "Configurações de tarefas domésticas"
|
||||
|
||||
msgid "Batteries settings"
|
||||
msgstr "Configurações de baterias"
|
||||
|
||||
msgid "Tasks settings"
|
||||
msgstr "Configurações de tarefas"
|
||||
msgstr "Configurações de atividades"
|
||||
|
||||
msgid "Create shopping list"
|
||||
msgstr "Criar lista de compras"
|
||||
|
|
@ -1225,7 +1224,7 @@ msgid "Products"
|
|||
msgstr "Produtos"
|
||||
|
||||
msgid "Marked task %s as completed on %s"
|
||||
msgstr "Tarefas marcadas %s como completadas em %s"
|
||||
msgstr "Atividades marcadas %s como concluídas em %s"
|
||||
|
||||
msgid "Booking has subsequent dependent bookings, undo not possible"
|
||||
msgstr ""
|
||||
|
|
@ -1241,7 +1240,7 @@ msgid "Today"
|
|||
msgstr "Hoje"
|
||||
|
||||
msgid "Undo task"
|
||||
msgstr "Desfazer tarefa"
|
||||
msgstr "Desfazer atividade"
|
||||
|
||||
msgid "Due date rollover"
|
||||
msgstr "Renovação automática do prazo limite"
|
||||
|
|
@ -1250,8 +1249,8 @@ msgid ""
|
|||
"When enabled the chore can never be overdue, the due date will shift forward"
|
||||
" each day when due"
|
||||
msgstr ""
|
||||
"Quando habilitado, a atividade doméstica nunca poderá ficar atrasada, a data"
|
||||
" limite será adiada a cada dia quando alcançada."
|
||||
"Quando habilitado, a tarefa doméstica nunca poderá ficar atrasada, a data "
|
||||
"limite será adiada a cada dia quando alcançada."
|
||||
|
||||
msgid "Location Content Sheet"
|
||||
msgstr "Planilha de localização"
|
||||
|
|
@ -1349,7 +1348,7 @@ msgstr[1] ""
|
|||
"Isso significa que a próxima execução dessa tarefa é agendada no mesmo "
|
||||
"horário (com base na data de início) a cada %s dias"
|
||||
msgstr[2] ""
|
||||
"Significa que a próxima execução dessa atividade será programada no mesmo "
|
||||
"Significa que a próxima execução dessa tarefa será programada no mesmo "
|
||||
"horário (com base na data de início) a cada %s dias"
|
||||
|
||||
msgid ""
|
||||
|
|
@ -1365,8 +1364,8 @@ msgstr[1] ""
|
|||
"Isso significa que a próxima execução desta tarefa será agendada %s dias "
|
||||
"depois da última"
|
||||
msgstr[2] ""
|
||||
"Significa que a próxima execução dessa atividade será agendada %s dias "
|
||||
"depois da última"
|
||||
"Significa que a próxima execução dessa tarefa será agendada %s dias depois "
|
||||
"da última"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore is scheduled every week on the "
|
||||
|
|
@ -1381,8 +1380,8 @@ msgstr[1] ""
|
|||
"Isso significa que a próxima execução desta tarefa é agendada a cada %s "
|
||||
"semanas nos dias da semana selecionados"
|
||||
msgstr[2] ""
|
||||
"Significa que a próxima execução dessa atividade estará programada a cada %s"
|
||||
" semanas nos dias da semana selecionados"
|
||||
"Significa que a próxima execução dessa tarefa doméstica estará programada a "
|
||||
"cada %s semanas nos dias da semana selecionados"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore is scheduled on the selected day"
|
||||
|
|
@ -1397,35 +1396,36 @@ msgstr[1] ""
|
|||
"Isso significa que a próxima execução desta tarefa é agendada no dia "
|
||||
"selecionado a cada %s meses"
|
||||
msgstr[2] ""
|
||||
"Significa que a próxima execução desta atividade estará programada no dia "
|
||||
"selecionado a cada %s meses"
|
||||
"Significa que a próxima execução desta tarefa doméstica estará programada no"
|
||||
" dia selecionado a cada %s meses"
|
||||
|
||||
msgid "This means the next execution of this chore is not scheduled"
|
||||
msgstr "Significa que a próxima execução desta atividade não está agendada"
|
||||
msgstr ""
|
||||
"Significa que a próxima execução desta tarefa doméstica não está agendada"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore will not be assigned to anyone"
|
||||
msgstr ""
|
||||
"Isso significa que a próxima execução desta atividade não será atribuída "
|
||||
"para ninguém"
|
||||
"Isso significa que a próxima execução desta tarefa doméstica não será "
|
||||
"atribuída para ninguém"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore will be assigned to the one who "
|
||||
"executed it least"
|
||||
msgstr ""
|
||||
"Significa que a próxima execução desta atividade será atribuída para aquele "
|
||||
"que a executou por último"
|
||||
"Significa que a próxima execução desta tarefa doméstica será atribuída para "
|
||||
"aquele que a executou por último"
|
||||
|
||||
msgid "This means the next execution of this chore will be assigned randomly"
|
||||
msgstr ""
|
||||
"Significa que a próxima execução desta atividade doméstica será atribuída "
|
||||
"Significa que a próxima execução desta tarefa doméstica será atribuída "
|
||||
"aleatoriamente"
|
||||
|
||||
msgid ""
|
||||
"This means the next execution of this chore will be assigned to the next one"
|
||||
" in alphabetical order"
|
||||
msgstr ""
|
||||
"Isso significa que a próxima execução desta atividade será atribuída para o "
|
||||
"Isso significa que a próxima execução desta tarefa será atribuída para o "
|
||||
"próximo, de acordo com a ordem alfabética"
|
||||
|
||||
msgid "Assign to"
|
||||
|
|
@ -1599,8 +1599,8 @@ msgstr[1] ""
|
|||
"Isso significa que a próxima execução desta tarefa é agendada a cada %s anos"
|
||||
" no mesmo dia (com base na data de início)"
|
||||
msgstr[2] ""
|
||||
"Significa que a próxima execução desta atividade estará programada a cada %s"
|
||||
" anos, no mesmo dia (com base na data de início)"
|
||||
"Significa que a próxima execução desta tarefa doméstica estará programada a "
|
||||
"cada %s anos, no mesmo dia (com base na data de início)"
|
||||
|
||||
msgid "Transfer"
|
||||
msgstr "Transferir"
|
||||
|
|
@ -1944,7 +1944,7 @@ msgid "New stock amount"
|
|||
msgstr "Nova quantidade"
|
||||
|
||||
msgid "Price per stock unit"
|
||||
msgstr "Preço por unidade de estoque"
|
||||
msgstr "Preço por unidade"
|
||||
|
||||
msgid "Table options"
|
||||
msgstr "Opções da tabela"
|
||||
|
|
@ -1959,16 +1959,16 @@ msgid "Transaction type"
|
|||
msgstr "Tipo de transação"
|
||||
|
||||
msgid "Transaction time"
|
||||
msgstr "Tempo de transação"
|
||||
msgstr "Data da transação"
|
||||
|
||||
msgid "Chore journal"
|
||||
msgstr "Diário"
|
||||
|
||||
msgid "Track next chore schedule"
|
||||
msgstr "Acompanhe o cronograma da próxima atividade"
|
||||
msgstr "Acompanhe o cronograma da próxima tarefa doméstica"
|
||||
|
||||
msgid "Mark task as completed"
|
||||
msgstr "Marcar a tarefa como concluída"
|
||||
msgstr "Marcar a atividade como concluída"
|
||||
|
||||
msgid "Track charge cycle"
|
||||
msgstr "Atualizar ciclo de recarga"
|
||||
|
|
@ -1999,8 +1999,8 @@ msgid ""
|
|||
"Show a warning when the due date of the purchased product is earlier than "
|
||||
"the next due date in stock"
|
||||
msgstr ""
|
||||
"Avisar quando a validade do produto comprado for inferior à validade mais "
|
||||
"próxima no estoque"
|
||||
"Avisar quando a validade do produto comprado for inferior ao já contido no "
|
||||
"estoque"
|
||||
|
||||
msgid "This is due earlier than already in-stock items"
|
||||
msgstr "Validade está mais curta do que itens no estoque"
|
||||
|
|
@ -2072,7 +2072,7 @@ msgstr ""
|
|||
"sugestão de data de validade"
|
||||
|
||||
msgid "-1 means that this product will be never overdue"
|
||||
msgstr "-1 significa que este produto não tem vencimento"
|
||||
msgstr "-1 significa que este produto possui validade indeterminada"
|
||||
|
||||
msgid "Default due days"
|
||||
msgstr "Dias de validade (padrão)"
|
||||
|
|
@ -2084,7 +2084,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Quando o produto for marcado como aberto, a validade será substituída por "
|
||||
"hoje + esta quantidade de dias, mas apenas se a data resultante não for "
|
||||
"posterior à validade original (o valor de 0 desativa isto)"
|
||||
"posterior à validade original (o valor 0 desativa isto)"
|
||||
|
||||
msgid "Default due days after opened"
|
||||
msgstr "Dias de validade depois de aberto (padrão)"
|
||||
|
|
@ -2509,23 +2509,23 @@ msgid "This is the default which will be prefilled on purchase"
|
|||
msgstr "Este é o padrão que será pré-preenchido na compra"
|
||||
|
||||
msgid "Merge chores"
|
||||
msgstr "Mesclar atividades"
|
||||
msgstr "Mesclar tarefas domésticas"
|
||||
|
||||
msgid "Chore to keep"
|
||||
msgstr "Atividade para manter"
|
||||
msgstr "Tarefa doméstica para manter"
|
||||
|
||||
msgid "After merging, this chore will be kept"
|
||||
msgstr "Após a fusão, esta atividade será mantida"
|
||||
msgstr "Após a fusão, esta tarefa doméstica será mantida"
|
||||
|
||||
msgid "Chore to remove"
|
||||
msgstr "Atividade a remover"
|
||||
msgstr "Tarefa doméstica a remover"
|
||||
|
||||
msgid ""
|
||||
"After merging, all occurences of this chore will be replaced by the kept "
|
||||
"chore (means this chore will not exist anymore)"
|
||||
msgstr ""
|
||||
"Após a fusão, todas as ocorrências desta tarefa serão substituídas pela "
|
||||
"tarefa mantida (significa que esta tarefa não existirá mais)"
|
||||
"Após a fusão, todas as ocorrências desta tarefa doméstica serão substituídas"
|
||||
" pela tarefa mantida (significa que esta tarefa não existirá mais)"
|
||||
|
||||
msgid "Due today"
|
||||
msgstr "Vence hoje"
|
||||
|
|
@ -2555,7 +2555,7 @@ msgid "Save & close"
|
|||
msgstr "Salvar e fechar"
|
||||
|
||||
msgid "Save & add another task"
|
||||
msgstr "Salvar e adicionar outra tarefa"
|
||||
msgstr "Salvar e adicionar outra atividade"
|
||||
|
||||
msgid "Treat opened as out of stock"
|
||||
msgstr "Se 'aberto', remover do estoque"
|
||||
|
|
@ -2571,7 +2571,7 @@ msgid "Skipped"
|
|||
msgstr "Ignorado"
|
||||
|
||||
msgid "Skip next chore schedule"
|
||||
msgstr "Ignorar a programação da próxima atividade"
|
||||
msgstr "Ignorar a programação da próxima tarefa doméstica"
|
||||
|
||||
msgid "Time"
|
||||
msgstr "Hora"
|
||||
|
|
@ -2584,7 +2584,8 @@ msgstr "Data de inicio"
|
|||
|
||||
msgid "The start date cannot be changed when the chore was once tracked"
|
||||
msgstr ""
|
||||
"A data de início não pode ser alterada quando a atividade já foi iniciada"
|
||||
"A data de início não pode ser alterada quando a tarefa doméstica já foi "
|
||||
"iniciada"
|
||||
|
||||
msgid "Show the recipe list and the recipe side by side"
|
||||
msgstr "Mostrar a lista de receitas e a receita lado a lado"
|
||||
|
|
@ -2593,7 +2594,7 @@ msgid ""
|
|||
"This means the next execution of this chore is scheduled dynamically based "
|
||||
"on the past average execution frequency"
|
||||
msgstr ""
|
||||
"Significa que a próxima execução dessa atividade será programada "
|
||||
"Significa que a próxima execução dessa tarefa doméstica será programada "
|
||||
"dinamicamente com base na frequência média de execução anterior"
|
||||
|
||||
msgid "Average execution frequency"
|
||||
|
|
@ -2732,9 +2733,7 @@ msgid "QU conversions resolved"
|
|||
msgstr "QU conversões resolvidas"
|
||||
|
||||
msgid "Product specifc QU conversions"
|
||||
msgstr ""
|
||||
"Product specifc QU conversions\n"
|
||||
"Conversões de unidade de quant específicas de um produto"
|
||||
msgstr "Conversões de unidade específicas"
|
||||
|
||||
msgid "Default quantity unit consume"
|
||||
msgstr "Unidade padrão de consumo"
|
||||
|
|
@ -2767,7 +2766,7 @@ msgid "Quick open amount"
|
|||
msgstr "Valor de abertura rápida"
|
||||
|
||||
msgid "Track chore execution now"
|
||||
msgstr "Acompanhe a execução da atividade agora"
|
||||
msgstr "Acompanhe a execução da tarefa doméstica agora"
|
||||
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
|
@ -2826,3 +2825,12 @@ msgid_plural "This means %1$s labels will be printed"
|
|||
msgstr[0] "Significa que 1 etiqueta será impressa"
|
||||
msgstr[1] "Significa que %1$s etiquetas serão impressas"
|
||||
msgstr[2] "Significa que %1$s etiquetas serão impressas"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
# Bernd Bestel <bernd@berrnd.de>, 2019
|
||||
# Arthur Rodrigues <transifex@araruna.me>, 2022
|
||||
# Fernando Luiz Bonifácio de Oliveira, 2022
|
||||
# Aurelio Barreto <aurelio@aureliobarreto.com>, 2023
|
||||
#
|
||||
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:43+0000\n"
|
||||
"Last-Translator: Fernando Luiz Bonifácio de Oliveira, 2022\n"
|
||||
"Last-Translator: Aurelio Barreto <aurelio@aureliobarreto.com>, 2023\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/grocy/teams/93189/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -37,7 +38,7 @@ msgstr "Número (decimal)"
|
|||
|
||||
# Number (currency)
|
||||
msgid "number-currency"
|
||||
msgstr ""
|
||||
msgstr "number-currency"
|
||||
|
||||
# Date (without time)
|
||||
msgid "date"
|
||||
|
|
|
|||
|
|
@ -2687,3 +2687,12 @@ msgid_plural "This means %1$s labels will be printed"
|
|||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2700,3 +2700,12 @@ msgid_plural "This means %1$s labels will be printed"
|
|||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2794,3 +2794,12 @@ msgstr[0] ""
|
|||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# Juraj Smieško <juraj.smiesko@gmail.com>, 2020
|
||||
# Miroslav Ďurian, 2022
|
||||
# Bernd Bestel <bernd@berrnd.de>, 2022
|
||||
# Jose Riha <jose1711@gmail.com>, 2022
|
||||
# Jose Riha <jose1711@gmail.com>, 2023
|
||||
#
|
||||
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: Jose Riha <jose1711@gmail.com>, 2022\n"
|
||||
"Last-Translator: Jose Riha <jose1711@gmail.com>, 2023\n"
|
||||
"Language-Team: Slovak (Slovakia) (https://app.transifex.com/grocy/teams/93189/sk_SK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -129,7 +129,7 @@ msgid "Last charged"
|
|||
msgstr "Naposledy nabité"
|
||||
|
||||
msgid "Next planned charge cycle"
|
||||
msgstr "Ďalšia plánované nabíjanie"
|
||||
msgstr "Ďalšie plánované nabíjanie"
|
||||
|
||||
msgid "Best before"
|
||||
msgstr "Spotrebovať do"
|
||||
|
|
@ -367,7 +367,7 @@ msgid "Removed %1$s of %2$s from stock"
|
|||
msgstr "Odobrané %1$s %2$s zo zásoby"
|
||||
|
||||
msgid "About Grocy"
|
||||
msgstr ""
|
||||
msgstr "O Grocy"
|
||||
|
||||
msgid "Close"
|
||||
msgstr "Zatvoriť"
|
||||
|
|
@ -2115,7 +2115,7 @@ msgid "Multiple Userfields will be ordered by that number on the input form"
|
|||
msgstr ""
|
||||
|
||||
msgid "Sort number"
|
||||
msgstr ""
|
||||
msgstr "Číslo triedenia"
|
||||
|
||||
msgid "Download file"
|
||||
msgstr ""
|
||||
|
|
@ -2133,7 +2133,7 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
msgid "Show disabled"
|
||||
msgstr ""
|
||||
msgstr "Zobraziť vyradené"
|
||||
|
||||
msgid "Never show on stock overview"
|
||||
msgstr ""
|
||||
|
|
@ -2243,22 +2243,22 @@ msgid "DD"
|
|||
msgstr ""
|
||||
|
||||
msgid "Print on label printer"
|
||||
msgstr ""
|
||||
msgstr "Vytlačiť na tlačiarni štítkov"
|
||||
|
||||
msgid "Default stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Predvolený štítok produktu na sklade"
|
||||
|
||||
msgid "Stock entry label"
|
||||
msgstr ""
|
||||
msgstr "Štítok produktu na sklade"
|
||||
|
||||
msgid "No label"
|
||||
msgstr ""
|
||||
msgstr "Bez štítku"
|
||||
|
||||
msgid "Single label"
|
||||
msgstr ""
|
||||
msgstr "Jeden štítok"
|
||||
|
||||
msgid "Label per unit"
|
||||
msgstr ""
|
||||
msgstr "Štítok na každej jednotke"
|
||||
|
||||
msgid "Error while executing WebHook"
|
||||
msgstr ""
|
||||
|
|
@ -2299,10 +2299,10 @@ msgid "Mark this item as undone"
|
|||
msgstr ""
|
||||
|
||||
msgid "Mandatory"
|
||||
msgstr ""
|
||||
msgstr "Povinné"
|
||||
|
||||
msgid "Mandatory Userfield"
|
||||
msgstr ""
|
||||
msgstr "Povinné používateľské pole"
|
||||
|
||||
msgid "When enabled, then this field must be filled on the destination form"
|
||||
msgstr ""
|
||||
|
|
@ -2426,17 +2426,17 @@ msgstr ""
|
|||
|
||||
msgid "%s task is due to be done today"
|
||||
msgid_plural "%s tasks are due to be done today"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[0] "%s úloha má byť splnená dnes"
|
||||
msgstr[1] "%s úlohy majú byť splnené dnes"
|
||||
msgstr[2] "%s úloh má byť splnených dnes"
|
||||
msgstr[3] "%s úloh má byť splnených dnes"
|
||||
|
||||
msgid "%s chore is due to be done today"
|
||||
msgid_plural "%s chores are due to be done today"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[0] "%s povinnosť má byť splnená dnes"
|
||||
msgstr[1] "%s povinnosti majú byť splnené dnes"
|
||||
msgstr[2] "%s povinností má byť splnených dnes"
|
||||
msgstr[3] "%s povinností má byť splnených dnes"
|
||||
|
||||
msgid "%s battery is due to be charged today"
|
||||
msgid_plural "%s batteries are due to be charged today"
|
||||
|
|
@ -2449,10 +2449,10 @@ msgid "Set to 0 to hide due soon filters/highlighting"
|
|||
msgstr ""
|
||||
|
||||
msgid "Save & close"
|
||||
msgstr ""
|
||||
msgstr "Uložiť a zavrieť"
|
||||
|
||||
msgid "Save & add another task"
|
||||
msgstr ""
|
||||
msgstr "Uložiť a pridať ďalšiu úlohu"
|
||||
|
||||
msgid "Treat opened as out of stock"
|
||||
msgstr ""
|
||||
|
|
@ -2489,7 +2489,7 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
msgid "Average execution frequency"
|
||||
msgstr ""
|
||||
msgstr "Priemerná frekvencia vykonávania tejto povinnosti"
|
||||
|
||||
msgid "Reschedule next execution"
|
||||
msgstr ""
|
||||
|
|
@ -2535,21 +2535,23 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
msgid "Night mode"
|
||||
msgstr ""
|
||||
msgstr "Nočný režim"
|
||||
|
||||
msgid "On"
|
||||
msgstr ""
|
||||
msgstr "Zapnutý"
|
||||
|
||||
msgid "Use system setting"
|
||||
msgstr ""
|
||||
msgstr "Použiť systémové nastavenie"
|
||||
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
msgstr "Vypnutý"
|
||||
|
||||
msgid ""
|
||||
"Automatically add products that are below their defined min. stock amount to"
|
||||
" the shopping list"
|
||||
msgstr ""
|
||||
"Automaticky pridávať výrobky, ktorých zásoba je pod minimálnym skladovým "
|
||||
"množstvom do nákupného zoznamu"
|
||||
|
||||
msgid "Reassigned"
|
||||
msgstr ""
|
||||
|
|
@ -2693,3 +2695,12 @@ msgstr[0] ""
|
|||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2671,3 +2671,12 @@ msgstr[0] ""
|
|||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2423,3 +2423,15 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure colors"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2666,3 +2666,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2586,3 +2586,12 @@ msgid "This means 1 label will be printed"
|
|||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
# Translators:
|
||||
# Bernd Bestel <bernd@berrnd.de>, 2019
|
||||
# Yigit Sever <yigit@ceng.metu.edu.tr>, 2021
|
||||
# Burak ER, 2023
|
||||
#
|
||||
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: Yigit Sever <yigit@ceng.metu.edu.tr>, 2021\n"
|
||||
"Last-Translator: Burak ER, 2023\n"
|
||||
"Language-Team: Turkish (https://app.transifex.com/grocy/teams/93189/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -34,7 +35,7 @@ msgid "yearly"
|
|||
msgstr "her yıl"
|
||||
|
||||
msgid "hourly"
|
||||
msgstr ""
|
||||
msgstr "Saatlik"
|
||||
|
||||
msgid "adaptive"
|
||||
msgstr ""
|
||||
msgstr "uyarlanabilir"
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
# Tuğberk Kaan Duman <kaan@dumanmail.com>, 2019
|
||||
# Yigit Sever <yigit@ceng.metu.edu.tr>, 2021
|
||||
# Sedat Mehmed, 2022
|
||||
# Burak ER, 2023
|
||||
#
|
||||
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: Sedat Mehmed, 2022\n"
|
||||
"Last-Translator: Burak ER, 2023\n"
|
||||
"Language-Team: Turkish (https://app.transifex.com/grocy/teams/93189/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -110,7 +111,7 @@ msgid "Change towels in the bathroom"
|
|||
msgstr "Banyo havluları değiştirin"
|
||||
|
||||
msgid "Mop the kitchen floor"
|
||||
msgstr ""
|
||||
msgstr "Mutfağın zeminini paspasla"
|
||||
|
||||
msgid "Warranty ends"
|
||||
msgstr "Garantisi bitiyor"
|
||||
|
|
@ -125,7 +126,7 @@ msgid "Heat remote control"
|
|||
msgstr "Uzaktan ısı kontrolü"
|
||||
|
||||
msgid "Take out the trash"
|
||||
msgstr ""
|
||||
msgstr "Çöpü dışarı çıkar"
|
||||
|
||||
msgid "Some good snacks"
|
||||
msgstr "Bazı iyi atıştırmalıklar"
|
||||
|
|
@ -250,13 +251,13 @@ msgid "Russian"
|
|||
msgstr "Rusça"
|
||||
|
||||
msgid "Vacuum the living room floor"
|
||||
msgstr ""
|
||||
msgstr "Oturma odasının zeminini süpür"
|
||||
|
||||
msgid "Clean the litter box"
|
||||
msgstr ""
|
||||
msgstr "Çöp kutusunu temizle"
|
||||
|
||||
msgid "Change the bed sheets"
|
||||
msgstr ""
|
||||
msgstr "Çarşafları değiştir"
|
||||
|
||||
msgid "Swedish"
|
||||
msgstr "İsveççe"
|
||||
|
|
@ -368,48 +369,48 @@ msgid "Finnish"
|
|||
msgstr "Fince"
|
||||
|
||||
msgid "Breakfast"
|
||||
msgstr ""
|
||||
msgstr "Kahvaltı"
|
||||
|
||||
msgid "Lunch"
|
||||
msgstr ""
|
||||
msgstr "Öğle yemeği"
|
||||
|
||||
msgid "Dinner"
|
||||
msgstr ""
|
||||
msgstr "Akşam yemeği"
|
||||
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
msgstr "Katalanca"
|
||||
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
msgstr "Slovence"
|
||||
|
||||
msgid "Lithuanian"
|
||||
msgstr ""
|
||||
msgstr "Litvanya dili"
|
||||
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
msgstr "Ukraynaca"
|
||||
|
||||
msgid "Kilogram"
|
||||
msgid_plural "Kilograms"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Kilogram"
|
||||
msgstr[1] "Kilogram"
|
||||
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
msgstr "Romence"
|
||||
|
||||
msgid "Pint"
|
||||
msgstr ""
|
||||
msgstr "Pint"
|
||||
|
||||
msgid "Beverages"
|
||||
msgstr ""
|
||||
msgstr "İçecekler"
|
||||
|
||||
msgid "Ice Cream"
|
||||
msgstr ""
|
||||
msgstr "Dondurma"
|
||||
|
||||
msgid "Soda"
|
||||
msgstr ""
|
||||
msgstr "Soda"
|
||||
|
||||
msgid "Beer"
|
||||
msgstr ""
|
||||
msgstr "Bira"
|
||||
|
||||
msgid "Estonian"
|
||||
msgstr ""
|
||||
msgstr "Estonya dili"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#
|
||||
# Translators:
|
||||
# Yigit Sever <yigit@ceng.metu.edu.tr>, 2021
|
||||
# Burak ER, 2023
|
||||
#
|
||||
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: 2020-08-31 19:11+0000\n"
|
||||
"Last-Translator: Yigit Sever <yigit@ceng.metu.edu.tr>, 2021\n"
|
||||
"Last-Translator: Burak ER, 2023\n"
|
||||
"Language-Team: Turkish (https://app.transifex.com/grocy/teams/93189/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -95,7 +96,7 @@ msgstr "Slovak Dili"
|
|||
|
||||
# Slovenian
|
||||
msgid "sl"
|
||||
msgstr ""
|
||||
msgstr "sl"
|
||||
|
||||
# Swedish
|
||||
msgid "sv_SE"
|
||||
|
|
@ -127,20 +128,22 @@ msgstr "Fince"
|
|||
|
||||
# Catalan
|
||||
msgid "ca"
|
||||
msgstr ""
|
||||
msgstr "ka"
|
||||
|
||||
# Lithuanian
|
||||
msgid "lt"
|
||||
msgstr ""
|
||||
msgstr "lt"
|
||||
|
||||
# Ukrainian
|
||||
msgid "uk"
|
||||
msgstr ""
|
||||
msgstr "bk"
|
||||
|
||||
# Romanian
|
||||
msgid "ro_RO"
|
||||
msgstr ""
|
||||
"ro_RO\n"
|
||||
" "
|
||||
|
||||
# Estonian
|
||||
msgid "et_EE"
|
||||
msgstr ""
|
||||
msgstr "et_EE"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#
|
||||
# Translators:
|
||||
# Yigit Sever <yigit@ceng.metu.edu.tr>, 2021
|
||||
# Burak ER, 2023
|
||||
#
|
||||
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: Yigit Sever <yigit@ceng.metu.edu.tr>, 2021\n"
|
||||
"Last-Translator: Burak ER, 2023\n"
|
||||
"Language-Team: Turkish (https://app.transifex.com/grocy/teams/93189/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -42,4 +43,4 @@ msgid "stock-edit-new"
|
|||
msgstr "stok-duzenle-yeni"
|
||||
|
||||
msgid "self-production"
|
||||
msgstr ""
|
||||
msgstr "kendi üretimi"
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,6 +1,7 @@
|
|||
#
|
||||
# Translators:
|
||||
# Yigit Sever <yigit@ceng.metu.edu.tr>, 2021
|
||||
# Burak ER, 2023
|
||||
#
|
||||
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: Yigit Sever <yigit@ceng.metu.edu.tr>, 2021\n"
|
||||
"Last-Translator: Burak ER, 2023\n"
|
||||
"Language-Team: Turkish (https://app.transifex.com/grocy/teams/93189/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -35,7 +36,7 @@ msgstr "ondalik-sayi"
|
|||
|
||||
# Number (currency)
|
||||
msgid "number-currency"
|
||||
msgstr ""
|
||||
msgstr "sayı-para birimi"
|
||||
|
||||
# Date (without time)
|
||||
msgid "date"
|
||||
|
|
|
|||
|
|
@ -2759,3 +2759,12 @@ msgstr[0] ""
|
|||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
#
|
||||
# Translators:
|
||||
# milkfish <i@mxd.moe>, 2020
|
||||
# ba X <985096998@qq.com>, 2020
|
||||
# Bernd Bestel <bernd@berrnd.de>, 2020
|
||||
# Bernd Bestel <bernd@berrnd.de>, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -10,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: Bernd Bestel <bernd@berrnd.de>, 2020\n"
|
||||
"Last-Translator: Bernd Bestel <bernd@berrnd.de>, 2023\n"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/grocy/teams/93189/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -20,7 +19,7 @@ msgstr ""
|
|||
"X-Domain: grocy/component_translations\n"
|
||||
|
||||
msgid "moment_locale"
|
||||
msgstr "zh-CN"
|
||||
msgstr "zh-cn"
|
||||
|
||||
msgid "datatables_localization"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# Translators:
|
||||
# Weicheng Ao, 2022
|
||||
# 冠南 胡, 2023
|
||||
# 石磊, 2023
|
||||
# aleixcox, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -10,7 +10,7 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-01T17:59:17+00:00\n"
|
||||
"PO-Revision-Date: 2020-08-31 19:11+0000\n"
|
||||
"Last-Translator: 石磊, 2023\n"
|
||||
"Last-Translator: aleixcox, 2023\n"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/grocy/teams/93189/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Translators:
|
||||
# ba X <985096998@qq.com>, 2020
|
||||
# 石磊, 2023
|
||||
# aleixcox, 2023
|
||||
#
|
||||
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: 2020-08-29 16:33+0000\n"
|
||||
"Last-Translator: 石磊, 2023\n"
|
||||
"Last-Translator: aleixcox, 2023\n"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/grocy/teams/93189/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ msgid "Minimum stock amount"
|
|||
msgstr "安全库存"
|
||||
|
||||
msgid "Default best before days"
|
||||
msgstr "默认保质天数"
|
||||
msgstr "默认保鲜天数"
|
||||
|
||||
msgid "Default quantity unit purchase"
|
||||
msgstr "默认采购数量单位"
|
||||
|
|
@ -347,10 +347,10 @@ msgid "This means %s will be added to stock"
|
|||
msgstr "新增%s库存"
|
||||
|
||||
msgid "This means %s will be removed from stock"
|
||||
msgstr "删除%s库存"
|
||||
msgstr "移除%s库存"
|
||||
|
||||
msgid "Removed %1$s of %2$s from stock"
|
||||
msgstr "%1$s%2$s已消耗"
|
||||
msgstr "%1$s%2$s已从库存中移除"
|
||||
|
||||
msgid "About Grocy"
|
||||
msgstr "关于Grocy"
|
||||
|
|
@ -362,7 +362,7 @@ msgid "Released on"
|
|||
msgstr "发布于"
|
||||
|
||||
msgid "Added %1$s of %2$s to stock"
|
||||
msgstr "%1$s%2$s已入库"
|
||||
msgstr "%1$s%2$s已添加至库存"
|
||||
|
||||
msgid "Stock amount of %1$s is now %2$s"
|
||||
msgstr "当前 %1$s 在库存中的数量是 %2$s"
|
||||
|
|
@ -502,7 +502,7 @@ msgid "Are you sure to delete user \"%s\"?"
|
|||
msgstr "确定要删除用户 “%s” 吗?"
|
||||
|
||||
msgid "Create user"
|
||||
msgstr "创建用户"
|
||||
msgstr "新建用户"
|
||||
|
||||
msgid "Edit user"
|
||||
msgstr "编辑用户"
|
||||
|
|
@ -602,7 +602,7 @@ msgid "Click to show technical details"
|
|||
msgstr "单击此处显示技术细节"
|
||||
|
||||
msgid "Error while saving, probably this item already exists"
|
||||
msgstr "保存失败,可能这一项已经存在"
|
||||
msgstr "保存时发生错误,可能此条目已经存在"
|
||||
|
||||
msgid "Error details"
|
||||
msgstr "错误详情"
|
||||
|
|
@ -667,7 +667,7 @@ msgid "Ungrouped"
|
|||
msgstr "未分组"
|
||||
|
||||
msgid "Create product group"
|
||||
msgstr "创建产品组"
|
||||
msgstr "新建产品组"
|
||||
|
||||
msgid "Edit product group"
|
||||
msgstr "编辑产品组"
|
||||
|
|
@ -751,7 +751,7 @@ msgid "Edit equipment"
|
|||
msgstr "编辑设备"
|
||||
|
||||
msgid "Create equipment"
|
||||
msgstr "创建设备"
|
||||
msgstr "新建设备"
|
||||
|
||||
msgid "The current file will be deleted on save"
|
||||
msgstr "当前文件将在保存时被删除"
|
||||
|
|
@ -921,7 +921,7 @@ 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 "此功能很实用。例如:罐装面粉在购买、消费、调整库存时可以整罐称重,系统会根据下方皮重自动计算出净重,并调整库存数量"
|
||||
msgstr "此功能很实用。例如:罐装面粉在购买、消耗、调整库存时可以整罐称重,系统会根据下方皮重自动计算出净重,并调整库存数量"
|
||||
|
||||
msgid "Tare weight"
|
||||
msgstr "皮重"
|
||||
|
|
@ -1572,7 +1572,7 @@ msgid ""
|
|||
msgstr "扫描模式已启用,但并非所有必填字段都可以自动填充"
|
||||
|
||||
msgid "Is freezer"
|
||||
msgstr "冰箱"
|
||||
msgstr "冷冻设备"
|
||||
|
||||
msgid "This cannot be the same as the \"From\" location"
|
||||
msgstr "不能和“原始位置”相同"
|
||||
|
|
@ -1842,7 +1842,7 @@ msgstr "这是采购此产品和将此产品加入购物清单时所使用的默
|
|||
msgid ""
|
||||
"Show a warning when the due date of the purchased product is earlier than "
|
||||
"the next due date in stock"
|
||||
msgstr "当采购产品的到期日早于库存产品的下次到期日时,显示警告"
|
||||
msgstr "当采购产品的到期日期早于库存产品的下次到期日期时显示警告"
|
||||
|
||||
msgid "This is due earlier than already in-stock items"
|
||||
msgstr "这是由于早于已有库存的物品"
|
||||
|
|
@ -1916,7 +1916,7 @@ msgstr "开封后默认到期天数"
|
|||
msgid ""
|
||||
"On moving this product to a freezer location (so when freezing it), the due "
|
||||
"date will be replaced by today + this amount of days"
|
||||
msgstr "本产品放入冰箱时(即冷冻时),到期日期替换为冷冻日期加上此天数"
|
||||
msgstr "本产品放入冷冻室时(即冷冻时),到期日期替换为冷冻日期加上此天数"
|
||||
|
||||
msgid "Default due days after freezing"
|
||||
msgstr "冷冻后默认到期天数"
|
||||
|
|
@ -1924,7 +1924,7 @@ msgstr "冷冻后默认到期天数"
|
|||
msgid ""
|
||||
"On moving this product from a freezer location (so when thawing it), the due"
|
||||
" date will be replaced by today + this amount of days"
|
||||
msgstr "本产品从冰箱取出时(即解冻时),到期日期替换为解冻日期加上此天数"
|
||||
msgstr "本产品从冷冻室取出时(即解冻时),到期日期替换为解冻日期加上此天数"
|
||||
|
||||
msgid "Default due days after thawing"
|
||||
msgstr "解冻后默认到期天数"
|
||||
|
|
@ -1987,7 +1987,7 @@ msgstr "如果产品设置了“默认到期日”,则使用最新价格和购
|
|||
msgid ""
|
||||
"When moving products from/to a freezer location, the products due date is "
|
||||
"automatically adjusted according to the product settings"
|
||||
msgstr "将产品移入/移出冰柜位置时,产品到期日会根据产品设置自动调整"
|
||||
msgstr "将产品移入/移出冷冻室位置时,产品到期日期会根据产品设置自动调整"
|
||||
|
||||
msgid "This is the internal field name, e. g. for the API"
|
||||
msgstr "内部字段名称,例如用于API"
|
||||
|
|
@ -2124,7 +2124,7 @@ msgstr "Grocycode是Grocy实例中此%s的唯一引用,可以像其他条码
|
|||
|
||||
# Abbreviation for "due date"
|
||||
msgid "DD"
|
||||
msgstr "期限"
|
||||
msgstr "到期日期"
|
||||
|
||||
msgid "Print on label printer"
|
||||
msgstr "打印"
|
||||
|
|
@ -2401,10 +2401,10 @@ msgid ""
|
|||
"The parent product %1$s is currently not in stock, %2$s is the current next "
|
||||
"sub product based on the default consume rule (Opened first, then first due "
|
||||
"first, then first in first out)"
|
||||
msgstr "父产品%1$s目前不在库存中,%2$s是基于默认消费规则的当前下一个子产品(先打开,然后先到期,然后先进先出) "
|
||||
msgstr "父产品%1$s当前没有库存,%2$s是基于默认消耗规则的当前下一个子产品(先开封,然后先到期,然后先进先出)"
|
||||
|
||||
msgid "Night mode"
|
||||
msgstr "黑暗模式"
|
||||
msgstr "夜间模式"
|
||||
|
||||
msgid "On"
|
||||
msgstr "打开"
|
||||
|
|
@ -2439,7 +2439,7 @@ msgid "Default consume location"
|
|||
msgstr "默认消耗位置"
|
||||
|
||||
msgid "Stock entries at this location will be consumed first"
|
||||
msgstr "优先消耗此位置的库存 "
|
||||
msgstr "优先消耗此位置的库存"
|
||||
|
||||
msgid "Move on open"
|
||||
msgstr "开封后转移"
|
||||
|
|
@ -2497,7 +2497,7 @@ msgid ""
|
|||
"When enabled, auto-changing the due date of a stock entry (by "
|
||||
"opening/freezing/thawing and having corresponding default due days set) will"
|
||||
" reprint its label"
|
||||
msgstr "开启后,自动转换库存产品的到期时间(通过拆封/冷冻/解冻并设置的对应默认保质期)并重新打印此产品标签"
|
||||
msgstr "开启后,自动更改库存条目的到期日期并重新打印此条目的标签(在开封/冷冻/解冻并存在相应的默认到期天数设置时)"
|
||||
|
||||
msgid "Quick open amount"
|
||||
msgstr "快速开封数量"
|
||||
|
|
@ -2556,3 +2556,12 @@ msgstr "显示此产品价格时,将此产品数量单位做为产品价格的
|
|||
msgid "This means 1 label will be printed"
|
||||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] "%1$s个标签将被打印"
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
# ba X <985096998@qq.com>, 2020
|
||||
# 冠南 胡, 2023
|
||||
# aleixcox, 2023
|
||||
# aleixcox, 2023
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
@ -37,7 +38,7 @@ msgstr "数量 - 小数"
|
|||
|
||||
# Number (currency)
|
||||
msgid "number-currency"
|
||||
msgstr ""
|
||||
msgstr "数量 - 货币"
|
||||
|
||||
# Date (without time)
|
||||
msgid "date"
|
||||
|
|
|
|||
|
|
@ -2554,3 +2554,12 @@ msgstr ""
|
|||
msgid "This means 1 label will be printed"
|
||||
msgid_plural "This means %1$s labels will be printed"
|
||||
msgstr[0] ""
|
||||
|
||||
msgid "External barcode lookup (via plugin)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while executing the barcode lookup plugin"
|
||||
msgstr ""
|
||||
|
||||
msgid "Nothing was found for the given barcode"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -58,3 +58,15 @@ $(window).one("resize", function()
|
|||
calendar.fullCalendar("changeView", "month");
|
||||
}
|
||||
});
|
||||
|
||||
$("#configure-colors-button").on("click", function(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
|
||||
$("#configure-colors-modal").modal("show");
|
||||
});
|
||||
|
||||
$("#configure-colors-modal").on("hidden.bs.modal", function(e)
|
||||
{
|
||||
window.location.href = U('/calendar');
|
||||
})
|
||||
|
|
|
|||
|
|
@ -249,6 +249,32 @@ $('#product_id_text_input').on('blur', function(e)
|
|||
Grocy.Components.ProductPicker.PopupOpen = false;
|
||||
window.location.href = U('/product/new?flow=InplaceNewProductWithBarcode&barcode=' + encodeURIComponent(input) + '&returnto=' + encodeURIComponent(Grocy.CurrentUrlRelative + "?flow=InplaceAddBarcodeToExistingProduct&barcode=" + input + "&" + embedded) + "&" + embedded);
|
||||
}
|
||||
},
|
||||
barcodepluginlookup: {
|
||||
label: '<strong>E</strong> ' + __t('External barcode lookup (via plugin)'),
|
||||
className: 'btn-dark add-new-product-plugin-dialog-button responsive-button ' + addProductWorkflowsAdditionalCssClasses,
|
||||
callback: function()
|
||||
{
|
||||
Grocy.Components.ProductPicker.PopupOpen = false;
|
||||
|
||||
Grocy.Api.Get("stock/barcodes/external-lookup/" + encodeURIComponent(input) + "?add=true",
|
||||
function(pluginResponse)
|
||||
{
|
||||
if (pluginResponse == null)
|
||||
{
|
||||
toastr.warning(__t("Nothing was found for the given barcode"));
|
||||
}
|
||||
else
|
||||
{
|
||||
window.location.href = U("/product/" + pluginResponse.id + "?flow=InplaceNewProductByPlugin&returnto=" + encodeURIComponent(Grocy.CurrentUrlRelative + "?flow=InplaceNewProductWithName&" + embedded) + "&" + embedded);
|
||||
}
|
||||
},
|
||||
function(xhr)
|
||||
{
|
||||
Grocy.FrontendHelpers.ShowGenericError("Error while executing the barcode lookup plugin", xhr.response);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -321,6 +347,10 @@ $('#product_id_text_input').on('blur', function(e)
|
|||
{
|
||||
$('.retry-camera-scanning-button').not(".d-none").click();
|
||||
}
|
||||
if (e.key === 'e' || e.key === 'E')
|
||||
{
|
||||
$('.add-new-product-plugin-dialog-button').not(".d-none").click();
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -143,7 +143,11 @@ Grocy.Components.UserfieldsForm.Load = function()
|
|||
}
|
||||
else if (input.hasAttr("multiple"))
|
||||
{
|
||||
input.val(value.split(","));
|
||||
if (value)
|
||||
{
|
||||
input.val(value.split(","));
|
||||
}
|
||||
|
||||
$(".selectpicker").selectpicker("render");
|
||||
}
|
||||
else if (input.attr('type') == "file")
|
||||
|
|
|
|||
|
|
@ -389,27 +389,36 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
|
|||
{
|
||||
var setDefault = 0;
|
||||
var stockAmountAtDefaultLocation = 0;
|
||||
var addedLocations = [];
|
||||
stockLocations.forEach(stockLocation =>
|
||||
{
|
||||
if (stockLocation.location_id == defaultLocationId)
|
||||
{
|
||||
$("#location_id").append($("<option>", {
|
||||
value: stockLocation.location_id,
|
||||
text: stockLocation.location_name + " (" + __t("Default location") + ")"
|
||||
}));
|
||||
$("#location_id").val(defaultLocationId);
|
||||
$("#location_id").trigger('change');
|
||||
setDefault = 1;
|
||||
if (!addedLocations.includes(stockLocation.location_id))
|
||||
{
|
||||
$("#location_id").append($("<option>", {
|
||||
value: stockLocation.location_id,
|
||||
text: stockLocation.location_name + " (" + __t("Default location") + ")"
|
||||
}));
|
||||
$("#location_id").val(defaultLocationId);
|
||||
$("#location_id").trigger('change');
|
||||
setDefault = 1;
|
||||
}
|
||||
stockAmountAtDefaultLocation += stockLocation.amount;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#location_id").append($("<option>", {
|
||||
value: stockLocation.location_id,
|
||||
text: stockLocation.location_name
|
||||
}));
|
||||
if (!addedLocations.includes(stockLocation.location_id))
|
||||
{
|
||||
$("#location_id").append($("<option>", {
|
||||
value: stockLocation.location_id,
|
||||
text: stockLocation.location_name
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
addedLocations.push(stockLocation.location_id);
|
||||
|
||||
if (setDefault == 0)
|
||||
{
|
||||
$("#location_id").val(defaultLocationId);
|
||||
|
|
|
|||
|
|
@ -20,6 +20,27 @@ $('#save-recipe-pos-button').on('click', function(e)
|
|||
|
||||
Grocy.FrontendHelpers.BeginUiBusy("recipe-pos-form");
|
||||
|
||||
if (GetUriParam("flow") === "InplaceAddBarcodeToExistingProduct")
|
||||
{
|
||||
var jsonDataBarcode = {};
|
||||
jsonDataBarcode.barcode = GetUriParam("barcode");
|
||||
jsonDataBarcode.product_id = jsonData.product_id;
|
||||
|
||||
Grocy.Api.Post('objects/product_barcodes', jsonDataBarcode,
|
||||
function(result)
|
||||
{
|
||||
$("#flow-info-InplaceAddBarcodeToExistingProduct").addClass("d-none");
|
||||
$('#barcode-lookup-disabled-hint').addClass('d-none');
|
||||
$('#barcode-lookup-hint').removeClass('d-none');
|
||||
},
|
||||
function(xhr)
|
||||
{
|
||||
Grocy.FrontendHelpers.EndUiBusy("inventory-form");
|
||||
Grocy.FrontendHelpers.ShowGenericError('Error while saving, probably this item already exists', xhr.response);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
if (Grocy.EditMode === 'create')
|
||||
{
|
||||
Grocy.Api.Post('objects/recipes_pos', jsonData,
|
||||
|
|
@ -94,11 +115,37 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
|
|||
|
||||
Grocy.FrontendHelpers.ValidateForm('recipe-pos-form');
|
||||
|
||||
if (Grocy.Components.ProductPicker.InProductAddWorkflow() === false)
|
||||
if (!Grocy.Components.ProductPicker.InAnyFlow())
|
||||
{
|
||||
Grocy.Components.ProductPicker.GetInputElement().focus();
|
||||
if (GetUriParam("product") !== undefined || Grocy.EditMode == "edit")
|
||||
{
|
||||
Grocy.Components.ProductPicker.GetPicker().trigger('change');
|
||||
|
||||
setTimeout(function()
|
||||
{
|
||||
$("#display_amount").focus();
|
||||
}, 250);
|
||||
}
|
||||
else
|
||||
{
|
||||
setTimeout(function()
|
||||
{
|
||||
Grocy.Components.ProductPicker.GetInputElement().focus();
|
||||
}, 250);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Grocy.Components.ProductPicker.GetPicker().trigger('change');
|
||||
|
||||
if (Grocy.Components.ProductPicker.InProductModifyWorkflow())
|
||||
{
|
||||
setTimeout(function()
|
||||
{
|
||||
Grocy.Components.ProductPicker.GetInputElement().focus();
|
||||
}, 250);
|
||||
}
|
||||
}
|
||||
Grocy.Components.ProductPicker.GetPicker().trigger('change');
|
||||
|
||||
if (Grocy.EditMode == "create")
|
||||
{
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ if (GetUriParam("amount") !== undefined)
|
|||
Grocy.FrontendHelpers.ValidateForm('shoppinglist-form');
|
||||
}
|
||||
|
||||
if (GetUriParam("embedded") !== undefined)
|
||||
if (!Grocy.Components.ProductPicker.InAnyFlow())
|
||||
{
|
||||
if (GetUriParam("product") !== undefined || Grocy.EditMode == "edit")
|
||||
{
|
||||
|
|
@ -282,7 +282,10 @@ if (GetUriParam("embedded") !== undefined)
|
|||
Grocy.Components.ProductPicker.GetPicker().trigger('change');
|
||||
}
|
||||
|
||||
$("#display_amount").focus();
|
||||
setTimeout(function()
|
||||
{
|
||||
$("#display_amount").focus();
|
||||
}, 250);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -292,6 +295,18 @@ if (GetUriParam("embedded") !== undefined)
|
|||
}, 250);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Grocy.Components.ProductPicker.GetPicker().trigger('change');
|
||||
|
||||
if (Grocy.Components.ProductPicker.InProductModifyWorkflow())
|
||||
{
|
||||
setTimeout(function()
|
||||
{
|
||||
Grocy.Components.ProductPicker.GetInputElement().focus();
|
||||
}, 250);
|
||||
}
|
||||
}
|
||||
|
||||
var eitherRequiredFields = $("#product_id,#product_id_text_input,#note");
|
||||
eitherRequiredFields.prop('required', "");
|
||||
|
|
|
|||
|
|
@ -116,7 +116,6 @@ $("#daterange-filter").daterangepicker({
|
|||
},
|
||||
"applyLabel": __t("Apply"),
|
||||
"cancelLabel": __t("Cancel"),
|
||||
"customRangeLabel": __t("Custom range"),
|
||||
"ranges": ranges
|
||||
}, function(start, end, label)
|
||||
{
|
||||
|
|
@ -124,6 +123,7 @@ $("#daterange-filter").daterangepicker({
|
|||
UpdateUriParam("end_date", end.format("YYYY-MM-DD"))
|
||||
window.location.reload();
|
||||
});
|
||||
$('[data-range-key="Custom Range"]').text(__t("Custom range")); // customRangeLabel option doesn't work, however
|
||||
|
||||
$("#daterange-filter").on("cancel.daterangepicker", function(ev, picker)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ class CalendarService extends BaseService
|
|||
|
||||
public function GetEvents()
|
||||
{
|
||||
$usersService = $this->getUsersService();
|
||||
|
||||
$stockEvents = [];
|
||||
if (GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING)
|
||||
{
|
||||
|
|
@ -29,7 +31,8 @@ class CalendarService extends BaseService
|
|||
'title' => $titlePrefix . FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name,
|
||||
'start' => $currentStockEntry->best_before_date,
|
||||
'date_format' => 'date',
|
||||
'link' => $this->UrlManager->ConstructUrl('/stockoverview')
|
||||
'link' => $this->UrlManager->ConstructUrl('/stockoverview'),
|
||||
'color' => $usersService->GetUserSettings(GROCY_USER_ID)['calendar_color_products']
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -46,7 +49,8 @@ class CalendarService extends BaseService
|
|||
'title' => $titlePrefix . $currentTaskEntry->name,
|
||||
'start' => $currentTaskEntry->due_date,
|
||||
'date_format' => 'date',
|
||||
'link' => $this->UrlManager->ConstructUrl('/tasks')
|
||||
'link' => $this->UrlManager->ConstructUrl('/tasks'),
|
||||
'color' => $usersService->GetUserSettings(GROCY_USER_ID)['calendar_color_tasks']
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -73,7 +77,8 @@ class CalendarService extends BaseService
|
|||
'start' => $currentChoreEntry->next_estimated_execution_time,
|
||||
'date_format' => 'datetime',
|
||||
'link' => $this->UrlManager->ConstructUrl('/choresoverview'),
|
||||
'allDay' => $chore->track_date_only == 1
|
||||
'allDay' => $chore->track_date_only == 1,
|
||||
'color' => $usersService->GetUserSettings(GROCY_USER_ID)['calendar_color_chores']
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -90,7 +95,8 @@ class CalendarService extends BaseService
|
|||
'title' => $titlePrefix . FindObjectInArrayByPropertyValue($batteries, 'id', $currentBatteryEntry->battery_id)->name,
|
||||
'start' => $currentBatteryEntry->next_estimated_charge_time,
|
||||
'date_format' => 'datetime',
|
||||
'link' => $this->UrlManager->ConstructUrl('/batteriesoverview')
|
||||
'link' => $this->UrlManager->ConstructUrl('/batteriesoverview'),
|
||||
'color' => $usersService->GetUserSettings(GROCY_USER_ID)['calendar_color_batteries']
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -98,7 +104,7 @@ class CalendarService extends BaseService
|
|||
$mealPlanRecipeEvents = [];
|
||||
$mealPlanNotesEvents = [];
|
||||
$mealPlanProductEvents = [];
|
||||
if (GROCY_FEATURE_FLAG_RECIPES)
|
||||
if (GROCY_FEATURE_FLAG_RECIPES_MEALPLAN)
|
||||
{
|
||||
$mealPlanSections = $this->getDatabase()->meal_plan_sections();
|
||||
|
||||
|
|
@ -127,7 +133,8 @@ class CalendarService extends BaseService
|
|||
'start' => $start,
|
||||
'date_format' => $dateFormat,
|
||||
'description' => $this->UrlManager->ConstructUrl('/mealplan' . '?week=' . $mealPlanDayRecipe->day),
|
||||
'link' => $this->UrlManager->ConstructUrl('/recipes' . '?recipe=' . $mealPlanDayRecipe->recipe_id . '#fullscreen')
|
||||
'link' => $this->UrlManager->ConstructUrl('/recipes' . '?recipe=' . $mealPlanDayRecipe->recipe_id . '#fullscreen'),
|
||||
'color' => $usersService->GetUserSettings(GROCY_USER_ID)['calendar_color_meal_plan']
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -155,7 +162,8 @@ class CalendarService extends BaseService
|
|||
'title' => $titlePrefix . $titlePrefix2 . $mealPlanDayNote->note,
|
||||
'start' => $start,
|
||||
'date_format' => $dateFormat,
|
||||
'link' => $this->UrlManager->ConstructUrl('/mealplan' . '?start=' . $start)
|
||||
'link' => $this->UrlManager->ConstructUrl('/mealplan' . '?start=' . $start),
|
||||
'color' => $usersService->GetUserSettings(GROCY_USER_ID)['calendar_color_meal_plan']
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -183,7 +191,8 @@ class CalendarService extends BaseService
|
|||
'title' => $titlePrefix . $titlePrefix2 . FindObjectInArrayByPropertyValue($products, 'id', $mealPlanDayProduct->product_id)->name,
|
||||
'start' => $start,
|
||||
'date_format' => $dateFormat,
|
||||
'link' => $this->UrlManager->ConstructUrl('/mealplan' . '?start=' . $start)
|
||||
'link' => $this->UrlManager->ConstructUrl('/mealplan' . '?start=' . $start),
|
||||
'color' => $usersService->GetUserSettings(GROCY_USER_ID)['calendar_color_meal_plan']
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class DatabaseService
|
|||
return false;
|
||||
}
|
||||
|
||||
public function ExecuteDbStatement(string $sql)
|
||||
public function ExecuteDbStatement(string $sql, array $params = null)
|
||||
{
|
||||
$pdo = $this->GetDbConnectionRaw();
|
||||
|
||||
|
|
@ -36,9 +36,21 @@ class DatabaseService
|
|||
}
|
||||
}
|
||||
|
||||
if ($pdo->exec($sql) === false)
|
||||
if ($params == null)
|
||||
{
|
||||
throw new \Exception($pdo->errorInfo());
|
||||
|
||||
if ($pdo->exec($sql) === false)
|
||||
{
|
||||
throw new \Exception($pdo->errorInfo());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$cmd = $pdo->prepare($sql);
|
||||
if ($cmd->execute($params) === false)
|
||||
{
|
||||
throw new \Exception($pdo->errorInfo());
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -145,10 +145,10 @@ class RecipesService extends BaseService
|
|||
|
||||
$newName = $this->getLocalizationService()->__t('Copy of %s', $this->getDataBase()->recipes($recipeId)->name);
|
||||
|
||||
$this->getDatabaseService()->ExecuteDbStatement('INSERT INTO recipes (name, description, picture_file_name, base_servings, desired_servings, not_check_shoppinglist, type, product_id) SELECT \'' . $newName . '\', description, picture_file_name, base_servings, desired_servings, not_check_shoppinglist, type, product_id FROM recipes WHERE id = ' . $recipeId);
|
||||
$this->getDatabaseService()->ExecuteDbStatement('INSERT INTO recipes (name, description, picture_file_name, base_servings, desired_servings, not_check_shoppinglist, type, product_id) SELECT :new_name, description, picture_file_name, base_servings, desired_servings, not_check_shoppinglist, type, product_id FROM recipes WHERE id = :recipe_id', ['recipe_id' => $recipeId, 'new_name' => $newName]);
|
||||
$lastInsertId = $this->getDatabase()->lastInsertId();
|
||||
$this->getDatabaseService()->ExecuteDbStatement('INSERT INTO recipes_pos (recipe_id, product_id, amount, note, qu_id, only_check_single_unit_in_stock, ingredient_group, not_check_stock_fulfillment, variable_amount, price_factor) SELECT ' . $lastInsertId . ', product_id, amount, note, qu_id, only_check_single_unit_in_stock, ingredient_group, not_check_stock_fulfillment, variable_amount, price_factor FROM recipes_pos WHERE recipe_id = ' . $recipeId);
|
||||
$this->getDatabaseService()->ExecuteDbStatement('INSERT INTO recipes_nestings (recipe_id, includes_recipe_id, servings) SELECT ' . $lastInsertId . ', includes_recipe_id, servings FROM recipes_nestings WHERE recipe_id = ' . $recipeId);
|
||||
$this->getDatabaseService()->ExecuteDbStatement('INSERT INTO recipes_pos (recipe_id, product_id, amount, note, qu_id, only_check_single_unit_in_stock, ingredient_group, not_check_stock_fulfillment, variable_amount, price_factor) SELECT :last_insert_id, product_id, amount, note, qu_id, only_check_single_unit_in_stock, ingredient_group, not_check_stock_fulfillment, variable_amount, price_factor FROM recipes_pos WHERE recipe_id = :recipe_id', ['recipe_id' => $recipeId, 'last_insert_id' => $lastInsertId]);
|
||||
$this->getDatabaseService()->ExecuteDbStatement('INSERT INTO recipes_nestings (recipe_id, includes_recipe_id, servings) SELECT :last_insert_id, includes_recipe_id, servings FROM recipes_nestings WHERE recipe_id = :recipe_id', ['recipe_id' => $recipeId, 'last_insert_id' => $lastInsertId]);
|
||||
|
||||
return $lastInsertId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -619,25 +619,19 @@ class StockService extends BaseService
|
|||
return $pluginOutput;
|
||||
}
|
||||
|
||||
private static $CurrentStockCache = null;
|
||||
public function GetCurrentStock(bool $useCache = false)
|
||||
public function GetCurrentStock($customWhere = '')
|
||||
{
|
||||
if (!$useCache || self::$CurrentStockCache == null)
|
||||
$sql = 'SELECT * FROM stock_current ' . $customWhere;
|
||||
$currentStockMapped = $this->getDatabaseService()->ExecuteDbQuery($sql)->fetchAll(\PDO::FETCH_GROUP | \PDO::FETCH_OBJ);
|
||||
$relevantProducts = $this->getDatabase()->products()->where('id IN (SELECT product_id FROM (' . $sql . ') x)');
|
||||
|
||||
foreach ($relevantProducts as $product)
|
||||
{
|
||||
$sql = 'SELECT * FROM stock_current';
|
||||
$currentStockMapped = $this->getDatabaseService()->ExecuteDbQuery($sql)->fetchAll(\PDO::FETCH_GROUP | \PDO::FETCH_OBJ);
|
||||
$relevantProducts = $this->getDatabase()->products()->where('id IN (SELECT product_id FROM (' . $sql . ') x)');
|
||||
|
||||
foreach ($relevantProducts as $product)
|
||||
{
|
||||
$currentStockMapped[$product->id][0]->product_id = $product->id;
|
||||
$currentStockMapped[$product->id][0]->product = $product;
|
||||
}
|
||||
|
||||
self::$CurrentStockCache = array_column($currentStockMapped, 0);
|
||||
$currentStockMapped[$product->id][0]->product_id = $product->id;
|
||||
$currentStockMapped[$product->id][0]->product = $product;
|
||||
}
|
||||
|
||||
return self::$CurrentStockCache;
|
||||
return array_column($currentStockMapped, 0);
|
||||
}
|
||||
|
||||
public function GetCurrentStockLocationContent($includeOutOfStockProductsAtTheDefaultLocation = false)
|
||||
|
|
@ -665,24 +659,19 @@ class StockService extends BaseService
|
|||
|
||||
public function GetDueProducts(int $days = 5, bool $excludeOverdue = false)
|
||||
{
|
||||
$currentStock = $this->GetCurrentStock(true);
|
||||
$currentStock = FindAllObjectsInArrayByPropertyValue($currentStock, 'best_before_date', date('Y-m-d 23:59:59', strtotime("+$days days")), '<');
|
||||
|
||||
if ($excludeOverdue)
|
||||
{
|
||||
$currentStock = FindAllObjectsInArrayByPropertyValue($currentStock, 'best_before_date', date('Y-m-d 23:59:59', strtotime('-1 days')), '>');
|
||||
return $this->GetCurrentStock("WHERE best_before_date <= date('now', '$days days') AND best_before_date >= date()");
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->GetCurrentStock("WHERE best_before_date <= date('now', '$days days')");
|
||||
}
|
||||
|
||||
return $currentStock;
|
||||
}
|
||||
|
||||
public function GetExpiredProducts()
|
||||
{
|
||||
$currentStock = $this->GetCurrentStock(true);
|
||||
$currentStock = FindAllObjectsInArrayByPropertyValue($currentStock, 'best_before_date', date('Y-m-d 23:59:59', strtotime('-1 days')), '<');
|
||||
$currentStock = FindAllObjectsInArrayByPropertyValue($currentStock, 'due_type', 2);
|
||||
|
||||
return $currentStock;
|
||||
return $this->GetCurrentStock('WHERE best_before_date < date() AND due_type = 2');
|
||||
}
|
||||
|
||||
public function GetMissingProducts()
|
||||
|
|
@ -705,7 +694,7 @@ class StockService extends BaseService
|
|||
throw new \Exception('Product does not exist or is inactive');
|
||||
}
|
||||
|
||||
$stockCurrentRow = FindObjectinArrayByPropertyValue($this->GetCurrentStock(), 'product_id', $productId);
|
||||
$stockCurrentRow = FindObjectInArrayByPropertyValue($this->GetCurrentStock(), 'product_id', $productId);
|
||||
if ($stockCurrentRow == null)
|
||||
{
|
||||
$stockCurrentRow = new \stdClass();
|
||||
|
|
@ -1713,14 +1702,12 @@ class StockService extends BaseService
|
|||
private function LoadBarcodeLookupPlugin()
|
||||
{
|
||||
$pluginName = defined('GROCY_STOCK_BARCODE_LOOKUP_PLUGIN') ? GROCY_STOCK_BARCODE_LOOKUP_PLUGIN : '';
|
||||
|
||||
if (empty($pluginName))
|
||||
{
|
||||
throw new \Exception('No barcode lookup plugin defined');
|
||||
}
|
||||
|
||||
$path = GROCY_DATAPATH . "/plugins/$pluginName.php";
|
||||
|
||||
if (file_exists($path))
|
||||
{
|
||||
require_once $path;
|
||||
|
|
|
|||
|
|
@ -15,13 +15,18 @@
|
|||
data-target="#related-links">
|
||||
<i class="fa-solid fa-ellipsis-v"></i>
|
||||
</button>
|
||||
<div class="related-links collapse d-md-flex order-2 width-xs-sm-100 m-1 mt-md-0 mb-md-0 float-right"
|
||||
<div class="related-links collapse d-md-flex order-2 width-xs-sm-100 d-print-none"
|
||||
id="related-links">
|
||||
<a id="ical-button"
|
||||
class="btn btn-outline-dark"
|
||||
class="btn btn-outline-dark m-1 mt-md-0 mb-md-0 float-right"
|
||||
href="#">
|
||||
{{ $__t('Share/Integrate calendar (iCal)') }}
|
||||
</a>
|
||||
<a id="configure-colors-button"
|
||||
class="btn btn-outline-secondary m-1 mt-md-0 mb-md-0 float-right"
|
||||
href="#">
|
||||
{{ $__t('Configure colors') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -38,4 +43,97 @@
|
|||
<div id="calendar"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade"
|
||||
id="configure-colors-modal"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title w-100">{{ $__t('Configure colors') }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if(GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING)
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">{{ $__t('Products') }}</span>
|
||||
</div>
|
||||
<input id="calendar_color_products"
|
||||
data-setting-key="calendar_color_products"
|
||||
class="form-control user-setting-control"
|
||||
type="color"
|
||||
value={{$userSettings['calendar_color_products']}}>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_TASKS)
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">{{ $__t('Tasks') }}</span>
|
||||
</div>
|
||||
<input id="calendar_color_tasks"
|
||||
data-setting-key="calendar_color_tasks"
|
||||
class="form-control user-setting-control"
|
||||
type="color"
|
||||
value={{$userSettings['calendar_color_tasks']}}>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_CHORES)
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">{{ $__t('Chores') }}</span>
|
||||
</div>
|
||||
<input id="calendar_color_chores"
|
||||
data-setting-key="calendar_color_chores"
|
||||
class="form-control user-setting-control"
|
||||
type="color"
|
||||
value={{$userSettings['calendar_color_chores']}}>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_BATTERIES)
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">{{ $__t('Batteries') }}</span>
|
||||
</div>
|
||||
<input id="calendar_color_batteries"
|
||||
data-setting-key="calendar_color_batteries"
|
||||
class="form-control user-setting-control"
|
||||
type="color"
|
||||
value={{$userSettings['calendar_color_batteries']}}>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_RECIPES_MEALPLAN)
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">{{ $__t('Meal plan') }}</span>
|
||||
</div>
|
||||
<input id="calendar_color_meal_plan"
|
||||
data-setting-key="calendar_color_meal_plan"
|
||||
class="form-control user-setting-control"
|
||||
type="color"
|
||||
value={{$userSettings['calendar_color_meal_plan']}}>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-success"
|
||||
data-dismiss="modal">{{ $__t('OK') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@
|
|||
title="{{ $__t('Stock overview') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/stockoverview') }}">
|
||||
<i class="fa-solid fa-box"></i>
|
||||
<i class="fa-solid fa-fw fa-box"></i>
|
||||
<span class="nav-link-text">{{ $__t('Stock overview') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
title="{{ $__t('Shopping list') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/shoppinglist') }}">
|
||||
<i class="fa-solid fa-shopping-cart"></i>
|
||||
<i class="fa-solid fa-fw fa-shopping-cart"></i>
|
||||
<span class="nav-link-text">{{ $__t('Shopping list') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -186,7 +186,7 @@
|
|||
title="{{ $__t('Recipes') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/recipes') }}">
|
||||
<i class="fa-solid fa-pizza-slice"></i>
|
||||
<i class="fa-solid fa-fw fa-pizza-slice"></i>
|
||||
<span class="nav-link-text">{{ $__t('Recipes') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -198,7 +198,7 @@
|
|||
<a id="meal-plan-nav-link"
|
||||
class="nav-link discrete-link"
|
||||
href="{{ $U('/mealplan') }}">
|
||||
<i class="fa-solid fa-paper-plane"></i>
|
||||
<i class="fa-solid fa-fw fa-paper-plane"></i>
|
||||
<span class="nav-link-text">{{ $__t('Meal plan') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -212,7 +212,7 @@
|
|||
title="{{ $__t('Chores overview') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/choresoverview') }}">
|
||||
<i class="fa-solid fa-home"></i>
|
||||
<i class="fa-solid fa-fw fa-home"></i>
|
||||
<span class="nav-link-text">{{ $__t('Chores overview') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -224,7 +224,7 @@
|
|||
title="{{ $__t('Tasks') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/tasks') }}">
|
||||
<i class="fa-solid fa-tasks"></i>
|
||||
<i class="fa-solid fa-fw fa-tasks"></i>
|
||||
<span class="nav-link-text">{{ $__t('Tasks') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -236,7 +236,7 @@
|
|||
title="{{ $__t('Batteries overview') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/batteriesoverview') }}">
|
||||
<i class="fa-solid fa-battery-half"></i>
|
||||
<i class="fa-solid fa-fw fa-battery-half"></i>
|
||||
<span class="nav-link-text">{{ $__t('Batteries overview') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -248,7 +248,7 @@
|
|||
title="{{ $__t('Equipment') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/equipment') }}">
|
||||
<i class="fa-solid fa-toolbox"></i>
|
||||
<i class="fa-solid fa-fw fa-toolbox"></i>
|
||||
<span class="nav-link-text">{{ $__t('Equipment') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -261,7 +261,7 @@
|
|||
title="{{ $__t('Calendar') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/calendar') }}">
|
||||
<i class="fa-solid fa-calendar-days"></i>
|
||||
<i class="fa-solid fa-fw fa-calendar-days"></i>
|
||||
<span class="nav-link-text">{{ $__t('Calendar') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -275,7 +275,7 @@
|
|||
title="{{ $__t('Purchase') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/purchase') }}">
|
||||
<i class="fa-solid fa-cart-plus"></i>
|
||||
<i class="fa-solid fa-fw fa-cart-plus"></i>
|
||||
<span class="nav-link-text">{{ $__t('Purchase') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -285,7 +285,7 @@
|
|||
title="{{ $__t('Consume') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/consume') }}">
|
||||
<i class="fa-solid fa-utensils"></i>
|
||||
<i class="fa-solid fa-fw fa-utensils"></i>
|
||||
<span class="nav-link-text">{{ $__t('Consume') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -296,7 +296,7 @@
|
|||
title="{{ $__t('Transfer') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/transfer') }}">
|
||||
<i class="fa-solid fa-exchange-alt"></i>
|
||||
<i class="fa-solid fa-fw fa-exchange-alt"></i>
|
||||
<span class="nav-link-text">{{ $__t('Transfer') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -307,7 +307,7 @@
|
|||
title="{{ $__t('Inventory') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/inventory') }}">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<i class="fa-solid fa-fw fa-list"></i>
|
||||
<span class="nav-link-text">{{ $__t('Inventory') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -319,7 +319,7 @@
|
|||
title="{{ $__t('Chore tracking') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/choretracking') }}">
|
||||
<i class="fa-solid fa-play"></i>
|
||||
<i class="fa-solid fa-fw fa-play"></i>
|
||||
<span class="nav-link-text">{{ $__t('Chore tracking') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -331,7 +331,7 @@
|
|||
title="{{ $__t('Battery tracking') }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/batterytracking') }}">
|
||||
<i class="fa-solid fa-car-battery"></i>
|
||||
<i class="fa-solid fa-fw fa-car-battery"></i>
|
||||
<span class="nav-link-text">{{ $__t('Battery tracking') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -349,7 +349,7 @@
|
|||
title="{{ $userentity->caption }}">
|
||||
<a class="nav-link discrete-link"
|
||||
href="{{ $U('/userobjects/' . $userentity->name) }}">
|
||||
<i class="{{ $userentity->icon_css_class }}"></i>
|
||||
<i class="fa-fw {{ $userentity->icon_css_class }}"></i>
|
||||
<span class="nav-link-text">{{ $userentity->caption }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -370,7 +370,7 @@
|
|||
<a class="nav-link nav-link-collapse discrete-link @if(!in_array($viewName, $masterDataViews)) collapsed @else active-page @endif"
|
||||
data-toggle="collapse"
|
||||
href="#sub-nav-manage-master-data">
|
||||
<i class="fa-solid fa-table"></i>
|
||||
<i class="fa-solid fa-fw fa-table"></i>
|
||||
<span class="nav-link-text">{{ $__t('Manage master data') }}</span>
|
||||
</a>
|
||||
<ul id="sub-nav-manage-master-data"
|
||||
|
|
|
|||
86
yarn.lock
86
yarn.lock
|
|
@ -15,9 +15,9 @@
|
|||
resolved "https://github.com/berrnd/bootstrap-combobox.git#fcf0110146f4daab94888234c57d198b4ca5f129"
|
||||
|
||||
"@ericblade/quagga2@^1.2.1":
|
||||
version "1.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@ericblade/quagga2/-/quagga2-1.8.2.tgz#6216dd170d07711fb2c8317ef4f0b029f0581654"
|
||||
integrity sha512-UCVC6nnE0z8sjdpJqtIHJDqRdVMdK3oJdDx0O1LhBK+eKqm01upTGEEFo2lglsAaW1cVrnxWEcwHmUnNUP0ukg==
|
||||
version "1.8.4"
|
||||
resolved "https://registry.yarnpkg.com/@ericblade/quagga2/-/quagga2-1.8.4.tgz#b5e547117bdc856762460d19d4087482c1c35ae3"
|
||||
integrity sha512-Wy0G29x3fxvmv+k11IbPL6eY+5xwdU+lj48Buhxiw8f1uyNuvrd5SomjWIi9ohuIJbCmsKuaOa5nqlvvSLVErg==
|
||||
dependencies:
|
||||
"@babel/polyfill" "^7.12.1"
|
||||
get-pixels "^3.3.3"
|
||||
|
|
@ -26,12 +26,12 @@
|
|||
ndarray "^1.0.19"
|
||||
ndarray-linear-interpolate "^1.0.0"
|
||||
optionalDependencies:
|
||||
fsevents "2.3.2"
|
||||
fsevents "2.3.3"
|
||||
|
||||
"@fontsource/open-sans@^5.0.0":
|
||||
version "5.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@fontsource/open-sans/-/open-sans-5.0.11.tgz#d3fbde63b257c81361a47336dd4f14015c23b3d5"
|
||||
integrity sha512-H3asfQirkh9avht/qxeMFDhAxBzLi9qH0rQAAVv5TxmZL9vvmZc0e70Z6gXPem6BB1+gUsT9QSqgGqH60rpuuA==
|
||||
version "5.0.17"
|
||||
resolved "https://registry.yarnpkg.com/@fontsource/open-sans/-/open-sans-5.0.17.tgz#eeac8add319f07d868c21d45fc729919fc05579a"
|
||||
integrity sha512-4mIAJ/1B9pltG7NhxqReeu46L1+j/eAgwWmvjXh+FhsgcgsboQDrfn9wtUP2PWB7/JrMA4Hd9N/4qAN6kJSdyg==
|
||||
|
||||
"@fortawesome/fontawesome-free@^6.1.1":
|
||||
version "6.4.2"
|
||||
|
|
@ -39,16 +39,16 @@
|
|||
integrity sha512-m5cPn3e2+FDCOgi1mz0RexTUvvQibBebOUlUlW0+YrMjDTPkiJ6VTKukA1GRsvRw+12KyJndNjj0O4AgTxm2Pg==
|
||||
|
||||
"@types/jquery@^3.5.16":
|
||||
version "3.5.18"
|
||||
resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.5.18.tgz#2a4979866954e601361ddc62ea304c9e46311b77"
|
||||
integrity sha512-sNm7O6LECFhHmF+3KYo6QIl2fIbjlPYa0PDgDQwfOaEJzwpK20Eub9Ke7VKkGsSJ2K0HUR50S266qYzRX4GlSw==
|
||||
version "3.5.25"
|
||||
resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.5.25.tgz#c817c71d414855f7d71f46da39f43e6b9579b0b9"
|
||||
integrity sha512-gykx2c+OZf5nx2tv/5fDQqmvGgTiXshELy5jf9IgXPtVfSBl57IUYByN4osbwMXwJijWGOEYQABzGaFZE79A0Q==
|
||||
dependencies:
|
||||
"@types/sizzle" "*"
|
||||
|
||||
"@types/sizzle@*":
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef"
|
||||
integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==
|
||||
version "2.3.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.5.tgz#d93dd29cdcd5801d90be968073b09a6b370780e4"
|
||||
integrity sha512-tAe4Q+OLFOA/AMD+0lq8ovp8t3ysxAOeaScnfNdZpUxaGl51ZMDEITxkvFl1STudQ58mz6gzVGl9VhMKhwRnZQ==
|
||||
|
||||
ajv@^6.12.3:
|
||||
version "6.12.6"
|
||||
|
|
@ -216,11 +216,11 @@ data-uri-to-buffer@0.0.3:
|
|||
integrity sha512-Cp+jOa8QJef5nXS5hU7M1DWzXPEIoVR3kbV0dQuVGwROZg8bGf1DcCnkmajBTnvghTtSNMUdRrPjgaT6ZQucbw==
|
||||
|
||||
datatables.net-bs4@>=1.13.4, datatables.net-bs4@^1.10.22:
|
||||
version "1.13.6"
|
||||
resolved "https://registry.yarnpkg.com/datatables.net-bs4/-/datatables.net-bs4-1.13.6.tgz#171ac930cbb68cd1a337e80040bddf537f3845a7"
|
||||
integrity sha512-+ZYDvpvCf0L0qSXPGKbb17arFPNqnjkyrvAEamR9SGQaGK7PprVaNTLmRfP0Xq2dBxVYr+Y+OD/q63zaDo0cSA==
|
||||
version "1.13.7"
|
||||
resolved "https://registry.yarnpkg.com/datatables.net-bs4/-/datatables.net-bs4-1.13.7.tgz#68337270a09f70e1152ae5c75ab03befd32eb74d"
|
||||
integrity sha512-fQSslkYhGZ1siDxruhtIUVQbPn8beQ7UPz8cufUW8pEAPi3Ku3V4otPTqF62eH79Y5fhWZkgxpdGQxsmq6DsOQ==
|
||||
dependencies:
|
||||
datatables.net ">=1.13.4"
|
||||
datatables.net "1.13.7"
|
||||
jquery ">=1.7"
|
||||
|
||||
datatables.net-colreorder-bs4@^1.5.2:
|
||||
|
|
@ -249,18 +249,18 @@ datatables.net-plugins@^1.10.20:
|
|||
datatables.net "^1.13.2"
|
||||
|
||||
datatables.net-rowgroup-bs4@^1.1.2:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/datatables.net-rowgroup-bs4/-/datatables.net-rowgroup-bs4-1.4.0.tgz#ccb5ae8f394d5a65b8bf02a315b4ce5840cdc87a"
|
||||
integrity sha512-QTZJNekVn6ebONQodkOlXNOqvbzg+7KmCs9cpzgeOg8rDXkvFDvCGBHXxHa9xUqB0LC4S8TgvgjXnDYG3GW/LQ==
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/datatables.net-rowgroup-bs4/-/datatables.net-rowgroup-bs4-1.4.1.tgz#218e7bfdd864d3d72416e3b48c3bf36332c7e687"
|
||||
integrity sha512-T60aE7ehpkDyLW0OBudrC4g/hC265ilvgF+b4AmcwvEglxlSFhAabhRz9ZvfYrvFTCvh1hBtcLHBeN/D5KZHFA==
|
||||
dependencies:
|
||||
datatables.net-bs4 ">=1.13.4"
|
||||
datatables.net-rowgroup ">=1.3.1"
|
||||
jquery ">=1.7"
|
||||
|
||||
datatables.net-rowgroup@>=1.3.1, datatables.net-rowgroup@^1.1.2:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/datatables.net-rowgroup/-/datatables.net-rowgroup-1.4.0.tgz#b9f22fabbeb7a1d08ca37df79eb1f2a5c626faed"
|
||||
integrity sha512-IyiEqCBA6B49EMm/SvW2dktZvHJCybD30qvYPehQ4Jd9QfRLgQxZtNXNsv0sFG2SX7j7+QlnJoKUb2/zdt4OQw==
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/datatables.net-rowgroup/-/datatables.net-rowgroup-1.4.1.tgz#1ec81be4a0dbbad4f64964e228762072cd522ce0"
|
||||
integrity sha512-nwcQbh1IttKyEedmObOKnskvriis3DBKsBRpiSoZO3EvRlZ69wnW9WQhw9/WxPnOUjATO3gJ/n7DMrLoGsKdDA==
|
||||
dependencies:
|
||||
datatables.net ">=1.13.4"
|
||||
jquery ">=1.7"
|
||||
|
|
@ -282,10 +282,10 @@ datatables.net-select@>=1.6.2, datatables.net-select@^1.3.1:
|
|||
datatables.net ">=1.13.4"
|
||||
jquery ">=1.7"
|
||||
|
||||
datatables.net@>=1.13.4, datatables.net@^1.10.22, datatables.net@^1.13.2:
|
||||
version "1.13.6"
|
||||
resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-1.13.6.tgz#6e282adbbb2732e8df495611b8bb54e19f7a943e"
|
||||
integrity sha512-rHNcnW+yEP9me82/KmRcid5eKrqPqW3+I/p1TwqCW3c/7GRYYkDyF6aJQOQ9DNS/pw+nyr4BVpjyJ3yoZXiFPg==
|
||||
datatables.net@1.13.7, datatables.net@>=1.13.4, datatables.net@^1.10.22, datatables.net@^1.13.2:
|
||||
version "1.13.7"
|
||||
resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-1.13.7.tgz#8b130845a59ab16fedd760ecf4b96d96418aca1b"
|
||||
integrity sha512-lbmcCSrMU8VTaGwgCxWs/jbP8NVJlzXaUkK3SiiZY7tTjRp7XJw4InlOU+XUVZ4i4B2GBxue02/P5iVto1CGDg==
|
||||
dependencies:
|
||||
jquery ">=1.7"
|
||||
|
||||
|
|
@ -349,10 +349,10 @@ form-data@~2.3.2:
|
|||
combined-stream "^1.0.6"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
fsevents@2.3.2:
|
||||
version "2.3.2"
|
||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
|
||||
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
|
||||
fsevents@2.3.3:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
|
||||
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
|
||||
|
||||
fullcalendar@^3.10.1:
|
||||
version "3.10.5"
|
||||
|
|
@ -578,9 +578,9 @@ psl@^1.1.28:
|
|||
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
|
||||
|
||||
punycode@^2.1.0, punycode@^2.1.1:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
|
||||
integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
|
||||
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
|
||||
|
||||
qs@~6.5.2:
|
||||
version "6.5.3"
|
||||
|
|
@ -629,14 +629,14 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
|
|||
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
|
||||
|
||||
sprintf-js@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
|
||||
integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a"
|
||||
integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==
|
||||
|
||||
sshpk@^1.7.0:
|
||||
version "1.17.0"
|
||||
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
|
||||
integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==
|
||||
version "1.18.0"
|
||||
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028"
|
||||
integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==
|
||||
dependencies:
|
||||
asn1 "~0.2.3"
|
||||
assert-plus "^1.0.0"
|
||||
|
|
@ -654,9 +654,9 @@ summernote@^0.8.18:
|
|||
integrity sha512-W9RhjQjsn+b1s9xiJQgJbCiYGJaDAc9CdEqXo+D13WuStG8lCdtKaO5AiNiSSMJsQJN2EfGSwbBQt+SFE2B8Kw==
|
||||
|
||||
swagger-ui-dist@^5.2.0:
|
||||
version "5.4.2"
|
||||
resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.4.2.tgz#ff7b936bdfc84673a1823a0f05f3a933ba7ccd4c"
|
||||
integrity sha512-vT5QxP/NOr9m4gLZl+SpavWI3M9Fdh30+Sdw9rEtZbkqNmNNEPhjXas2xTD9rsJYYdLzAiMfwXvtooWH3xbLJA==
|
||||
version "5.9.1"
|
||||
resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.9.1.tgz#d0bcd614e3752da02df141846348f84468ae815e"
|
||||
integrity sha512-5zAx+hUwJb9T3EAntc7TqYkV716CMqG6sZpNlAAMOMWkNXRYxGkN8ADIvD55dQZ10LxN90ZM/TQmN7y1gpICnw==
|
||||
|
||||
tempusdominus-bootstrap-4@^5.39.2:
|
||||
version "5.39.2"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user