smartplant 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -84
- package/package.json +16 -14
- package/src/cli.js +7 -0
- package/src/language/messages-de.js +42 -0
- package/src/language/messages-en.js +42 -0
- package/src/language/messages-es.js +42 -0
- package/src/language/messages-fr.js +42 -0
- package/src/language/messages-it.js +42 -0
- package/src/language/messages-ja.js +42 -0
- package/src/language/messages-nl.js +42 -0
- package/src/language/messages-pt.js +42 -0
- package/src/language/messages-ru.js +42 -0
- package/src/language/messages-zh.js +42 -0
- package/src/main.js +881 -0
- package/comingsoon.js +0 -6
- package/docs/banner.png +0 -0
package/README.md
CHANGED
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
|
|
2
|
-
#
|
|
2
|
+
# Smartplant by *PIGEONPOSSE*
|
|
3
3
|
|
|
4
4
|
[](https://github.com/pigeonposse)
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**Smartplant** is a library designed to simplify plant care through *the integration of advanced artificial intelligence models*. This technology not only researches detailed information about each type of plant but also determines the optimal conditions for their care, thereby maximizing their growth and health. Thanks to this functionality, users can efficiently monitor and manage the environment of their plants *using sensors that measure humidity, light, and temperature*.
|
|
8
|
+
|
|
9
|
+
The core idea behind SmartPlant is to *pave the way for advancements in plant care technology*. It serves as a foundation for developing more sophisticated solutions and experimenting with innovative devices that meet the needs of plants. By leveraging this library, developers can contribute to the evolution of the smart plant care ecosystem.
|
|
8
10
|
|
|
9
11
|
> [!WARNING]
|
|
10
12
|
> Currently in phase `Beta`
|
|
11
13
|
|
|
14
|
+
## AI and the future intertwine: connect with your environment.
|
|
15
|
+
|
|
12
16
|
## Features
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
- 🤖 **Integrated Artificial Intelligence:** Optimizes the care of each plant.
|
|
19
|
+
- 📊 **Real-Time Monitoring:** Collects humidity, light, and temperature with sensors.
|
|
20
|
+
- 🔔 **Customized Alerts:** Notifications for out-of-range conditions.
|
|
21
|
+
- 💬 **Multilingual Support:** English, Español, Français, Deutsch, Italiano, Português, Nederlands, Русский, 中文, 日本語.
|
|
22
|
+
- 🎛 **Easy Setup:** Intuitive process for Raspberry Pi or Arduino.
|
|
23
|
+
- 📈 **Data History:** Environmental trend analysis.
|
|
24
|
+
- 🔮 **Critical Condition Prediction:** Prevents significant changes in plant health.
|
|
25
|
+
- 🌍 **Open-source:** MIT licensed, available for public use and contributions.
|
|
18
26
|
|
|
19
27
|
## Installation
|
|
20
28
|
|
|
@@ -24,98 +32,77 @@ To install the library, use npm:
|
|
|
24
32
|
npm install smartplant
|
|
25
33
|
```
|
|
26
34
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
To start using SmartPlant, follow these steps:
|
|
30
|
-
|
|
31
|
-
1. **Import the Library**
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
import SmartPlant from 'smartplant'
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
2. **Create an Instance and Configure**
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
const smartPlant = new SmartPlant();
|
|
42
|
-
|
|
43
|
-
// Select language
|
|
44
|
-
smartPlant.setLanguage('en'); // Options: 'en', 'es', 'fr', 'de', 'it', 'pt', 'nl', 'ru', 'zh', 'ja'
|
|
45
|
-
|
|
46
|
-
// Select input method
|
|
47
|
-
smartPlant.setInputMethod('local'); // Options: 'local', 'extern'
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
3. **Configure the Plant**
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
smartPlant.setPlantType('indoor'); // Options: 'indoor', 'outdoor'
|
|
56
|
-
smartPlant.setPlantName('Ficus'); // Replace 'Ficus' with the name of your plant
|
|
57
|
-
|
|
58
|
-
// Configure alerts
|
|
59
|
-
smartPlant.configureAlerts();
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
4. **Start Monitoring**
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
smartPlant.startMonitoring();
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
## Language Configuration
|
|
71
|
-
|
|
72
|
-
You can configure the language as follows:
|
|
35
|
+
# Benefits of the emojis system
|
|
73
36
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
37
|
+
This approach with emojis provides a simplified and visually attractive user experience.It allows even those without deep technical knowledge to quickly understand the state of the plant and take the necessary measures.It is a way to offer immediate and clear feedback, improving interaction with the system and promoting more regular and careful maintenance of the plant.
|
|
38
|
+
|
|
39
|
+
## Emojis scales for parameter monitoring
|
|
40
|
+
|
|
41
|
+
To make the plant monitoring more intuitive and visually accessible, we have implemented an emojis system that represents different levels of each critical parameter: moisture, light and temperature.Each emoji offers a rapid representation of the current status of the parameter, which facilitates interpretation without analyzing specific numbers.
|
|
42
|
+
|
|
43
|
+
#### Humidity:
|
|
44
|
+
- 🍂 **Very dry:** Indicates that moisture is below the recommended minimum range.The plant is at risk of dehydration.
|
|
45
|
+
- 🌿 **Ideal:** Moisture is within the ideal range, which means that the plant is in optimal conditions.
|
|
46
|
+
- 💧 **Slightly wet:** Indicates that moisture is slightly above the ideal range, but it is not yet worrisome.
|
|
47
|
+
- 🌊 **Very humid:** Moisture is above the maximum allowed range, which could lead to saturation and problems such as waterlogging.
|
|
48
|
+
|
|
49
|
+
#### Light:
|
|
50
|
+
- 🌑 **Very little light:** points out that the plant receives less light than necessary, which could affect its growth.
|
|
51
|
+
- 🌥 **Ideal:** The plant receives the amount of light adequate for healthy development.
|
|
52
|
+
- 🌞 **Too much light:** Light exposure is excessive, which can cause burns or stress in the plant.
|
|
53
|
+
|
|
54
|
+
#### Temperature:
|
|
55
|
+
- 🧊 **Very cold:** The temperature is below the minimum range, which can slow down or damage the plant.
|
|
56
|
+
- 🌡️ **Ideal:** The temperature is in the optimal range for the growth and development of the plant.
|
|
57
|
+
- 🔥 **Very hot:** The temperature exceeds the maximum range, which could cause overheating and dehydration.
|
|
77
58
|
|
|
78
|
-
|
|
59
|
+
### Emojis-based happiness system
|
|
79
60
|
|
|
80
|
-
|
|
81
|
-
* es - Spanish
|
|
82
|
-
* fr - French
|
|
83
|
-
* de - German
|
|
84
|
-
* it - Italian
|
|
85
|
-
* pt - Portuguese
|
|
86
|
-
* nl - Dutch
|
|
87
|
-
* ru - Russian
|
|
88
|
-
* zh - Chinese
|
|
89
|
-
* ja - Japanese
|
|
61
|
+
In addition to the specific parameters, we have designed a system of general happiness for the plant, which is represented with caritas emojis.This system provides a global vision of the state of the plant, based on a combination of its levels of humidity, light and temperature.
|
|
90
62
|
|
|
91
|
-
|
|
63
|
+
#### Happiness scale:
|
|
64
|
+
- 🤩 **Very happy:** The plant is in ideal conditions in all key parameters.This is the optimal state.
|
|
65
|
+
- 😊 **Happy:** The plant is in good condition, although there could be slight deviations in some parameters.
|
|
66
|
+
- 😐 **Acceptable:** The plant is in acceptable conditions, but is far from ideal.Small adjustments may be required.
|
|
67
|
+
- 😞 **Bad conditions:** The plant is experiencing unfavorable conditions and needs attention to avoid major damage.
|
|
68
|
+
- 😖 **Critical conditions:** The plant is in a critical state and requires immediate action to prevent its condition will get worse.
|
|
69
|
+
- 🥵 **Extremely critical:** The plant is in an extremely critical state and is in danger of dying if urgent measures are not taken.
|
|
70
|
+
- 😵 **No Data Detected:** Vital signals missing or sensors not transmitting requiring immediate check.
|
|
71
|
+
|
|
72
|
+
## ☕ Donate
|
|
92
73
|
|
|
93
|
-
|
|
74
|
+
Help us to develop more interesting things.
|
|
94
75
|
|
|
95
|
-
|
|
96
|
-
* **External**: Uses an external API; requires an API key.
|
|
76
|
+
[](https://pigeonposse.com/?popup=donate)
|
|
97
77
|
|
|
98
|
-
##
|
|
78
|
+
## 📜 License
|
|
99
79
|
|
|
100
|
-
|
|
80
|
+
This software is licensed with **[GPL-3.0](/LICENSE)**.
|
|
101
81
|
|
|
102
|
-
|
|
103
|
-
* **Low Sunlight**: "I am receiving too little sunlight. I need more sun!"
|
|
104
|
-
* **High Temperature**: "The temperature is too high. Please lower it!"
|
|
105
|
-
* **Happy**: "I am very happy and healthy!"
|
|
82
|
+
[](/LICENSE)
|
|
106
83
|
|
|
107
|
-
##
|
|
84
|
+
## 🐦 About us
|
|
108
85
|
|
|
109
|
-
|
|
86
|
+
*PigeonPosse* is a ✨ **code development collective** ✨ focused on creating practical and interesting tools that help developers and users enjoy a more agile and comfortable experience. Our projects cover various programming sectors and we do not have a thematic limitation in terms of projects.
|
|
110
87
|
|
|
111
|
-
|
|
88
|
+
[](https://github.com/pigeonposse)
|
|
112
89
|
|
|
113
|
-
|
|
90
|
+
### Collaborators
|
|
114
91
|
|
|
115
|
-
|
|
92
|
+
| | Name | Role | GitHub |
|
|
93
|
+
| ---------------------------------------------------------------------------------- | ----------- | ------------ | ---------------------------------------------- |
|
|
94
|
+
| <img src="https://github.com/alejomalia.png?size=72" alt="Angelo" style="border-radius:100%"/> | Alejo | Author & Development | [@alejomalia](https://github.com/alejomalia) |
|
|
95
|
+
| <img src="https://github.com/PigeonPosse.png?size=72" alt="PigeonPosse" style="border-radius:100%"/> | PigeonPosse | Collective | [@PigeonPosse](https://github.com/PigeonPosse) |
|
|
116
96
|
|
|
117
|
-
|
|
97
|
+
<br>
|
|
98
|
+
<p align="center">
|
|
118
99
|
|
|
119
|
-
-
|
|
100
|
+
[](https://pigeonposse.com)
|
|
101
|
+
[](https://pigeonposse.com?popup=about)
|
|
102
|
+
[](https://pigeonposse.com/?popup=donate)
|
|
103
|
+
[](https://github.com/pigeonposse)
|
|
104
|
+
[](https://twitter.com/pigeonposse_)
|
|
105
|
+
[](https://www.instagram.com/pigeon.posse/)
|
|
106
|
+
[](https://medium.com/@pigeonposse)
|
|
120
107
|
|
|
121
|
-
|
|
108
|
+
</p>
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "smartplant",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "A library for managing plant care with alerts and multi-language support.",
|
|
5
|
-
"main": "
|
|
5
|
+
"main": "src/main.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"smartplant": "src/cli.js"
|
|
8
|
+
},
|
|
6
9
|
"type": "module",
|
|
7
10
|
"dependencies": {
|
|
8
|
-
"@serialport/parser-readline": "
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"nodemailer": "^6.9.15",
|
|
13
|
-
"readline": "^1.3.0",
|
|
14
|
-
"serialport": "^12.0.0"
|
|
11
|
+
"@serialport/parser-readline": "12.0.0",
|
|
12
|
+
"chalk": "5.3.0",
|
|
13
|
+
"enquirer": "2.4.1",
|
|
14
|
+
"serialport": "12.0.0"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
17
|
"plant",
|
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
],
|
|
27
27
|
"author": "Alejo Malia <alejomalia@gmail.com>",
|
|
28
28
|
"files": [
|
|
29
|
-
"./
|
|
30
|
-
"./README.md"
|
|
29
|
+
"./src"
|
|
31
30
|
],
|
|
32
31
|
"publishConfig": {
|
|
33
32
|
"access": "public",
|
|
@@ -53,6 +52,7 @@
|
|
|
53
52
|
"@changesets/cli": "2.27.8",
|
|
54
53
|
"@commitlint/cli": "19.5.0",
|
|
55
54
|
"@pigeon-posse/eslint-config": "1.0.1",
|
|
55
|
+
"@rsbuild/core": "^1.0.6",
|
|
56
56
|
"@typescript-eslint/eslint-plugin": "8.2.0",
|
|
57
57
|
"@typescript-eslint/parser": "8.2.0",
|
|
58
58
|
"commitizen": "4.3.0",
|
|
@@ -60,7 +60,6 @@
|
|
|
60
60
|
"cz-customizable": "7.2.1",
|
|
61
61
|
"cz-emoji": "1.3.2-canary.2",
|
|
62
62
|
"eslint": "8.57.0",
|
|
63
|
-
"git-cz": "4.9.0",
|
|
64
63
|
"eslint-plugin-align-assignments": "1.1.2",
|
|
65
64
|
"eslint-plugin-align-import": "1.0.0",
|
|
66
65
|
"eslint-plugin-canonical": "5.0.0",
|
|
@@ -73,8 +72,9 @@
|
|
|
73
72
|
"eslint-plugin-package-json": "0.12.2",
|
|
74
73
|
"eslint-plugin-promise": "6.1.1",
|
|
75
74
|
"eslint-plugin-yaml": "0.5.0",
|
|
75
|
+
"git-cz": "4.9.0",
|
|
76
76
|
"typescript": "5.6.2",
|
|
77
|
-
"vite": "
|
|
77
|
+
"vite": "5.4.4"
|
|
78
78
|
},
|
|
79
79
|
"commitlint": {
|
|
80
80
|
"extends": [
|
|
@@ -110,7 +110,9 @@
|
|
|
110
110
|
]
|
|
111
111
|
},
|
|
112
112
|
"scripts": {
|
|
113
|
-
"
|
|
113
|
+
"dev": "node src/cli.js",
|
|
114
|
+
"build": "pnpm run --sequential \"/build:.*/\"",
|
|
115
|
+
"build:bins": "rsbuild build -c .dev/build-lib.mjs && node .dev/build-bin.mjs",
|
|
114
116
|
"update-version": "changeset && changeset version",
|
|
115
117
|
"push": "git add . && cz && git push -f origin $@",
|
|
116
118
|
"push:main": "pnpm push main"
|
package/src/cli.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'general' : {
|
|
3
|
+
'welcome' : 'Willkommen bei SmartPlant!',
|
|
4
|
+
'selectInputMethod' : 'Wählen Sie die Eingabemethode aus:',
|
|
5
|
+
'local' : 'Lokal',
|
|
6
|
+
'external' : 'Extern',
|
|
7
|
+
'localSelected' : 'Lokale Methode ausgewählt.',
|
|
8
|
+
'externSelected' : 'Externe Methode ausgewählt.',
|
|
9
|
+
'selectAIModel' : 'Wählen Sie ein lokales KI-Modell aus:',
|
|
10
|
+
'selectedAIModel' : 'Ausgewähltes KI-Modell: {model}',
|
|
11
|
+
'noLocalAI' : 'Keine lokalen KI-Modelle erkannt.',
|
|
12
|
+
'enterAPIKey' : 'Geben Sie Ihren API-Schlüssel ein:',
|
|
13
|
+
'invalidMethod' : 'Ausgewählte Methode ungültig.',
|
|
14
|
+
'selectPlantType' : 'Haben Sie eine Innen- oder Außenpflanze?',
|
|
15
|
+
'indoor' : 'Innen',
|
|
16
|
+
'outdoor' : 'Außen',
|
|
17
|
+
'invalidType' : 'Ausgewählter Pflanzentyp ungültig.',
|
|
18
|
+
'enterPlantName' : 'Geben Sie den Namen der Pflanze ein:',
|
|
19
|
+
'plantNameSet' : 'Name der Pflanze auf: {name} gesetzt',
|
|
20
|
+
'settingUpSensors' : 'Sensoren einrichten...',
|
|
21
|
+
'sensorsReady' : 'Sensoren sind bereit!',
|
|
22
|
+
'alertsConfigured' : 'Warnungen konfiguriert.',
|
|
23
|
+
'alertsActivated' : 'Warnungen aktiviert.',
|
|
24
|
+
'startingMonitoring' : 'Überwachung der Pflanze starten...',
|
|
25
|
+
'checkingStatus' : 'Pflanzenstatus überprüfen...',
|
|
26
|
+
},
|
|
27
|
+
'alerts' : {
|
|
28
|
+
'moisture' : {
|
|
29
|
+
'low' : 'Warnung: Bodenfeuchtigkeit ist niedrig ({value}%).',
|
|
30
|
+
'high' : 'Warnung: Bodenfeuchtigkeit ist hoch ({value}%).',
|
|
31
|
+
},
|
|
32
|
+
'light' : {
|
|
33
|
+
'low' : 'Warnung: Lichtniveau ist niedrig ({value} lux).',
|
|
34
|
+
'high' : 'Warnung: Lichtniveau ist hoch ({value} lux).',
|
|
35
|
+
},
|
|
36
|
+
'temperature' : {
|
|
37
|
+
'low' : 'Warnung: Temperatur ist niedrig ({value}°C).',
|
|
38
|
+
'high' : 'Warnung: Temperatur ist hoch ({value}°C).',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'general' : {
|
|
3
|
+
'welcome' : 'Welcome to SmartPlant!',
|
|
4
|
+
'selectInputMethod' : 'Select input method:',
|
|
5
|
+
'local' : 'Local',
|
|
6
|
+
'external' : 'External',
|
|
7
|
+
'localSelected' : 'Local method selected.',
|
|
8
|
+
'externSelected' : 'External method selected.',
|
|
9
|
+
'selectAIModel' : 'Select a local AI model:',
|
|
10
|
+
'selectedAIModel' : 'Selected AI model: {model}',
|
|
11
|
+
'noLocalAI' : 'No local AI models detected.',
|
|
12
|
+
'enterAPIKey' : 'Enter your API Key:',
|
|
13
|
+
'invalidMethod' : 'Invalid method selected.',
|
|
14
|
+
'selectPlantType' : 'Do you have an indoor or outdoor plant?',
|
|
15
|
+
'indoor' : 'Indoor',
|
|
16
|
+
'outdoor' : 'Outdoor',
|
|
17
|
+
'invalidType' : 'Invalid plant type selected.',
|
|
18
|
+
'enterPlantName' : 'Enter the name of the plant:',
|
|
19
|
+
'plantNameSet' : 'Plant name set to: {name}',
|
|
20
|
+
'settingUpSensors' : 'Setting up sensors...',
|
|
21
|
+
'sensorsReady' : 'Sensors are ready!',
|
|
22
|
+
'alertsConfigured' : 'Alerts configured.',
|
|
23
|
+
'alertsActivated' : 'Alerts activated.',
|
|
24
|
+
'startingMonitoring' : 'Starting plant monitoring...',
|
|
25
|
+
'checkingStatus' : 'Checking plant status...',
|
|
26
|
+
},
|
|
27
|
+
'alerts' : {
|
|
28
|
+
'moisture' : {
|
|
29
|
+
'low' : 'Warning: Soil moisture is low ({value}%).',
|
|
30
|
+
'high' : 'Warning: Soil moisture is high ({value}%).',
|
|
31
|
+
},
|
|
32
|
+
'light' : {
|
|
33
|
+
'low' : 'Warning: Light level is low ({value} lux).',
|
|
34
|
+
'high' : 'Warning: Light level is high ({value} lux).',
|
|
35
|
+
},
|
|
36
|
+
'temperature' : {
|
|
37
|
+
'low' : 'Warning: Temperature is low ({value}°C).',
|
|
38
|
+
'high' : 'Warning: Temperature is high ({value}°C).',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'general' : {
|
|
3
|
+
'welcome' : '¡Bienvenido a SmartPlant!',
|
|
4
|
+
'selectInputMethod' : 'Selecciona el método de entrada:',
|
|
5
|
+
'local' : 'Local',
|
|
6
|
+
'external' : 'Externo',
|
|
7
|
+
'localSelected' : 'Método local seleccionado.',
|
|
8
|
+
'externSelected' : 'Método externo seleccionado.',
|
|
9
|
+
'selectAIModel' : 'Selecciona un modelo de IA local:',
|
|
10
|
+
'selectedAIModel' : 'Modelo de IA seleccionado: {model}',
|
|
11
|
+
'noLocalAI' : 'No se detectaron modelos de IA locales.',
|
|
12
|
+
'enterAPIKey' : 'Ingresa tu clave API:',
|
|
13
|
+
'invalidMethod' : 'Método seleccionado no válido.',
|
|
14
|
+
'selectPlantType' : '¿Tienes una planta de interior o exterior?',
|
|
15
|
+
'indoor' : 'Interior',
|
|
16
|
+
'outdoor' : 'Exterior',
|
|
17
|
+
'invalidType' : 'Tipo de planta seleccionado no válido.',
|
|
18
|
+
'enterPlantName' : 'Ingresa el nombre de la planta:',
|
|
19
|
+
'plantNameSet' : 'Nombre de la planta establecido como: {name}',
|
|
20
|
+
'settingUpSensors' : 'Configurando sensores...',
|
|
21
|
+
'sensorsReady' : '¡Los sensores están listos!',
|
|
22
|
+
'alertsConfigured' : 'Alertas configuradas.',
|
|
23
|
+
'alertsActivated' : 'Alertas activadas.',
|
|
24
|
+
'startingMonitoring' : 'Iniciando el monitoreo de plantas...',
|
|
25
|
+
'checkingStatus' : 'Verificando el estado de la planta...',
|
|
26
|
+
},
|
|
27
|
+
'alerts' : {
|
|
28
|
+
'moisture' : {
|
|
29
|
+
'low' : 'Advertencia: La humedad del suelo es baja ({value}%).',
|
|
30
|
+
'high' : 'Advertencia: La humedad del suelo es alta ({value}%).',
|
|
31
|
+
},
|
|
32
|
+
'light' : {
|
|
33
|
+
'low' : 'Advertencia: El nivel de luz es bajo ({value} lux).',
|
|
34
|
+
'high' : 'Advertencia: El nivel de luz es alto ({value} lux).',
|
|
35
|
+
},
|
|
36
|
+
'temperature' : {
|
|
37
|
+
'low' : 'Advertencia: La temperatura es baja ({value}°C).',
|
|
38
|
+
'high' : 'Advertencia: La temperatura es alta ({value}°C).',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'general' : {
|
|
3
|
+
'welcome' : 'Bienvenue dans SmartPlant !',
|
|
4
|
+
'selectInputMethod' : 'Sélectionnez le mode d\'entrée :',
|
|
5
|
+
'local' : 'Local',
|
|
6
|
+
'external' : 'Externe',
|
|
7
|
+
'localSelected' : 'Méthode locale sélectionnée.',
|
|
8
|
+
'externSelected' : 'Méthode externe sélectionnée.',
|
|
9
|
+
'selectAIModel' : 'Sélectionnez un modèle IA local :',
|
|
10
|
+
'selectedAIModel' : 'Modèle IA sélectionné : {model}',
|
|
11
|
+
'noLocalAI' : 'Aucun modèle IA local détecté.',
|
|
12
|
+
'enterAPIKey' : 'Entrez votre clé API :',
|
|
13
|
+
'invalidMethod' : 'Méthode sélectionnée non valide.',
|
|
14
|
+
'selectPlantType' : 'Avez-vous une plante d\'intérieur ou d\'extérieur ?',
|
|
15
|
+
'indoor' : 'Intérieur',
|
|
16
|
+
'outdoor' : 'Extérieur',
|
|
17
|
+
'invalidType' : 'Type de plante sélectionné non valide.',
|
|
18
|
+
'enterPlantName' : 'Entrez le nom de la plante :',
|
|
19
|
+
'plantNameSet' : 'Nom de la plante défini sur : {name}',
|
|
20
|
+
'settingUpSensors' : 'Configuration des capteurs...',
|
|
21
|
+
'sensorsReady' : 'Les capteurs sont prêts !',
|
|
22
|
+
'alertsConfigured' : 'Alertes configurées.',
|
|
23
|
+
'alertsActivated' : 'Alertes activées.',
|
|
24
|
+
'startingMonitoring' : 'Démarrage de la surveillance des plantes...',
|
|
25
|
+
'checkingStatus' : 'Vérification de l\'état de la plante...',
|
|
26
|
+
},
|
|
27
|
+
'alerts' : {
|
|
28
|
+
'moisture' : {
|
|
29
|
+
'low' : 'Alerte : Humidité du sol basse ({value}%).',
|
|
30
|
+
'high' : 'Alerte : Humidité du sol élevée ({value}%).',
|
|
31
|
+
},
|
|
32
|
+
'light' : {
|
|
33
|
+
'low' : 'Alerte : Niveau de lumière bas ({value} lux).',
|
|
34
|
+
'high' : 'Alerte : Niveau de lumière élevé ({value} lux).',
|
|
35
|
+
},
|
|
36
|
+
'temperature' : {
|
|
37
|
+
'low' : 'Alerte : Température basse ({value}°C).',
|
|
38
|
+
'high' : 'Alerte : Température élevée ({value}°C).',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'general' : {
|
|
3
|
+
'welcome' : 'Benvenuto in SmartPlant!',
|
|
4
|
+
'selectInputMethod' : 'Seleziona il metodo di input:',
|
|
5
|
+
'local' : 'Locale',
|
|
6
|
+
'external' : 'Esterno',
|
|
7
|
+
'localSelected' : 'Metodo locale selezionato.',
|
|
8
|
+
'externSelected' : 'Metodo esterno selezionato.',
|
|
9
|
+
'selectAIModel' : 'Seleziona un modello di IA locale:',
|
|
10
|
+
'selectedAIModel' : 'Modello di IA selezionato: {model}',
|
|
11
|
+
'noLocalAI' : 'Nessun modello di IA locale rilevato.',
|
|
12
|
+
'enterAPIKey' : 'Inserisci la tua chiave API:',
|
|
13
|
+
'invalidMethod' : 'Metodo selezionato non valido.',
|
|
14
|
+
'selectPlantType' : 'Hai una pianta da interno o da esterno?',
|
|
15
|
+
'indoor' : 'Interno',
|
|
16
|
+
'outdoor' : 'Esterno',
|
|
17
|
+
'invalidType' : 'Tipo di pianta selezionato non valido.',
|
|
18
|
+
'enterPlantName' : 'Inserisci il nome della pianta:',
|
|
19
|
+
'plantNameSet' : 'Nome della pianta impostato su: {name}',
|
|
20
|
+
'settingUpSensors' : 'Configurazione dei sensori...',
|
|
21
|
+
'sensorsReady' : 'I sensori sono pronti!',
|
|
22
|
+
'alertsConfigured' : 'Avvisi configurati.',
|
|
23
|
+
'alertsActivated' : 'Avvisi attivati.',
|
|
24
|
+
'startingMonitoring' : 'Avvio del monitoraggio della pianta...',
|
|
25
|
+
'checkingStatus' : 'Verifica dello stato della pianta...',
|
|
26
|
+
},
|
|
27
|
+
'alerts' : {
|
|
28
|
+
'moisture' : {
|
|
29
|
+
'low' : 'Avviso: L\'umidità del suolo è bassa ({value}%).',
|
|
30
|
+
'high' : 'Avviso: L\'umidità del suolo è alta ({value}%).',
|
|
31
|
+
},
|
|
32
|
+
'light' : {
|
|
33
|
+
'low' : 'Avviso: Il livello di luce è basso ({value} lux).',
|
|
34
|
+
'high' : 'Avviso: Il livello di luce è alto ({value} lux).',
|
|
35
|
+
},
|
|
36
|
+
'temperature' : {
|
|
37
|
+
'low' : 'Avviso: La temperatura è bassa ({value}°C).',
|
|
38
|
+
'high' : 'Avviso: La temperatura è alta ({value}°C).',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'general' : {
|
|
3
|
+
'welcome' : 'SmartPlantへようこそ!',
|
|
4
|
+
'selectInputMethod' : '入力方法を選択してください:',
|
|
5
|
+
'local' : 'ローカル',
|
|
6
|
+
'external' : '外部',
|
|
7
|
+
'localSelected' : 'ローカル方法が選択されました。',
|
|
8
|
+
'externSelected' : '外部方法が選択されました。',
|
|
9
|
+
'selectAIModel' : 'ローカルAIモデルを選択してください:',
|
|
10
|
+
'selectedAIModel' : '選択されたAIモデル:{model}',
|
|
11
|
+
'noLocalAI' : 'ローカルAIモデルが検出されませんでした。',
|
|
12
|
+
'enterAPIKey' : 'APIキーを入力してください:',
|
|
13
|
+
'invalidMethod' : '選択された方法が無効です。',
|
|
14
|
+
'selectPlantType' : '屋内植物ですか、それとも屋外植物ですか?',
|
|
15
|
+
'indoor' : '屋内',
|
|
16
|
+
'outdoor' : '屋外',
|
|
17
|
+
'invalidType' : '選択された植物タイプが無効です。',
|
|
18
|
+
'enterPlantName' : '植物の名前を入力してください:',
|
|
19
|
+
'plantNameSet' : '植物の名前が次のように設定されました:{name}',
|
|
20
|
+
'settingUpSensors' : 'センサーを設定しています...',
|
|
21
|
+
'sensorsReady' : 'センサーの準備が整いました!',
|
|
22
|
+
'alertsConfigured' : 'アラートが設定されました。',
|
|
23
|
+
'alertsActivated' : 'アラートがアクティブになりました。',
|
|
24
|
+
'startingMonitoring' : '植物の監視を開始しています...',
|
|
25
|
+
'checkingStatus' : '植物の状態を確認しています...',
|
|
26
|
+
},
|
|
27
|
+
'alerts' : {
|
|
28
|
+
'moisture' : {
|
|
29
|
+
'low' : '警告:土壌湿度が低いです ({value}%)。',
|
|
30
|
+
'high' : '警告:土壌湿度が高いです ({value}%)。',
|
|
31
|
+
},
|
|
32
|
+
'light' : {
|
|
33
|
+
'low' : '警告:光のレベルが低いです ({value} lux)。',
|
|
34
|
+
'high' : '警告:光のレベルが高いです ({value} lux)。',
|
|
35
|
+
},
|
|
36
|
+
'temperature' : {
|
|
37
|
+
'low' : '警告:温度が低いです ({value}°C)。',
|
|
38
|
+
'high' : '警告:温度が高いです ({value}°C)。',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'general' : {
|
|
3
|
+
'welcome' : 'Welkom bij SmartPlant!',
|
|
4
|
+
'selectInputMethod' : 'Selecteer invoermethode:',
|
|
5
|
+
'local' : 'Lokaal',
|
|
6
|
+
'external' : 'Extern',
|
|
7
|
+
'localSelected' : 'Lokale methode geselecteerd.',
|
|
8
|
+
'externSelected' : 'Externe methode geselecteerd.',
|
|
9
|
+
'selectAIModel' : 'Selecteer een lokaal AI-model:',
|
|
10
|
+
'selectedAIModel' : 'Geselecteerd AI-model: {model}',
|
|
11
|
+
'noLocalAI' : 'Geen lokale AI-modellen gedetecteerd.',
|
|
12
|
+
'enterAPIKey' : 'Voer je API-sleutel in:',
|
|
13
|
+
'invalidMethod' : 'Geselecteerde methode ongeldig.',
|
|
14
|
+
'selectPlantType' : 'Heb je een binnen- of buitenplant?',
|
|
15
|
+
'indoor' : 'Binnen',
|
|
16
|
+
'outdoor' : 'Buiten',
|
|
17
|
+
'invalidType' : 'Geselecteerd planttype ongeldig.',
|
|
18
|
+
'enterPlantName' : 'Voer de naam van de plant in:',
|
|
19
|
+
'plantNameSet' : 'Plantnaam ingesteld op: {name}',
|
|
20
|
+
'settingUpSensors' : 'Sensoren instellen...',
|
|
21
|
+
'sensorsReady' : 'Sensoren zijn klaar!',
|
|
22
|
+
'alertsConfigured' : 'Waarschuwingen ingesteld.',
|
|
23
|
+
'alertsActivated' : 'Waarschuwingen geactiveerd.',
|
|
24
|
+
'startingMonitoring' : 'Beginnen met plantmonitoring...',
|
|
25
|
+
'checkingStatus' : 'Plantstatus controleren...',
|
|
26
|
+
},
|
|
27
|
+
'alerts' : {
|
|
28
|
+
'moisture' : {
|
|
29
|
+
'low' : 'Waarschuwing: Bodemvochtigheid is laag ({value}%).',
|
|
30
|
+
'high' : 'Waarschuwing: Bodemvochtigheid is hoog ({value}%).',
|
|
31
|
+
},
|
|
32
|
+
'light' : {
|
|
33
|
+
'low' : 'Waarschuwing: Lichtniveau is laag ({value} lux).',
|
|
34
|
+
'high' : 'Waarschuwing: Lichtniveau is hoog ({value} lux).',
|
|
35
|
+
},
|
|
36
|
+
'temperature' : {
|
|
37
|
+
'low' : 'Waarschuwing: Temperatuur is laag ({value}°C).',
|
|
38
|
+
'high' : 'Waarschuwing: Temperatuur is hoog ({value}°C).',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'general' : {
|
|
3
|
+
'welcome' : 'Bem-vindo ao SmartPlant!',
|
|
4
|
+
'selectInputMethod' : 'Selecione o método de entrada:',
|
|
5
|
+
'local' : 'Local',
|
|
6
|
+
'external' : 'Externo',
|
|
7
|
+
'localSelected' : 'Método local selecionado.',
|
|
8
|
+
'externSelected' : 'Método externo selecionado.',
|
|
9
|
+
'selectAIModel' : 'Selecione um modelo de IA local:',
|
|
10
|
+
'selectedAIModel' : 'Modelo de IA selecionado: {model}',
|
|
11
|
+
'noLocalAI' : 'Nenhum modelo de IA local detectado.',
|
|
12
|
+
'enterAPIKey' : 'Digite sua chave API:',
|
|
13
|
+
'invalidMethod' : 'Método selecionado inválido.',
|
|
14
|
+
'selectPlantType' : 'Você tem uma planta de interior ou de exterior?',
|
|
15
|
+
'indoor' : 'Interior',
|
|
16
|
+
'outdoor' : 'Exterior',
|
|
17
|
+
'invalidType' : 'Tipo de planta selecionado inválido.',
|
|
18
|
+
'enterPlantName' : 'Digite o nome da planta:',
|
|
19
|
+
'plantNameSet' : 'Nome da planta definido como: {name}',
|
|
20
|
+
'settingUpSensors' : 'Configurando sensores...',
|
|
21
|
+
'sensorsReady' : 'Sensores prontos!',
|
|
22
|
+
'alertsConfigured' : 'Alertas configurados.',
|
|
23
|
+
'alertsActivated' : 'Alertas ativados.',
|
|
24
|
+
'startingMonitoring' : 'Iniciando o monitoramento da planta...',
|
|
25
|
+
'checkingStatus' : 'Verificando o status da planta...',
|
|
26
|
+
},
|
|
27
|
+
'alerts' : {
|
|
28
|
+
'moisture' : {
|
|
29
|
+
'low' : 'Aviso: Umidade do solo baixa ({value}%).',
|
|
30
|
+
'high' : 'Aviso: Umidade do solo alta ({value}%).',
|
|
31
|
+
},
|
|
32
|
+
'light' : {
|
|
33
|
+
'low' : 'Aviso: Nível de luz baixo ({value} lux).',
|
|
34
|
+
'high' : 'Aviso: Nível de luz alto ({value} lux).',
|
|
35
|
+
},
|
|
36
|
+
'temperature' : {
|
|
37
|
+
'low' : 'Aviso: Temperatura baixa ({value}°C).',
|
|
38
|
+
'high' : 'Aviso: Temperatura alta ({value}°C).',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|