iobroker.life360ng 1.0.21 → 1.2.0
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 +229 -15
- package/admin/Life360ng.svg +2 -0
- package/admin/i18n/de.json +31 -7
- package/admin/i18n/en.json +32 -9
- package/admin/i18n/es.json +32 -9
- package/admin/i18n/fr.json +32 -9
- package/admin/i18n/it.json +32 -9
- package/admin/i18n/nl.json +32 -9
- package/admin/i18n/pl.json +33 -10
- package/admin/i18n/pt.json +33 -10
- package/admin/i18n/ru.json +32 -9
- package/admin/i18n/uk.json +33 -10
- package/admin/i18n/zh-cn.json +32 -9
- package/admin/jsonConfig.json +242 -57
- package/io-package.json +40 -31
- package/lib/life360CloudConnector.js +79 -126
- package/lib/life360DbConnector.js +151 -169
- package/lib/life360Tracker.js +1863 -0
- package/main.js +20 -112
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ioBroker.life360ng
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|
|
|
5
5
|
|
|
6
6
|

|
|
@@ -23,6 +23,11 @@ ioBroker adapter for [Life360](https://www.life360.com) — updated for EU users
|
|
|
23
23
|
|
|
24
24
|
This adapter connects to the [Life360](https://www.life360.com) cloud services to track people and detect presence at defined places. It retrieves circles, members and places data and persists it as ioBroker states, updated at a configurable interval.
|
|
25
25
|
|
|
26
|
+
## Documentation
|
|
27
|
+
|
|
28
|
+
- 🇺🇸 [Documentation](./docs/en/README.md)
|
|
29
|
+
- 🇩🇪 [Dokumentation](./docs/de/README.md)
|
|
30
|
+
|
|
26
31
|
## Configuration
|
|
27
32
|
|
|
28
33
|
### Bearer Token (required for EU users)
|
|
@@ -51,19 +56,222 @@ Add private places not visible to Life360 cloud services. The adapter checks pre
|
|
|
51
56
|
|
|
52
57
|
### Integration
|
|
53
58
|
|
|
54
|
-
Choose which Life360 data to process: circles, places, people.
|
|
59
|
+
Choose which Life360 data to process: circles, places, people.
|
|
55
60
|
|
|
56
61
|
### Location-Tracking
|
|
57
62
|
|
|
58
63
|
Enable location-tracking to add geo-positioning details (latitude, longitude, `locationName`) to the people data points.
|
|
59
64
|
|
|
65
|
+
## Migration / Upgrade Notes
|
|
66
|
+
|
|
67
|
+
### Upgrading from 1.0.x to 1.1.0
|
|
68
|
+
|
|
69
|
+
The internal object hierarchy has been restructured to comply with
|
|
70
|
+
ioBroker's object type rules.
|
|
71
|
+
|
|
72
|
+
**Please perform the following steps after updating:**
|
|
73
|
+
1. Stop the adapter instance
|
|
74
|
+
2. Delete all objects of the adapter (in ioBroker Admin:
|
|
75
|
+
Objects → life360ng.0 → Delete all)
|
|
76
|
+
3. Start the adapter instance again
|
|
77
|
+
4. All datapoints will be recreated automatically
|
|
78
|
+
|
|
79
|
+
> ⚠️ Your existing scripts and automations do **not** need to be changed –
|
|
80
|
+
> all datapoint IDs remain the same.
|
|
81
|
+
|
|
60
82
|
## States
|
|
61
83
|
|
|
84
|
+
### circles
|
|
85
|
+
|
|
86
|
+
Life360 circles with their associated places and member presence.
|
|
87
|
+
|
|
88
|
+
| State | Type | Description |
|
|
89
|
+
|---|---|---|
|
|
90
|
+
| `circles.<id>.name` | text | Circle name (e.g. `Family skvarel`) |
|
|
91
|
+
| `circles.<id>.id` | text | Circle UUID |
|
|
92
|
+
| `circles.<id>.memberCount` | value | Number of circle members *(may be null)* |
|
|
93
|
+
| `circles.<id>.createdAt` | date | Circle creation date |
|
|
94
|
+
| `circles.<id>.timestamp` | date | Last data update |
|
|
95
|
+
| `circles.<id>.places.<placeId>.<memberId>.isPresent` | indicator | Member is present at this place |
|
|
96
|
+
| `circles.<id>.places.<placeId>.membersPresent` | value | Number of members currently at this place |
|
|
97
|
+
|
|
98
|
+
### info
|
|
99
|
+
|
|
100
|
+
| State | Type | Description |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| `info.connection` | boolean | `true` when connected to Life360 cloud |
|
|
103
|
+
|
|
104
|
+
### myplaces
|
|
105
|
+
|
|
106
|
+
Custom places defined in the adapter configuration (not synced to Life360 cloud).
|
|
107
|
+
Structure: `myplaces.<placeName>.<memberName>.*`
|
|
108
|
+
|
|
109
|
+
| State | Type | Description |
|
|
110
|
+
|---|---|---|
|
|
111
|
+
| `myplaces.<place>.<member>.distance` | value.distance | Distance to place center in meters |
|
|
112
|
+
| `myplaces.<place>.<member>.isPresent` | indicator | Member is within the place radius |
|
|
113
|
+
| `myplaces.<place>.<member>.startTimestamp` | date | Timestamp when member entered the place |
|
|
114
|
+
| `myplaces.<place>.<member>.timestamp` | date | Last check timestamp |
|
|
115
|
+
| `myplaces.<place>.gps-coordinates` | value.gps | Place center as JSON `{"lat":..,"lng":..}` |
|
|
116
|
+
| `myplaces.<place>.latitude` | value.gps.latitude | Place center latitude |
|
|
117
|
+
| `myplaces.<place>.longitude` | value.gps.longitude | Place center longitude |
|
|
118
|
+
| `myplaces.<place>.members` | list | All members checked against this place |
|
|
119
|
+
| `myplaces.<place>.membersCount` | value | Total number of tracked members |
|
|
120
|
+
| `myplaces.<place>.membersPresent` | list | Names of members currently present |
|
|
121
|
+
| `myplaces.<place>.membersPresentCount` | value | Number of members currently present |
|
|
122
|
+
| `myplaces.<place>.radius` | value | Configured radius in meters |
|
|
123
|
+
| `myplaces.<place>.timestamp` | date | Last data update |
|
|
124
|
+
| `myplaces.<place>.urlMap` | text.url | OpenStreetMap link to place |
|
|
125
|
+
| `myplaces.<place>.urlMapIframe` | text.url | Google Maps embeddable URL |
|
|
126
|
+
|
|
127
|
+
### people
|
|
128
|
+
|
|
129
|
+
Each Life360 circle member gets their own channel under `people.<id>`,
|
|
130
|
+
where `<id>` is the member's Life360 UUID.
|
|
131
|
+
|
|
132
|
+
| State | Type | Description |
|
|
133
|
+
|---|---|---|
|
|
134
|
+
| `people.<id>.avatar` | text.url | Profile picture URL |
|
|
135
|
+
| `people.<id>.battery` | value.battery | Battery level in % |
|
|
136
|
+
| `people.<id>.createdAt` | date | Account creation date |
|
|
137
|
+
| `people.<id>.disconnected` | indicator | App is explicitly disconnected |
|
|
138
|
+
| `people.<id>.firstName` | text | First name |
|
|
139
|
+
| `people.<id>.gps-coordinates` | value.gps | GPS position as JSON `{"lat":..,"lng":..}` |
|
|
140
|
+
| `people.<id>.id` | text | Life360 member UUID |
|
|
141
|
+
| `people.<id>.isConnected` | indicator.reachable | App is connected and reachable |
|
|
142
|
+
| `people.<id>.isSharingLocation` | indicator | Location sharing is active |
|
|
143
|
+
| `people.<id>.lastName` | text | Last name |
|
|
144
|
+
| `people.<id>.lastPositionAt` | date | Timestamp of last position update |
|
|
145
|
+
| `people.<id>.latitude` | value.gps.latitude | Current latitude |
|
|
146
|
+
| `people.<id>.locationName` | text | Current place name (e.g. `Home`) |
|
|
147
|
+
| `people.<id>.longitude` | value.gps.longitude | Current longitude |
|
|
148
|
+
| `people.<id>.status` | text | Connection status (e.g. `Ok`) |
|
|
149
|
+
| `people.<id>.timestamp` | date | Timestamp of last data update |
|
|
150
|
+
| `people.<id>.urlMap` | text.url | OpenStreetMap link to current position |
|
|
151
|
+
| `people.<id>.urlMapIframe` | text.url | Google Maps embeddable URL |
|
|
152
|
+
| `people.<id>.urlMapOsmIframe` | text.url | OpenStreetMap embeddable URL (iFrame) |
|
|
153
|
+
|
|
154
|
+
> **Note:** `isConnected` reflects whether the Life360 app is reachable,
|
|
155
|
+
> while `disconnected` indicates an explicit disconnect state.
|
|
156
|
+
> Both can be `false` simultaneously during a connection loss.
|
|
157
|
+
|
|
158
|
+
### places
|
|
159
|
+
|
|
160
|
+
Life360 places synced directly from the Life360 cloud (defined in the Life360 app).
|
|
161
|
+
These are **read-only** and cannot be configured in the adapter.
|
|
162
|
+
|
|
163
|
+
| State | Type | Description |
|
|
164
|
+
|---|---|---|
|
|
165
|
+
| `places.<id>.name` | text | Place name (e.g. `Refugium`) |
|
|
166
|
+
| `places.<id>.id` | text | Life360 place UUID |
|
|
167
|
+
| `places.<id>.circleId` | text | UUID of the circle this place belongs to |
|
|
168
|
+
| `places.<id>.ownerId` | text | UUID of the place owner |
|
|
169
|
+
| `places.<id>.gps-coordinates` | value.gps | Place center as JSON `{"lat":..,"lng":..}` |
|
|
170
|
+
| `places.<id>.latitude` | value.gps.latitude | Place center latitude |
|
|
171
|
+
| `places.<id>.longitude` | value.gps.longitude | Place center longitude |
|
|
172
|
+
| `places.<id>.radius` | value | Radius in meters |
|
|
173
|
+
| `places.<id>.timestamp` | date | Last data update |
|
|
174
|
+
| `places.<id>.urlMap` | text.url | OpenStreetMap link to place |
|
|
175
|
+
| `places.<id>.urlMapIframe` | text.url | Google Maps embeddable URL |
|
|
176
|
+
|
|
177
|
+
> **Note:** For custom places with presence detection, see [myplaces](#myplaces).
|
|
178
|
+
|
|
179
|
+
### tracker
|
|
180
|
+
|
|
181
|
+
The adapter includes an optional GPS route logger that records the movements of each Life360 member and generates interactive Leaflet maps — accessible directly via URL in any browser, ioBroker Vis, or Jarvis dashboard.
|
|
182
|
+
|
|
183
|
+
#### How it works
|
|
184
|
+
|
|
185
|
+
On every GPS position update, the tracker checks whether the new position is at least **minDistance** meters away from the last recorded point. If so, the point is appended to a GeoJSON LineString for the current day. The full history is stored in `allTime.geojson` and monthly backups are written to `currentYear.MM.geojson`.
|
|
186
|
+
|
|
187
|
+
An HTML map is automatically (re-)generated after each update and written to the ioBroker file system. It is immediately accessible via HTTP.
|
|
188
|
+
|
|
189
|
+
#### Enabling the Tracker
|
|
190
|
+
|
|
191
|
+
1. Open the adapter configuration.
|
|
192
|
+
2. Under **Tracker / Route logger**, enable tracking for each person.
|
|
193
|
+
3. Optionally enable **Family map** for each person to include them in the combined family view.
|
|
194
|
+
4. Set the **minimum distance** (default: 20 m) to filter out GPS noise.
|
|
195
|
+
5. Save and restart the adapter.
|
|
196
|
+
|
|
197
|
+
#### Map URLs
|
|
198
|
+
|
|
199
|
+
Each person and the family group gets a dedicated map URL, stored as an ioBroker state:
|
|
200
|
+
|
|
62
201
|
| State | Description |
|
|
63
202
|
|---|---|
|
|
64
|
-
| `
|
|
65
|
-
| `
|
|
66
|
-
|
|
203
|
+
| `tracker.<Name>.url` | HTTP URL of the person's individual map |
|
|
204
|
+
| `tracker.circle.url` | HTTP URL of the combined circle map |
|
|
205
|
+
|
|
206
|
+
The URL format is:
|
|
207
|
+
```
|
|
208
|
+
/<namespace>/tracker/<name>.html
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Open this URL in any browser. The map auto-refreshes at the configured polling interval.
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
#### Map Features
|
|
215
|
+
|
|
216
|
+
- **Interactive Leaflet map** — pan and zoom, based on OpenStreetMap
|
|
217
|
+
- **Date picker** — navigate between all recorded days (full history, no limit)
|
|
218
|
+
- **Color-coded routes** — each person has their own configurable route color
|
|
219
|
+
- **Start / end markers** — clearly marks the first and last position of the day
|
|
220
|
+
- **Auto-refresh** — the page reloads automatically (polling interval + 10 s)
|
|
221
|
+
- **Family map** — all enabled persons on one combined map with legend
|
|
222
|
+
|
|
223
|
+
#### Single Map Features
|
|
224
|
+
|
|
225
|
+
- **Route-Checkbox:** Each single-person map has a "Route" checkbox to toggle route display for the selected period. The state is saved per person in the browser and persists across reloads.
|
|
226
|
+
- **Dynamic Datepicker:** The date range pickers are only shown when the route is enabled. If the route is disabled, only the last known point is displayed.
|
|
227
|
+
- **Personalized Colors:** The checkbox color matches the person's color.
|
|
228
|
+
- **Consistent Header:** The header height remains consistent regardless of the checkbox state.
|
|
229
|
+
|
|
230
|
+
#### Tracker States
|
|
231
|
+
|
|
232
|
+
##### Configuration (`tracker.config.*`)
|
|
233
|
+
|
|
234
|
+
All color and behavior settings can be changed at runtime — the maps are re-rendered immediately without restarting the adapter.
|
|
235
|
+
|
|
236
|
+
| State | Type | Description |
|
|
237
|
+
|---|---|---|
|
|
238
|
+
| `tracker.config.enabled` | boolean | Enable / disable the route logger |as ghst
|
|
239
|
+
|
|
240
|
+
##### Per-Person Data (`tracker.<Name>.*`)
|
|
241
|
+
|
|
242
|
+
| State | Type | Description |
|
|
243
|
+
|---|---|---|
|
|
244
|
+
| `tracker.<Name>.allTime.geojson` | string (JSON) | Full GeoJSON history (all days) |
|
|
245
|
+
| `tracker.<Name>.currentYear.MM.geojson` | string (JSON) | Monthly GeoJSON backup |
|
|
246
|
+
| `tracker.<Name>.mapSize` | number (KB) | File size of the generated HTML map |
|
|
247
|
+
| `tracker.<Name>.url` | text.url | HTTP URL of the person's map |
|
|
248
|
+
|
|
249
|
+
##### Circle Map (`tracker.circle.*`)
|
|
250
|
+
|
|
251
|
+
| State | Type | Description |
|
|
252
|
+
|---|---|---|
|
|
253
|
+
| `tracker.circle.allTime.geojson` | string (JSON) | Merged GeoJSON of all circle members |
|
|
254
|
+
| `tracker.circle.currentYear.MM.geojson` | string (JSON) | Monthly GeoJSON backup |
|
|
255
|
+
| `tracker.circle.mapSize` | number (KB) | File size of the generated HTML map |
|
|
256
|
+
| `tracker.circle.url` | text.url | HTTP URL of the combined circle map |
|
|
257
|
+
|
|
258
|
+
#### Embedding in Vis / Jarvis
|
|
259
|
+
|
|
260
|
+
Use the map URL in an **iFrame widget** (Vis) or a **URL tile** (Jarvis):
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
/life360ng.0/tracker/<name>.html
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
The map refreshes itself — no additional configuration needed.
|
|
267
|
+
|
|
268
|
+
> **Note:**
|
|
269
|
+
>- The full route history (`allTime.geojson`) grows continuously. At a 60 s poll interval and 20 m minimum distance, expect roughly **1 MB per person per year** — well within ioBroker's file storage limits.
|
|
270
|
+
>- Use **Retention (days)** in the adapter config to automatically remove data older than a given number of days (0 = keep forever). Purging runs on every adapter start and once per day.
|
|
271
|
+
>- To manually clear a person's recorded route data, enable the **"Clear rec."** checkbox in the persons table and save the config. The person's `allTime.geojson` is reduced to the last known point. Since the family map is built from the individual person data, it is automatically updated as well. The monthly GeoJSON files (`currentYear.MM`) are never affected.
|
|
272
|
+
>- Route colors per person are configured in the adapter settings (Tracker tab), not via the `tracker.config.color.*` states (those control the map appearance only).
|
|
273
|
+
>- Changing any `tracker.config.color.*` state triggers an **immediate re-render** of all maps — no adapter restart required.
|
|
274
|
+
|
|
67
275
|
|
|
68
276
|
## Support
|
|
69
277
|
|
|
@@ -72,12 +280,27 @@ If you like our work and would like to support us, we appreciate any donation.
|
|
|
72
280
|
|
|
73
281
|
[](https://www.paypal.com/donate?hosted_button_id=7W6M3TFZ4W9LW)
|
|
74
282
|
|
|
283
|
+
## Credits
|
|
284
|
+
|
|
285
|
+
This adapter is based on the original work by [MiGoller](https://github.com/MiGoller).<br>
|
|
286
|
+
Many thanks for the initial implementation and idea!
|
|
287
|
+
This repository contains optimizations and further development.<br>
|
|
288
|
+
Note: The original [repository](https://github.com/MiGoller/ioBroker.life360) is archived and no longer maintained.
|
|
75
289
|
|
|
76
290
|
## Changelog
|
|
77
291
|
|
|
78
292
|
<!--
|
|
79
|
-
|
|
293
|
+
### **WORK IN PROGRESS**
|
|
80
294
|
-->
|
|
295
|
+
### 1.2.0 (2026-05-01)
|
|
296
|
+
- (skvarel) Added GPS route tracking with per-person and family map (OpenStreetMap)
|
|
297
|
+
- (skvarel) Added adapter documentation
|
|
298
|
+
|
|
299
|
+
### 1.1.0 (2026-04-23)
|
|
300
|
+
- (skvarel) Fixed invalid object hierarchy (device under channel)
|
|
301
|
+
- (skvarel) Removed dependency on Places adapter
|
|
302
|
+
- (skvarel) NOTE: Delete all adapter objects after updating (see Migration Notes)
|
|
303
|
+
|
|
81
304
|
### 1.0.21 (2026-04-13)
|
|
82
305
|
- (skvarel) Improved help tab in the config
|
|
83
306
|
- (skvarel) Added new screenshots of browser DevTools
|
|
@@ -89,15 +312,6 @@ If you like our work and would like to support us, we appreciate any donation.
|
|
|
89
312
|
### 1.0.19 (2026-04-12)
|
|
90
313
|
- (skvarel) Translations adjusted
|
|
91
314
|
|
|
92
|
-
### 1.0.18 (2026-04-12)
|
|
93
|
-
- (skvarel) Fixed info.connection role in io-package.json
|
|
94
|
-
- (skvarel) Removed @ts-nocheck and unused variable from lib files; fixed CRLF line endings
|
|
95
|
-
- (skvarel) ESLint now covers all lib files with strict no-warnings enforcement
|
|
96
|
-
- (skvarel) Added Copilot instructions for guided development
|
|
97
|
-
|
|
98
|
-
### 1.0.17 (2026-04-12)
|
|
99
|
-
- (skvarel) Configuration revised, translations adjusted and repo cleaned up
|
|
100
|
-
|
|
101
315
|
## Older changes
|
|
102
316
|
- [CHANGELOG_OLD.md](CHANGELOG_OLD.md)
|
|
103
317
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg width="291.15195" height="78.11573" viewBox="0 0 290.18145 78.115731" version="1.1" id="svg4" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs2" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.078765;stroke-linecap:square;paint-order:fill markers stroke" d="m 40.99532,77.88124 c -4.1762,-0.552342 -7.524921,-1.68159 -11.526783,-3.887039 l -0.570928,-0.31464 -1.751235,0.180804 C 22.654797,74.324102 18.549699,73.342631 14.401985,70.813363 11.288871,68.914991 8.2499182,65.940695 6.0013523,62.591453 5.1001333,61.249088 3.6407908,58.684812 3.2816136,57.812479 3.1737427,57.550489 2.8760717,56.827046 2.6201239,56.204826 1.7227662,54.023304 0.97019422,51.511495 0.45652472,48.983497 c -0.1349461,-0.664134 -0.2706424,-1.280403 -0.3015422,-1.369484 -0.0710959,-0.204938 -0.2669513,-1.910462 -0.48356,-4.210865 -0.2974276,-3.158668 -0.182121,-6.461728 0.353352,-10.122255 0.6679751,-4.566321 2.60902038,-10.061746 4.84841688,-13.726687 0.2508328,-0.410507 0.4560612,-0.775376 0.4560612,-0.810814 0,-0.123939 2.0677586,-3.093607 2.6470586,-3.801645 0.321529,-0.392981 0.803208,-0.982455 1.0704,-1.309939 0.899068,-1.101952 4.0959508,-4.1643489 5.4290298,-5.2006479 1.372496,-1.066935 3.576127,-2.5667135 4.607871,-3.1360906 0.327487,-0.1807239 1.017259,-0.5626183 1.532833,-0.8486557 0.51557,-0.2860339 0.961248,-0.5200648 0.99039,-0.5200648 0.02914,0 0.652287,-0.2645972 1.384762,-0.587993 C 27.90117,1.1707223 33.559477,-0.00952519 38.995947,5.79011e-5 41.292105,0.00408791 45.086904,0.35693771 46.592331,0.70635511 c 0.26199,0.060806 0.878255,0.2007703 1.369484,0.31102519 8.255377,1.852924 15.590962,6.2537018 21.02292,12.6121107 0.390586,0.457205 0.748486,0.885911 0.79533,0.952682 0.04685,0.06677 0.238321,0.308961 0.425502,0.538201 0.187181,0.229239 0.60335,0.791917 0.924823,1.250396 0.321471,0.458479 0.625688,0.85146 0.676038,0.873293 0.05035,0.02184 0.09154,0.08639 0.09154,0.143463 0,0.05707 0.382573,0.735856 0.85016,1.508411 1.345849,2.223638 2.632314,4.991472 3.392684,7.299377 1.377905,4.182269 1.930685,7.093708 2.207778,11.628129 0.205775,3.367364 -0.04354,6.901447 -0.74645,10.58129 -0.646994,3.387091 -1.643815,6.510924 -2.971104,9.310842 -0.389739,0.822154 -0.708617,1.508454 -0.708617,1.525113 0,0.04785 -1.470909,2.561655 -1.855621,3.171282 -2.532804,4.013552 -6.393783,7.952897 -10.330194,10.539871 -0.731705,0.480869 -1.38858,0.922552 -1.459719,0.981517 -0.360331,0.298665 -4.438594,2.199728 -5.527209,2.57648 -4.145531,1.434715 -9.351241,1.953756 -13.75436,1.371402 z m 8.038262,-4.693728 c 1.183811,-0.190684 2.662717,-0.551392 3.572562,-0.871356 0.294737,-0.10365 0.82139,-0.286484 1.170344,-0.406299 0.812845,-0.279099 2.898906,-1.314563 4.146611,-2.058269 4.193506,-2.499582 8.083569,-6.537332 11.029113,-11.447839 1.095957,-1.827065 2.557434,-5.205333 3.218058,-7.438681 0.106557,-0.360231 0.273892,-0.922909 0.371857,-1.250396 0.872084,-2.915307 1.43108,-8.599042 1.159436,-11.788877 -0.347746,-4.083471 -0.457267,-4.811811 -1.0924,-7.264779 C 71.378305,25.907279 69.539976,22.045555 66.713482,18.276137 65.724485,16.957206 64.164808,15.168726 63.347925,14.416854 63.105432,14.193657 62.639084,13.763283 62.3116,13.460468 61.984116,13.157648 61.448303,12.697199 61.120906,12.43725 60.793509,12.177297 60.454592,11.897462 60.367751,11.815389 60.280911,11.733319 59.718161,11.325091 59.117198,10.908222 54.499071,7.7047801 49.229947,5.6850064 43.496113,4.9203107 40.472128,4.5170162 35.098418,4.6773737 32.421173,5.2508021 c -1.144776,0.2451944 -2.622832,0.5955955 -2.977134,0.7057804 -1.711776,0.5323556 -3.788334,1.2607096 -4.22753,1.4828096 -0.294737,0.149048 -0.777033,0.370781 -1.07177,0.49274 -0.467818,0.193585 -2.602341,1.330235 -3.27356,1.743199 -1.099562,0.6765009 -2.608614,1.7457199 -3.752473,2.6587689 -1.342369,1.071497 -4.034806,3.690137 -4.762636,4.632099 -0.202431,0.261986 -0.458396,0.583518 -0.568804,0.714509 -2.0114478,2.38645 -4.2336688,6.325816 -5.4205946,9.609173 -1.0450679,2.89094 -1.6226343,5.30005 -1.9501948,8.134548 -0.3881363,3.358655 -0.2068589,8.839562 0.3879563,11.729908 0.4238844,2.059763 0.5300447,2.490163 1.0720965,4.346618 0.6805224,2.330705 2.1268638,5.557261 3.4092638,7.605517 2.3785268,3.798998 5.8020018,7.017281 9.2494218,8.695039 1.330778,0.647649 3.574386,1.383619 4.217977,1.383619 0.30687,0 0.55795,-0.03191 0.55795,-0.07093 0,-0.119671 -0.50598,-0.791114 -1.070759,-1.420907 -1.09126,-1.216885 -2.859057,-3.582298 -2.859057,-3.825582 0,-0.03268 -0.220366,-0.436729 -0.489705,-0.897898 -0.593925,-1.016942 -1.289295,-2.413872 -1.713573,-3.442404 -0.676371,-1.639657 -1.845625,-5.184877 -1.845625,-5.596011 0,-0.118884 -0.04821,-0.339251 -0.107131,-0.489702 -0.29693,-0.75816 -0.876891,-4.294354 -1.09381,-6.669294 -0.189206,-2.071496 -0.07742,-8.464119 0.173445,-9.918947 0.403532,-2.340142 0.55772,-3.123293 0.738544,-3.751189 0.103743,-0.360231 0.256602,-0.922909 0.339688,-1.250396 0.2309,-0.910109 1.211851,-3.308749 1.923706,-4.703871 1.461267,-2.863854 3.615993,-5.62465 5.901878,-7.56192 1.804612,-1.529398 4.698382,-3.234169 6.830725,-4.024096 5.692488,-2.108791 12.025201,-2.150575 17.565091,-0.115893 0.82062,0.301395 3.182512,1.504263 4.0489,2.06203 1.858449,1.196436 4.022221,3.150939 5.488816,4.957958 1.249709,1.539792 2.941779,4.292654 3.573146,5.813233 1.158064,2.789064 1.22954,2.981605 1.613578,4.346614 0.677438,2.407847 0.894027,3.924437 0.961491,6.732434 0.07292,3.035252 -0.05734,4.694575 -0.553825,7.054699 -1.406666,6.686877 -5.023232,12.244118 -9.871196,15.168148 -0.683966,0.412534 -1.624991,0.900159 -2.091162,1.08361 -2.289326,0.900913 -5.62496,1.477572 -7.706366,1.332263 -0.77582,-0.05416 -1.224655,-0.0359 -1.398,0.05686 -0.140421,0.07515 -0.531795,0.550368 -0.869716,1.056035 -1.26374,1.891059 -2.793612,3.587981 -4.925574,5.463422 l -0.833598,0.733295 0.245665,0.253344 c 0.501079,0.516744 3.908248,1.466462 6.244486,1.740592 1.737544,0.203881 5.926451,0.140721 7.502378,-0.113115 z M 30.35198,68.287269 c 1.198013,-0.421527 3.17464,-1.825039 4.465076,-3.170445 0.78077,-0.814028 1.656998,-1.909425 1.894007,-2.367747 0.228625,-0.442117 0.123739,-0.624468 -0.726891,-1.263731 -1.455875,-1.094113 -2.545127,-2.255525 -3.577864,-3.814882 -2.098208,-3.168148 -3.092037,-6.611779 -3.395796,-11.766523 -0.464698,-7.88572 1.115433,-13.893554 4.368538,-16.609681 2.081143,-1.737621 5.052748,-2.435993 7.630962,-1.793392 3.19737,0.796922 5.158391,3.098605 6.040611,7.089964 0.780117,3.529438 0.583662,11.396672 -0.405915,16.255152 -0.41853,2.054824 -1.325664,5.001782 -2.071117,6.728322 -0.113116,0.26199 -0.27547,0.702316 -0.360784,0.978507 -0.146963,0.475744 -0.141705,0.506571 0.09998,0.585939 0.918871,0.301773 3.874918,-0.310848 5.473498,-1.134343 1.591775,-0.819986 3.591158,-2.62063 4.841135,-4.359918 0.595115,-0.828079 1.78946,-2.806556 1.78946,-2.964306 0,-0.03024 0.188423,-0.462904 0.41872,-0.961475 0.451809,-0.97814 1.118597,-3.151176 1.408062,-4.588825 0.380168,-1.888148 0.451984,-2.662107 0.453267,-4.884891 0.0013,-2.100443 -0.06778,-2.870944 -0.394318,-4.403766 -0.06279,-0.294737 -0.161501,-0.777033 -0.219363,-1.07177 -0.121368,-0.618216 -0.798833,-2.732172 -1.183065,-3.691643 -0.942548,-2.35363 -2.79962,-5.240091 -4.485885,-6.972437 -2.424535,-2.490793 -5.795757,-4.383529 -8.91818,-5.007014 -0.458479,-0.09155 -1.074747,-0.219246 -1.369481,-0.283773 -0.962341,-0.210683 -3.906381,-0.28376 -5.225649,-0.129711 -3.779405,0.44132 -7.096189,1.740502 -9.912826,3.882844 -1.120785,0.852477 -2.654658,2.369598 -3.460516,3.422725 -2.543243,3.323603 -3.872761,6.731914 -4.701991,12.053857 -0.386629,2.481353 -0.18923,9.50645 0.31619,11.252784 0.06622,0.228805 0.120402,0.561348 0.120402,0.73898 0,0.523897 0.78843,3.640284 1.292373,5.108296 0.790711,2.303377 1.065184,2.958908 1.934823,4.620968 1.419407,2.71278 2.85083,4.675472 4.876663,6.68662 0.99147,0.984288 2.24207,2.018663 2.44064,2.018663 0.01327,0 0.258642,-0.08251 0.545239,-0.183348 z m 8.976145,-10.995315 c 0.93452,-0.426862 1.80692,-1.698482 2.420661,-3.528379 0.391154,-1.166233 0.840353,-3.173259 0.973722,-4.350592 0.06855,-0.605138 0.149484,-1.140451 0.179854,-1.189587 0.03038,-0.04914 0.136193,-0.93465 0.235167,-1.967807 0.233971,-2.442318 0.238689,-7.473929 0.0083,-8.86625 -0.58005,-3.505645 -1.612538,-5.233312 -3.446076,-5.766335 -0.849622,-0.246991 -1.191517,-0.237275 -2.068205,0.05879 -2.80735,0.948057 -4.312494,5.309166 -4.31252,12.49541 -1.7e-5,4.413406 0.566516,7.592137 1.810717,10.159654 0.77942,1.608396 1.606219,2.560708 2.595986,2.990064 0.549394,0.238326 1.026876,0.227906 1.602381,-0.03497 z" id="path857" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.111391;stroke-linecap:square;paint-order:fill markers stroke" d="m 182.86527,57.949429 c -3.68573,-0.68252 -6.66601,-2.789188 -8.08074,-5.712011 -0.79469,-1.641837 -1.38732,-3.878369 -1.31676,-4.969352 l 0.0506,-0.782801 3.40255,-0.04556 3.40254,-0.04557 0.18789,0.719214 c 0.52768,2.019884 1.77599,3.531406 3.42646,4.148925 1.0514,0.393378 2.6365,0.473511 3.67283,0.185676 0.99272,-0.275724 2.18975,-1.185906 2.74404,-2.086471 0.45985,-0.74715 0.50944,-0.962962 0.50308,-2.189358 -0.007,-1.376973 -0.18297,-1.922656 -0.87368,-2.711486 -0.91814,-1.048589 -2.78892,-1.761261 -4.62883,-1.763355 -0.9449,-10e-4 -1.15953,-0.05485 -1.3052,-0.327041 -0.21142,-0.395045 -0.22933,-4.547411 -0.021,-4.876342 0.0943,-0.14884 0.63811,-0.277014 1.49511,-0.352365 2.14658,-0.188733 3.45553,-1.161015 4.01839,-2.984863 0.21005,-0.680605 0.21539,-0.953152 0.034,-1.733816 -0.6635,-2.855822 -4.63901,-3.941036 -6.91262,-1.886968 -0.78755,0.711509 -1.11181,1.287535 -1.48884,2.644822 l -0.28069,1.010473 -3.01436,0.04792 c -1.6579,0.02634 -3.19485,0.0035 -3.41544,-0.05087 -0.38138,-0.09394 -0.39564,-0.145959 -0.29012,-1.058395 0.5849,-5.058077 3.4035,-8.474393 7.95136,-9.637541 1.81226,-0.463497 5.22305,-0.463784 7.03411,-6.67e-4 4.29992,1.099732 7.21818,4.189581 7.57451,8.019865 0.24937,2.680616 -0.61044,5.011752 -2.50075,6.780039 -0.60242,0.563539 -1.09532,1.122072 -1.09532,1.241183 0,0.119115 0.34962,0.402041 0.77692,0.628723 1.66566,0.88363 3.0255,2.430474 3.78263,4.302807 0.36223,0.895777 0.40753,1.258982 0.39905,3.199831 -0.009,1.955476 -0.0571,2.310569 -0.45478,3.324004 -1.19365,3.042054 -3.18841,5.020778 -6.25694,6.206653 -2.39344,0.924974 -5.9155,1.236926 -8.52001,0.754623 z" id="path899" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 96.675039,57.45821 c -0.213191,-0.04632 -0.260331,-0.105574 -0.310923,-0.390824 -0.08448,-0.476338 -0.07686,-33.099771 0.0078,-33.53781 0.03841,-0.198667 0.09672,-0.38813 0.129579,-0.42103 0.03285,-0.03291 1.539114,-0.07058 3.347254,-0.08373 2.855791,-0.02077 3.313691,-0.0068 3.486861,0.106704 l 0.19933,0.130611 0.0218,13.552733 c 0.0207,12.879042 0.0293,13.560204 0.1721,13.703093 0.13974,0.139808 0.48748,0.153315 4.95463,0.192464 l 4.80434,0.0421 0.16388,0.202487 c 0.15662,0.193505 0.16282,0.3363 0.13984,3.217967 -0.022,2.763452 -0.0366,3.028036 -0.17439,3.165753 -0.14209,0.142028 -0.60439,0.150931 -8.42061,0.162175 -4.54864,0.0065 -8.383331,-0.01267 -8.521541,-0.0427 z" id="path901" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 118.58516,57.440657 c -0.23396,-0.06982 -0.27523,-0.126289 -0.31939,-0.436938 -0.0279,-0.19622 -0.0396,-5.574593 -0.026,-11.951946 0.02,-9.376138 0.0456,-11.61613 0.13414,-11.704649 0.15999,-0.159975 6.52597,-0.159975 6.68596,0 0.0885,0.08847 0.11409,2.343105 0.13363,11.788858 0.0133,6.423655 0.003,11.798877 -0.0233,11.944927 -0.0261,0.146049 -0.11279,0.296938 -0.19257,0.335312 -0.20691,0.09956 -6.06574,0.121866 -6.39238,0.02445 z" id="path903" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 131.09321,57.472144 c -0.19496,-0.02557 -0.28632,-0.0887 -0.31841,-0.220013 -0.0248,-0.101282 -0.0341,-6.284879 -0.0207,-13.741325 l 0.0243,-13.557177 0.18578,-0.757854 c 0.75069,-3.062171 2.22563,-5.108763 4.50733,-6.254276 1.59098,-0.798746 2.46207,-1.008829 4.77878,-1.152515 0.75729,-0.04697 2.55868,0.120065 3.16507,0.293476 0.64174,0.183522 1.09863,0.462607 1.16566,0.712033 0.0642,0.238795 0.0573,5.010651 -0.008,5.252978 -0.0487,0.181974 -0.0864,0.195055 -0.44093,0.152962 -0.21322,-0.02531 -0.69081,-0.10407 -1.06132,-0.175006 -0.84973,-0.162685 -1.44365,-0.165029 -2.18199,-0.0086 -1.25146,0.26512 -2.16522,0.912152 -2.6489,1.875684 -0.44035,0.877212 -0.67585,2.715444 -0.39682,3.097505 0.11317,0.154956 0.27261,0.165643 3.06659,0.205559 1.62097,0.02314 2.97875,0.07362 3.0173,0.112152 0.10596,0.105904 0.13803,5.282321 0.0344,5.554847 L 143.87485,39.09 h -2.89787 c -2.63598,0 -2.91394,0.0133 -3.07573,0.14736 l -0.17786,0.14736 -0.0209,8.942704 c -0.0168,7.199219 -0.0422,8.964038 -0.13029,9.052153 -0.0853,0.0854 -0.77913,0.111535 -3.15773,0.118947 -1.6766,0.0052 -3.17139,-0.0066 -3.32176,-0.02638 z" id="path905" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 156.84591,58.116528 c -3.05067,-0.383021 -5.50924,-1.506551 -7.45189,-3.405386 -1.17497,-1.148477 -1.72055,-1.905574 -2.40206,-3.333346 -0.94503,-1.979841 -1.25975,-3.473384 -1.25847,-5.972353 0.001,-1.866135 0.21127,-3.281617 0.66314,-4.462921 0.0974,-0.254725 0.20068,-0.538921 0.22943,-0.631547 0.0999,-0.321909 0.9162,-1.856072 1.2993,-2.441978 0.7825,-1.196729 2.39924,-2.720572 3.6928,-3.480606 0.25473,-0.149661 0.51998,-0.307818 0.58945,-0.351455 0.0695,-0.04364 0.31577,-0.161004 0.54734,-0.260813 0.23156,-0.09981 0.5726,-0.248858 0.75785,-0.331221 0.18526,-0.08236 0.56418,-0.215652 0.84206,-0.296194 2.01475,-0.583979 4.40757,-0.709825 6.39966,-0.33658 1.42786,0.267528 2.02928,0.446085 2.93074,0.870119 2.56327,1.205739 4.34287,2.931746 5.5756,5.407741 0.64793,1.301376 0.70477,1.465021 1.11139,3.199831 0.35386,1.509748 0.42307,4.686532 0.10646,4.886732 -0.0686,0.04336 -0.46573,0.07894 -0.88255,0.07906 -0.41682,8.3e-5 -4.28357,0.01017 -8.59278,0.02234 -7.33713,0.02071 -7.84939,0.03161 -8.06273,0.171425 -0.16207,0.106223 -0.22781,0.22072 -0.22781,0.396819 0,0.593181 0.69169,1.944139 1.36203,2.660243 0.50775,0.542402 1.62244,1.263094 2.34303,1.514853 1.42388,0.497475 3.22397,0.480846 4.59195,-0.04242 0.83188,-0.318204 1.85217,-1.102192 2.39716,-1.84199 0.2987,-0.405459 0.42713,-0.515087 0.60654,-0.517754 0.24067,-0.0036 2.5162,0.835168 3.91492,1.443014 0.19429,0.08443 0.39449,0.153515 0.44488,0.153515 0.12884,0 0.94021,0.413825 1.11755,0.569991 0.20707,0.182334 0.18466,0.377026 -0.10172,0.88384 -0.3146,0.556736 -1.35866,1.854074 -1.85607,2.306334 -2.29635,2.087909 -5.05069,3.109926 -8.58902,3.187014 -0.81048,0.01767 -1.75466,-0.0033 -2.09818,-0.04631 z m 6.78691,-15.595143 c 0.0531,-0.119174 0.056,-0.283186 0.008,-0.442083 -0.0422,-0.138941 -0.12682,-0.43009 -0.18811,-0.646995 -0.21013,-0.743626 -1.17444,-1.955197 -1.89496,-2.380848 -0.53882,-0.318318 -0.9418,-0.506764 -1.50631,-0.704397 -0.58148,-0.203571 -0.75425,-0.224768 -1.78073,-0.218456 -1.0099,0.0062 -1.20689,0.03218 -1.76487,0.232531 -1.329,0.477244 -2.52595,1.426065 -3.15973,2.504717 -0.54368,0.925313 -0.66161,1.412358 -0.40944,1.691003 0.13216,0.146039 0.40976,0.153992 5.37567,0.153992 h 5.23632 z" id="path907" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 211.92689,58.123621 c -3.64806,-0.419723 -6.6154,-1.998891 -8.70828,-4.634396 -1.41725,-1.784706 -2.32438,-4.108105 -2.50504,-6.41604 -0.14365,-1.835219 0.0931,-4.118032 0.54852,-5.288603 0.0631,-0.162098 0.1493,-0.427346 0.19164,-0.589444 0.20339,-0.778717 1.30708,-3.253044 1.82169,-4.083994 0.15938,-0.257352 0.21358,-0.344176 0.9377,-1.502106 0.22702,-0.363025 0.45066,-0.723006 0.49697,-0.799957 0.0463,-0.07695 0.23324,-0.36727 0.4154,-0.645148 0.5904,-0.900675 1.19432,-1.843238 1.44486,-2.255071 0.13469,-0.221394 0.3609,-0.562429 0.50268,-0.757854 0.14178,-0.195425 0.44362,-0.658462 0.67075,-1.028969 0.22713,-0.370505 0.5397,-0.856485 0.69459,-1.079953 0.15489,-0.223467 0.30795,-0.469772 0.34014,-0.54734 0.0322,-0.07757 0.36147,-0.602347 0.73174,-1.166176 0.37028,-0.563829 0.9887,-1.511149 1.37426,-2.105151 0.81154,-1.250279 0.92594,-1.399887 1.17051,-1.530778 0.23073,-0.123483 7.31624,-0.136887 7.63827,-0.01444 0.1188,0.04517 0.216,0.119931 0.216,0.166142 0,0.118545 -0.64537,1.133953 -1.47454,2.320019 -0.38853,0.55576 -1.06938,1.540972 -1.513,2.189357 -0.44361,0.648389 -1.18697,1.728332 -1.6519,2.399874 -0.46493,0.671543 -0.98733,1.4294 -1.1609,1.684121 -0.17356,0.254724 -0.43803,0.635288 -0.58769,0.845701 -0.30425,0.427726 -0.53676,1.014765 -0.44118,1.11388 0.0344,0.03572 0.32517,0.02701 0.64606,-0.01937 1.67738,-0.242437 3.96064,0.01764 5.59371,0.637185 1.22132,0.463331 2.58058,1.341242 3.70163,2.390775 1.25192,1.172065 2.73721,3.83764 3.02638,5.431291 0.0504,0.277882 0.13574,0.694701 0.18959,0.926267 0.12789,0.549925 0.12572,3.487232 -0.003,4.041891 -0.0537,0.231567 -0.14888,0.686281 -0.21143,1.010474 -0.20373,1.055968 -0.99222,2.803065 -1.84316,4.083995 -0.52717,0.793551 -2.17184,2.43161 -3.01868,3.006546 -1.41308,0.959364 -3.11658,1.669055 -4.83066,2.012488 -1.13064,0.226535 -3.32698,0.328681 -4.40365,0.204805 z m 3.30896,-6.696366 c 1.70038,-0.583739 2.97082,-1.729122 3.64917,-3.289973 0.34922,-0.803528 0.43035,-1.202855 0.43277,-2.130245 0.008,-3.149292 -2.61223,-5.738166 -5.80817,-5.738166 -2.23892,0 -4.43555,1.379117 -5.29585,3.324908 -0.75234,1.701619 -0.66391,3.626436 0.23911,5.204699 0.34101,0.596022 1.2037,1.56748 1.56951,1.76741 0.0886,0.04842 0.18004,0.112043 0.2032,0.141382 0.0927,0.117404 0.82892,0.491116 1.30519,0.662503 0.83704,0.301202 1.13773,0.34648 2.10515,0.316984 0.73967,-0.02254 1.06198,-0.07483 1.59992,-0.259502 z" id="path909" /><path id="path911" style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 245.59233,23.236682 c -0.69519,-0.110472 -4.23087,-0.109035 -5.00977,0.002 -1.96523,0.280032 -4.47944,1.395676 -6.01367,2.667969 -1.17234,0.972182 -2.52248,2.585543 -3.38281,4.044922 -0.32894,0.557987 -0.98681,1.899946 -1.09571,2.234375 -0.0377,0.115783 -0.16657,0.474635 -0.2871,0.798828 -0.72646,1.953769 -1.22071,5.026159 -1.22071,7.585937 0,1.531329 0.20731,3.739856 0.46094,4.902344 0.3065,1.404879 0.47472,2.057698 0.60156,2.345703 0.0643,0.145939 0.1169,0.316437 0.11719,0.378906 2.8e-4,0.06247 0.0531,0.213052 0.11719,0.335938 0.0641,0.122885 0.1629,0.368722 0.2207,0.546875 0.22347,0.688708 1.40439,2.854865 1.97266,3.619141 0.14174,0.190624 0.52636,0.664441 0.85547,1.052734 2.10907,2.488509 5.07531,4.002885 8.55859,4.369141 1.10945,0.116657 3.25556,0.0333 4.35742,-0.167969 1.43494,-0.26211 2.77886,-0.748512 4.00586,-1.441406 v -7.869141 h 5.66992 l 0.002,0.0039 h 0.68555 c 0.32365,-0.887278 0.60618,-1.865387 0.87305,-2.988281 0.63638,-2.677806 0.61077,-7.6145 -0.0527,-10.230469 -0.14096,-0.55576 -0.28436,-1.144545 -0.31836,-1.30664 -0.14338,-0.684277 -1.16085,-3.229056 -1.51562,-3.789063 -0.044,-0.06947 -0.20379,-0.33512 -0.35352,-0.589844 -0.67731,-1.152258 -1.52211,-2.2044 -2.52148,-3.138672 -1.01886,-0.952498 -1.02697,-0.958009 -2.17969,-1.677734 -1.25067,-0.78089 -3.06144,-1.453625 -4.54687,-1.689453 z m -2.46289,6.59375 c 0.54184,0.0075 1.08718,0.06157 1.47265,0.160156 2.11307,0.540432 3.92045,2.36185 4.72852,4.763672 0.12458,0.370314 0.26073,0.749167 0.30273,0.841797 0.14693,0.324447 0.41744,1.608552 0.56641,2.693359 0.20511,1.493467 0.18541,3.414676 -0.0508,5.011719 -0.176,1.190097 -0.40571,2.162066 -0.5918,2.509766 -0.0507,0.09464 -0.0916,0.242082 -0.0918,0.326172 -6.3e-4,0.235241 -0.68481,1.698622 -1.05468,2.255859 -0.7201,1.08488 -1.60241,1.921642 -2.48242,2.355469 -0.25472,0.125573 -0.52637,0.263027 -0.60547,0.304687 -0.0791,0.04167 -0.49565,0.152644 -0.92383,0.246094 -0.44455,0.09702 -1.05117,0.164003 -1.41406,0.158203 -0.69031,-0.01105 -1.76646,-0.223997 -2.22461,-0.441406 -0.15823,-0.07509 -0.3125,-0.136719 -0.3418,-0.136719 -0.12471,0 -1.25574,-0.801988 -1.58399,-1.123047 -1.22574,-1.198937 -2.07132,-2.912811 -2.66601,-5.40039 -0.32417,-1.356016 -0.42478,-4.066059 -0.21875,-5.910157 0.13382,-1.19774 0.18711,-1.464217 0.56836,-2.808593 0.85643,-3.019997 2.76109,-5.119664 5.1582,-5.6875 0.37191,-0.0881 0.91128,-0.126644 1.45313,-0.119141 z" /><circle style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.233236;stroke-linecap:square;paint-order:fill markers stroke" id="path913" cx="121.71664" cy="26.094625" r="4.0615444" /><text xml:space="preserve" style="font-size:31.475px;line-height:1.25;font-family:sans-serif;fill:#888;fill-opacity:1;stroke-width:0.786874" x="250.55078" y="67.688271" id="text1"><tspan id="tspan1" x="250.55078" y="67.688271" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, ';fill:#888;fill-opacity:1;stroke-width:0.786874">ng</tspan></text></svg>
|
package/admin/i18n/de.json
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"debugging_verbose": "Aktiviere hier die ausführliche Protokollierung",
|
|
3
|
+
"family_map_header_name": "Name der Kreiskarten-Kopfzeile (optional)",
|
|
4
|
+
"family_map_header_name_help": "Wenn dieser Name festgelegt ist, wird er als Kopfzeile in der Kreiskarte angezeigt. Lassen das Feld leer, um den Kreisnamen oder die Standardeinstellung 'Circle' zu verwenden.",
|
|
3
5
|
"help_txt": "Weitere Informationen findest du im „Hilfe“-Tab!",
|
|
4
6
|
"helps": "Hilfe & FAQ",
|
|
5
7
|
"intro_txt": "Hilfe & FAQ",
|
|
@@ -8,7 +10,6 @@
|
|
|
8
10
|
"life360_token": "Token (ohne 'Bearer' und ohne Leerzeichen)",
|
|
9
11
|
"life360_username": "E-Mail-Adresse (optional, Ersatz für Passwortauthentifizierung)",
|
|
10
12
|
"life360_username_help": "Wird nur benötigt, wenn du die passwortbasierte Anmeldung anstelle des Tokens verwenden möchtest (nicht empfohlen)",
|
|
11
|
-
"location_object_type": "Geolokalisierungsobjekttyp",
|
|
12
13
|
"location_unknown_name": "Ersatzname für unbekannten Standort",
|
|
13
14
|
"location_unknown_name_help": "Text für locationName wenn die Person an keinem bekannten Ort ist (z.B. 'unterwegs'). Leer lassen, um den Wert leer zu belassen.",
|
|
14
15
|
"paypal_donate": "Falls du uns unterstützen möchtest.",
|
|
@@ -24,18 +25,41 @@
|
|
|
24
25
|
"screenshot_txt": "Screenshots der Browser-DevTools (F12) mit hervorgehobenem Token-Wert • (die Verwendung von DevTools in einem neuen Fenster wird empfohlen):",
|
|
25
26
|
"section_life360_data": "Life360-Daten",
|
|
26
27
|
"section_location_tracking": "Standortverfolgung",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"sendto_places_adapter_regexp": "Regex-Filter für Personen (leer = alle senden)",
|
|
31
|
-
"sendto_places_adapter_regexp_help": "Regulärer Ausdruck abgeglichen mit „[Vorname] [Nachname]“. Lass das Feld leer, um alle zu senden.",
|
|
28
|
+
"section_tracker_colors": "Kartendesign",
|
|
29
|
+
"section_tracker_general": "Allgemein",
|
|
30
|
+
"section_tracker_info": "Hinweis",
|
|
32
31
|
"tab_advanced": "Protokolle/Logging",
|
|
33
32
|
"tab_general": "Life360-LogIn",
|
|
34
33
|
"tab_integration": "Integration",
|
|
35
34
|
"tab_myplaces": "Meine Orte",
|
|
35
|
+
"tab_tracker": "Fahrtenbuch",
|
|
36
36
|
"token1_txt": "Erste Variante:",
|
|
37
37
|
"token2_txt": "Zweite Variante:",
|
|
38
38
|
"token_hint": "EU-Benutzer – So erhältst du deinen Bearer-Token:\n\n1. Öffne https://life360.com/login\n2. Gib deine E-Mail-Adresse ein → klicke auf Weiter\n3. Gib den an deine E-Mail-Adresse gesendeten Einmalcode ein\n4. Öffne die Browser-DevTools (F12) → Registerkarte „Netzwerk“.\n5. Suche die POST-Anfrage mit dem Namen „token“ und/oder „bearer“ (nicht OPTIONS).\n6. Öffne die Registerkarte „Vorschau/Antwort“ → kopiere den Wert von „access_token“ und füge ihn unten ein\n\nAchtung: Gib den Token OHNE das Wort „Bearer“ und OHNE Leerzeichen ein!\n\nDer Token ist mehrere Monate gültig.",
|
|
39
39
|
"track_location_people": "Aktiviere die Standortverfolgung für Personen",
|
|
40
|
-
"
|
|
40
|
+
"tracker_clear_recordings_info": "⚠ Hinweis: Beim Leeren der Aufzeichnungen einer Person wird auch die Kreiskarte aktualisiert, da sie aus den Personen-Daten aufgebaut wird. Die monatlichen GeoJSON-Dateien (currentYear) werden nicht verändert.",
|
|
41
|
+
"tracker_color_header_bg": "Header-Hintergrund",
|
|
42
|
+
"tracker_color_header_border": "Header-Trennlinie",
|
|
43
|
+
"tracker_color_header_text": "Header-Text",
|
|
44
|
+
"tracker_color_page_bg": "Seitenhintergrund",
|
|
45
|
+
"tracker_enabled": "Fahrtenbuch aktiv - Globale Kontrolle",
|
|
46
|
+
"tracker_enabled_help": "Kann auch per Datenpunkt tracker.config.enabled gesteuert werden",
|
|
47
|
+
"tracker_info_txt": "Änderungen an den Farben werden beim nächsten GPS-Update automatisch übernommen.\nDie Karten-URL ist unter tracker.<Person>.url im Objektbaum zu finden.",
|
|
48
|
+
"tracker_marker_opacity": "Deckkraft Marker",
|
|
49
|
+
"tracker_marker_opacity_help": "Deckkraft des Positionsmarkers (0.0 = transparent, 1.0 = voll sichtbar)",
|
|
50
|
+
"tracker_min_distance": "Mindestabstand (Meter)",
|
|
51
|
+
"tracker_min_distance_help": "Neuer Punkt wird erst ab diesem Abstand gespeichert (5-500m)",
|
|
52
|
+
"tracker_person_circle_map": "Kreiskarte",
|
|
53
|
+
"tracker_person_clear_recordings": "Aufz. leeren",
|
|
54
|
+
"tracker_person_color": "Farbe",
|
|
55
|
+
"tracker_person_enabled": "Aktiv",
|
|
56
|
+
"tracker_person_family_map": "Kreiskarte",
|
|
57
|
+
"tracker_person_name": "Name",
|
|
58
|
+
"tracker_person_own_map": "Eigene Karte",
|
|
59
|
+
"tracker_retention_days": "Aufbewahrung (Tage)",
|
|
60
|
+
"tracker_retention_days_help": "Anzahl der Tage, die Routendaten aufbewahrt werden. Ältere Tage werden täglich und beim Adapterstart automatisch entfernt. 0 = unbegrenzt.",
|
|
61
|
+
"tracker_route_opacity": "Deckkraft Route",
|
|
62
|
+
"tracker_route_opacity_help": "Deckkraft der Route (0.0 - 1.0)",
|
|
63
|
+
"tracker_route_weight": "Linienbreite (px)",
|
|
64
|
+
"tracker_route_weight_help": "Breite der Route in Pixel (1-10)"
|
|
41
65
|
}
|
package/admin/i18n/en.json
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
+
"debugging_verbose": "Enable verbose logging",
|
|
3
|
+
"family_map_header_name": "Circle map header name (optional)",
|
|
4
|
+
"family_map_header_name_help": "If set, this name will be shown as the header in the Circle Map. Leave empty to use the circle name or default 'Circle'.",
|
|
2
5
|
"tab_general": "Life360",
|
|
3
6
|
"tab_myplaces": "My Places",
|
|
4
7
|
"tab_integration": "Integration",
|
|
@@ -18,24 +21,44 @@
|
|
|
18
21
|
"process_life360_circles": "Process Life360 circles",
|
|
19
22
|
"process_life360_places": "Process Life360 places",
|
|
20
23
|
"process_life360_people": "Process Life360 people",
|
|
21
|
-
"section_places_adapter": "Places-adapter",
|
|
22
|
-
"sendto_places_adapter_instance": "Places-adapter instance (-1 = disabled)",
|
|
23
|
-
"sendto_places_adapter_instance_help": "Enter the instance number of the Places-adapter (e.g. 0). Set to -1 to disable forwarding.",
|
|
24
|
-
"sendto_places_adapter_regexp": "Regex filter for people (empty = send all)",
|
|
25
|
-
"sendto_places_adapter_regexp_help": "Regular expression matched against '[Firstname] [Lastname]'. Leave empty to send all.",
|
|
26
24
|
"section_location_tracking": "Location-tracking",
|
|
27
25
|
"track_location_people": "Enable location-tracking for people",
|
|
28
26
|
"location_unknown_name": "Fallback name for unknown location",
|
|
29
27
|
"location_unknown_name_help": "Text shown in locationName when the person is at no known place (e.g. 'on tour'). Leave empty to keep blank.",
|
|
30
|
-
"location_object_type": "Geo-location object type",
|
|
31
|
-
"debugging_verbose": "Enable verbose logging",
|
|
32
28
|
"helps": "Help & FAQ",
|
|
33
29
|
"intro_txt": "Help & FAQ.",
|
|
34
|
-
"txt_one": "... more information coming soon!",
|
|
35
30
|
"paypal_donate": "Donate with PayPal",
|
|
36
31
|
"screenshot_txt": "Screenshots of the browser DevTools (F12) with the token value highlighted • (using DevTools in a new window is recommended):",
|
|
37
32
|
"help_txt": "You can find more information in the 'Help' tab!",
|
|
38
33
|
"places_txt": "Here you can add your own locations (independent of the Life360 app) to, for example, calculate distances or receive notifications when people arrive at or leave a location.\n (Use a period instead of a comma for latitude and longitude)",
|
|
39
34
|
"token1_txt": "First variant:",
|
|
40
|
-
"token2_txt": "Second variant:"
|
|
35
|
+
"token2_txt": "Second variant:",
|
|
36
|
+
"tab_tracker": "Logbook",
|
|
37
|
+
"section_tracker_general": "General",
|
|
38
|
+
"tracker_enabled": "Logbook active - Global control",
|
|
39
|
+
"tracker_enabled_help": "Can also be controlled via state tracker.config.enabled (e.g. by CRON)",
|
|
40
|
+
"tracker_min_distance": "Minimum distance (meters)",
|
|
41
|
+
"tracker_min_distance_help": "A new point is saved only after this distance has been exceeded (5-500m)",
|
|
42
|
+
"section_tracker_colors": "Map design",
|
|
43
|
+
"tracker_color_page_bg": "Page background",
|
|
44
|
+
"tracker_color_header_bg": "Header background",
|
|
45
|
+
"tracker_color_header_border": "Header divider",
|
|
46
|
+
"tracker_color_header_text": "Header text",
|
|
47
|
+
"tracker_route_weight": "Line width (px)",
|
|
48
|
+
"tracker_route_weight_help": "Width of the route line in pixels (1-10)",
|
|
49
|
+
"tracker_route_opacity": "Route opacity",
|
|
50
|
+
"tracker_route_opacity_help": "Opacity of the route line (0.0 - 1.0)",
|
|
51
|
+
"tracker_marker_opacity": "Marker opacity",
|
|
52
|
+
"tracker_marker_opacity_help": "Opacity of the position marker (0.0 = transparent, 1.0 = fully visible)",
|
|
53
|
+
"section_tracker_info": "Note",
|
|
54
|
+
"tracker_info_txt": "Color changes take effect automatically on the next GPS update.\nThe map URL can be found under tracker.<Person>.url in the object tree.",
|
|
55
|
+
"tracker_person_name": "Name",
|
|
56
|
+
"tracker_person_enabled": "Active",
|
|
57
|
+
"tracker_person_color": "Color",
|
|
58
|
+
"tracker_person_own_map": "Own map",
|
|
59
|
+
"tracker_person_circle_map": "Circle map",
|
|
60
|
+
"tracker_clear_recordings_info": "⚠ Note: Clearing a person's recordings also affects the circle map, as it is built from the individual person data. The monthly GeoJSON files (currentYear) are not changed.",
|
|
61
|
+
"tracker_person_clear_recordings": "Clear rec.",
|
|
62
|
+
"tracker_retention_days": "Retention (days)",
|
|
63
|
+
"tracker_retention_days_help": "Number of days to keep route data. Older days are removed automatically every day and on adapter start. 0 = keep forever."
|
|
41
64
|
}
|
package/admin/i18n/es.json
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"debugging_verbose": "Habilitar el registro detallado",
|
|
3
|
+
"family_map_header_name": "Nombre del encabezado del mapa circular (opcional)",
|
|
4
|
+
"family_map_header_name_help": "Si se establece, este nombre se mostrará como encabezado en el Mapa circular. Déjelo vacío para usar el nombre del círculo o el 'Círculo' predeterminado.",
|
|
3
5
|
"help_txt": "¡Puedes encontrar más información en la pestaña 'Ayuda'!",
|
|
4
6
|
"helps": "Ayuda y preguntas frecuentes",
|
|
5
7
|
"intro_txt": "Ayuda y preguntas frecuentes.",
|
|
@@ -8,7 +10,6 @@
|
|
|
8
10
|
"life360_token": "ficha al portador",
|
|
9
11
|
"life360_username": "Dirección de correo electrónico (opcional, alternativa para la autenticación de contraseña)",
|
|
10
12
|
"life360_username_help": "Solo es necesario si desea utilizar un inicio de sesión basado en contraseña en lugar de un token",
|
|
11
|
-
"location_object_type": "Tipo de objeto de ubicación geográfica",
|
|
12
13
|
"location_unknown_name": "Nombre alternativo para una ubicación desconocida",
|
|
13
14
|
"location_unknown_name_help": "Texto que se muestra en LocationName cuando la persona no se encuentra en un lugar conocido (por ejemplo, \"de gira\"). Déjelo vacío para mantenerlo en blanco.",
|
|
14
15
|
"paypal_donate": "Donar con PayPal",
|
|
@@ -21,21 +22,43 @@
|
|
|
21
22
|
"process_life360_circles": "Vida del proceso360 círculos",
|
|
22
23
|
"process_life360_people": "Vida del Proceso360 personas",
|
|
23
24
|
"process_life360_places": "Proceso de vida360 lugares",
|
|
24
|
-
"screenshot_txt": "
|
|
25
|
+
"screenshot_txt": "Capturas de pantalla del navegador DevTools (F12) con el valor del token resaltado • (se recomienda usar DevTools en una nueva ventana):",
|
|
25
26
|
"section_life360_data": "Datos de vida 360",
|
|
26
27
|
"section_location_tracking": "Seguimiento de ubicación",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"sendto_places_adapter_regexp": "Filtro Regex para personas (vacío = enviar todo)",
|
|
31
|
-
"sendto_places_adapter_regexp_help": "Expresión regular comparada con '[Nombre] [Apellido]'. Déjelo vacío para enviarlo todo.",
|
|
28
|
+
"section_tracker_colors": "Diseño de mapas",
|
|
29
|
+
"section_tracker_general": "General",
|
|
30
|
+
"section_tracker_info": "Nota",
|
|
32
31
|
"tab_advanced": "Avanzado",
|
|
33
32
|
"tab_general": "vida360",
|
|
34
33
|
"tab_integration": "Integración",
|
|
35
34
|
"tab_myplaces": "Mis lugares",
|
|
35
|
+
"tab_tracker": "Cuaderno",
|
|
36
36
|
"token1_txt": "Primera variante:",
|
|
37
37
|
"token2_txt": "Segunda variante:",
|
|
38
|
-
"token_hint": "Usuarios de la UE: cómo obtener su token de portador:\n1. Abra https://life360.com/login\n2. Ingrese su dirección de correo electrónico → haga clic en Continuar\n3. Ingrese el código de un solo uso enviado a su correo electrónico\n4. Abra el navegador DevTools (F12) → pestaña Red\n5. Busque la solicitud POST denominada 'token' (no OPCIONES)\n6. Abra la pestaña Vista previa/Respuesta → copie el valor de 'access_token' y péguelo debajo\n\n¡Ingrese el token SIN la palabra 'Portador' y SIN espacios!\n\
|
|
38
|
+
"token_hint": "Usuarios de la UE: cómo obtener su token de portador:\n1. Abra https://life360.com/login\n2. Ingrese su dirección de correo electrónico → haga clic en Continuar\n3. Ingrese el código de un solo uso enviado a su correo electrónico\n4. Abra el navegador DevTools (F12) → pestaña Red\n5. Busque la solicitud POST denominada 'token' y/o 'portador' (no OPCIONES)\n6. Abra la pestaña Vista previa/Respuesta → copie el valor de 'access_token' y péguelo debajo\n\n¡Ingrese el token SIN la palabra 'Portador' y SIN espacios!\n\nEl token es válido por varios meses.",
|
|
39
39
|
"track_location_people": "Habilitar el seguimiento de ubicación de personas",
|
|
40
|
-
"
|
|
40
|
+
"tracker_clear_recordings_info": "⚠ Nota: Borrar las grabaciones de una persona también afecta el mapa circular, ya que se construye a partir de los datos de la persona individual. Los archivos GeoJSON mensuales (año actual) no se modifican.",
|
|
41
|
+
"tracker_color_header_bg": "Fondo del encabezado",
|
|
42
|
+
"tracker_color_header_border": "Divisor de encabezado",
|
|
43
|
+
"tracker_color_header_text": "Texto del encabezado",
|
|
44
|
+
"tracker_color_page_bg": "Fondo de la página",
|
|
45
|
+
"tracker_enabled": "Libro de registro activo - Control global",
|
|
46
|
+
"tracker_enabled_help": "También se puede controlar mediante state tracker.config.enabled (por ejemplo, mediante CRON)",
|
|
47
|
+
"tracker_info_txt": "Los cambios de color entran en vigor automáticamente en la próxima actualización del GPS.\nLa URL del mapa se puede encontrar en tracker.<Persona>.url en el árbol de objetos.",
|
|
48
|
+
"tracker_marker_opacity": "Opacidad del marcador",
|
|
49
|
+
"tracker_marker_opacity_help": "Opacidad del marcador de posición (0,0 = transparente, 1,0 = totalmente visible)",
|
|
50
|
+
"tracker_min_distance": "Distancia mínima (metros)",
|
|
51
|
+
"tracker_min_distance_help": "Un nuevo punto se guarda sólo después de superar esta distancia (5-500 m)",
|
|
52
|
+
"tracker_person_circle_map": "mapa circular",
|
|
53
|
+
"tracker_person_clear_recordings": "Borrar grabación.",
|
|
54
|
+
"tracker_person_color": "Color",
|
|
55
|
+
"tracker_person_enabled": "Activo",
|
|
56
|
+
"tracker_person_name": "Nombre",
|
|
57
|
+
"tracker_person_own_map": "Mapa propio",
|
|
58
|
+
"tracker_retention_days": "Retención (días)",
|
|
59
|
+
"tracker_retention_days_help": "Número de días para conservar los datos de la ruta. Los días más antiguos se eliminan automáticamente todos los días y al iniciar el adaptador. 0 = conservar para siempre.",
|
|
60
|
+
"tracker_route_opacity": "Opacidad de ruta",
|
|
61
|
+
"tracker_route_opacity_help": "Opacidad de la línea de ruta (0,0 - 1,0)",
|
|
62
|
+
"tracker_route_weight": "Ancho de línea (px)",
|
|
63
|
+
"tracker_route_weight_help": "Ancho de la línea de ruta en píxeles (1-10)"
|
|
41
64
|
}
|
package/admin/i18n/fr.json
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"debugging_verbose": "Activer la journalisation détaillée",
|
|
3
|
+
"family_map_header_name": "Nom de l'en-tête de la carte circulaire (facultatif)",
|
|
4
|
+
"family_map_header_name_help": "S'il est défini, ce nom sera affiché comme en-tête dans la carte du cercle. Laissez vide pour utiliser le nom du cercle ou « Cercle » par défaut.",
|
|
3
5
|
"help_txt": "Vous pouvez trouver plus d'informations dans l'onglet 'Aide' !",
|
|
4
6
|
"helps": "Aide et FAQ",
|
|
5
7
|
"intro_txt": "Aide et FAQ.",
|
|
@@ -8,7 +10,6 @@
|
|
|
8
10
|
"life360_token": "Jeton du porteur",
|
|
9
11
|
"life360_username": "Adresse e-mail (facultatif, solution de secours pour l'authentification par mot de passe)",
|
|
10
12
|
"life360_username_help": "Nécessaire uniquement si vous souhaitez utiliser une connexion par mot de passe au lieu d'un jeton",
|
|
11
|
-
"location_object_type": "Type d'objet de géolocalisation",
|
|
12
13
|
"location_unknown_name": "Nom de secours pour un emplacement inconnu",
|
|
13
14
|
"location_unknown_name_help": "Texte affiché dans locationName lorsque la personne ne se trouve dans aucun endroit connu (par exemple « en tournée »). Laissez vide pour rester vide.",
|
|
14
15
|
"paypal_donate": "Faites un don avec PayPal",
|
|
@@ -21,21 +22,43 @@
|
|
|
21
22
|
"process_life360_circles": "Traiter les cercles Life360",
|
|
22
23
|
"process_life360_people": "Processus de vie360 personnes",
|
|
23
24
|
"process_life360_places": "Processus Life360 lieux",
|
|
24
|
-
"screenshot_txt": "
|
|
25
|
+
"screenshot_txt": "Captures d'écran du navigateur DevTools (F12) avec la valeur du jeton en surbrillance • (l'utilisation de DevTools dans une nouvelle fenêtre est recommandée) :",
|
|
25
26
|
"section_life360_data": "Données Life360",
|
|
26
27
|
"section_location_tracking": "Suivi de localisation",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"sendto_places_adapter_regexp": "Filtre Regex pour les personnes (vide = tout envoyer)",
|
|
31
|
-
"sendto_places_adapter_regexp_help": "Expression régulière comparée à « [Prénom] [Nom] ». Laissez vide pour tout envoyer.",
|
|
28
|
+
"section_tracker_colors": "Conception de la carte",
|
|
29
|
+
"section_tracker_general": "Général",
|
|
30
|
+
"section_tracker_info": "Note",
|
|
32
31
|
"tab_advanced": "Avancé",
|
|
33
32
|
"tab_general": "Vie360",
|
|
34
33
|
"tab_integration": "Intégration",
|
|
35
34
|
"tab_myplaces": "Mes adresses",
|
|
35
|
+
"tab_tracker": "Registre",
|
|
36
36
|
"token1_txt": "Première variante :",
|
|
37
37
|
"token2_txt": "Deuxième variante :",
|
|
38
|
-
"token_hint": "Utilisateurs de l'UE – comment obtenir votre jeton Bearer :\n1. Ouvrez https://life360.com/login\n2. Entrez votre adresse e-mail → cliquez sur Continuer\n3. Entrez le code à usage unique envoyé à votre email\n4. Ouvrez le navigateur DevTools (F12) → onglet Réseau\n5. Recherchez la requête POST nommée
|
|
38
|
+
"token_hint": "Utilisateurs de l'UE – comment obtenir votre jeton Bearer :\n1. Ouvrez https://life360.com/login\n2. Entrez votre adresse e-mail → cliquez sur Continuer\n3. Entrez le code à usage unique envoyé à votre email\n4. Ouvrez le navigateur DevTools (F12) → onglet Réseau\n5. Recherchez la requête POST nommée 'token' et/ou 'bearer' (pas OPTIONS)\n6. Ouvrez l'onglet Aperçu / Réponse → copiez la valeur de 'access_token' et collez-la ci-dessous\n\nEntrez le jeton SANS le mot 'Porteur' et SANS espaces !\n\nLe token est valable plusieurs mois.",
|
|
39
39
|
"track_location_people": "Activer le suivi de localisation des personnes",
|
|
40
|
-
"
|
|
40
|
+
"tracker_clear_recordings_info": "⚠ Remarque : La suppression des enregistrements d'une personne affecte également la carte du cercle, car elle est construite à partir des données individuelles de la personne. Les fichiers GeoJSON mensuels (currentYear) ne sont pas modifiés.",
|
|
41
|
+
"tracker_color_header_bg": "Arrière-plan de l'en-tête",
|
|
42
|
+
"tracker_color_header_border": "Séparateur d'en-tête",
|
|
43
|
+
"tracker_color_header_text": "Texte d'en-tête",
|
|
44
|
+
"tracker_color_page_bg": "Fond de page",
|
|
45
|
+
"tracker_enabled": "Journal de bord actif - Contrôle global",
|
|
46
|
+
"tracker_enabled_help": "Peut également être contrôlé via state tracker.config.enabled (par exemple par CRON)",
|
|
47
|
+
"tracker_info_txt": "Les changements de couleur prennent effet automatiquement lors de la prochaine mise à jour du GPS.\nL'URL de la carte se trouve sous tracker.<Person>.url dans l'arborescence des objets.",
|
|
48
|
+
"tracker_marker_opacity": "Opacité du marqueur",
|
|
49
|
+
"tracker_marker_opacity_help": "Opacité du marqueur de position (0,0 = transparent, 1,0 = entièrement visible)",
|
|
50
|
+
"tracker_min_distance": "Distance minimale (mètres)",
|
|
51
|
+
"tracker_min_distance_help": "Un nouveau point n'est enregistré qu'après avoir dépassé cette distance (5-500m)",
|
|
52
|
+
"tracker_person_circle_map": "Carte circulaire",
|
|
53
|
+
"tracker_person_clear_recordings": "Effacer l'enregistrement.",
|
|
54
|
+
"tracker_person_color": "Couleur",
|
|
55
|
+
"tracker_person_enabled": "Actif",
|
|
56
|
+
"tracker_person_name": "Nom",
|
|
57
|
+
"tracker_person_own_map": "Propre carte",
|
|
58
|
+
"tracker_retention_days": "Rétention (jours)",
|
|
59
|
+
"tracker_retention_days_help": "Nombre de jours pendant lesquels conserver les données d'itinéraire. Les jours les plus anciens sont automatiquement supprimés chaque jour et au démarrage de l'adaptateur. 0 = conserver pour toujours.",
|
|
60
|
+
"tracker_route_opacity": "Opacité de l'itinéraire",
|
|
61
|
+
"tracker_route_opacity_help": "Opacité de la ligne de routage (0,0 - 1,0)",
|
|
62
|
+
"tracker_route_weight": "Largeur de ligne (px)",
|
|
63
|
+
"tracker_route_weight_help": "Largeur de la ligne de route en pixels (1-10)"
|
|
41
64
|
}
|