diff options
78 files changed, 1840 insertions, 354 deletions
diff --git a/.gitignore b/.gitignore index 5f48fe133..4bb6eefb9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ nbactions.xml .settings .idea *.iml +.DS_Store @@ -42,17 +42,12 @@ <entry key='logger.file'>target/tracker-server.log</entry> <entry key='event.enable'>true</entry> - <entry key='event.suppressRepeated'>60</entry> - <entry key='event.overspeedHandler'>true</entry> <entry key='event.globalSpeedLimit'>90</entry> - <entry key='event.motionHandler'>true</entry> - <entry key='event.geofenceHandler'>true</entry> - <!--<entry key='mail.smtp.host'>smtp.example.com</entry> for STARTTLS <entry key='mail.smtp.port'>587</entry> @@ -75,6 +70,8 @@ <entry key='database.user'>sa</entry> <entry key='database.password'></entry> + <entry key='database.ignoreUnknown'>true</entry> + <entry key='database.xml'>false</entry> <entry key='database.saveOriginal'>false</entry> @@ -4,15 +4,15 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.traccar</groupId> <artifactId>traccar</artifactId> - <version>3.5-SNAPSHOT</version> + <version>3.6-SNAPSHOT</version> <name>traccar</name> <url>https://www.traccar.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <jetty.version>9.2.15.v20160210</jetty.version> <!-- Jetty 9.3+ requires Java 8 --> - <jersey.version>2.22.2</jersey.version> + <jetty.version>9.2.17.v20160517</jetty.version> <!-- Jetty 9.3+ requires Java 8 --> + <jersey.version>2.23.1</jersey.version> </properties> <dependencies> @@ -30,17 +30,17 @@ <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> - <version>2.9.3</version> + <version>2.9.4</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> - <version>1.4.191</version> + <version>1.4.192</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> - <version>5.1.38</version> + <version>5.1.39</version> </dependency> <dependency> <groupId>org.postgresql</groupId> @@ -50,12 +50,12 @@ <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> - <version>2.4.5</version> + <version>2.4.7</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty</artifactId> - <version>3.10.5.Final</version> + <version>3.10.6.Final</version> </dependency> <dependency> <groupId>com.ning</groupId> <!-- org.asynchttpclient starting from version 2.0 --> @@ -110,7 +110,7 @@ <dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> - <version>3.4.2</version> + <version>3.5.1</version> </dependency> <dependency> <groupId>javax.mail</groupId> @@ -152,9 +152,8 @@ </executions> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> - <version>2.6</version> + <version>3.0.2</version> <configuration> <archive> <manifest> @@ -168,7 +167,6 @@ </configuration> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> @@ -177,7 +175,6 @@ </configuration> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <configuration> @@ -206,7 +203,6 @@ <reporting> <plugins> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.9</version> <configuration> @@ -214,12 +210,10 @@ </configuration> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>2.5</version> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.17</version> <configuration> @@ -229,10 +223,9 @@ <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> - <version>3.0.3</version> + <version>3.0.4</version> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.6</version> </plugin> diff --git a/setup/package.sh b/setup/package.sh index a7b58b599..928a6e5b1 100755 --- a/setup/package.sh +++ b/setup/package.sh @@ -94,7 +94,7 @@ package_windows () { wine app/ISCC.exe windows/traccar.iss - zip -j traccar-$1-$VERSION.zip windows/Output/setup.exe README.txt + zip -j traccar-$1-$VERSION.zip windows/Output/traccar-setup.exe README.txt rm -rf windows/Output/ rm -rf tmp/ @@ -108,26 +108,32 @@ package_unix () { cp wrapper/lib/wrapper.jar out/lib cp wrapper/src/conf/wrapper.conf.in out/conf/wrapper.conf - sed -i 's/tail -1/tail -n 1/g' out/bin/traccar + sed -i.bak 's/tail -1/tail -n 1/g' out/bin/traccar chmod +x out/bin/traccar cp ../target/tracker-server.jar out cp ../target/lib/* out/lib -cp ../schema/* out/schema + cp ../schema/* out/schema cp -r ../web/* out/web cp unix/traccar.xml out/conf - sed -i 's/@app.name@/traccar/g' out/bin/traccar - sed -i 's/@app.long.name@/traccar/g' out/bin/traccar - - sed -i '/wrapper.java.classpath.1/i\wrapper.java.classpath.2=../tracker-server.jar' out/conf/wrapper.conf - sed -i '/wrapper.app.parameter.1/i\wrapper.app.parameter.2=../conf/traccar.xml' out/conf/wrapper.conf - sed -i 's/wrapper.java.additional.1=/wrapper.java.additional.1=-Dfile.encoding=UTF-8/g' out/conf/wrapper.conf - sed -i 's/<YourMainClass>/org.traccar.Main/g' out/conf/wrapper.conf - sed -i 's/@app.name@/traccar/g' out/conf/wrapper.conf - sed -i 's/@app.long.name@/traccar/g' out/conf/wrapper.conf - sed -i 's/@app.description@/traccar/g' out/conf/wrapper.conf - sed -i 's/wrapper.logfile=..\/logs\/wrapper.log/wrapper.logfile=..\/logs\/wrapper.log.YYYYMMDD\nwrapper.logfile.rollmode=DATE/g' out/conf/wrapper.conf + sed -i.bak 's/@app.name@/traccar/g' out/bin/traccar + sed -i.bak 's/@app.long.name@/traccar/g' out/bin/traccar + + sed -i.bak '/wrapper.java.classpath.1/a\ +wrapper.java.classpath.2=../tracker-server.jar' out/conf/wrapper.conf + sed -i.bak '/wrapper.app.parameter.1/a\ +wrapper.app.parameter.2=../conf/traccar.xml' out/conf/wrapper.conf + sed -i.bak 's/wrapper.java.additional.1=/wrapper.java.additional.1=-Dfile.encoding=UTF-8/g' out/conf/wrapper.conf + sed -i.bak 's/<YourMainClass>/org.traccar.Main/g' out/conf/wrapper.conf + sed -i.bak 's/@app.name@/traccar/g' out/conf/wrapper.conf + sed -i.bak 's/@app.long.name@/traccar/g' out/conf/wrapper.conf + sed -i.bak 's/@app.description@/traccar/g' out/conf/wrapper.conf + sed -i.bak 's/wrapper.logfile=..\/logs\/wrapper.log/wrapper.logfile=..\/logs\/wrapper.log.YYYYMMDD\ +wrapper.logfile.rollmode=DATE/g' out/conf/wrapper.conf + + rm out/bin/traccar.bak + rm out/conf/wrapper.conf.bak eval $2 diff --git a/setup/unix/traccar.xml b/setup/unix/traccar.xml index cad96982e..767d53d8b 100644 --- a/setup/unix/traccar.xml +++ b/setup/unix/traccar.xml @@ -18,14 +18,10 @@ <entry key='logger.file'>/opt/traccar/logs/tracker-server.log</entry> <entry key='event.enable'>true</entry> - <entry key='event.suppressRepeated'>60</entry> - <entry key='event.overspeedHandler'>true</entry> <entry key='event.globalSpeedLimit'>90</entry> - <entry key='event.motionHandler'>true</entry> - <entry key='event.geofenceHandler'>true</entry> <!-- DATABASE CONFIG --> @@ -35,6 +31,8 @@ <entry key='database.user'>sa</entry> <entry key='database.password'></entry> + <entry key='database.ignoreUnknown'>true</entry> + <entry key='database.changelog'>/opt/traccar/schema/changelog-master.xml</entry> <entry key='database.selectServers'> @@ -386,6 +384,8 @@ <entry key='supermate.port'>5108</entry> <entry key='appello.port'>5109</entry> <entry key='idpl.port'>5110</entry> + <entry key='huasheng.port'>5111</entry> + <entry key='l100.port'>5112</entry> <entry key='granit.port'>5113</entry> </properties> diff --git a/setup/windows/traccar.iss b/setup/windows/traccar.iss index 56de5c1a6..f5d41c6b0 100644 --- a/setup/windows/traccar.iss +++ b/setup/windows/traccar.iss @@ -1,8 +1,9 @@ [Setup]
AppName=Traccar
-AppVersion=3.5
+AppVersion=3.6
DefaultDirName={pf}\Traccar
AlwaysRestart=yes
+OutputBaseFilename=traccar-setup
[Dirs]
Name: "{app}\bin"
@@ -11,6 +12,7 @@ Name: "{app}\data" Name: "{app}\lib"
Name: "{app}\logs"
Name: "{app}\web"
+Name: "{app}\schema"
[Files]
Source: "..\wrapper\bin\wrapper-windows-x86-32.exe"; DestDir: "{app}\bin"; DestName: "wrapper.exe"
@@ -23,7 +25,7 @@ Source: "..\wrapper\src\conf\wrapper.conf.in"; DestDir: "{app}\conf"; DestName: Source: "..\..\target\tracker-server.jar"; DestDir: "{app}"
Source: "..\..\target\lib\*"; DestDir: "{app}\lib"
-Source: "..\..\database\*"; DestDir: "{app}\data"
+Source: "..\..\schema\*"; DestDir: "{app}\schema"
Source: "..\..\web\*"; DestDir: "{app}\web"; Flags: recursesubdirs
Source: "traccar.xml"; DestDir: "{app}\conf"; AfterInstall: ConfigureApplication
diff --git a/setup/windows/traccar.xml b/setup/windows/traccar.xml index fcefd1daa..8499bda67 100644 --- a/setup/windows/traccar.xml +++ b/setup/windows/traccar.xml @@ -18,14 +18,10 @@ <entry key='logger.file'>[LOG]</entry>
<entry key='event.enable'>true</entry>
-
<entry key='event.suppressRepeated'>60</entry>
-
<entry key='event.overspeedHandler'>true</entry>
<entry key='event.globalSpeedLimit'>90</entry>
-
<entry key='event.motionHandler'>true</entry>
-
<entry key='event.geofenceHandler'>true</entry>
<!-- DATABASE CONFIG -->
@@ -35,6 +31,8 @@ <entry key='database.user'>sa</entry>
<entry key='database.password'></entry>
+ <entry key='database.ignoreUnknown'>true</entry>
+
<entry key='database.changelog'>[CHANGELOG]</entry>
<entry key='database.selectServers'>
@@ -386,6 +384,8 @@ <entry key='supermate.port'>5108</entry>
<entry key='appello.port'>5109</entry>
<entry key='idpl.port'>5110</entry>
+ <entry key='huasheng.port'>5111</entry>
+ <entry key='l100.port'>5112</entry>
<entry key='granit.port'>5113</entry>
</properties>
diff --git a/src/org/traccar/BaseProtocol.java b/src/org/traccar/BaseProtocol.java index f968e81cc..352895629 100644 --- a/src/org/traccar/BaseProtocol.java +++ b/src/org/traccar/BaseProtocol.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) + * Copyright 2015 - 2016 Anton Tananaev (anton.tananaev@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -52,7 +52,9 @@ public abstract class BaseProtocol implements Protocol { @Override public void sendCommand(ActiveDevice activeDevice, Command command) { - if (command.getType().equals(Command.TYPE_CUSTOM)) { + if (supportedCommands.contains(command.getType())) { + activeDevice.write(command); + } else if (command.getType().equals(Command.TYPE_CUSTOM)) { String data = (String) command.getAttributes().get(Command.KEY_DATA); if (activeDevice.getChannel().getPipeline().get(StringEncoder.class) != null) { activeDevice.write(data); @@ -60,11 +62,7 @@ public abstract class BaseProtocol implements Protocol { activeDevice.write(ChannelBuffers.wrappedBuffer(DatatypeConverter.parseHexBinary(data))); } } else { - if (!supportedCommands.contains(command.getType())) { - throw new RuntimeException("Command " - + command.getType() + " is not supported in protocol " + getName()); - } - activeDevice.write(command); + throw new RuntimeException("Command " + command.getType() + " is not supported in protocol " + getName()); } } diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java index 031703023..2d3b75db7 100644 --- a/src/org/traccar/database/DataManager.java +++ b/src/org/traccar/database/DataManager.java @@ -241,7 +241,7 @@ public class DataManager implements IdentityManager { } public Group getGroupById(long id) { - boolean forceUpdate; + /*boolean forceUpdate; groupsLock.readLock().lock(); try { forceUpdate = !groupsById.containsKey(id); @@ -253,7 +253,7 @@ public class DataManager implements IdentityManager { updateGroupCache(forceUpdate); } catch (SQLException e) { Log.warning(e); - } + }*/ groupsLock.readLock().lock(); try { @@ -356,7 +356,7 @@ public class DataManager implements IdentityManager { boolean forceUpdate; devicesLock.readLock().lock(); try { - forceUpdate = devicesById.values().isEmpty(); + forceUpdate = devicesById.isEmpty(); } finally { devicesLock.readLock().unlock(); } diff --git a/src/org/traccar/database/GeofenceManager.java b/src/org/traccar/database/GeofenceManager.java index cc9f82879..d3cf2ad1f 100644 --- a/src/org/traccar/database/GeofenceManager.java +++ b/src/org/traccar/database/GeofenceManager.java @@ -30,11 +30,12 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import org.traccar.Context; import org.traccar.helper.Log; import org.traccar.model.Device; +import org.traccar.model.DeviceGeofence; import org.traccar.model.Geofence; +import org.traccar.model.GeofencePermission; +import org.traccar.model.Group; import org.traccar.model.GroupGeofence; import org.traccar.model.Position; -import org.traccar.model.DeviceGeofence; -import org.traccar.model.GeofencePermission; public class GeofenceManager { @@ -137,15 +138,15 @@ public class GeofenceManager { } for (Device device : dataManager.getAllDevicesCached()) { - long groupId = device.getGroupId(); - while (groupId != 0) { + Group group = dataManager.getGroupById(device.getGroupId()); + while (group != null) { getDeviceGeofences(deviceGeofencesWithGroups, - device.getId()).addAll(getGroupGeofences(groupId)); - groupId = dataManager.getGroupById(groupId).getGroupId(); + device.getId()).addAll(getGroupGeofences(group.getGroupId())); + group = dataManager.getGroupById(group.getGroupId()); } List<Long> deviceGeofenceIds = device.getGeofenceIds(); if (deviceGeofenceIds == null) { - deviceGeofenceIds = new ArrayList<Long>(); + deviceGeofenceIds = new ArrayList<>(); } else { deviceGeofenceIds.clear(); } @@ -232,7 +233,7 @@ public class GeofenceManager { } public List<Long> getCurrentDeviceGeofences(Position position) { - List<Long> result = new ArrayList<Long>(); + List<Long> result = new ArrayList<>(); for (Long geofenceId : getAllDeviceGeofences(position.getDeviceId())) { if (getGeofence(geofenceId).getGeometry().containsPoint(position.getLatitude(), position.getLongitude())) { result.add(geofenceId); diff --git a/src/org/traccar/database/NotificationManager.java b/src/org/traccar/database/NotificationManager.java index ae91d81cc..d263e160f 100644 --- a/src/org/traccar/database/NotificationManager.java +++ b/src/org/traccar/database/NotificationManager.java @@ -87,7 +87,7 @@ public class NotificationManager { public Set<Notification> getUserNotifications(long userId) { notificationsLock.readLock().lock(); try { - return getUserNotificationsUnsafe(userId); + return getUserNotificationsUnsafe(userId); } finally { notificationsLock.readLock().unlock(); } diff --git a/src/org/traccar/events/GeofenceEventHandler.java b/src/org/traccar/events/GeofenceEventHandler.java index e9a4a640f..a3d8aa375 100644 --- a/src/org/traccar/events/GeofenceEventHandler.java +++ b/src/org/traccar/events/GeofenceEventHandler.java @@ -52,11 +52,11 @@ public class GeofenceEventHandler extends BaseEventHandler { } List<Long> currentGeofences = geofenceManager.getCurrentDeviceGeofences(position); - List<Long> oldGeofences = new ArrayList<Long>(); + List<Long> oldGeofences = new ArrayList<>(); if (device.getGeofenceIds() != null) { oldGeofences.addAll(device.getGeofenceIds()); } - List<Long> newGeofences = new ArrayList<Long>(currentGeofences); + List<Long> newGeofences = new ArrayList<>(currentGeofences); newGeofences.removeAll(oldGeofences); oldGeofences.removeAll(currentGeofences); diff --git a/src/org/traccar/geocode/GeocodeFarmReverseGeocoder.java b/src/org/traccar/geocode/GeocodeFarmReverseGeocoder.java index e100d3081..306fc25b8 100644 --- a/src/org/traccar/geocode/GeocodeFarmReverseGeocoder.java +++ b/src/org/traccar/geocode/GeocodeFarmReverseGeocoder.java @@ -19,12 +19,14 @@ import javax.json.JsonObject; public class GeocodeFarmReverseGeocoder extends JsonReverseGeocoder { + private static final String URL = "https://www.geocode.farm/v3/json/reverse/"; + public GeocodeFarmReverseGeocoder(int cacheSize) { - super("https://www.geocode.farm/v3/json/reverse/?lat=%f&lon=%f&country=us&lang=en&count=1", cacheSize); + super(URL + "?lat=%f&lon=%f&country=us&lang=en&count=1", cacheSize); } public GeocodeFarmReverseGeocoder(String key, int cacheSize) { - super("https://www.geocode.farm/v3/json/reverse/?lat=%f&lon=%f&country=us&lang=en&count=1&key=" + key, cacheSize); + super(URL + "?lat=%f&lon=%f&country=us&lang=en&count=1&key=" + key, cacheSize); } @Override diff --git a/src/org/traccar/helper/Checksum.java b/src/org/traccar/helper/Checksum.java index 6a0a35b16..2a4b1191d 100644 --- a/src/org/traccar/helper/Checksum.java +++ b/src/org/traccar/helper/Checksum.java @@ -94,7 +94,43 @@ public final class Checksum { 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0 }; + private static final int[] CRC16_IBM_TABLE = { + 0x0000, 0xc0c1, 0xc181, 0x0140, 0xc301, 0x03c0, 0x0280, 0xc241, + 0xc601, 0x06c0, 0x0780, 0xc741, 0x0500, 0xc5c1, 0xc481, 0x0440, + 0xcc01, 0x0cc0, 0x0d80, 0xcd41, 0x0f00, 0xcfc1, 0xce81, 0x0e40, + 0x0a00, 0xcac1, 0xcb81, 0x0b40, 0xc901, 0x09c0, 0x0880, 0xc841, + 0xd801, 0x18c0, 0x1980, 0xd941, 0x1b00, 0xdbc1, 0xda81, 0x1a40, + 0x1e00, 0xdec1, 0xdf81, 0x1f40, 0xdd01, 0x1dc0, 0x1c80, 0xdc41, + 0x1400, 0xd4c1, 0xd581, 0x1540, 0xd701, 0x17c0, 0x1680, 0xd641, + 0xd201, 0x12c0, 0x1380, 0xd341, 0x1100, 0xd1c1, 0xd081, 0x1040, + 0xf001, 0x30c0, 0x3180, 0xf141, 0x3300, 0xf3c1, 0xf281, 0x3240, + 0x3600, 0xf6c1, 0xf781, 0x3740, 0xf501, 0x35c0, 0x3480, 0xf441, + 0x3c00, 0xfcc1, 0xfd81, 0x3d40, 0xff01, 0x3fc0, 0x3e80, 0xfe41, + 0xfa01, 0x3ac0, 0x3b80, 0xfb41, 0x3900, 0xf9c1, 0xf881, 0x3840, + 0x2800, 0xe8c1, 0xe981, 0x2940, 0xeb01, 0x2bc0, 0x2a80, 0xea41, + 0xee01, 0x2ec0, 0x2f80, 0xef41, 0x2d00, 0xedc1, 0xec81, 0x2c40, + 0xe401, 0x24c0, 0x2580, 0xe541, 0x2700, 0xe7c1, 0xe681, 0x2640, + 0x2200, 0xe2c1, 0xe381, 0x2340, 0xe101, 0x21c0, 0x2080, 0xe041, + 0xa001, 0x60c0, 0x6180, 0xa141, 0x6300, 0xa3c1, 0xa281, 0x6240, + 0x6600, 0xa6c1, 0xa781, 0x6740, 0xa501, 0x65c0, 0x6480, 0xa441, + 0x6c00, 0xacc1, 0xad81, 0x6d40, 0xaf01, 0x6fc0, 0x6e80, 0xae41, + 0xaa01, 0x6ac0, 0x6b80, 0xab41, 0x6900, 0xa9c1, 0xa881, 0x6840, + 0x7800, 0xb8c1, 0xb981, 0x7940, 0xbb01, 0x7bc0, 0x7a80, 0xba41, + 0xbe01, 0x7ec0, 0x7f80, 0xbf41, 0x7d00, 0xbdc1, 0xbc81, 0x7c40, + 0xb401, 0x74c0, 0x7580, 0xb541, 0x7700, 0xb7c1, 0xb681, 0x7640, + 0x7200, 0xb2c1, 0xb381, 0x7340, 0xb101, 0x71c0, 0x7080, 0xb041, + 0x5000, 0x90c1, 0x9181, 0x5140, 0x9301, 0x53c0, 0x5280, 0x9241, + 0x9601, 0x56c0, 0x5780, 0x9741, 0x5500, 0x95c1, 0x9481, 0x5440, + 0x9c01, 0x5cc0, 0x5d80, 0x9d41, 0x5f00, 0x9fc1, 0x9e81, 0x5e40, + 0x5a00, 0x9ac1, 0x9b81, 0x5b40, 0x9901, 0x59c0, 0x5880, 0x9841, + 0x8801, 0x48c0, 0x4980, 0x8941, 0x4b00, 0x8bc1, 0x8a81, 0x4a40, + 0x4e00, 0x8ec1, 0x8f81, 0x4f40, 0x8d01, 0x4dc0, 0x4c80, 0x8c41, + 0x4400, 0x84c1, 0x8581, 0x4540, 0x8701, 0x47c0, 0x4680, 0x8641, + 0x8201, 0x42c0, 0x4380, 0x8341, 0x4100, 0x81c1, 0x8081, 0x4040, + }; + // More info: http://reveng.sourceforge.net/crc-catalogue/16.htm + public static final String CRC16_IBM = "IBM"; public static final String CRC16_X25 = "X-25"; public static final String CRC16_CCITT_FALSE = "CCITT-FALSE"; public static final String CRC16_KERMIT = "KERMIT"; @@ -121,6 +157,8 @@ public final class Checksum { public static int crc16(String type, ByteBuffer buf) { switch (type) { + case CRC16_IBM: + return crc16Reflected(buf, 0, CRC16_IBM_TABLE); case CRC16_X25: return crc16Reflected(buf, 0xFFFF, CRC16_CCITT_TABLE_REVERSE) ^ 0xFFFF; case CRC16_CCITT_FALSE: diff --git a/src/org/traccar/protocol/GatorProtocolDecoder.java b/src/org/traccar/protocol/GatorProtocolDecoder.java index 94ca1fc3c..ade27a56a 100644 --- a/src/org/traccar/protocol/GatorProtocolDecoder.java +++ b/src/org/traccar/protocol/GatorProtocolDecoder.java @@ -20,7 +20,6 @@ import org.jboss.netty.buffer.ChannelBuffers; import org.jboss.netty.channel.Channel; import org.traccar.BaseProtocolDecoder; import org.traccar.helper.BcdUtil; -import org.traccar.helper.Checksum; import org.traccar.helper.DateBuilder; import org.traccar.helper.UnitsConverter; import org.traccar.model.Position; diff --git a/src/org/traccar/protocol/Gt06ProtocolDecoder.java b/src/org/traccar/protocol/Gt06ProtocolDecoder.java index 12c9d20b5..ce915fde8 100644 --- a/src/org/traccar/protocol/Gt06ProtocolDecoder.java +++ b/src/org/traccar/protocol/Gt06ProtocolDecoder.java @@ -271,9 +271,7 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder { } else if (header == 0x7979) { - int length = buf.readUnsignedShort(); - int dataLength = length - 6; - + buf.readUnsignedShort(); // length int type = buf.readUnsignedByte(); if (type == MSG_INFO) { diff --git a/src/org/traccar/protocol/HuaShengFrameDecoder.java b/src/org/traccar/protocol/HuaShengFrameDecoder.java index 922bc3979..5d68fef9e 100644 --- a/src/org/traccar/protocol/HuaShengFrameDecoder.java +++ b/src/org/traccar/protocol/HuaShengFrameDecoder.java @@ -16,7 +16,6 @@ package org.traccar.protocol; import org.jboss.netty.buffer.ChannelBuffer; -import org.jboss.netty.buffer.ChannelBuffers; import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.handler.codec.frame.FrameDecoder; diff --git a/src/org/traccar/protocol/HuaShengProtocol.java b/src/org/traccar/protocol/HuaShengProtocol.java index 351f886db..53a77c603 100644 --- a/src/org/traccar/protocol/HuaShengProtocol.java +++ b/src/org/traccar/protocol/HuaShengProtocol.java @@ -17,7 +17,6 @@ package org.traccar.protocol; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.ChannelPipeline; -import org.jboss.netty.handler.codec.frame.LengthFieldBasedFrameDecoder; import org.traccar.BaseProtocol; import org.traccar.TrackerServer; diff --git a/src/org/traccar/protocol/HuaShengProtocolDecoder.java b/src/org/traccar/protocol/HuaShengProtocolDecoder.java index 6743db47d..50517045b 100644 --- a/src/org/traccar/protocol/HuaShengProtocolDecoder.java +++ b/src/org/traccar/protocol/HuaShengProtocolDecoder.java @@ -19,7 +19,8 @@ import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBuffers; import org.jboss.netty.channel.Channel; import org.traccar.BaseProtocolDecoder; -import org.traccar.helper.*; +import org.traccar.helper.DateBuilder; +import org.traccar.helper.UnitsConverter; import org.traccar.model.Position; import java.net.SocketAddress; @@ -96,12 +97,12 @@ public class HuaShengProtocolDecoder extends BaseProtocolDecoder { String time = buf.readBytes(12).toString(StandardCharsets.US_ASCII); DateBuilder dateBuilder = new DateBuilder() - .setYear(Integer.valueOf(time.substring(0, 2))) - .setMonth(Integer.valueOf(time.substring(2, 4))) - .setDay(Integer.valueOf(time.substring(4, 6))) - .setHour(Integer.valueOf(time.substring(6, 8))) - .setMinute(Integer.valueOf(time.substring(8, 10))) - .setSecond(Integer.valueOf(time.substring(10, 12))); + .setYear(Integer.parseInt(time.substring(0, 2))) + .setMonth(Integer.parseInt(time.substring(2, 4))) + .setDay(Integer.parseInt(time.substring(4, 6))) + .setHour(Integer.parseInt(time.substring(6, 8))) + .setMinute(Integer.parseInt(time.substring(8, 10))) + .setSecond(Integer.parseInt(time.substring(10, 12))); position.setTime(dateBuilder.getDate()); position.setLongitude(buf.readInt() * 0.00001); diff --git a/src/org/traccar/protocol/SuntechProtocol.java b/src/org/traccar/protocol/SuntechProtocol.java index e06ed2aac..ce0e73280 100644 --- a/src/org/traccar/protocol/SuntechProtocol.java +++ b/src/org/traccar/protocol/SuntechProtocol.java @@ -32,7 +32,7 @@ public class SuntechProtocol extends BaseProtocol { super("suntech"); setSupportedCommands( Command.TYPE_ENGINE_STOP, - Command.TYPE_ENGINE_STOP); + Command.TYPE_ENGINE_RESUME); } @Override diff --git a/src/org/traccar/protocol/TeltonikaProtocol.java b/src/org/traccar/protocol/TeltonikaProtocol.java index f944c3003..5a550d4c0 100644 --- a/src/org/traccar/protocol/TeltonikaProtocol.java +++ b/src/org/traccar/protocol/TeltonikaProtocol.java @@ -20,6 +20,7 @@ import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.ChannelPipeline; import org.traccar.BaseProtocol; import org.traccar.TrackerServer; +import org.traccar.model.Command; import java.util.List; @@ -27,6 +28,8 @@ public class TeltonikaProtocol extends BaseProtocol { public TeltonikaProtocol() { super("teltonika"); + setSupportedCommands( + Command.TYPE_CUSTOM); } @Override @@ -35,12 +38,14 @@ public class TeltonikaProtocol extends BaseProtocol { @Override protected void addSpecificHandlers(ChannelPipeline pipeline) { pipeline.addLast("frameDecoder", new TeltonikaFrameDecoder()); + pipeline.addLast("objectEncoder", new TeltonikaProtocolEncoder()); pipeline.addLast("objectDecoder", new TeltonikaProtocolDecoder(TeltonikaProtocol.this)); } }); serverList.add(new TrackerServer(new ConnectionlessBootstrap(), this.getName()) { @Override protected void addSpecificHandlers(ChannelPipeline pipeline) { + pipeline.addLast("objectEncoder", new TeltonikaProtocolEncoder()); pipeline.addLast("objectDecoder", new TeltonikaProtocolDecoder(TeltonikaProtocol.this)); } }); diff --git a/src/org/traccar/protocol/TeltonikaProtocolDecoder.java b/src/org/traccar/protocol/TeltonikaProtocolDecoder.java index 1706a34a5..eb77cf350 100644 --- a/src/org/traccar/protocol/TeltonikaProtocolDecoder.java +++ b/src/org/traccar/protocol/TeltonikaProtocolDecoder.java @@ -52,9 +52,9 @@ public class TeltonikaProtocolDecoder extends BaseProtocolDecoder { } } - private static final int CODEC_GH3000 = 0x07; - private static final int CODEC_FM4X00 = 0x08; - private static final int CODEC_12 = 0x0C; + public static final int CODEC_GH3000 = 0x07; + public static final int CODEC_FM4X00 = 0x08; + public static final int CODEC_12 = 0x0C; private void decodeSerial(Position position, ChannelBuffer buf) { diff --git a/src/org/traccar/protocol/TeltonikaProtocolEncoder.java b/src/org/traccar/protocol/TeltonikaProtocolEncoder.java new file mode 100644 index 000000000..d91f7f7bf --- /dev/null +++ b/src/org/traccar/protocol/TeltonikaProtocolEncoder.java @@ -0,0 +1,62 @@ +/* + * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.traccar.protocol; + +import org.jboss.netty.buffer.ChannelBuffer; +import org.jboss.netty.buffer.ChannelBuffers; +import org.traccar.BaseProtocolEncoder; +import org.traccar.helper.Checksum; +import org.traccar.helper.Log; +import org.traccar.model.Command; + +import java.nio.charset.StandardCharsets; + +public class TeltonikaProtocolEncoder extends BaseProtocolEncoder { + + private ChannelBuffer encodeContent(String content) { + + ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); + + buf.writeInt(0); + buf.writeInt(content.length() + 10); + buf.writeByte(TeltonikaProtocolDecoder.CODEC_12); + buf.writeByte(1); // quantity + buf.writeByte(5); // type + buf.writeInt(content.length() + 2); + buf.writeBytes(content.getBytes(StandardCharsets.US_ASCII)); + buf.writeByte('\r'); + buf.writeByte('\n'); + buf.writeByte(1); // quantity + buf.writeInt(Checksum.crc16(Checksum.CRC16_IBM, buf.toByteBuffer(8, buf.writerIndex() - 8))); + + return buf; + } + + @Override + protected Object encodeCommand(Command command) { + + switch (command.getType()) { + case Command.TYPE_CUSTOM: + return encodeContent((String) command.getAttributes().get(Command.KEY_DATA)); + default: + Log.warning(new UnsupportedOperationException(command.getType())); + break; + } + + return null; + } + +} diff --git a/test/org/traccar/protocol/TeltonikaProtocolEncoderTest.java b/test/org/traccar/protocol/TeltonikaProtocolEncoderTest.java new file mode 100644 index 000000000..83ea961b4 --- /dev/null +++ b/test/org/traccar/protocol/TeltonikaProtocolEncoderTest.java @@ -0,0 +1,23 @@ +package org.traccar.protocol; + +import org.junit.Test; +import org.traccar.ProtocolTest; +import org.traccar.model.Command; + +public class TeltonikaProtocolEncoderTest extends ProtocolTest { + + @Test + public void testEncode() throws Exception { + + TeltonikaProtocolEncoder encoder = new TeltonikaProtocolEncoder(); + + Command command = new Command(); + command.setDeviceId(1); + command.setType(Command.TYPE_CUSTOM); + command.set(Command.KEY_DATA, "setdigout 11"); + + verifyCommand(encoder, command, binary("00000000000000160C01050000000E7365746469676F75742031310D0A010000E258")); + + } + +} diff --git a/tools/test-commands.py b/tools/test-commands.py new file mode 100755 index 000000000..6c4896a46 --- /dev/null +++ b/tools/test-commands.py @@ -0,0 +1,12 @@ +#!/usr/bin/python + +import socket + +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +s.connect(("localhost", 5001)) +s.send("imei:123456789012345,tracker,151030080103,,F,000101.000,A,5443.3834,N,02512.9071,E,0.00,0;") + +while True: + print s.recv(1024) + +s.close() diff --git a/web/app/GeofenceConverter.js b/web/app/GeofenceConverter.js index d104ef127..ebe121385 100644 --- a/web/app/GeofenceConverter.js +++ b/web/app/GeofenceConverter.js @@ -20,7 +20,7 @@ Ext.define('Traccar.GeofenceConverter', { wktToGeometry: function (mapView, wkt) { var geometry, projection, resolutionAtEquator, pointResolution, resolutionFactor, points = [], center, radius, content, i, lat, lon, coordinates; - if (wkt.startsWith("POLYGON")) { + if (wkt.startsWith('POLYGON')) { content = wkt.match(/\([^\(\)]+\)/); if (content !== null) { coordinates = content[0].match(/-?\d+\.?\d*/g); @@ -34,7 +34,7 @@ Ext.define('Traccar.GeofenceConverter', { geometry = new ol.geom.Polygon([points]); } } - } else if (wkt.startsWith("CIRCLE")) { + } else if (wkt.startsWith('CIRCLE')) { content = wkt.match(/\([^\(\)]+\)/); if (content !== null) { coordinates = content[0].match(/-?\d+\.?\d*/g); @@ -62,17 +62,17 @@ Ext.define('Traccar.GeofenceConverter', { earthSphere = new ol.Sphere(6378137); groundRadius = earthSphere.haversineDistance(center, ol.proj.transform(edgeCoordinate, projection, 'EPSG:4326')); - result = "CIRCLE ("; - result += center[1] + " " + center[0] + ", "; - result += Number((groundRadius).toFixed(1)) + ")"; + result = 'CIRCLE ('; + result += center[1] + ' ' + center[0] + ', '; + result += Number((groundRadius).toFixed(1)) + ')'; } else if (geometry instanceof ol.geom.Polygon) { geometry.transform(projection, 'EPSG:4326'); points = geometry.getCoordinates(); - result = "POLYGON(("; + result = 'POLYGON(('; for (i = 0; i < points[0].length; i += 1) { - result += points[0][i][1] + " " + points[0][i][0] + ", "; + result += points[0][i][1] + ' ' + points[0][i][0] + ', '; } - result = result.substring(0, result.length - 2) + "))"; + result = result.substring(0, result.length - 2) + '))'; } return result; } diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js index ba23b90bf..98ded9c47 100644 --- a/web/app/controller/Root.js +++ b/web/app/controller/Root.js @@ -139,27 +139,27 @@ Ext.define('Traccar.controller.Root', { store.add(array[i]); if (array[i].type === 'commandResult' && data.positions) { for (j = 0; j < data.positions.length; j++) { - if (data.positions[j].id == array[i].positionId) { + if (data.positions[j].id === array[i].positionId) { text = data.positions[j].attributes.result; break; } } - text = Strings.eventCommandResult + ": " + text; + text = Strings.eventCommandResult + ': ' + text; } else { typeKey = 'event' + array[i].type.charAt(0).toUpperCase() + array[i].type.slice(1); text = Strings[typeKey]; - if (typeof text == "undefined") { + if (typeof text === 'undefined') { text = typeKey; } } if (array[i].geofenceId !== 0) { geofence = Ext.getStore('Geofences').getById(array[i].geofenceId); - if (typeof geofence != "undefined") { + if (typeof geofence !== 'undefined') { text += ' \"' + geofence.getData().name + '"'; } } device = Ext.getStore('Devices').getById(array[i].deviceId); - if (typeof device != "undefined") { + if (typeof device !== 'undefined') { Ext.toast(text, device.getData().name); } } diff --git a/web/app/store/CommandTypes.js b/web/app/store/CommandTypes.js index 2ef190edc..d3825fb95 100644 --- a/web/app/store/CommandTypes.js +++ b/web/app/store/CommandTypes.js @@ -19,7 +19,7 @@ Ext.define('Traccar.store.CommandTypes', { fields: ['type', 'name'], listeners: { - 'beforeload' : function(store) { + 'beforeload' : function (store) { var proxy; proxy = store.getProxy(); proxy.setUrl('/api/commandtypes?deviceId' + proxy.extraParams.deviceId); @@ -31,13 +31,14 @@ Ext.define('Traccar.store.CommandTypes', { url: '', reader: { type: 'json', - getData: function(data) { - Ext.each(data, function(entry) { + getData: function (data) { + Ext.each(data, function (entry) { + var nameKey, name; entry.name = entry.type; - if (typeof entry.type !== "undefined") { - var nameKey = 'command' + entry.type.charAt(0).toUpperCase() + entry.type.slice(1); - var name = Strings[nameKey]; - if (typeof name !== "undefined") { + if (typeof entry.type !== 'undefined') { + nameKey = 'command' + entry.type.charAt(0).toUpperCase() + entry.type.slice(1); + name = Strings[nameKey]; + if (typeof name !== 'undefined') { entry.name = name; } } diff --git a/web/app/view/AttributesController.js b/web/app/view/AttributesController.js index 3959c5a5c..2a9e71849 100644 --- a/web/app/view/AttributesController.js +++ b/web/app/view/AttributesController.js @@ -24,23 +24,26 @@ Ext.define('Traccar.view.AttributesController', { ], init: function () { - var store, propertyName, i = 0; + var store, propertyName, i = 0, attributes; store = Ext.create('Traccar.store.Attributes'); store.setProxy(Ext.create('Ext.data.proxy.Memory')); - for (propertyName in this.getView().record.get('attributes')) { - store.add(Ext.create('Traccar.model.Attribute', { - priority: i++, - name: propertyName, - value:this.getView().record.get('attributes')[propertyName] - })); + attributes = this.getView().record.get('attributes'); + for (propertyName in attributes) { + if (attributes.hasOwnProperty(propertyName)) { + store.add(Ext.create('Traccar.model.Attribute', { + priority: i++, + name: propertyName, + value: this.getView().record.get('attributes')[propertyName] + })); + } } - store.addListener('add', function (store , records , index , eOpts) { - for (var i = 0; i < records.length; i++) { + store.addListener('add', function (store, records, index, eOpts) { + for (i = 0; i < records.length; i++) { this.getView().record.get('attributes')[records[i].get('name')] = records[i].get('value'); } this.getView().record.dirty = true; }, this); - store.addListener('update', function (store, record, operation , modifiedFieldNames , details , eOpts) { + store.addListener('update', function (store, record, operation, modifiedFieldNames, details, eOpts) { if (operation === Ext.data.Model.EDIT) { if (record.modified.name !== record.get('name')) { delete this.getView().record.get('attributes')[record.modified.name]; @@ -49,7 +52,7 @@ Ext.define('Traccar.view.AttributesController', { this.getView().record.dirty = true; } }, this); - store.addListener('remove', function (store , records , index , isMove , eOpts) { + store.addListener('remove', function (store, records, index, isMove, eOpts) { for (var i = 0; i < records.length; i++) { delete this.getView().record.get('attributes')[records[i].get('name')]; } diff --git a/web/app/view/BaseMap.js b/web/app/view/BaseMap.js index 7f508cbe8..77646cbef 100644 --- a/web/app/view/BaseMap.js +++ b/web/app/view/BaseMap.js @@ -28,7 +28,7 @@ Ext.define('Traccar.view.BaseMap', { return this.mapView; }, - initMap: function() { + initMap: function () { var user, server, layer, type, bingKey, lat, lon, zoom, target; user = Traccar.app.getUser(); diff --git a/web/app/view/BasePermissionsController.js b/web/app/view/BasePermissionsController.js index 713d91770..3cdc2e4dc 100644 --- a/web/app/view/BasePermissionsController.js +++ b/web/app/view/BasePermissionsController.js @@ -19,10 +19,10 @@ Ext.define('Traccar.view.BasePermissionsController', { alias: 'controller.basePermissionsController', init: function () { - var params = {}; + var params = {}, linkStoreName, storeName; params[this.getView().baseObjectName] = this.getView().baseObject; - var linkStoreName = this.getView().linkStoreName; - var storeName = this.getView().storeName; + linkStoreName = this.getView().linkStoreName; + storeName = this.getView().storeName; linkStoreName = (typeof linkStoreName === 'undefined') ? storeName : linkStoreName; this.getView().setStore(Ext.getStore(storeName)); this.getView().getStore().load({ diff --git a/web/app/view/DevicesController.js b/web/app/view/DevicesController.js index cf31dd7bb..ca3e24661 100644 --- a/web/app/view/DevicesController.js +++ b/web/app/view/DevicesController.js @@ -86,15 +86,16 @@ Ext.define('Traccar.view.DevicesController', { }, onGeofencesClick: function () { - var admin = Traccar.app.getUser().get('admin'); - var device = this.getView().getSelectionModel().getSelection()[0]; + var admin, device; + admin = Traccar.app.getUser().get('admin'); + device = this.getView().getSelectionModel().getSelection()[0]; Ext.create('Traccar.view.BaseWindow', { title: Strings.sharedGeofences, items: { xtype: 'deviceGeofencesView', baseObjectName: 'deviceId', linkObjectName: 'geofenceId', - storeName: (admin) ? 'AllGeofences' : 'Geofences', + storeName: 'Geofences', urlApi: '/api/devices/geofences', baseObject: device.getData().id } @@ -115,19 +116,24 @@ Ext.define('Traccar.view.DevicesController', { }, onFollowClick: function (button, pressed) { + var device; if (pressed) { - var device = this.getView().getSelectionModel().getSelection()[0]; + device = this.getView().getSelectionModel().getSelection()[0]; this.fireEvent('selectDevice', device, true); } }, - onSelectionChange: function (selected) { + updateButtons: function (selected) { var empty = selected.getCount() === 0; this.lookupReference('toolbarEditButton').setDisabled(empty); this.lookupReference('toolbarRemoveButton').setDisabled(empty); this.lookupReference('toolbarGeofencesButton').setDisabled(empty); this.lookupReference('deviceCommandButton').setDisabled(empty || (selected.getLastSelected().get('status') !== 'online')); - if (!empty) { + }, + + onSelectionChange: function (selected) { + this.updateButtons(selected); + if (selected.getCount() > 0) { this.fireEvent('selectDevice', selected.getLastSelected(), true); } }, @@ -143,6 +149,6 @@ Ext.define('Traccar.view.DevicesController', { }, onUpdateDevice: function (store, data) { - this.onSelectionChange(this.getView().getSelectionModel()); + this.updateButtons(this.getView().getSelectionModel()); } }); diff --git a/web/app/view/GeofenceMap.js b/web/app/view/GeofenceMap.js index 165daf40d..573836bc9 100644 --- a/web/app/view/GeofenceMap.js +++ b/web/app/view/GeofenceMap.js @@ -57,7 +57,7 @@ Ext.define('Traccar.view.GeofenceMap', { map = this.map; this.features = new ol.Collection(); - if (this.area !== "") { + if (this.area !== '') { geometry = Traccar.GeofenceConverter.wktToGeometry(this.mapView, this.area); this.features.push(new ol.Feature(geometry)); if (geometry instanceof ol.geom.Circle) { @@ -90,7 +90,7 @@ Ext.define('Traccar.view.GeofenceMap', { map.addInteraction(new ol.interaction.Modify({ features: this.features, - deleteCondition: function(event) { + deleteCondition: function (event) { return ol.events.condition.shiftKeyOnly(event) && ol.events.condition.singleClick(event); } })); diff --git a/web/app/view/GroupsController.js b/web/app/view/GroupsController.js index bc713bb6d..1764423d7 100644 --- a/web/app/view/GroupsController.js +++ b/web/app/view/GroupsController.js @@ -60,15 +60,16 @@ Ext.define('Traccar.view.GroupsController', { }, onGeofencesClick: function () { - var admin = Traccar.app.getUser().get('admin'); - var group = this.getView().getSelectionModel().getSelection()[0]; + var admin, group; + admin = Traccar.app.getUser().get('admin'); + group = this.getView().getSelectionModel().getSelection()[0]; Ext.create('Traccar.view.BaseWindow', { title: Strings.sharedGeofences, items: { xtype: 'groupGeofencesView', baseObjectName: 'groupId', linkObjectName: 'geofenceId', - storeName: (admin) ? 'AllGeofences' : 'Geofences', + storeName: admin ? 'AllGeofences' : 'Geofences', urlApi: '/api/groups/geofences', baseObject: group.getData().id } diff --git a/web/app/view/Notifications.js b/web/app/view/Notifications.js index ae4e459b1..996ce3748 100644 --- a/web/app/view/Notifications.js +++ b/web/app/view/Notifications.js @@ -26,10 +26,10 @@ Ext.define('Traccar.view.Notifications', { store: 'AllNotifications', selModel: { - selType: 'cellmodel', + selType: 'cellmodel' }, - viewConfig:{ + viewConfig: { markDirty:false }, @@ -51,7 +51,7 @@ Ext.define('Traccar.view.Notifications', { checkChange: 'onCheckChange' }, renderer: function (value, metaData, record) { - var fields = this.dataIndex.split('\.',2); + var fields = this.dataIndex.split('\.', 2); return (new Ext.ux.CheckColumn()).renderer(record.get(fields[0])[fields[1]], metaData); } }, { @@ -64,9 +64,8 @@ Ext.define('Traccar.view.Notifications', { checkChange: 'onCheckChange' }, renderer: function (value, metaData, record) { - var fields = this.dataIndex.split('\.',2); + var fields = this.dataIndex.split('\.', 2); return (new Ext.ux.CheckColumn()).renderer(record.get(fields[0])[fields[1]], metaData); } - }], - + }] }); diff --git a/web/app/view/NotificationsController.js b/web/app/view/NotificationsController.js index a7c4290ca..90479fe07 100644 --- a/web/app/view/NotificationsController.js +++ b/web/app/view/NotificationsController.js @@ -47,11 +47,12 @@ Ext.define('Traccar.view.NotificationsController', { }, onBeforeCheckChange: function (column, rowIndex, checked, eOpts) { - var fields = column.dataIndex.split('\.',2); - var record = this.getView().getStore().getAt(rowIndex); - var data = record.get(fields[0]); + var fields, record, data; + fields = column.dataIndex.split('\.', 2); + record = this.getView().getStore().getAt(rowIndex); + data = record.get(fields[0]); if (!data[fields[1]]) { - data[fields[1]] = "true"; + data[fields[1]] = 'true'; } else { delete data[fields[1]]; } diff --git a/web/app/view/UserDialog.js b/web/app/view/UserDialog.js index b51997262..378cc0681 100644 --- a/web/app/view/UserDialog.js +++ b/web/app/view/UserDialog.js @@ -89,9 +89,18 @@ Ext.define('Traccar.view.UserDialog', { fieldLabel: Strings.settingsTwelveHourFormat, allowBlank: false }] - }, { - xtype: 'button', + }], + + buttons: [{ text : Strings.sharedAttributes, handler: 'showAttributesView' + }, { + xtype: 'tbfill' + }, { + text: Strings.sharedSave, + handler: 'onSaveClick' + }, { + text: Strings.sharedCancel, + handler: 'closeView' }] }); diff --git a/web/arrowstyle.js b/web/arrowstyle.js index a39e04cdf..1fd2b3c00 100644 --- a/web/arrowstyle.js +++ b/web/arrowstyle.js @@ -123,7 +123,7 @@ ol.style.Arrow = function(options) { var rotateWithView = options.rotateWithView !== undefined ? options.rotateWithView : false; - goog.base(this, { + ol.style.Image.call(this, { opacity: 1, rotateWithView: rotateWithView, rotation: options.rotation !== undefined ? options.rotation : 0, @@ -132,7 +132,7 @@ ol.style.Arrow = function(options) { }); }; -goog.inherits(ol.style.Arrow, ol.style.Image); +ol.inherits(ol.style.Arrow, ol.style.Image); /** @@ -282,7 +282,7 @@ ol.style.Arrow.prototype.unlistenImageChange = ol.nullFunction; * miterLimit: number * }} */ -ol.style.Arrow.RenderOptions; +ol.ArrowRenderOptions; /** @@ -324,7 +324,7 @@ ol.style.Arrow.prototype.render_ = function(atlasManager) { var size = 2 * (this.radius_ + strokeWidth) + 1; - /** @type {ol.style.Arrow.RenderOptions} */ + /** @type {ol.ArrowRenderOptions} */ var renderOptions = { strokeStyle: strokeStyle, strokeWidth: strokeWidth, @@ -387,7 +387,7 @@ ol.style.Arrow.prototype.render_ = function(atlasManager) { /** * @private - * @param {ol.style.Arrow.RenderOptions} renderOptions Render options. + * @param {ol.ArrowRenderOptions} renderOptions Render options. * @param {CanvasRenderingContext2D} context The rendering context. * @param {number} x The origin for the symbol (x). * @param {number} y The origin for the symbol (y). @@ -438,7 +438,7 @@ ol.style.Arrow.prototype.draw_ = function(renderOptions, context, x, y) { /** * @private - * @param {ol.style.Arrow.RenderOptions} renderOptions Render options. + * @param {ol.ArrowRenderOptions} renderOptions Render options. */ ol.style.Arrow.prototype.createHitDetectionCanvas_ = function(renderOptions) { this.hitDetectionImageSize_ = [renderOptions.size, renderOptions.size]; @@ -458,7 +458,7 @@ ol.style.Arrow.prototype.createHitDetectionCanvas_ = function(renderOptions) { /** * @private - * @param {ol.style.Arrow.RenderOptions} renderOptions Render options. + * @param {ol.ArrowRenderOptions} renderOptions Render options. * @param {CanvasRenderingContext2D} context The context. * @param {number} x The origin for the symbol (x). * @param {number} y The origin for the symbol (y). diff --git a/web/debug.html b/web/debug.html index 4331a5e9a..0e9576323 100644 --- a/web/debug.html +++ b/web/debug.html @@ -5,8 +5,8 @@ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <title>Traccar</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/classic/theme-neptune/resources/theme-neptune-all.css"> -<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/ol3/3.15.1/ol.css"> -<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.1/css/font-awesome.min.css"> +<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/ol3/3.17.1/ol.css"> +<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css"> <link rel="stylesheet" href="app.css"> </head> <body> @@ -14,7 +14,7 @@ <div id="attribution">Powered by <a href="https://www.traccar.org/">Traccar GPS Tracking System</a></div> <script src="//cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/ext-all-debug.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/classic/theme-neptune/theme-neptune.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/ol3/3.15.1/ol-debug.js"></script> +<script src="//cdnjs.cloudflare.com/ajax/libs/ol3/3.17.1/ol-debug.js"></script> <script src="arrowstyle.js"></script> <script type="text/javascript"> Ext.Loader.setConfig({ disableCaching: false }); diff --git a/web/l10n/ar.json b/web/l10n/ar.json index 578566db4..515b75510 100644 --- a/web/l10n/ar.json +++ b/web/l10n/ar.json @@ -1,5 +1,5 @@ { - "sharedLoading": "جاري التحميل", + "sharedLoading": "جاري التحميل...", "sharedSave": "حفظ", "sharedCancel": "إلغاء", "sharedAdd": "إضافة", @@ -14,8 +14,15 @@ "sharedHour": "ساعه", "sharedMinute": "دقيقة", "sharedSecond": "ثانية", - "sharedName": "Name", - "sharedSearch": "Search", + "sharedName": "الاسم", + "sharedDescription": "الوصف", + "sharedSearch": "بحث", + "sharedGeofence": "السياج الغرافي", + "sharedGeofences": "السياجات الجغرافية", + "sharedNotifications": "التنبيهات", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "منطقة", "errorTitle": "خطأ", "errorUnknown": "خطأ غير معروف", "errorConnection": "خطأ في الاتصال", @@ -41,12 +48,12 @@ "groupNoGroup": "No Group", "settingsTitle": "إعدادات", "settingsUser": "حساب", - "settingsGroups": "Groups", + "settingsGroups": "المجموعات", "settingsServer": "خادم", "settingsUsers": "مستخدم", "settingsDistanceUnit": "مسافة", "settingsSpeedUnit": "سرعة", - "settingsTwelveHourFormat": "12-hour Format", + "settingsTwelveHourFormat": "هيئة 12-ساعة", "reportTitle": "تقارير", "reportDevice": "جهاز", "reportFrom": "من", @@ -73,6 +80,8 @@ "mapBingKey": "مفتاح خرائط Bing", "mapBingRoad": " خرائط الطرق Bing", "mapBingAerial": "خرائط جوية Bing", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "حالة", "stateName": "عنصر", "stateValue": "قيمة", @@ -85,5 +94,31 @@ "commandEngineStop": "ايقاف المحرك", "commandEngineResume": "تشغيل المحرك", "commandFrequency": "معدل", - "commandUnit": "وحدة" + "commandUnit": "وحدة", + "commandCustom": "أمر خاص", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "تعطيل المنبه", + "commandSetTimezone": "حدد التوقيت الزمني", + "commandRequestPhoto": "اطلب صورة", + "commandRebootDevice": "أعد تشغيل الجهاز", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "حدد توقيت الصامت", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "رسالة صوتية", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "منبه تعدي السرعة", + "commandDeviceIdentification": "تعريف الجهاز", + "eventDeviceOnline": "الجهاز متصل", + "eventDeviceOffline": "الجهاز غير متصل", + "eventDeviceMoving": "الجهاز يتحرك", + "eventDeviceStopped": "الجهاز متوقف", + "eventDeviceOverspeed": "الجهاز متعدٍّ للسرعة", + "eventCommandResult": "نتيجة الأمر", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "نوع الملاحظة", + "notificationWeb": "أرسل عن طريق صفحة الويب", + "notificationMail": "أرسل عن طريق البريد الإلكتروني" }
\ No newline at end of file diff --git a/web/l10n/bg.json b/web/l10n/bg.json index 2c8f51286..ac739a6ec 100644 --- a/web/l10n/bg.json +++ b/web/l10n/bg.json @@ -14,34 +14,41 @@ "sharedHour": "Час", "sharedMinute": "Минута", "sharedSecond": "Секунда", - "sharedName": "Name", - "sharedSearch": "Search", + "sharedName": "Име", + "sharedDescription": "Description", + "sharedSearch": "Търси", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Грешка", "errorUnknown": "Непозната Грешка", "errorConnection": "Грешка във връзката", "userEmail": "Пощенска кутия", "userPassword": "Парола", "userAdmin": "Admin", - "loginTitle": "Идентификация", + "loginTitle": "Вход", "loginLanguage": "Език", "loginRegister": "Регистрация", "loginLogin": "Вход", "loginFailed": "Грешен потребител или парола", "loginCreated": "Регистриран Нов Потребител", "loginLogout": "Изход", - "devicesAndState": "Devices and State", + "devicesAndState": "Устройства и състояние", "deviceDialog": "Обекти", "deviceTitle": "Устройства", "deviceIdentifier": "Идентификатор", - "deviceLastUpdate": "Last Update", + "deviceLastUpdate": "Последно обновяване", "deviceCommand": "Команда", - "deviceFollow": "Follow", - "groupDialog": "Group", - "groupParent": "Group", - "groupNoGroup": "No Group", + "deviceFollow": "Следвай", + "groupDialog": "Група", + "groupParent": "Група", + "groupNoGroup": "Без група", "settingsTitle": "Настройки", "settingsUser": "Профил", - "settingsGroups": "Groups", + "settingsGroups": "Групи", "settingsServer": "Сървър", "settingsUsers": "Потребител", "settingsDistanceUnit": "Разстояние", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Състояние", "stateName": "Параметър", "stateValue": "Стойност", @@ -85,5 +94,31 @@ "commandEngineStop": "Спри Двигател", "commandEngineResume": "Стартирай Двигател", "commandFrequency": "Честота", - "commandUnit": "Обект" + "commandUnit": "Обект", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/cs.json b/web/l10n/cs.json index dc2cf4462..71448bfb4 100644 --- a/web/l10n/cs.json +++ b/web/l10n/cs.json @@ -14,8 +14,15 @@ "sharedHour": "Hodina", "sharedMinute": "Minuta", "sharedSecond": "Sekunda", - "sharedName": "Name", - "sharedSearch": "Search", + "sharedName": "Jméno", + "sharedDescription": "Popis", + "sharedSearch": "Hledat", + "sharedGeofence": "Geografická hranice", + "sharedGeofences": "Geografické hranice", + "sharedNotifications": "Upozornění", + "sharedAttributes": "Atributy", + "sharedAttribute": "Atribut", + "sharedArea": "Oblast", "errorTitle": "Chyba", "errorUnknown": "Neznámá chyba", "errorConnection": "Chyba spojení", @@ -36,17 +43,17 @@ "deviceLastUpdate": "Poslední změna", "deviceCommand": "Příkaz", "deviceFollow": "Sledovat", - "groupDialog": "Group", - "groupParent": "Group", - "groupNoGroup": "No Group", + "groupDialog": "Skupina", + "groupParent": "Skupina", + "groupNoGroup": "Žádná skupina", "settingsTitle": "Nastavení", "settingsUser": "Účet", - "settingsGroups": "Groups", + "settingsGroups": "Skupiny", "settingsServer": "Server", "settingsUsers": "Uživatelé", "settingsDistanceUnit": "Vzdálenost", "settingsSpeedUnit": "Rychlost", - "settingsTwelveHourFormat": "12-hour Format", + "settingsTwelveHourFormat": "12-hodinový formát", "reportTitle": "Zpráva", "reportDevice": "Zařízení", "reportFrom": "Od", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps klíč", "mapBingRoad": "Bing Maps cesta", "mapBingAerial": "Bing Maps anténa", + "mapShapePolygon": "Mnohoúhelník", + "mapShapeCircle": "Kruh", "stateTitle": "Stav", "stateName": "Atribut", "stateValue": "Hodnota", @@ -85,5 +94,31 @@ "commandEngineStop": "Zastavit motor", "commandEngineResume": "Nastartovat motor", "commandFrequency": "Frekvence", - "commandUnit": "Jednotka" + "commandUnit": "Jednotka", + "commandCustom": "Volitelný příkaz", + "commandPositionSingle": "Jednotné hlášení", + "commandAlarmArm": "Aktivovat alarm", + "commandAlarmDisarm": "Deaktivovat alarm", + "commandSetTimezone": "Nastavit časovou zónu", + "commandRequestPhoto": "Vyžádat fotku", + "commandRebootDevice": "Restartovat zařízení", + "commandSendSms": "Odeslat SMS", + "commandSosNumber": "Nastavit SOS číslo", + "commandSilenceTime": "Nastavit čas tichého módu", + "commandSetPhonebook": "Nastavit telefonní seznam", + "commandVoiceMessage": "Hlasová zpráva", + "commandOutputControl": "Ovládání výstupu", + "commandAlarmSpeed": "Překročení rychlosti alarmu", + "commandDeviceIdentification": "Identifikace zařízení", + "eventDeviceOnline": "Zařízení je online", + "eventDeviceOffline": "Zařízení je offline", + "eventDeviceMoving": "Zařízení s pohybuje", + "eventDeviceStopped": "Zařízení se zastavilo", + "eventDeviceOverspeed": "Zařízení překračuje rychlost", + "eventCommandResult": "Výsledek příkazu", + "eventGeofenceEnter": "Zařízení vstoupilo do geografické hranice", + "eventGeofenceExit": "Zařízení opustilo geografickou hranici", + "notificationType": "Typ oznámení", + "notificationWeb": "Odeslat přes web", + "notificationMail": "Odeslat přes mail" }
\ No newline at end of file diff --git a/web/l10n/da.json b/web/l10n/da.json index c0788fc95..c24aae9c1 100644 --- a/web/l10n/da.json +++ b/web/l10n/da.json @@ -8,14 +8,21 @@ "sharedRemoveConfirm": "Fjern enhed?", "sharedKm": "km", "sharedMi": "mi", - "sharedKn": "kn", + "sharedKn": "knob", "sharedKmh": "km/t", "sharedMph": "mph", "sharedHour": "Time", "sharedMinute": "Minut", "sharedSecond": "Sekund", - "sharedName": "Name", - "sharedSearch": "Search", + "sharedName": "Navn", + "sharedDescription": "Description", + "sharedSearch": "Søg", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Fejl", "errorUnknown": "Ukendt Fejl", "errorConnection": "Tilslutning fejl", @@ -29,24 +36,24 @@ "loginFailed": "Fejl i email adresse eller kodeord", "loginCreated": "Ny bruger er registreret", "loginLogout": "Log af", - "devicesAndState": "Devices and State", + "devicesAndState": "Enheder og status", "deviceDialog": "Enhed", "deviceTitle": "Enheder", "deviceIdentifier": "Imei nr", "deviceLastUpdate": "Seneste opdatering", "deviceCommand": "Kommando", "deviceFollow": "Følg", - "groupDialog": "Group", - "groupParent": "Group", - "groupNoGroup": "No Group", + "groupDialog": "Gruppe", + "groupParent": "Gruppe", + "groupNoGroup": "Ingen gruppe", "settingsTitle": "Indstillinger", "settingsUser": "Konto", - "settingsGroups": "Groups", + "settingsGroups": "Grupper", "settingsServer": "Server", "settingsUsers": "Brugere", "settingsDistanceUnit": "Distance", "settingsSpeedUnit": "Hastighed", - "settingsTwelveHourFormat": "12-hour Format", + "settingsTwelveHourFormat": "12 timers format", "reportTitle": "Rapporter", "reportDevice": "Enhed", "reportFrom": "Fra", @@ -65,7 +72,7 @@ "serverTitle": "Server indstillinger", "serverZoom": "Zoom", "serverRegistration": "Registrering", - "serverReadonly": "Readonly", + "serverReadonly": "Læs", "mapTitle": "Kort", "mapLayer": "Kort opsætning", "mapCustom": "Brugerdefineret Kort", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Status", "stateName": "Parameter", "stateValue": "Værdi", @@ -85,5 +94,31 @@ "commandEngineStop": "Stop motor", "commandEngineResume": "Genstart motor", "commandFrequency": "Frekvens", - "commandUnit": "Enhed" + "commandUnit": "Enhed", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/de.json b/web/l10n/de.json index 5b7da4cd6..d76bf0824 100644 --- a/web/l10n/de.json +++ b/web/l10n/de.json @@ -15,7 +15,14 @@ "sharedMinute": "Minute", "sharedSecond": "Sekunde", "sharedName": "Name", + "sharedDescription": "Beschreibung", "sharedSearch": "Suchen", + "sharedGeofence": "Geo-Zaun", + "sharedGeofences": "Geo-Zäune", + "sharedNotifications": "Benachrichtigungen", + "sharedAttributes": "Eigenschaften", + "sharedAttribute": "Eigenschaft", + "sharedArea": "Gebiet", "errorTitle": "Fehler", "errorUnknown": "Unbekannter Fehler", "errorConnection": "Verbindungsfehler", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Strassenkarte", "mapBingAerial": "Bing Luftbilder", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Kreis", "stateTitle": "Status", "stateName": "Parameter", "stateValue": "Wert", @@ -85,5 +94,31 @@ "commandEngineStop": "Motor Stop", "commandEngineResume": "Motor Start", "commandFrequency": "Frequenz", - "commandUnit": "Einheit" + "commandUnit": "Einheit", + "commandCustom": "Benutzerdefinierter Befehl", + "commandPositionSingle": "Einzelner Bericht", + "commandAlarmArm": "Scharf schalten", + "commandAlarmDisarm": "Unscharf schalten", + "commandSetTimezone": "Zeitzone festlegen", + "commandRequestPhoto": "Foto anfordern", + "commandRebootDevice": "Gerät neustarten", + "commandSendSms": "SMS senden", + "commandSosNumber": "SOS-Nummer festlegen", + "commandSilenceTime": "Ruhezeit festlegen", + "commandSetPhonebook": "Telefonbuch festlegen", + "commandVoiceMessage": "Sprachnachricht", + "commandOutputControl": "Berichtsteuerung", + "commandAlarmSpeed": "Geschwindigkeitsalarm", + "commandDeviceIdentification": "Gerätekennung", + "eventDeviceOnline": "Gerät ist online", + "eventDeviceOffline": "Gerät ist offline", + "eventDeviceMoving": "Gerät ist in Bewegung", + "eventDeviceStopped": "Gerät hat gestoppt", + "eventDeviceOverspeed": "Gerät überschreitet Tempolimit", + "eventCommandResult": "Ergrbnis des Befehls", + "eventGeofenceEnter": "Gerät hat Geo-Zaun betreten", + "eventGeofenceExit": "Gerät hat Geo-Zaun verlassen", + "notificationType": "Art der Benachrichtigung ", + "notificationWeb": "Per Web senden", + "notificationMail": "Per E-Mail senden" }
\ No newline at end of file diff --git a/web/l10n/el.json b/web/l10n/el.json index 8a8b6c573..d9dbfcdf0 100644 --- a/web/l10n/el.json +++ b/web/l10n/el.json @@ -15,7 +15,14 @@ "sharedMinute": "Λεπτά", "sharedSecond": "Δευτερόλεπτα", "sharedName": "Όνομα", + "sharedDescription": "Περιγραφή", "sharedSearch": "Αναζήτηση", + "sharedGeofence": "Γεωφράχτης", + "sharedGeofences": "Γεωφράχτες", + "sharedNotifications": "Ειδοποιήσεις", + "sharedAttributes": "Παράμετροι", + "sharedAttribute": "Παράμετρος", + "sharedArea": "Περιοχή", "errorTitle": "Σφάλμα", "errorUnknown": "Άγνωστο σφάλμα", "errorConnection": "Σφάλμα σύνδεσης", @@ -73,6 +80,8 @@ "mapBingKey": "Κλειδί Bing Maps", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Πολύγωνο", + "mapShapeCircle": "Κύκλος", "stateTitle": "Κατάσταση", "stateName": "Παράμετρος", "stateValue": "Τιμή", @@ -85,5 +94,31 @@ "commandEngineStop": "Κλείσιμο", "commandEngineResume": "Επανεκκίνηση", "commandFrequency": "Συχνότητα", - "commandUnit": "Μονάδα" + "commandUnit": "Μονάδα", + "commandCustom": "Προσαρμοσμένη εντολή", + "commandPositionSingle": "Ενιαία αναφορά", + "commandAlarmArm": "Ενεργοποίηση συναγερμού", + "commandAlarmDisarm": "Απενεργοποίηση συναγερμού", + "commandSetTimezone": "Καθορισμός ζώνης ώρας", + "commandRequestPhoto": "Αίτημα για φωτογραφία", + "commandRebootDevice": "Επανεκκίνηση συσκευής", + "commandSendSms": "Αποστολή γραπτού μηνύματος (SMS)", + "commandSosNumber": "Καθορισμός αριθμού SOS", + "commandSilenceTime": "Καθορισμός χρόνου σιωπής", + "commandSetPhonebook": "Καθορισμός τηλεφωνικού καταλόγου", + "commandVoiceMessage": "Φωνητικό μήνυμα", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Υπέρβαση ορίου ταχύτητας", + "commandDeviceIdentification": "Αναγνωριστικό συσκευής", + "eventDeviceOnline": "Η συσκευή είναι συνδεδεμένη", + "eventDeviceOffline": "Η συσκευή είναι αποσυνδεδεμένη", + "eventDeviceMoving": "Η συσκευή βρίσκεται σε κίνηση", + "eventDeviceStopped": "Η συσκευή έχει σταματήσει", + "eventDeviceOverspeed": "Η συσκευή υπερέβει την ταχύτητα", + "eventCommandResult": "Αποτέλεσμα εντολής", + "eventGeofenceEnter": "Η συσσκευή εισήλθε του γεωφράχτη", + "eventGeofenceExit": "Η συσκευή εξήλθε του γεωφράχτη", + "notificationType": "Τύπος ειδοποίησης", + "notificationWeb": "Αποστολή μέσω διαδικτύου", + "notificationMail": "Αποστολή μέσω ηλ. ταχυδρομείου" }
\ No newline at end of file diff --git a/web/l10n/es.json b/web/l10n/es.json index e87662239..68cbeae88 100644 --- a/web/l10n/es.json +++ b/web/l10n/es.json @@ -8,14 +8,21 @@ "sharedRemoveConfirm": "Borrar Elemento?", "sharedKm": "KM", "sharedMi": "MI", - "sharedKn": "kn", + "sharedKn": "Nudo", "sharedKmh": "KM/H", "sharedMph": "MPH", "sharedHour": "Hora", "sharedMinute": "Minuto", "sharedSecond": "Segundo", "sharedName": "Nombre", + "sharedDescription": "Description", "sharedSearch": "Buscar", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Error", "errorUnknown": "Error Desconocido", "errorConnection": "Error de Conexión", @@ -38,7 +45,7 @@ "deviceFollow": "Seguir", "groupDialog": "Grupo", "groupParent": "Grupo", - "groupNoGroup": "No Group", + "groupNoGroup": "Sin grupo", "settingsTitle": "Preferencias", "settingsUser": "Cuenta", "settingsGroups": "Grupos", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps - Carretera", "mapBingAerial": "Bing Maps - Aéreo", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Estado", "stateName": "Parámetro", "stateValue": "Valor", @@ -85,5 +94,31 @@ "commandEngineStop": "Apagar motor", "commandEngineResume": "Desbloquear Encendido de Motor", "commandFrequency": "Frequencia", - "commandUnit": "Unidad" + "commandUnit": "Unidad", + "commandCustom": "Comando personalizado", + "commandPositionSingle": "Un report", + "commandAlarmArm": "Armar Alarma", + "commandAlarmDisarm": "Desarmar Alarma", + "commandSetTimezone": "Establecer zona horaria", + "commandRequestPhoto": "Solicitar Foto", + "commandRebootDevice": "Reiniciar dispositivo", + "commandSendSms": "Enviar SMS", + "commandSosNumber": "Establecer el número SOS", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Establecer contacto", + "commandVoiceMessage": "Mensaje de voz", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "El dispositivo está en linea", + "eventDeviceOffline": "El dispositivo está fuera de linea", + "eventDeviceMoving": "El dispositivo se está moviendo", + "eventDeviceStopped": "El dispositivo está parado", + "eventDeviceOverspeed": "El dispositivo excedió el limite de velocidad", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/fa.json b/web/l10n/fa.json index 3f25c7ea1..66a517f0a 100644 --- a/web/l10n/fa.json +++ b/web/l10n/fa.json @@ -1,27 +1,34 @@ { "sharedLoading": "در حال بارگزارى ...", "sharedSave": "ذخيره", - "sharedCancel": "Cancel", + "sharedCancel": "انصراف", "sharedAdd": "اضافه كردن", - "sharedEdit": "Edit", - "sharedRemove": "Remove", - "sharedRemoveConfirm": "Remove item?", - "sharedKm": "km", - "sharedMi": "mi", + "sharedEdit": "ویرایش", + "sharedRemove": "پاک کردن", + "sharedRemoveConfirm": "پاک کردن آیتم", + "sharedKm": "کیلومتر", + "sharedMi": "مایل", "sharedKn": "kn", - "sharedKmh": "km/h", - "sharedMph": "mph", - "sharedHour": "Hour", + "sharedKmh": "کیلومتر بر ساعت", + "sharedMph": "مایل بر ساعت", + "sharedHour": "ساعت", "sharedMinute": "دقيقه", "sharedSecond": "ثانيه", - "sharedName": "Name", - "sharedSearch": "Search", - "errorTitle": "Error", - "errorUnknown": "Unknown error", - "errorConnection": "Connection error", + "sharedName": "نام", + "sharedDescription": "توضیحات", + "sharedSearch": "جستجو", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", + "errorTitle": "خطا", + "errorUnknown": "خطا ناشناخته", + "errorConnection": "خطا در اتصال", "userEmail": "نام كاربرى ( ايميل )", "userPassword": "گذرواژه", - "userAdmin": "Admin", + "userAdmin": "مدیر", "loginTitle": "ورود", "loginLanguage": "انتخاب زبان", "loginRegister": "ثبت نام", @@ -29,61 +36,89 @@ "loginFailed": "نام كاربرى ( ايميل ) يا گذرواژه اشتباه است", "loginCreated": "ثبت نام با موفقيت انجام شد", "loginLogout": "خروج", - "devicesAndState": "Devices and State", + "devicesAndState": "دستگاه ها و وضعیت", "deviceDialog": "دستگاه", "deviceTitle": "دستگاه ها", "deviceIdentifier": "سريال دستگاه", "deviceLastUpdate": "آخرين بروزرسانى", - "deviceCommand": "Command", - "deviceFollow": "Follow", - "groupDialog": "Group", - "groupParent": "Group", - "groupNoGroup": "No Group", + "deviceCommand": "فرمان", + "deviceFollow": "تعقیب", + "groupDialog": "گروه", + "groupParent": "گروه", + "groupNoGroup": "بدون گروه", "settingsTitle": "تنظيمات", "settingsUser": "حساب كاربرى", - "settingsGroups": "Groups", - "settingsServer": "Server", - "settingsUsers": "Users", - "settingsDistanceUnit": "Distance", + "settingsGroups": "گروه ها", + "settingsServer": "سرور", + "settingsUsers": "کاربر", + "settingsDistanceUnit": "فاصله", "settingsSpeedUnit": "سرعت", - "settingsTwelveHourFormat": "12-hour Format", + "settingsTwelveHourFormat": "فرمت 12 ساعتی", "reportTitle": "گزارشات ", "reportDevice": "دستگاه", "reportFrom": "از", - "reportTo": "To", - "reportShow": "Show", - "reportClear": "Clear", - "positionFixTime": "Time", - "positionValid": "Valid", + "reportTo": "تا", + "reportShow": "نمایش", + "reportClear": "خالی کردن", + "positionFixTime": "زمان", + "positionValid": "معتبر", "positionLatitude": "عرض جغرافيايى", "positionLongitude": "طول جغرافيايى", - "positionAltitude": "Altitude", + "positionAltitude": "ارتفاع", "positionSpeed": "سرعت", - "positionCourse": "Course", - "positionAddress": "Address", - "positionProtocol": "Protocol", - "serverTitle": "Server Settings", - "serverZoom": "Zoom", - "serverRegistration": "Registration", - "serverReadonly": "Readonly", - "mapTitle": "Map", - "mapLayer": "Map Layer", - "mapCustom": "Custom Map", + "positionCourse": "دوره", + "positionAddress": "آدرس", + "positionProtocol": "پروتوکل", + "serverTitle": "تنظیمات سرور", + "serverZoom": "بزرگنمایی", + "serverRegistration": "ثبت نام", + "serverReadonly": "فقط خواندنی", + "mapTitle": "نقشه", + "mapLayer": "لایه های نقشه", + "mapCustom": "نقشه سفارشی", "mapOsm": "Open Street Map", "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", - "stateTitle": "State", - "stateName": "Attribute", - "stateValue": "Value", - "commandTitle": "Command", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", + "stateTitle": "وضعیت", + "stateName": "ویژگی", + "stateValue": "مقدار", + "commandTitle": "فرمان", "commandSend": "ارسال", - "commandType": "Type", - "commandSent": "Command has been sent", + "commandType": "نوع", + "commandSent": "دستور ارسال گردید", "commandPositionPeriodic": "Periodic Reporting", "commandPositionStop": "Stop Reporting", "commandEngineStop": "Engine Stop", "commandEngineResume": "Engine Resume", - "commandFrequency": "Frequency", - "commandUnit": "Unit" + "commandFrequency": "فرکانس", + "commandUnit": "واحد", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "ارسال پیام کوتاه", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/fi.json b/web/l10n/fi.json index 907f6f2df..2c02e0cf5 100644 --- a/web/l10n/fi.json +++ b/web/l10n/fi.json @@ -15,7 +15,14 @@ "sharedMinute": "Minuutti", "sharedSecond": "Sekunti", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Virhe", "errorUnknown": "Tuntematon virhe", "errorConnection": "Yhteysvirhe", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps avain", "mapBingRoad": "Bign Maps tiet", "mapBingAerial": "Bing Maps ilmakuva", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Tila", "stateName": "Ominaisuus", "stateValue": "Arvo", @@ -85,5 +94,31 @@ "commandEngineStop": "Sammuta moottori", "commandEngineResume": "Palauta moottori", "commandFrequency": "Taajuus", - "commandUnit": "Yksikkö" + "commandUnit": "Yksikkö", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/fr.json b/web/l10n/fr.json index 706982396..5111fb952 100644 --- a/web/l10n/fr.json +++ b/web/l10n/fr.json @@ -5,20 +5,27 @@ "sharedAdd": "Ajouter", "sharedEdit": "Editer", "sharedRemove": "Effacer", - "sharedRemoveConfirm": "Effacer item?", + "sharedRemoveConfirm": "Effacer objet?", "sharedKm": "km", "sharedMi": "mi", - "sharedKn": "kn", + "sharedKn": "nd", "sharedKmh": "km/h", "sharedMph": "mph", "sharedHour": "Heure", "sharedMinute": "Minute", "sharedSecond": "Seconde", "sharedName": "Nom", + "sharedDescription": "Description", "sharedSearch": "Recherche", + "sharedGeofence": "Périmètre virtuel", + "sharedGeofences": "Périmètres virtuels", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributs", + "sharedAttribute": "Attribut", + "sharedArea": "Aire", "errorTitle": "Erreur", "errorUnknown": "Erreur inconnue", - "errorConnection": "erreur de connection", + "errorConnection": "Erreur de connexion", "userEmail": "Email", "userPassword": "Mot de Passe", "userAdmin": "Admin", @@ -28,7 +35,7 @@ "loginLogin": "Se connecter", "loginFailed": "Adresse email ou mot de passe incorrect", "loginCreated": "Nouvel utilisateur enregistré", - "loginLogout": "Déconnection", + "loginLogout": "Déconnexion", "devicesAndState": "Dispositifs et Etat", "deviceDialog": "Dispositif", "deviceTitle": "Dispositifs", @@ -38,8 +45,8 @@ "deviceFollow": "Suivre", "groupDialog": "Groupe", "groupParent": "Groupe", - "groupNoGroup": "No Group", - "settingsTitle": "Configurations", + "groupNoGroup": "Sans groupe", + "settingsTitle": "Paramètres", "settingsUser": "Compte", "settingsGroups": "Groupes", "settingsServer": "Serveur", @@ -59,20 +66,22 @@ "positionLongitude": "Longitude", "positionAltitude": "Altitude", "positionSpeed": "Vitesse", - "positionCourse": "Cap", + "positionCourse": "Orientation", "positionAddress": "Adresse", "positionProtocol": "Protocole", - "serverTitle": "Configurations du serveur", + "serverTitle": "Paramètres de serveur", "serverZoom": "Zoom", "serverRegistration": "Inscription", "serverReadonly": "Lecture seule", "mapTitle": "Carte", - "mapLayer": "Cartes", + "mapLayer": "Couche cartographique", "mapCustom": "Carte personnalisée", "mapOsm": "Open Street Map", "mapBingKey": "Bing Map Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygone", + "mapShapeCircle": "Cercle", "stateTitle": "Etat", "stateName": "Paramètre", "stateValue": "Valeur", @@ -82,8 +91,34 @@ "commandSent": "Commande envoyée", "commandPositionPeriodic": "Périodicité du rapport de position", "commandPositionStop": "Arrêt du rapport de position", - "commandEngineStop": "Moteur arrêter", - "commandEngineResume": "Moteur démarrer", + "commandEngineStop": "Arrêt moteur", + "commandEngineResume": "Démarrage moteur", "commandFrequency": "Fréquence", - "commandUnit": "Unité" + "commandUnit": "Unité", + "commandCustom": "Commande personnalisée", + "commandPositionSingle": "Rapport de position unique", + "commandAlarmArm": "Activer l'alarme", + "commandAlarmDisarm": "Désactiver l'alarme", + "commandSetTimezone": "Régler le fuseau horaire", + "commandRequestPhoto": "Demander une photo", + "commandRebootDevice": "Redémarrer l'appareil", + "commandSendSms": "Envoyer un SMS", + "commandSosNumber": "Régler le n° SOS", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Message vocal", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "L'appareil est en ligne", + "eventDeviceOffline": "L'appareil est hors-ligne", + "eventDeviceMoving": "L'appareil est en mouvement", + "eventDeviceStopped": "L'appareil est arrêté", + "eventDeviceOverspeed": "L'appareil dépasse la vitesse", + "eventCommandResult": "Résultat de la commande", + "eventGeofenceEnter": "L'appareil est entré dans un périmètre virtuel", + "eventGeofenceExit": "L'appareil est sorti d'un périmètre virtuel", + "notificationType": "Type de notification", + "notificationWeb": "Envoyer par internet", + "notificationMail": "Envoyer par E-mail" }
\ No newline at end of file diff --git a/web/l10n/he.json b/web/l10n/he.json index 54bf95a41..175848af1 100644 --- a/web/l10n/he.json +++ b/web/l10n/he.json @@ -15,7 +15,14 @@ "sharedMinute": "דקה", "sharedSecond": "שנייה", "sharedName": "שם", + "sharedDescription": "Description", "sharedSearch": "חיפוש", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "שגיאה", "errorUnknown": "שגיאה לא ידועה", "errorConnection": "בעייה בחיבור", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "מצב", "stateName": "תכונה", "stateValue": "ערך", @@ -85,5 +94,31 @@ "commandEngineStop": "דומם מנוע", "commandEngineResume": "הפעל מנוע", "commandFrequency": "תדירות", - "commandUnit": "יחידה" + "commandUnit": "יחידה", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/hu.json b/web/l10n/hu.json index d407920f1..2d8ba9976 100644 --- a/web/l10n/hu.json +++ b/web/l10n/hu.json @@ -15,7 +15,14 @@ "sharedMinute": "Perc", "sharedSecond": "Másodperc", "sharedName": "Név", + "sharedDescription": "Leírás", "sharedSearch": "Keresés", + "sharedGeofence": "Geokerítés", + "sharedGeofences": "Geokerítések", + "sharedNotifications": "Értesítések", + "sharedAttributes": "Tulajdonságok", + "sharedAttribute": "Tulajdonság", + "sharedArea": "Terület", "errorTitle": "Hiba", "errorUnknown": "Ismeretlen hiba", "errorConnection": "Kapcsolódási hiba", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps kulcs", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Poligon", + "mapShapeCircle": "Kör", "stateTitle": "Helyzet", "stateName": "Paraméter", "stateValue": "Érték", @@ -85,5 +94,31 @@ "commandEngineStop": "Motor letiltás", "commandEngineResume": "Motor engedélyezés", "commandFrequency": "Frekvencia", - "commandUnit": "Egység" + "commandUnit": "Egység", + "commandCustom": "Egyedi parancs", + "commandPositionSingle": "Egyszeri jelentés", + "commandAlarmArm": "Riasztó élesítés", + "commandAlarmDisarm": "Riasztó kikapcsolás", + "commandSetTimezone": "Időzóna beállítás", + "commandRequestPhoto": "Kép lekérés", + "commandRebootDevice": "Eszköz újraindítása", + "commandSendSms": "SMS küldés", + "commandSosNumber": "SOS szám beállítás", + "commandSilenceTime": "Csendes idő beállítás", + "commandSetPhonebook": "Telefonkönyv beállítás", + "commandVoiceMessage": "Hangüzenet", + "commandOutputControl": "Kimenet Ellenőrzés", + "commandAlarmSpeed": "Riasztás Gyorshajtásról", + "commandDeviceIdentification": "Eszköz azonosító", + "eventDeviceOnline": "Eszköz online", + "eventDeviceOffline": "Eszköz offline", + "eventDeviceMoving": "Eszköz mozog", + "eventDeviceStopped": "Eszköz megállt", + "eventDeviceOverspeed": "Eszköz túllépte a sebességkorlátot", + "eventCommandResult": "Parancs eredmény", + "eventGeofenceEnter": "Eszköz belépett a geokerítésbe", + "eventGeofenceExit": "Eszköz kilépett a geokerítésből", + "notificationType": "Értesítés Típusa", + "notificationWeb": "Küldés Weben", + "notificationMail": "Küldés E-mailben" }
\ No newline at end of file diff --git a/web/l10n/id.json b/web/l10n/id.json index 06f93f15b..d0f03009e 100644 --- a/web/l10n/id.json +++ b/web/l10n/id.json @@ -15,7 +15,14 @@ "sharedMinute": "Menit", "sharedSecond": "Detik", "sharedName": "Nama", + "sharedDescription": "Description", "sharedSearch": "Cari", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Error", "errorUnknown": "Error tidak diketahui", "errorConnection": "Koneksi error", @@ -73,6 +80,8 @@ "mapBingKey": "Key untuk Peta Bing", "mapBingRoad": "Peta Jalan Bing", "mapBingAerial": "Peta Udara Bing", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Status", "stateName": "atribut", "stateValue": "Nilai", @@ -85,5 +94,31 @@ "commandEngineStop": "Stop Mesin", "commandEngineResume": "Mulai Mesin", "commandFrequency": "Frekuensi", - "commandUnit": "unit" + "commandUnit": "unit", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/it.json b/web/l10n/it.json index 12a9784ae..b2d9104c7 100644 --- a/web/l10n/it.json +++ b/web/l10n/it.json @@ -15,7 +15,14 @@ "sharedMinute": "Minuto", "sharedSecond": "Secondo", "sharedName": "Nome", + "sharedDescription": "Descrizione", "sharedSearch": "Cerca", + "sharedGeofence": "GeoRecinto", + "sharedGeofences": "GeoRecinto", + "sharedNotifications": "Notifiche", + "sharedAttributes": "Attributi", + "sharedAttribute": "Attributo", + "sharedArea": "Area", "errorTitle": "Errore", "errorUnknown": "Errore sconosciuto", "errorConnection": "Errore di connessione", @@ -38,7 +45,7 @@ "deviceFollow": "Segui", "groupDialog": "Gruppo", "groupParent": "Gruppo", - "groupNoGroup": "No Group", + "groupNoGroup": "Nessun Gruppo", "settingsTitle": "Impostazioni", "settingsUser": "Account", "settingsGroups": "Gruppi", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Poligono", + "mapShapeCircle": "Cerchio", "stateTitle": "Stato", "stateName": "Attributo", "stateValue": "Valore", @@ -85,5 +94,31 @@ "commandEngineStop": "Ferma Engine", "commandEngineResume": "Riavvio Engine", "commandFrequency": "Frequenza", - "commandUnit": "Unità " + "commandUnit": "Unità ", + "commandCustom": "Comando personalizzato", + "commandPositionSingle": "Report singolo", + "commandAlarmArm": "Attiva allarme", + "commandAlarmDisarm": "Disattiva Allarme", + "commandSetTimezone": "Imposta Timezone", + "commandRequestPhoto": "Richiedi foto", + "commandRebootDevice": "Riavvia dispositivo", + "commandSendSms": "Invia SMS", + "commandSosNumber": "Imposta Numero SOS", + "commandSilenceTime": "Imposta Orario Silenzione", + "commandSetPhonebook": "Imposta rubrica", + "commandVoiceMessage": "Messaggio vocale", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Dispositivo online", + "eventDeviceOffline": "Dispositivo offline", + "eventDeviceMoving": "Dispositivo in movimento", + "eventDeviceStopped": "Dispositivo fermo", + "eventDeviceOverspeed": "Dispostivo troppo veloce", + "eventCommandResult": "Risultato comando", + "eventGeofenceEnter": "Il dipositivo e` entrato nel GeoRecinto", + "eventGeofenceExit": "Il dipositivo e` uscito dal GeoRecinto", + "notificationType": "Tipo notica", + "notificationWeb": "Invia tramite Web", + "notificationMail": "Invia tramite Mail" }
\ No newline at end of file diff --git a/web/l10n/ka.json b/web/l10n/ka.json index a4c5f41b3..0c789b582 100644 --- a/web/l10n/ka.json +++ b/web/l10n/ka.json @@ -15,7 +15,14 @@ "sharedMinute": "წუთი", "sharedSecond": "წამი", "sharedName": "დასახელება", + "sharedDescription": "Description", "sharedSearch": "ძებნა", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "შეცდომა", "errorUnknown": "უცნობი შეცდომა", "errorConnection": "კავშირის შეცდომა", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "სტატუსი", "stateName": "ატრიბუტი", "stateValue": "მნიშვნელობა", @@ -85,5 +94,31 @@ "commandEngineStop": "ძრავის გამორთვა", "commandEngineResume": "ძრავის ჩართვა", "commandFrequency": "სიხშირე", - "commandUnit": "ერთეული" + "commandUnit": "ერთეული", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/lo.json b/web/l10n/lo.json index 7f7cc0019..10e9bf226 100644 --- a/web/l10n/lo.json +++ b/web/l10n/lo.json @@ -15,7 +15,14 @@ "sharedMinute": "ນາທີ", "sharedSecond": "ວິນາທີ", "sharedName": "ຊື່", + "sharedDescription": "Description", "sharedSearch": "ຄົ້ນຫາ", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "ຂໍ້ຜິດພາດ", "errorUnknown": "ຂໍ້ຜິດພາດທີ່ບໍ່ຮູ້ຈັກ", "errorConnection": "ການເຊື່ອມຕໍ່ຜິດພາດ", @@ -73,6 +80,8 @@ "mapBingKey": "ບິງສະຕຣີດແມັບ", "mapBingRoad": "ບິງແມັບໂຣດ", "mapBingAerial": "ບິງແມັບອາຣີໂອ", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "ແຂວງ", "stateName": "ຄຸນລັກສະນະ", "stateValue": "ຄ່າ", @@ -85,5 +94,31 @@ "commandEngineStop": "ເຄື່ອງຍົນຢຸດ", "commandEngineResume": "ເຄື່ອງຍົນເລີ່ມກັບຄືນໃຊ້ງານ", "commandFrequency": "ຄວາມຖີ່", - "commandUnit": "ຫນ່ວຍ" + "commandUnit": "ຫນ່ວຍ", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/lt.json b/web/l10n/lt.json index 904e33827..7e35f2f63 100644 --- a/web/l10n/lt.json +++ b/web/l10n/lt.json @@ -8,14 +8,21 @@ "sharedRemoveConfirm": "Ar tikrais norite ištrinti?", "sharedKm": "km", "sharedMi": "mi", - "sharedKn": "kn", + "sharedKn": "mazgai", "sharedKmh": "km/h", "sharedMph": "mph", "sharedHour": "Valanda(-os)", "sharedMinute": "Minutė(-es)", "sharedSecond": "Sekundė(-es)", - "sharedName": "Name", - "sharedSearch": "Search", + "sharedName": "Pavadinimas", + "sharedDescription": "Description", + "sharedSearch": "Paieška", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Klaida", "errorUnknown": "Nenumatyta klaida", "errorConnection": "Ryšio klaida", @@ -27,7 +34,7 @@ "loginRegister": "Registruotis", "loginLogin": "Prisijungti", "loginFailed": "Neteisingas el.paštas ir/ar slaptažodis", - "loginCreated": "Registracija sėmkinga", + "loginCreated": "Registracija sėkminga", "loginLogout": "Atsijungti", "devicesAndState": "Prietaisai ir Statusas", "deviceDialog": "Prietaisas", @@ -36,17 +43,17 @@ "deviceLastUpdate": "Naujausias atnaujinimas", "deviceCommand": "Komanda", "deviceFollow": "Sekti", - "groupDialog": "Group", - "groupParent": "Group", - "groupNoGroup": "No Group", + "groupDialog": "Grupė", + "groupParent": "Grupė", + "groupNoGroup": "Nenurodyta grupė", "settingsTitle": "Nustatymai", "settingsUser": "Paskyra", - "settingsGroups": "Groups", + "settingsGroups": "Grupės", "settingsServer": "Serveris", "settingsUsers": "Vartotojai", "settingsDistanceUnit": "Atstumas", "settingsSpeedUnit": "Greitis", - "settingsTwelveHourFormat": "12-hour Format", + "settingsTwelveHourFormat": "12-val formatas", "reportTitle": "Ataskaita", "reportDevice": "Prietaisas", "reportFrom": "Nuo", @@ -54,7 +61,7 @@ "reportShow": "Rodyti", "reportClear": "Valyti", "positionFixTime": "Laikas", - "positionValid": "Galimas", + "positionValid": "Galiojantis", "positionLatitude": "Platuma", "positionLongitude": "Ilguma", "positionAltitude": "Aukštis", @@ -65,25 +72,53 @@ "serverTitle": "Serverio nustatymai", "serverZoom": "Priartinimas", "serverRegistration": "Registracija", - "serverReadonly": "Tik skaityti", + "serverReadonly": "Skaitymo", "mapTitle": "Žemėlapis", "mapLayer": "Žemėlapio sluoksnis", "mapCustom": "Pasirinktinis Žemėlapis", - "mapOsm": "Open Street Map", + "mapOsm": "Open Street žemėlapis", "mapBingKey": "Bing Maps raktas", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", - "stateTitle": "Statusas", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", + "stateTitle": "Būklė", "stateName": "Parametras", "stateValue": "Reikšmė", "commandTitle": "Komanda", - "commandSend": "Siūsti", + "commandSend": "Siųsti", "commandType": "Tipas", - "commandSent": "Komanda buvo išsiųstas", - "commandPositionPeriodic": "Periodinis reportavimas", - "commandPositionStop": "Stabdyti reportavimą", + "commandSent": "Komanda buvo išsiųsta", + "commandPositionPeriodic": "Periodinės ataskaitos", + "commandPositionStop": "Stabdyti ataskaitas", "commandEngineStop": "Stabdyti variklį", "commandEngineResume": "Paleisti variklį", "commandFrequency": "Dažnis", - "commandUnit": "Vienetai" + "commandUnit": "Vienetai", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/ml.json b/web/l10n/ml.json index d7566cf82..ad2689210 100644 --- a/web/l10n/ml.json +++ b/web/l10n/ml.json @@ -1,38 +1,45 @@ { "sharedLoading": "ലോഡുചെയ്യുന്നു ..", - "sharedSave": "Save", + "sharedSave": "രക്ഷിക്കും", "sharedCancel": "റദ്ദാക്കുക", "sharedAdd": "ചേര്ക്കുക", "sharedEdit": "തിരുത്തുക", "sharedRemove": "നീക്കം ചെയ്യുക", "sharedRemoveConfirm": "വിഷയം നീക്കം ചെയ്യുക", "sharedKm": "കിലോമീറ്റർ", - "sharedMi": "mi", - "sharedKn": "kn", + "sharedMi": "നാഴിക", + "sharedKn": "കുരുക്ക്", "sharedKmh": "കിലോമീറ്റർ / മണിക്കൂർ", - "sharedMph": "mph", + "sharedMph": "മണിക്കൂറിൽ മൈൽ", "sharedHour": "മണിക്കൂര്", "sharedMinute": "മിനിറ്റ്", "sharedSecond": "സെക്കന്റ്", - "sharedName": "Name", - "sharedSearch": "Search", + "sharedName": "പേര്\n", + "sharedDescription": "വിവരണം", + "sharedSearch": "തിരയൽ", + "sharedGeofence": "എർത്ത് വേലി", + "sharedGeofences": "ശില്പ്പശാല എർത്ത്", + "sharedNotifications": "അറിയിപ്പുകൾ", + "sharedAttributes": "ഗുണവിശേഷങ്ങൾ", + "sharedAttribute": "ഗുണവിശേഷങ്ങ", + "sharedArea": "പ്രദേശം", "errorTitle": "പിശക്", "errorUnknown": "അജ്ഞാത പിശക്", "errorConnection": "കണക്ഷൻ പിശക്", "userEmail": "ഇമെയിൽ", "userPassword": "രഹസ്യ കോഡ്", - "userAdmin": "Admin", + "userAdmin": "നിർവാജി ", "loginTitle": "അകത്തു പ്രവേശിക്കുക", "loginLanguage": "ഭാഷ", - "loginRegister": "Register", + "loginRegister": "രെജിസ്റ്റർ ", "loginLogin": "അകത്തു പ്രവേശിക്കുക", "loginFailed": "തെറ്റായ ഇമെയിൽ വിലാസവും പാസ്വേഡും", "loginCreated": "പുതിയ ഉപയോക്താവ് രജിസ്റ്റർ ചെയ്തു", "loginLogout": "പുറത്തുകടക്കുക", - "devicesAndState": "Devices and State", + "devicesAndState": "സാധനങ്ങളിന് നില ", "deviceDialog": "ഉപകരണം", - "deviceTitle": "Devices", - "deviceIdentifier": "Identifier", + "deviceTitle": "സാധനങ്ങളിന് ", + "deviceIdentifier": "ഐഡന്റിഫയർ", "deviceLastUpdate": "Last Update", "deviceCommand": "Command", "deviceFollow": "Follow", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "State", "stateName": "Attribute", "stateValue": "Value", @@ -85,5 +94,31 @@ "commandEngineStop": "Engine Stop", "commandEngineResume": "Engine Resume", "commandFrequency": "Frequency", - "commandUnit": "Unit" + "commandUnit": "Unit", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/ms.json b/web/l10n/ms.json index f68ebc019..c241deee7 100644 --- a/web/l10n/ms.json +++ b/web/l10n/ms.json @@ -15,7 +15,14 @@ "sharedMinute": "Minit", "sharedSecond": "Saat", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Ralat", "errorUnknown": "Ralat tidak diketahui", "errorConnection": "Ralat penyambungan", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Negeri", "stateName": "Atribut", "stateValue": "Nilai", @@ -85,5 +94,31 @@ "commandEngineStop": "Matikan Enjin", "commandEngineResume": "Hidupkan Enjin", "commandFrequency": "Frekuensi", - "commandUnit": "Unit" + "commandUnit": "Unit", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/nb.json b/web/l10n/nb.json index b82cd44bf..d5ff90186 100644 --- a/web/l10n/nb.json +++ b/web/l10n/nb.json @@ -15,7 +15,14 @@ "sharedMinute": "Minutt", "sharedSecond": "Sekund", "sharedName": "Navn", + "sharedDescription": "Description", "sharedSearch": "Søk", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Feil", "errorUnknown": "Ukjent feil", "errorConnection": "Forbindelse feilet", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps-nøkkel", "mapBingRoad": "Bing Maps-veg", "mapBingAerial": "Bing Maps-flyfoto", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Status", "stateName": "Egenskap", "stateValue": "Verdi", @@ -85,5 +94,31 @@ "commandEngineStop": "Stopp motor", "commandEngineResume": "Fortsett motor", "commandFrequency": "Frekvens", - "commandUnit": "Enhet" + "commandUnit": "Enhet", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/ne.json b/web/l10n/ne.json index 64794d424..7e3211949 100644 --- a/web/l10n/ne.json +++ b/web/l10n/ne.json @@ -15,7 +15,14 @@ "sharedMinute": "मिनेट ", "sharedSecond": "सेकेन्ड ", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "त्रुटी", "errorUnknown": "अज्ञात त्रुटी ", "errorConnection": "जडान मा त्रुटी भयो ", @@ -73,6 +80,8 @@ "mapBingKey": "बिंग नक्शाको चाबी (कि) ", "mapBingRoad": "बिंग नक्शा (सडक)", "mapBingAerial": "बिंग नक्शा (एरियल)", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "अवस्था ", "stateName": "गुण ", "stateValue": "मूल्य ", @@ -85,5 +94,31 @@ "commandEngineStop": "इन्जिन बन्द गर्ने ", "commandEngineResume": "इन्जिन खोल्ने ", "commandFrequency": "आव्रती ", - "commandUnit": "इकाई " + "commandUnit": "इकाई ", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/nl.json b/web/l10n/nl.json index 6ef791821..1b23b288a 100644 --- a/web/l10n/nl.json +++ b/web/l10n/nl.json @@ -15,7 +15,14 @@ "sharedMinute": "Minuut", "sharedSecond": "Seconde", "sharedName": "Naam", + "sharedDescription": "Omschrijving", "sharedSearch": "Zoeken", + "sharedGeofence": "Geografisch gebied", + "sharedGeofences": "Gegrafische gebieden", + "sharedNotifications": "Melding", + "sharedAttributes": "Attributen", + "sharedAttribute": "Attribuut", + "sharedArea": "Gebied", "errorTitle": "Fout", "errorUnknown": "Onbekende fout", "errorConnection": "Verbindingsfout", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps sleutel", "mapBingRoad": "Bing Maps Wegen", "mapBingAerial": "Bing Maps Luchtfoto", + "mapShapePolygon": "Polygoon", + "mapShapeCircle": "Cirkel", "stateTitle": "Status", "stateName": "Parameter", "stateValue": "Waarde", @@ -85,5 +94,31 @@ "commandEngineStop": "Motor Stoppen", "commandEngineResume": "Motor Hervatten", "commandFrequency": "Frequentie", - "commandUnit": "Eenheid" + "commandUnit": "Eenheid", + "commandCustom": "Custom commando", + "commandPositionSingle": "Enkel commando", + "commandAlarmArm": "Schakel alarm in", + "commandAlarmDisarm": "Schakel alarm uit", + "commandSetTimezone": "Stel tijdzone in", + "commandRequestPhoto": "Vraag foto", + "commandRebootDevice": "Herstart apparaat", + "commandSendSms": "Stuur SMS", + "commandSosNumber": "Bewerk SOS nummer in", + "commandSilenceTime": "Bewerk stille tijd", + "commandSetPhonebook": "Bewerk telefoonboek", + "commandVoiceMessage": "Spraak bericht", + "commandOutputControl": "Output control", + "commandAlarmSpeed": "Hoge snelheid alarm", + "commandDeviceIdentification": "Apparaat indentificeren", + "eventDeviceOnline": "Apparaat is online", + "eventDeviceOffline": "Apparaat is offline", + "eventDeviceMoving": "Apparaat beweegt", + "eventDeviceStopped": "Apparaat is gestopt", + "eventDeviceOverspeed": "Apparaat overschrijdt snelheid", + "eventCommandResult": "Commando resultaat", + "eventGeofenceEnter": "Appraat is binnen geografisch gebied", + "eventGeofenceExit": "Apparaat verlaat geografisch gebied", + "notificationType": "Type notificatie", + "notificationWeb": "Stuur via web", + "notificationMail": "Stuur via mail" }
\ No newline at end of file diff --git a/web/l10n/nn.json b/web/l10n/nn.json index 7444538c1..2fe357e3d 100644 --- a/web/l10n/nn.json +++ b/web/l10n/nn.json @@ -15,7 +15,14 @@ "sharedMinute": "Minutt", "sharedSecond": "Sekund", "sharedName": "Namn", + "sharedDescription": "Description", "sharedSearch": "Søk", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Feil", "errorUnknown": "Ukjent feil", "errorConnection": "Forbindelse feila", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps-nøkkel", "mapBingRoad": "Bing Maps-veg", "mapBingAerial": "Bing Maps-flyfoto", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Status", "stateName": "Eigenskap", "stateValue": "Verdi", @@ -85,5 +94,31 @@ "commandEngineStop": "Stopp motor", "commandEngineResume": "Fortsett motor", "commandFrequency": "Frekvens", - "commandUnit": "Eining" + "commandUnit": "Eining", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/pl.json b/web/l10n/pl.json index 6139f2d9b..7ac5bcba3 100644 --- a/web/l10n/pl.json +++ b/web/l10n/pl.json @@ -15,7 +15,14 @@ "sharedMinute": "Minuta", "sharedSecond": "Sekunda", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Bląd", "errorUnknown": "Nieznany błąd", "errorConnection": "Błąd przy połączeniu", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Lokalizacja", "stateName": "Właściwości", "stateValue": "Wartość", @@ -85,5 +94,31 @@ "commandEngineStop": "Silnik - Stop", "commandEngineResume": "Silnik - Praca", "commandFrequency": "Częstotliwość", - "commandUnit": "Jednostka" + "commandUnit": "Jednostka", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/pt.json b/web/l10n/pt.json index d76d942bb..0feb253d9 100644 --- a/web/l10n/pt.json +++ b/web/l10n/pt.json @@ -15,7 +15,14 @@ "sharedMinute": "Minuto", "sharedSecond": "Segundo", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Erro", "errorUnknown": "Erro desconhecido", "errorConnection": "Erro de conexão", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Mapas Estrada", "mapBingAerial": "Bing Mapas Aérea", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Estado", "stateName": "Parâmetro", "stateValue": "Valor", @@ -85,5 +94,31 @@ "commandEngineStop": "Bloqueio Veículo", "commandEngineResume": "Desbloqueio Veículo", "commandFrequency": "Frequência", - "commandUnit": "Unidade" + "commandUnit": "Unidade", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/pt_BR.json b/web/l10n/pt_BR.json index 6c62e6287..c536d5239 100644 --- a/web/l10n/pt_BR.json +++ b/web/l10n/pt_BR.json @@ -15,7 +15,14 @@ "sharedMinute": "Minuto", "sharedSecond": "Segundo", "sharedName": "Nome", + "sharedDescription": "Description", "sharedSearch": "Busca", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Erro", "errorUnknown": "Erro desconhecido", "errorConnection": "Erro de conexão", @@ -38,7 +45,7 @@ "deviceFollow": "Seguir", "groupDialog": "Grupo", "groupParent": "Grupo", - "groupNoGroup": "No Group", + "groupNoGroup": "Sem Grupo", "settingsTitle": "Configurações", "settingsUser": "Conta", "settingsGroups": "Grupos", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Estradas", "mapBingAerial": "Bing Maps Aéreo", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Estado", "stateName": "Atributo", "stateValue": "Valor", @@ -85,5 +94,31 @@ "commandEngineStop": "Desligar Motor", "commandEngineResume": "Religar Motor", "commandFrequency": "Frequencia", - "commandUnit": "Unidade" + "commandUnit": "Unidade", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/ro.json b/web/l10n/ro.json index db2a37f94..cdfec868d 100644 --- a/web/l10n/ro.json +++ b/web/l10n/ro.json @@ -1,11 +1,11 @@ { - "sharedLoading": "Încărcare...", - "sharedSave": "Salvare", - "sharedCancel": "Anulare", - "sharedAdd": "Adăuga", - "sharedEdit": "Editeaza", - "sharedRemove": "Elimina", - "sharedRemoveConfirm": "Ștergeți echipamentul?", + "sharedLoading": "Se încarcă", + "sharedSave": "Salvează", + "sharedCancel": "Anulează", + "sharedAdd": "Adaugă", + "sharedEdit": "Modifică", + "sharedRemove": "Elimină", + "sharedRemoveConfirm": "Ștergeți obiectul?", "sharedKm": "km", "sharedMi": "mi", "sharedKn": "kn", @@ -15,17 +15,24 @@ "sharedMinute": "Minut", "sharedSecond": "Secundă", "sharedName": "Nume", + "sharedDescription": "Descriere", "sharedSearch": "Căutare", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notificările", + "sharedAttributes": "Atribute", + "sharedAttribute": "Atribute", + "sharedArea": "Area", "errorTitle": "Eroare", "errorUnknown": "Eroare necunoscută", "errorConnection": "Eroare de conexiune", "userEmail": "Email", "userPassword": "Parolă", "userAdmin": "Admin", - "loginTitle": "Intră in cont", + "loginTitle": "Autentificare", "loginLanguage": "Limbă", "loginRegister": "Înregistrare", - "loginLogin": "Intră in cont", + "loginLogin": "Intră în cont", "loginFailed": "E-mail sau parolă incorectă", "loginCreated": "Un utilizator nou a fost înregistrat", "loginLogout": "Deconectare", @@ -38,7 +45,7 @@ "deviceFollow": "Urmareste", "groupDialog": "Grup", "groupParent": "Grup", - "groupNoGroup": "No Group", + "groupNoGroup": "Nici-un grup", "settingsTitle": "Setări", "settingsUser": "Cont", "settingsGroups": "Grupuri", @@ -73,6 +80,8 @@ "mapBingKey": "Cheie Hărți Bing", "mapBingRoad": "Bing Hartă Drumuri", "mapBingAerial": "Bing Hartă Aeriană", + "mapShapePolygon": "Poligon", + "mapShapeCircle": "Cerc", "stateTitle": "Stare", "stateName": "Atribut", "stateValue": "Valoare", @@ -85,5 +94,31 @@ "commandEngineStop": "Blocare Motor", "commandEngineResume": "Deblocare Motor", "commandFrequency": "Frecvenţă", - "commandUnit": "Unitate" + "commandUnit": "Unitate", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/ru.json b/web/l10n/ru.json index 4ec4a606c..23314d64d 100644 --- a/web/l10n/ru.json +++ b/web/l10n/ru.json @@ -8,14 +8,21 @@ "sharedRemoveConfirm": "Удалить элемент?", "sharedKm": "км", "sharedMi": "мили", - "sharedKn": "kn", + "sharedKn": "уз", "sharedKmh": "км/ч", "sharedMph": "миль/ч", "sharedHour": "Часы", "sharedMinute": "Минуты", "sharedSecond": "Секунды", "sharedName": "Имя", + "sharedDescription": "Описание", "sharedSearch": "Поиск", + "sharedGeofence": "Геозона", + "sharedGeofences": "Геозоны", + "sharedNotifications": "Уведомления", + "sharedAttributes": "Атрибуты", + "sharedAttribute": "Атрибут", + "sharedArea": "Область", "errorTitle": "Ошибка", "errorUnknown": "Неизвестная ошибка", "errorConnection": "Ошибка соединения", @@ -38,7 +45,7 @@ "deviceFollow": "Следовать", "groupDialog": "Группа", "groupParent": "Группа", - "groupNoGroup": "No Group", + "groupNoGroup": "Без Группы", "settingsTitle": "Настройки", "settingsUser": "Аккаунт", "settingsGroups": "Группы", @@ -73,6 +80,8 @@ "mapBingKey": "Ключ Bing Maps", "mapBingRoad": "Bing Maps Дороги", "mapBingAerial": "Bing Maps Спутник", + "mapShapePolygon": "Многоугольник", + "mapShapeCircle": "Круг", "stateTitle": "Состояние", "stateName": "Параметр", "stateValue": "Значение", @@ -85,5 +94,31 @@ "commandEngineStop": "Заблокировать Двигатель", "commandEngineResume": "Разблокировать Двигатель", "commandFrequency": "Частота", - "commandUnit": "Единицы" + "commandUnit": "Единицы", + "commandCustom": "Пользовательская команда", + "commandPositionSingle": "Разовое Отслеживание", + "commandAlarmArm": "Активировать Сигнализацию", + "commandAlarmDisarm": "Деактивировать Сигнализацию", + "commandSetTimezone": "Настроить Часовой пояс", + "commandRequestPhoto": "Запросить Фото", + "commandRebootDevice": "Перезагрузить Устройство", + "commandSendSms": "Отправить СМС", + "commandSosNumber": "Настроить Экстренный Номер", + "commandSilenceTime": "Настроить Время Тишины", + "commandSetPhonebook": "Настроить Телефонную книгу", + "commandVoiceMessage": "Голосовое Сообщение", + "commandOutputControl": "Контроль Выхода", + "commandAlarmSpeed": "Превышение Скорости", + "commandDeviceIdentification": "Идентификация Устройства", + "eventDeviceOnline": "Устройство в сети", + "eventDeviceOffline": "Устройство не в сети", + "eventDeviceMoving": "Устройство движется", + "eventDeviceStopped": "Устройство остановилось", + "eventDeviceOverspeed": "Устройство превышает скорость", + "eventCommandResult": "Результат команды", + "eventGeofenceEnter": "Устройство вошло в геозону", + "eventGeofenceExit": "Устройство покинуло геозону", + "notificationType": "Тип уведомления", + "notificationWeb": "Отправлять через Веб", + "notificationMail": "Отправлять через Почту" }
\ No newline at end of file diff --git a/web/l10n/si.json b/web/l10n/si.json index 59386b866..00c5a5bc9 100644 --- a/web/l10n/si.json +++ b/web/l10n/si.json @@ -15,7 +15,14 @@ "sharedMinute": "මිනිත්තු", "sharedSecond": "තත්පර", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "දෝෂයක් ", "errorUnknown": "නොදන්නා දෝෂයක් !", "errorConnection": "සම්බන්ධතා දෝෂයක් !", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "තත්වය", "stateName": "පරාමිතිය", "stateValue": "අගය", @@ -85,5 +94,31 @@ "commandEngineStop": "එන්ජිම නවත්වන්න", "commandEngineResume": "එන්ජිම නැවත ආරම්භ කරන්න", "commandFrequency": "සංඛ්යාතය", - "commandUnit": "ඒකකය" + "commandUnit": "ඒකකය", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/sk.json b/web/l10n/sk.json index 38a551f47..bd54ed0a7 100644 --- a/web/l10n/sk.json +++ b/web/l10n/sk.json @@ -15,7 +15,14 @@ "sharedMinute": "Minúta", "sharedSecond": "Sekunda", "sharedName": "Meno", + "sharedDescription": "Description", "sharedSearch": "Hľadať", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Chyba", "errorUnknown": "Neznáma chyba", "errorConnection": "Chyba pripojenia", @@ -73,6 +80,8 @@ "mapBingKey": "Klúč Bing Maps", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Arial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Štát", "stateName": "Parameter", "stateValue": "Hodnota", @@ -85,5 +94,31 @@ "commandEngineStop": "Zastavenie motora", "commandEngineResume": "Spustenie motora", "commandFrequency": "Frekvencia", - "commandUnit": "Jednotka" + "commandUnit": "Jednotka", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/sl.json b/web/l10n/sl.json index 506cfff43..fc81f6500 100644 --- a/web/l10n/sl.json +++ b/web/l10n/sl.json @@ -15,7 +15,14 @@ "sharedMinute": "Minuta", "sharedSecond": "Sekunda", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Napaka", "errorUnknown": "Neznana napaka", "errorConnection": "Napaka v povezavi", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Mapk Ključ", "mapBingRoad": "Bing Maps Ceste", "mapBingAerial": "Bing Maps Satelit", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Stanje", "stateName": "Parameter", "stateValue": "Vrednost", @@ -85,5 +94,31 @@ "commandEngineStop": "Ugasni motor", "commandEngineResume": "Prižgi motor", "commandFrequency": "Frekvenca", - "commandUnit": "Naprava" + "commandUnit": "Naprava", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/sr.json b/web/l10n/sr.json index 4992164f9..2170cc444 100644 --- a/web/l10n/sr.json +++ b/web/l10n/sr.json @@ -15,7 +15,14 @@ "sharedMinute": "Minut", "sharedSecond": "Sekunda", "sharedName": "Ime", + "sharedDescription": "Opis", "sharedSearch": "Traži", + "sharedGeofence": "Geoograda", + "sharedGeofences": "Geoograde", + "sharedNotifications": "Obaveštenja", + "sharedAttributes": "Osobine", + "sharedAttribute": "Osobina", + "sharedArea": "Oblast", "errorTitle": "Greška", "errorUnknown": "Nepoznata greška", "errorConnection": "Greška u konekciji", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Višeugao", + "mapShapeCircle": "Krug", "stateTitle": "Stanje", "stateName": "Parametar", "stateValue": "Vrednost", @@ -85,5 +94,31 @@ "commandEngineStop": "Zaustavi motor", "commandEngineResume": "Pokreni motor", "commandFrequency": "Frekvencija", - "commandUnit": "Jedinica" + "commandUnit": "Jedinica", + "commandCustom": "Prilagođena komanda", + "commandPositionSingle": "Izveštaj za jednog", + "commandAlarmArm": "Omogući alarm", + "commandAlarmDisarm": "Onemogući alarm", + "commandSetTimezone": "Podesi vremensku zonu", + "commandRequestPhoto": "Zahtevaj fotografiju", + "commandRebootDevice": "Ponovo pokreni uređaj", + "commandSendSms": "Pošalji SMS", + "commandSosNumber": "Podesi SOS broj", + "commandSilenceTime": "Podesi nečujno vreme ", + "commandSetPhonebook": "Podesi kontakte", + "commandVoiceMessage": "Glasovna poruka", + "commandOutputControl": "Kontrola izlaza", + "commandAlarmSpeed": "Alarm prekoračenja brzine", + "commandDeviceIdentification": "Identifikacija uređaja", + "eventDeviceOnline": "Uređaj je na mreži", + "eventDeviceOffline": "Uređaj je van mreže", + "eventDeviceMoving": "Uređaj se kreće", + "eventDeviceStopped": "Uređaj je zaustavljen", + "eventDeviceOverspeed": "Uređaj prelazi brzinu", + "eventCommandResult": "Stanje komande", + "eventGeofenceEnter": "Uređaj je ušao u geoogradu", + "eventGeofenceExit": "Uređaj je izašao iz geoograde", + "notificationType": "Tip obaveštenja", + "notificationWeb": "Pošalji preko Web-a", + "notificationMail": "Pošalji putem Email-a" }
\ No newline at end of file diff --git a/web/l10n/ta.json b/web/l10n/ta.json index 628772705..5d47face5 100644 --- a/web/l10n/ta.json +++ b/web/l10n/ta.json @@ -1,52 +1,59 @@ { - "sharedLoading": "ஏற்றுதல்", + "sharedLoading": "பதிவு செய்", "sharedSave": "சேமி", - "sharedCancel": "ரத்து", - "sharedAdd": "இணை", - "sharedEdit": "திருத்த", - "sharedRemove": "நீக்கு", - "sharedRemoveConfirm": "நீக்க விரும்பினால்?", + "sharedCancel": "ரத்து செய்", + "sharedAdd": "சேர்க்க", + "sharedEdit": "தொகுக்க", + "sharedRemove": "நீக்குக", + "sharedRemoveConfirm": "நீக்கம் உறுதி செய்?", "sharedKm": "கிமீ", "sharedMi": "மைல்", - "sharedKn": "kn", + "sharedKn": "கடல் மைல்", "sharedKmh": "கிமீ/மணிக்கு", "sharedMph": "மைல்/மணிக்கு", "sharedHour": "மணி நேரம்", "sharedMinute": "நிமிடம்", "sharedSecond": "விநாடி", - "sharedName": "Name", - "sharedSearch": "Search", + "sharedName": "பெயர்", + "sharedDescription": "விளக்கம்", + "sharedSearch": "தேடுக", + "sharedGeofence": "பூகோள வேலி", + "sharedGeofences": "பூகோள வேலிகள்", + "sharedNotifications": "அறிவிப்புகள்", + "sharedAttributes": "பண்புகள்", + "sharedAttribute": "பண்பு", + "sharedArea": "பகுதி", "errorTitle": "பிழை", - "errorUnknown": "தெரியாத பிழை", - "errorConnection": "இணைப்பு பிழை", + "errorUnknown": "அறியப்படாத பிழை", + "errorConnection": "இணைப்புப் பிழை", "userEmail": "மின்னஞ்சல்", "userPassword": "கடவுச்சொல்", "userAdmin": "நிர்வாகி", - "loginTitle": "உள்நுழைய", + "loginTitle": "உள் நுழை", "loginLanguage": "மொழி", "loginRegister": "பதிவு செய்ய", "loginLogin": "உள்நுழைய", "loginFailed": "தவறான மின்னஞ்சல் முகவரி அல்லது கடவுச்சொல்", - "loginCreated": "புதிய உறுப்பினர் பதிவு", + "loginCreated": "புதிய பயனர் பதிவு செய்யப்பட்டுள்ளது", "loginLogout": "வெளியேறு", - "devicesAndState": "சாதனம் மற்றும் நிலை", + "devicesAndState": "கருவிகள் மற்றும் அதன் நிலை", "deviceDialog": "சாதனம்", "deviceTitle": "சாதனம்", "deviceIdentifier": "அடையாளங்காட்டி", "deviceLastUpdate": "கடைசியாக புதுப்பிக்கப்பட்டது", "deviceCommand": "கட்டளை", "deviceFollow": "பின்தொடர்", - "groupDialog": "Group", - "groupParent": "Group", - "groupNoGroup": "No Group", + "groupDialog": "குழு", + "groupParent": "குழு", + "groupNoGroup": "குழு இல்லை", "settingsTitle": "அமைப்பு", "settingsUser": "கணக்கு", - "settingsGroups": "Groups", + "settingsGroups": "குழுக்கள்", "settingsServer": "சர்வர்", "settingsUsers": "உறுப்பினர்கள்", "settingsDistanceUnit": "தூரம்", "settingsSpeedUnit": "வேகம்", - "settingsTwelveHourFormat": "12-hour Format", + "settingsTwelveHourFormat": "12 மணி நேர வடிவம்", "reportTitle": "அறிக்கை", "reportDevice": "சாதனம்", "reportFrom": "இருந்து", @@ -73,6 +80,8 @@ "mapBingKey": "பிங் வரைபட கீ", "mapBingRoad": "பிங் சாலை வரைபடம்", "mapBingAerial": "பிங் வான்வழி வரைபடம்", + "mapShapePolygon": "பலகோணம்", + "mapShapeCircle": "வட்டம்", "stateTitle": "நிலை", "stateName": "சாட்டு", "stateValue": "மதிப்பு", @@ -85,5 +94,31 @@ "commandEngineStop": "எஞ்சின் நிறுத்து", "commandEngineResume": "எஞ்சின் தொடங்க", "commandFrequency": "காலஇடைவெளி", - "commandUnit": "அலகு" + "commandUnit": "அலகு", + "commandCustom": "விருப்பமான கட்டளை", + "commandPositionSingle": "ஒற்றை அறிக்கை", + "commandAlarmArm": "அலறிமணி துவக்கம்", + "commandAlarmDisarm": "அலறிமணி நிறுத்தம்", + "commandSetTimezone": "நேர மண்டலம்", + "commandRequestPhoto": "புகைப்படம் வேண்டு", + "commandRebootDevice": "சாதன மறுதுவக்கம்", + "commandSendSms": "குருஞ்செதி அனுப்பு", + "commandSosNumber": "அவசர அழைப்பு எண்(SOS)", + "commandSilenceTime": "அமைதி நேரம் அமைக்க", + "commandSetPhonebook": "தொலைபேசிப்புத்தகம் அமை", + "commandVoiceMessage": "குரல் செய்தி", + "commandOutputControl": "வெளியீட்டு கட்டுப்பாடு", + "commandAlarmSpeed": "அதி வேக அலறி ", + "commandDeviceIdentification": "\nசாதன அடையாளம்", + "eventDeviceOnline": "சாதனம் இணைப்பில் உள்ளது", + "eventDeviceOffline": "சாதன இணைப்பு துண்டிக்கபட்டது", + "eventDeviceMoving": "சாதனம் நகருகிறது", + "eventDeviceStopped": "சாதனம் நின்றுவிட்டது", + "eventDeviceOverspeed": "சாதனம் நிர்ணயித்த வேகத் திற்கு மேல்", + "eventCommandResult": "கட்டளை விளைவு", + "eventGeofenceEnter": "சாதனம் பூகோள வேலியினுள் நுழைந்துள்ளது", + "eventGeofenceExit": "சாதனம் பூகோள வேலியை விட்டு வெளியேறியது", + "notificationType": "type of notification", + "notificationWeb": "வலைதளம் வழி அனுப்புக ", + "notificationMail": "மின்னஞ்சல் வழி அனுப்புக" }
\ No newline at end of file diff --git a/web/l10n/th.json b/web/l10n/th.json index 3864d6870..e1b2b3867 100644 --- a/web/l10n/th.json +++ b/web/l10n/th.json @@ -15,7 +15,14 @@ "sharedMinute": "นาที", "sharedSecond": "วินาที", "sharedName": "ชื่อ", + "sharedDescription": "Description", "sharedSearch": "ค้นหา", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "ผิดพลาด", "errorUnknown": "ข้อผิดพลาดที่ไม่รู้จัก", "errorConnection": "การเชื่อมต่อผิดพลาด", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps สำคัญ", "mapBingRoad": "Bing Maps ถนน", "mapBingAerial": "Bing Maps ทางอากาศ", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "สถานะ", "stateName": "พารามิเตอร์", "stateValue": "มูลค่า", @@ -85,5 +94,31 @@ "commandEngineStop": "ดับเครื่องยนต์", "commandEngineResume": "ติดครื่องยนต์ใหม่", "commandFrequency": "ความถี่", - "commandUnit": "หน่วย" + "commandUnit": "หน่วย", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/tr.json b/web/l10n/tr.json index 20e39ce24..bcce758d6 100644 --- a/web/l10n/tr.json +++ b/web/l10n/tr.json @@ -8,14 +8,21 @@ "sharedRemoveConfirm": "Öğeyi kaldır", "sharedKm": "km", "sharedMi": "mil", - "sharedKn": "kn", + "sharedKn": "Knot", "sharedKmh": "km/s", "sharedMph": "mil/s", "sharedHour": "Saat", "sharedMinute": "Dakika", "sharedSecond": "Saniye", "sharedName": "İsim", + "sharedDescription": "Açıklama", "sharedSearch": "Arama", + "sharedGeofence": "Güvenli Bölge", + "sharedGeofences": "Güvenli Bölgeler", + "sharedNotifications": "Bildirimler", + "sharedAttributes": "Nitelikler", + "sharedAttribute": "Nitelik", + "sharedArea": "Bölge", "errorTitle": "Hata", "errorUnknown": "Bilinmeyen hata ", "errorConnection": "Bağlantı Hatası", @@ -38,7 +45,7 @@ "deviceFollow": "Takip", "groupDialog": "Grup", "groupParent": "Grup", - "groupNoGroup": "No Group", + "groupNoGroup": "Grupsuz", "settingsTitle": "Ayarlar", "settingsUser": "Hesap", "settingsGroups": "Gruplar", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Çokgen", + "mapShapeCircle": "Çember", "stateTitle": "Bölge", "stateName": "Özellik", "stateValue": "Değer", @@ -85,5 +94,31 @@ "commandEngineStop": "Motoru Durdur", "commandEngineResume": "Motoru Çalıştır", "commandFrequency": "Frekans", - "commandUnit": "Ünite" + "commandUnit": "Ünite", + "commandCustom": "Özel komut", + "commandPositionSingle": "Tekil Raporlama", + "commandAlarmArm": "Alarm Kur", + "commandAlarmDisarm": "Alarmı Kapat", + "commandSetTimezone": "Zaman Dilimini Belirle", + "commandRequestPhoto": "Fotoğraf İste", + "commandRebootDevice": "Aygıtı Yeniden Başlat", + "commandSendSms": "SMS Gönder", + "commandSosNumber": "Acil Durum Numarasını Belirle", + "commandSilenceTime": "Sessiz Zamanı Belirle", + "commandSetPhonebook": "Telefon Defterini Belirle", + "commandVoiceMessage": "Ses Mesajı", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Cihaz çevrimiçi", + "eventDeviceOffline": "Cihaz çevrimdışı", + "eventDeviceMoving": "Cihaz hareket halinde", + "eventDeviceStopped": "Cihaz durdu", + "eventDeviceOverspeed": "Cihaz hızı aştı", + "eventCommandResult": "Komut sonucu", + "eventGeofenceEnter": "Cihaz güvenli bölgede", + "eventGeofenceExit": "Cihaz güvenli bölgeden çıktı", + "notificationType": "Bildirim tipi", + "notificationWeb": "Wed ile gönder", + "notificationMail": "E-posta ile gönder" }
\ No newline at end of file diff --git a/web/l10n/uk.json b/web/l10n/uk.json index d2ac620c1..7cb40e174 100644 --- a/web/l10n/uk.json +++ b/web/l10n/uk.json @@ -15,7 +15,14 @@ "sharedMinute": "Хвилини", "sharedSecond": "Секунди", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Помилка", "errorUnknown": "Невiдома помилка", "errorConnection": "Помилка з'єднання", @@ -73,6 +80,8 @@ "mapBingKey": "Ключ Bing Maps ", "mapBingRoad": "Bing Maps Дороги", "mapBingAerial": "Bing Maps Супутник", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Стан", "stateName": "Атрибут", "stateValue": "Значення ", @@ -85,5 +94,31 @@ "commandEngineStop": "Заблокувати двигун ", "commandEngineResume": "Розблокувати двигун", "commandFrequency": "Частота", - "commandUnit": "Одиниці" + "commandUnit": "Одиниці", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/vi.json b/web/l10n/vi.json index 42b946fe4..676b07318 100644 --- a/web/l10n/vi.json +++ b/web/l10n/vi.json @@ -15,7 +15,14 @@ "sharedMinute": "Phút", "sharedSecond": "Giây", "sharedName": "Tên", + "sharedDescription": "Description", "sharedSearch": "Tìm kiếm", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "Lỗi", "errorUnknown": "Không xác định được lỗi", "errorConnection": "Lỗi kết nối", @@ -73,6 +80,8 @@ "mapBingKey": "Bing Maps Key", "mapBingRoad": "Bing Maps Road", "mapBingAerial": "Bing Maps Aerial", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "Trạng thái", "stateName": "Thuộc tính", "stateValue": "Giá trị", @@ -85,5 +94,31 @@ "commandEngineStop": "Tắt máy", "commandEngineResume": "Bật máy", "commandFrequency": "Chu kỳ", - "commandUnit": "Thiết bị" + "commandUnit": "Thiết bị", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/l10n/zh.json b/web/l10n/zh.json index 2d4d92e06..6d32fae23 100644 --- a/web/l10n/zh.json +++ b/web/l10n/zh.json @@ -15,7 +15,14 @@ "sharedMinute": "分钟", "sharedSecond": "秒", "sharedName": "Name", + "sharedDescription": "Description", "sharedSearch": "Search", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedNotifications": "Notifications", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedArea": "Area", "errorTitle": "错误", "errorUnknown": "未知错误", "errorConnection": "连接错误", @@ -73,6 +80,8 @@ "mapBingKey": "Bing 旅游重点", "mapBingRoad": "Bing 公路线路地图", "mapBingAerial": "Bing 航测地图", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", "stateTitle": "状态", "stateName": "参数", "stateValue": "数值", @@ -85,5 +94,31 @@ "commandEngineStop": "引擎熄火", "commandEngineResume": "引擎启动", "commandFrequency": "频率", - "commandUnit": "单位" + "commandUnit": "单位", + "commandCustom": "Custom command", + "commandPositionSingle": "Single Reporting", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandRebootDevice": "Reboot Device", + "commandSendSms": "Send SMS", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandAlarmSpeed": "Overspeed Alarm", + "commandDeviceIdentification": "Device Identification", + "eventDeviceOnline": "Device is online", + "eventDeviceOffline": "Device is offline", + "eventDeviceMoving": "Device is moving", + "eventDeviceStopped": "Device is stopped", + "eventDeviceOverspeed": "Device exceeds the speed", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Device has entered geofence", + "eventGeofenceExit": "Device has exited geofence", + "notificationType": "Type of Notification", + "notificationWeb": "Send via Web", + "notificationMail": "Send via Mail" }
\ No newline at end of file diff --git a/web/release.html b/web/release.html index bcf6f9bad..4e087922a 100644 --- a/web/release.html +++ b/web/release.html @@ -5,8 +5,8 @@ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <title>Traccar</title> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/classic/theme-neptune/resources/theme-neptune-all.css"> -<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/ol3/3.15.1/ol.css"> -<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.1/css/font-awesome.min.css"> +<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/ol3/3.17.1/ol.css"> +<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css"> <link rel="stylesheet" href="app.css"> </head> <body> @@ -14,7 +14,7 @@ <div id="attribution">Powered by <a href="https://www.traccar.org/">Traccar GPS Tracking System</a></div> <script src="//cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/ext-all.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/classic/theme-neptune/theme-neptune.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/ol3/3.15.1/ol-debug.js"></script> +<script src="//cdnjs.cloudflare.com/ajax/libs/ol3/3.17.1/ol-debug.js"></script> <script src="arrowstyle.js"></script> <script src="locale.js"></script> <script type="text/javascript"> |